プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

快適なWindows Mobileになるために


伊藤浩一のW-ZERO3応援団より:

 「買ってきて、すぐ快適に使えるウィンドウズモバイル」というのはないものなのか。一般ユーザーが気軽に買って使いこなせるような端末が出ないことには、これ以上、ウィンドウズモバイルの市場規模は大きくならないような気がしてならない。新製品が出る度に、買ってくれるのは熱心なファンだけ、というのでは残念でならない。

日本経済新聞


人によって必要とする機能は違うと思いますが、快適さには複数の意味があるとyasuhoは考えます。ふだんW-ZERO3を使っていて感じるところも含めて、自分なりにまとめてみました。

快適なWindows Mobile(WM)になるためには

通信速度


多くの人は通常ブロードバンド回線でPCを使ってウェブやメイルを使っているので、モバイル機の通信速度にはどうしても不満が出てしまう。イーモバイルなどを使えば通信速度は向上するが、PCの同環境に比べて体感速度は落ちる。それにはいくつか要因があると思うが、後述する問題をいくつかクリアすることで、だいぶ改善するように思う。

準備されているソフトウェア


WMに搭載されるソフトウェアはPCに比べて少ない。同じものがあっても、ほとんどはサブセットである。特に不満が大きいと思われるのはWebブラウザだろう。実際にやってみた人は分かるように、フルブラウザとは言っても、PCと同じように見えないサイトも多い。携帯向けのサイトも大手3キャリアのみの対応がほとんどだ。


PCサイトに近づくのは限界があるので、消極的だがWMに対応したサイトを選んで使うのが現実的。幸い海外のサイトにはWM対応が多い。ソフト開発者にお願いするという手もあるかもしれない。

シェル


WMはマルチタスクだが、切り替えはとてもやりづらい。メモリも限られているからソフトウェアはこまめに終了させたいが、終了させるのも面倒。必要なアプリを素早く起動して終了できるよう、ユーザインタフェースの改善を望む。

ソフトウェアのインストール


WMは基本的にPCと同期することで機能アップを行うようになっているが、アプリの追加のためにいちいちPCと接続するのは、はっきり言って面倒。よほど必要なアプリでないとセットアップしなくなってしまう。本体だけでダウンロード・セットアップのしやすい仕組みを望む。せめてZIPの解凍は標準機能になってほしい。

全体的なレスポンス


PCに比べるとWMは全体的にもっさりしている。もちろんCPUや周辺装置の速度が全然違うので単純比較は意味がないが、現在のハードウェアに対してWM及びCEが重いのは明らか。やがてはWM機のパフォーマンスも上がるだろうが、高速化とバッテリー持続時間は相反するので、CPUが速くなっても単純にユーザ満足度は上がらない。ソフトウェアの機能を削っても将来の機能アップがそれを相殺するだろう。


後述するように、ソフトウェア構造の抜本的見直しが必要だと思う。

OS構造


現在のWMのベースとなっているCE5のサービスの多くはプロセスをベースとしたサーバ・クライアント構造だが、WMのハードウェア構造としては若干荷が重いと思われる。CE6ではGWES*1やデバイス管理がカーネル化している*2ようなので、WMもCE6ベースに移行することを願う。

メモリ管理


WMを使っていると、標準アプリを使っているだけで利用可能メモリがどんどん減っていく。メモリリークやキャッシュなど、減る要因はいろいろあるだろうが、PCのように大容量メモリを積んでいるわけではないので、システムと標準アプリに対するメモリの利用にはPCアプリ以上に気を使って欲しい。ハングアップの原因の多くがここにあると考えられる。


CE6では1プロセスあたり32MB、最大プロセス数32の制限も解除されているが、物理メモリが増えるわけではないから、これからも各アプリが使用メモリに気を使う必要はあるだろう。

システムの安定度


CEはバージョンアップごとに大胆な機能追加や変更を行っている。CE6のメモリ管理はおそらく全面書き換えに近いだろう。これだけのバージョンを重ねても変革をおそれないチームの姿勢はすばらしいと思うが、システムの安定度という点ではどうだろう。規模がもっと大きなPC用Windowsの安定度が高いのは多くのユーザに叩かれている点もあるが、OS中核部分はかなり「枯れて」いるからだと思う。


ミッションクリティカルなケースは少ないとはいえ、CEも安定度をより高めることにもっと重点を置いて欲しいと個人的には思う。

プログラミング環境


WMにおけるプログラミングはPC版Windowsに近い。バージョンアップごとにWindowsの機能を取り入れていけるのはこの構造のおかげもあるのだろう。


しかし実際に使ってみると分かるが、その多くはサブセットである。同一APIが存在してもサポートされない機能もある。画面サイズの問題からUIも見直しが必要。当然PCのパワーも大容量ストレージもないので、そういった考慮も必要。シェルなどWM固有の機能も多い。結局はWM向けの設計をするケースが多いと思われる。


そう考えるとWindowsとの互換性の必然性はそれほど必要なものではないのではないか。いっそCEはカーネルなど基本部分のみ流用し、GWES抜きでWM固有のGUIを構築するという選択肢もあるのではないだろうか。幸いCEはそういったコンポーネント化がしやすいOSであることだし。

WMのこれから


これまでCEやWMはPC版Windowsを目指してきたように思います。しかし最近はPCやWindowsがWMに近づいてきました。AtomやWILLCOM D4はかなり近いです。次期Windows OSにおける小型化の試みもされていると聞いています。近い将来双方はかなり近づくでしょう。そうなった時の結果は想像に難くありません・・・


なので、WMはPCとは別の道を目指すべきではないかと思います。ハードウェア的にはかなりの性能があるにも関わらず、Windowsの呪縛からそのパフォーマンスを生かし切れてないのが今のWMとCEではないかと感じます。Windowsと比較するから失望や不満が出てくるのではないでしょうか。

モバイルで大切なこと


個人的にはモバイルは割り切りが必要だと思います。自分が必要な機能だけをカスタマイズし、外ですぐにそれを選び、素早く使うことが出来る。それがモバイルにおける快適さなのだとyasuhoは考えます。


何が必要かは人によって違うので、的外れなことを言っているかもしれません。でも一つだけ実感していることがあります。それは使っていてユーザにストレスを感じさせてはいけないということです。


モバイル機器は外で使うものだから、すぐ出してすぐ使いたい。Suspendの復帰に時間がかかる。アプリの起動に時間がかかる。動作がもたつく。切り替えに時間がかかる。座ってじっくり使うPCよりも、こういうのは特にストレスに感じます。突き詰めてみれば、モバイルにおける快適さは動作の軽快さに集約されるのではないでしょうか。


今一度モバイルユーザの視点でWindows Mobileを振り返ってみませんか!?単に「使えない」だけじゃなく、何が不満で何がいいのか。具体的な提案をメーカにあげていくことで、Windows Mobileはどんどん良くなっていけるのではないでしょうか。

*1:WindowsのGDIとUSERが一体化されたモジュール

*2:参考: Windows CE 6で刷新されたアーキテクチャ(1/3) − @IT MONOist