FrogAppsにjoinしました

ちわす。よい4月1日ですね。

さて、この度私は、株式会社FrogAppsにjoinしました。FrogAppsといえば、iOSのアプリmiilを開発運営しているところですね。すごいメンバーでドキドキしています。といっても、3月から参加しているんですけどね。

これまでiPhoneアプリの開発は一人でやっていたので、社員としてチームで開発するのは久しぶりです。チーム開発はいい意味で刺激になりますね。iPhoneアプリ開発には、刺激が必要なんですよね。

あ、個人としてのアプリ開発ももちろんやってきますよ。流行りの副業ってやつですね。

というわけで、 miilともども、よろしくお願いいたします。

miil.me

miil

ページの遷移時のTransitionとしてStoryboardを使う。

Windows Phone7の話。Expression Blendで作ったStoryboardをページ遷移時に動かすためのコードを書いてみた。Windows Phone ToolkitのTransitionServiceよりも、ちょっとだけ柔軟になる。

内容:

ToolkitにあるTransitionServiceクラスを使うと、ページ遷移時にアニメーションを動かせる。Windows Phoneっぽい、画面が奥に回転するアニメーションとかを指定できる。この際に指定できるアニメーションは5種類。これだけでも、動きのあるページ遷移を作れる。が、凝った動作、たとえば、要素ごとに異なる動きをするとかは無理だ。

いっぽう、Expression BlendのStoryboardを使うとFlashの如くに凝ったアニメーションも記述できる。

そこで、TransitionServiceを使いつつExpression Blendで作ったStoryboardを指定できるクラスを書いてみた。

// see : Windows Phone Toolkit Aug 2011 in depth-v1
using System;
using System.Windows;
using System.Windows.Media.Animation;
using Microsoft.Phone.Controls;
namespace YourNamespace
{
public class StoryboardTransition : TransitionElement
{
public static readonly DependencyProperty AnimationProperty =
DependencyProperty.Register(
"Animation", typeof(Storyboard),
typeof(StoryboardTransition), null);
public Storyboard Animation
{
get
{
return (Storyboard)GetValue(AnimationProperty);
}
set
{
SetValue(AnimationProperty, value);
}
}
public override ITransition GetTransition(UIElement element) // elementにはpageが入る。
{
Storyboard storyboard = this.Animation;
if (!(element is PhoneApplicationPage))
{
Storyboard.SetTarget(storyboard, element);
}
return new Transition(element,storyboard);
}
}
}

こんな感じで、xamlを書く。Animation=”{StaticResource …}”にBlendで書いたStoryboardのx:Nameを記載すること。(TransitionService自体の使い方はここでは書かないので、テキトウに調べること)

<phone:PhoneApplicationPage
:
xmlns:local="clr-namespace:YourNamespace"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
:
>
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<local:StoryboardTransition
Animation="{StaticResource Storyboard1}"/>
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<local:StoryboardTransition
Animation="{StaticResource Storyboard2}"/>
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<local:StoryboardTransition
Animation="{StaticResource Storyboard3}"/>
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<local:StoryboardTransition
Animation="{StaticResource Storyboard4}"/>
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
</phone:PhoneApplicationPage>
view raw Test.xaml hosted with ❤ by GitHub

参考文献:

参考にしたのは、Windows Phone Toolkit Aug 2011 in Depth。というか、これに書かれているtransition3クラスでうまく動かなかった所(Storyboard.SetTargetするとエラーになる)を直しただけである。

感想とか:

Blendでアニメーションを記述すると、XAMLがすっごく長くなるんだよね。これ、xaml.csファイルみたいに別のファイルに分けれないのかな。

コメント等あればTwitterかFacebookに@ください。

 

 

ergotron display arm

液晶ディスプレイを支えるためのアームを導入してみたよ。24インチのデュアルディスプレイを使っているんだけど、ディスプレイ付属の足がでかくて、これまで机の半分位が使えなくなっていたのだ。

エルゴトロンの45-248-026を選ぶ。ネットで調べるとエルゴトロンが評判よく、その中でデュアルディスプレイ用、支える軸が標準より高いものがこれ。扱っているネットショップは国内にいくつもあるんだけど、注文した店では届くまでに1週間くらいかかった。ディスプレイケーブルとか電源ケーブルとかも長いのを用意する。

設置も特に難しくもない。思ったよりも軽いし、組み立ては部品をはめ込むだけだ。なお、アームの関節の強さは気に入るまで何度か調整する必要がある。

