ただのにっき
2010-06-10(木) [長年日記]
■ iPhoneユーザが目の色を変えるAndroidの機能紹介(2) - 賢い「戻るボタン」
前回紹介したインテント、「マルチタスクOSならでは」的な書き方をしたけど実は嘘で、別にシングルタスクOSだって実装できる*1。だからまぁ、Appleはあえてアプリケーション間連携機能を削っているという見方は正しいだろうね。iOS4でその垣根は少し低くなるようだけど、それでもiPhoneのアプリ間に立ちはだかる塀は高い。
そんなアプリ間の行き来についても、Androidはとてもよくできている。インテントと並んで評価の高い機能が「戻るボタン」なので、今回はこれを取り上げる。「戻るボタン」は多くのAndroid端末に付いているハードウェアキーで、これがアプリケーションを跨いだ遷移を実に上手にさばいてくれるのだ。
ちょっと脱線するけど、iPhoneアプリが内蔵するブラウザで、「戻る」操作を間違えたことがないだろうか。おれはよくあった。ブラウザには「ページ遷移」を制御する「戻るボタン」が必要だが、アプリに組み込まれるとさらに「前の状態」に「戻るボタン」が必要になるため、画面内にふたつの「戻るボタン」が発生してしまうのだ(アプリによって表記をいろいろと工夫しているが、機能的に近いので迷ったり間違えたりすることに変わりはない)。
ちょっと自分のiPhoneに入っているいくつかのアプリの内蔵ブラウザを並べてみた:
こんど「iPhoneアプリは厳格な審査のもとにUIが統一されているから使い易いんだ」的なことを言うヤツがいたら首を締めてやる!
……閑話休題。
こんな内蔵ブラウザの乱用が起こるのも、標準ブラウザ(Safari)をアプリ内から立ち上げると、元のアプリに簡単に戻る手段がiPhoneにはないためだ。いったんホームに戻って前に使っていたアプリを探して(また探しもの!)、起動すると前の状態を忘れていてガックリなんて場面もよくある。
Androidの「戻るボタン」は、上記の問題を両方ともスマートに解決している(下の写真はHTC Desire。左矢印マークが「戻るボタン」)。
まず、ハードウェアキーなので、間違えるということがない。これはとても重要なことで、アプリケーションは個別に同じ「戻る」という機能のキーを狭い画面に押し込めることなく実装できるから、画面が広く使えるだけでなく、操作が統一できる。多くのアプリで共通の操作になる機能には、独立したキーを与えるべきなのだ*2。
さらに、アプリケーション間を遷移すると、その遷移状態も「戻って」くれる。例として、こんなシチュエーションを考えたよ:
さて、ここまで3つのアプリを渡り歩いてきたわけだが、このあと先ほどのメールに返事が書きたい。iPhoneではホームボタンを押して、アプリ一覧からメールアプリを「探して」立ち上げるか、iOS4ではホームボタンを二度押しして起動中のアプリを「探して」選ぶというところ。iPhoneはほんとうにこの「探す」作業が多いね。
Androidでは、「戻るボタンを2回押すだけ」。
しかも、途中に挟まったブラウザのページは、メールに戻る段階で閉じられるので、次回ブラウザを起動したときにも残ることはない。ユーザの「操作の歴史」をアプリケーション境界を超えてたどることで、メール/ブラウザ/Twitterクライアントがまさに渾然一体となった動作を実現してくれる。
この他にも、戻るボタンはあらゆる場面で最適な「戻る」動作をしてくれる。ポップアップを閉じるときも、通知バーを引き上げるときも、キーボードを一時的に隠したいときにも「戻るボタン」をクリックするだけで期待通りの動作をする。Androidの「戻るボタン」は、スマートフォンを名乗るからにはまさにこうあって欲しいという「スマートさ」を持っているのだ。