20 July 2009

Windows Mobile 6.0を某iPhone風に… ほか

HP iPAQ 112 (Windows Mobile 6.0) を、少しだけiPhone風にしてみる…

■ Today画面をiPhone風に

20090720-wm-today.png
サンプル例

1)rlTodayをインストールする。

2)iPhone風アイコン背景を作成する
Gimp で iPhone 風ボタンを作成するメモ」を参考にしてアイコン背景を作成する。または、iConeではWeb上でアイコンを作成してくれる。作成したアイコンは58*58ピクセルに縮小する。

20090720-btnsmpl.png
作成したボタンのサンプル

3)Windows XPからWindowsらしいアイコンリソースを抜き出して、PNGで保存する。

4)電話とメールのアイコンは、iPhoneのようにするために、交通エコロジー・モビリティ財団の発行しているピクトグラムPDFを、Inkscapeでビットマップ化して利用する。

5)rlTodayデフォルトのスキンXMLファイルを次のように編集する。書式は、「時計とカレンダーとランチャーをスキンで切り替える rlToday」の記事を参考にした。

skin.xml

<?xml version="1.0" ?>
<today height="185" refresh="100">

<Image x="1" y="5" source="icobg_gray.png" />
<Image x="61" y="5" source="icobg_gray.png" />
<Image x="121" y="5" source="icobg_blue.png" />
<Image x="181" y="5" source="icobg_green.png" />

<Image x="1" y="65" source="icobg_pink.png" />
<Image x="61" y="65" source="icobg_green.png" />
<Image x="121" y="65" source="icobg_orange.png" />
<Image x="181" y="65" source="icobg_gray.png" />

<Image x="1" y="125" source="icobg_orange.png" />
<Image x="61" y="125" source="icobg_blue.png" />
<Image x="121" y="125" source="icobg_gray.png" />
<Image x="181" y="125" source="icobg_blue.png" />

<AnalogClock timezone="0" x="1" y="5" clockface="clock_bg.png" />

<Image x="63" y="23" source="line.png" />
<Date x="90" y="8" format="MMMM" Alignment="Center" color="RGB(50, 50, 50)">
<Font size="12" weight="bold" font="Tahoma" />
</Date>
<Date x="90" y="25" format="d" Alignment="Center" color="RGB(230, 230, 230)">
<Font size="20" weight="bold" font="Tahoma" />
</Date>
<Date x="90" y="49" format="ddd" Alignment="Center" color="RGB(230, 230, 230)">
<Font size="10" weight="bold" font="Tahoma" />
</Date>

<Application x="135" y="17" appnumber="0" />
<Application x="195" y="17" appnumber="1" />

<Application x="15" y="77" appnumber="2" />
<Application x="75" y="77" appnumber="3" />
<Application x="135" y="77" appnumber="4" />
<Application x="195" y="77" appnumber="5" />

<Application x="15" y="137" appnumber="6" />
<Application x="75" y="137" appnumber="7" />
<Application x="135" y="137" appnumber="8" />
<Application x="195" y="137" appnumber="9" />

</today>

スキンの全ファイルと、Gimp用ソースコードはこちら(20090720-skinsrc.lzh)からダウンロード可能。

■ ハードウエア ボタンに、画面のロックを割り当てる

WINボタンやOKボタンに割り当てる場合は、あらかじめ「iPAQ 112 ボタンのWINとOKをAPP2とAPP3に割付変更する」を行っているものとする。

1)KeyInputEmulatorをダウンロードして、\Program Files\KeyInputEmulatorに圧縮ファイルを展開する。ボタン設定から認識させるため、サンプル フォルダにある「画面ロック.lnk」をスタートメニューにコピーする。

2)設定-ボタン コントロールパネル開いて、画面ロック.lnkをボタンに割り当てる。

■ ハードウエア ボタンに、バックライト強制ON・OFFを割り当てる

1)Backlight Control (バックライト制御) for Windows Mobile をインストールする。

2)設定-ボタン コントロールパネル開いて、1)で作成したショートカットを割り当てる。

■ 新しいブラウザ Skyfire

JavaScriptやFlash Pluginをサポートした、Windows Mobile 対応のブラウザ。滑らかな画面ズームや、タッチスクロール対応など、iPhoneを超える(←期待を込めて) といわれるブラウザが、2009年6月にリリースされた。

1)公式サイト(http://www.skyfire.com/)よりWindows Mobile版をダウンロードして、インストールする。

2)W-ZERO3 Holicさんのページよりダミーのphone.dllをダウンロードして、Skyfireのセットアップされているフォルダにコピーする。

■ Windows Mobile 7 のリリースが延期されるようです (残念)

【ITPro】「Windows Mobile 7」のリリース延期は路線対立が原因か?

既存のコード体系を捨て去って、まったく新しいOSを一から作ったほうがよいとするプログラマ サイドと、既存のコード体系や互換性を重視する経営者サイドが真っ向から激突して、大もめ状態の模様…

確かに、WindowsとWindows Mobileの.NET Frameworkや、MFC の互換性をひたすら追求した結果、iPhoneの開発では数行ですむコードを、.NETでは何十~何百行、MFCではそれをはるかに超える行数のプログラムを作成しなきゃならんなんて、とプログラマが思うのは当然やね。
後方互換性を取るために、MFC, .NET 1.1, 2, 3 を全て残した上に、新たなフレームワークを乗っけるのは、システムの安定性を損なうだけでなく、いつの間にか過去の互換性に縛られてコードが肥大化した本家Windowsを思い起こさせる。

Windows 7 で後方互換性は仮想マシンに任せた手法のようなことが、今後Windows Mobileにも持ち込まれるんかね…  とにかく、がんばってくれ、マイクロソフト。