できたのがこれである。アームの軸を自分の正面ではなく横手にずらしたこともあって、正面のディスプレイの下に何もない状態。ディスプレイが空中に浮いているみたい!

IMG 0968

そして、裏側。ロボ!

IMG 0980

机が広くなって、非常に快適になった。まあ、ディスプレイを動かす際に邪魔になるので、空いたところで物は置けないんだけど。あと拭き掃除が楽そう。

ちなみに、アームは少し固いので、たとえば人差し指で押したらツツツと動くというわけではない。ちょうど、アーム付ける前のディスプレイを両手で持ち上げるくらいの力、それで動かすと動く。持ち上げたら空中に固定される感じ。

以上!

 

manaca case for iphone

iPhoneケースにmanacaを仕込んだ話。半月くらい前の話です。

あいほんの最大の弱点といえば、manacaが使えないことですよね。
manacaは名古屋あたりで使えるFericaカードです。JRじゃ使えないけど、地下鉄でもバスでも名鉄でもつかえるし、コンビニでもつかえるのです。これは是非ともあいほんと共に使いたい。

世の中にはカードが入るようなケースもあるのだけど、外からカードが丸見えのばかりだったんですよ。ちょっとかっこ悪いし、お金の代わりに使うカードがむき出しなのは安全性の面でも気になりますよね。

ということで、あいほんケースを加工してみます。目標とするのは以下のもの。
* manacaを仕込める。1枚だけ入ればイイ
* 外からカードが見えない
* カードを取り出せる

まず、元になるケースはコレ。カッコいいよね。
* SGP iPhone4/4S ケース ジェニュイン・レザーグリップ [ビンテージ ブラウン] - http://www.sgp-store.jp/?pid=22322255
* AppBankStoreにもあるね http://www.appbank-store.com/store/1/2/2/1420/goods/goods_detail.html

このケースの内側の布地を、カードの形に切り取ります。
ペンでカードの位置をふちどって、丁寧にカッターナイフで切っていきます。
布地の下に金属板があるので、強く切っても外にでる心配もありません。
もちろん、切り込み入れるなんてメーカの想定外ですよね。そこは自己責任ですよ旦那。

IMG001

はい、manaca入りました。

IMG005

ただ、あんまり認識されないんですよね。二、三回押しつけないと駄目。これじゃ駅の改札で迷惑。ケースからあいほんを外すと認識されるので、ケースの金属板のせいじゃなく、あいほんが原因のようです。ちなみに、認識されるかどうかはmanaca対応のジュースの自販機で試しましたよ。

そこでPIT Mobileの登場。これをカードとあいほんの間に挟みます。本来はシールになっててあいほんに貼る用ですが、このケースだと挟んでおけばOKです。いまのところ認識エラーなし。すごいよPIT Mobile。
* ICカード収納型iPhoneケース 対応 flux PIT Mobile/iPhone の干渉を抑えて ICカードのエラーを防ぐ! http://flux.bz/pit-mobile.html

IMG003

これで完璧!とApp Bank Nagoyaの店長さんに見せてみたら、カードを見えない感じで収納するケースが、すでにあるらしい。なんんと。
* AppBankStore : SwitchEasy CARD for iPhone 4S/4 White: SwitchEasy: ケース http://www.appbank-store.com/store/1/2/2/2096/goods/goods_detail.html

 

 

 

eneloop waist warmer

eneloop waist warmerを買ったんですよ。電熱線腹巻。
これがすごい。まず腰が暖かい。超熱いってことはなく、適度に暖かい。

それより、注目したいのがUSBコネクタ。
腰からUSBコネクタ出てる。
つなぐ先はなんとmobileブースター。

腰からニョロンと出てるUSBコネクタを、mobileブースターにつなぐ。
体が暖かくなる。

これってあれじゃないですか。
自分がスマフォになったみたいじゃないですか。

ちなみに、付属のmobileブースターの型番はKBC-L2B。最新のじゃないのが惜しいけど、十分すぎる大容量5000mAh。
USBの口が2つある。ってことは、体を温めながらアイフォーンの充電もできるんだよ。あと、2010年版と2011年版があるので買いたい人は気をつけて。2011年版は型番がENW-WW2S-*ってなってる。

eneloop waist warmer「充電式ウエストウォーマー」 | eneloop 商品ラインナップ | eneloop(エネループ) | 三洋電機
http://jp.sanyo.com/eneloop/lineup/waist-warmer.html