トップ 最新

ただのにっき

2010-06-08(火) [長年日記]

iPhoneユーザが目の色を変えるAndroidの機能紹介(1) - インテント

あ、なんか釣りっぽいタイトルになってしまった(笑)。

いやね、行く先々で「たださん、Androidどうですか」って聞かれるんだけど、けっこうみんな、Androidのこと知らないんだよ。GoogleがAppleに対抗して作ったiPhoneOSの真似っこにすぎなくて、たいして違わないと思い込んでる(白状すると、おれもそう思っていた)。で、iPhoneとの違いを重点的に説明してあげると、「わー、いいなー」っていう反応がかなり返ってくるんだな*1

というわけで、(だんだん個別に説明するのが面倒になってきたので)ウケのいい機能をいくつかピックアップしてみようと思う。まずはマルチタスクOSの面目躍如、アプリケーション間連携機能「インテント」について。

iPhoneで撮った写真をメールで送るという場面を考えてみる。iPhoneOSは「ユーザの自由度を制限する代わりに適切なデフォルトを与える」という思想で作られているから、カメラで撮ったままの解像度の高い写真をメールに添付すると、有無を言わさず800x600にリサイズする*2。このサイズはなかなか絶妙で悪くないデフォルトだけど、もっと小さい/大きいサイズで送りたい場面はいくらでもあるので、使っているとちょっとずつ不満が蓄積するんだよね。

もちろん画像をリサイズできるアプリはたくさん出ているから、それを使った上でMMSを使って送信すればいい。しかしその手順ときたら:

  1. カメラアプリで写真を撮って
  2. カメラアプリを終了して
  3. リサイズアプリを探して立ち上げて
  4. いま撮った写真を探して選び
  5. リサイズして(保存するのを忘れずに!)
  6. リサイズアプリを終了して
  7. 画像ビューアを探して立ち上げて
  8. いま保存したリサイズ済み写真を探して選び(隣に並んだまったく同じサムネイルを持つリサイズ前の写真と間違えないように注意!)
  9. メール(MMS)で送る

……うわぁ、気が遠くなるね! 特に「探す」作業があまりに多くて苦痛。これならデフォルトで我慢するわ。

Androidだとこうなる。ちなみにおれが使っている画像リサイズアプリはImage Shrink。あとは標準アプリだけを使って同じことをしてみよう。

1. まずカメラで写真を撮るところまでは同じ。右のスクリーンショットはそのあとカメラアプリ内蔵のビューアに移ったところ。画面下部にいくつかアイコンが並んでいて、左から2番目に「○から矢印が2本出ているアイコン」が見えるだろう。これがインテントの送り先(アクティビティ)を選ぶアイコンで、Androidアプリの多くについている。

2. インテントアイコンを選ぶと出てくるのがこのリスト。これは、画像を受け取ることができるアプリの一覧を示している。そのままメールに添付もできるけど、今回は画像を縮小したいので「Image Shrink」を選ぼう。

3. するとその場でImage Shrinkが起動して、サイズを選ぶ画面に。今回は相手の回線事情に配慮して、少し小さめの640x480にしよう。いつも同じサイズに変更する場合は何も聞かずに実行する設定にもできる。

4. Image Shrinkはリサイズを終えるとすぐさまインテント選択画面を表示する。「今リサイズした写真をどこに送る?」と聞いているわけだ。ここではGmailを選ぼう。

5. すぐにGmailのメール作成画面が現れる。写真が添付状態になっているのがわかるだろう。あとはアドレスと本文を入れて送るだけ。

ここまで、写真を「探す(選ぶ)」場面が1回しかなかったことに注目。また、数あるアプリの中から必要なものを探し出すのに、インテント機能によって絞り込まれた一部の中から選ぶだけだったことから、iPhoneに比べて「ものを探す」労力がはるかに少ないのがわかる。

インテントはこのように、アプリが「自分はこの手のデータを受け取れる」という情報をあらかじめ登録しておくことで、OSが送り手とのマッチングをはかってくれる機能だ。画像だけでなくテキストでもいいし、URLでもいい。例えば、メールに貼られたTwitterのURLをクリックするとブラウザでなく使い慣れたTwitterクライアントが起動することもある。

この機能がギークにウケるのは、Unixシェルのパイプ処理のようなツールボックス・アプローチを想起させるからだろう。iPhoneOSで先のようなことを簡単にさせようと思ったら、カメラと画像編集機能とメール送信機能が合体した巨大アプリを作るしかないのだけど(キッチンシンク・アプローチ)、Androidではゆるやかに連携した単機能アプリがシームレスに仕事をしてくれる(ツールボックス・アプローチ)。

リソースが潤沢なPCではiPhoneアプリのような作り方でもいいが、スマートフォンのようにリソースの限られた機械では、どちらが良いアーキテクチャかは言うまでもない。Android 2.2ではこのインテントを、ネットワーク越しにも送れるようになるそうで、これはもうwktkせざるをえない。AndroidはけっしてiPhoneOSの模倣だけしているわけではないのだ。

Tags: android

*1 もちろんおれの知り合いなんてたいていギークなので、そういう方面にウケそうなプレゼンをするからである。iPhoneでゲームばっかりしている向きに差別化ポイントを説明する自信はない。

*2 おまけに800x600より小さな写真は拡大して送ってくれるという親切"機能"付き。MMSでは1024x768で、拡大"機能"はなし。