二つのWebKitブラウザ
最近iPod touchとNokiaのベストセラースマートフォンE61を持ち歩いているが、この二つの携帯端末は両方ともにMac OS Xのフレームワーク「WebKit*1」を用いたWebブラウザを搭載している。MacBookも持ち歩くので、3種類のWebKitベースブラウザを日常的に使っていることになる。
閲覧性
PCのモニタを前提にしたWebサイトを小さなスクリーンで見る方法は、双方よく考えられている。Safari for iPodは横幅いっぱいに表示し、必要に応じてズームイン/アウトする。ダブルタップした場所のブロック要素を幅いっぱいにズームする。レイアウトはMac OS XのSafariとほとんど同一になる。
E61は、携帯電話「フルブラウザ」と比較してもユニークな方法をとっている。テキストが画面幅(480pixel)で折り返すように表示される。まるでh,p,div,td{max-width;480px !important}
としているかのような、といえばわかりやすいかな。そんなわけで、画面を横にスクロールさせなくても、テキストを上下スクロールだけで読むことができるようになっている。また、E61には全画面表示機能があり表示エリアを任意に決められる。
などなど、E61のブラウザは狭いスクリーンで不自由しないようにいろいろ工夫はしているわけだけど「狭いスクリーン」という不自由の原因には手を入れていない。iPhone/iPod touchでは「狭さ」が相対的になる最小限のサイズをもつスクリーンと解像度フリーなインターフェイスで、不自由の原因そのものを追放している。
よく落ちる
あちらこちらで既報だが、Safari for iPodもS60WebKitブラウザもよく落ちる。Mac OS XのSafariもメモリが足りない状況になると同じサイトで同じように落ちる。
落ちやすいサイトの特徴は、メモリを大きく消費するサイトのようだ。リッチなGUIを持ったRSSリーダー、prototype.jsで動的に巨大なCSSを読み込むサイト、大きな画像(Flickrで試してみたら2MB程度で落ちることが多い)などのようだ。閲覧中に落ちても、再度ブラウザを起動して閲覧すると読めたりするのは、キャッシュの量もあるのだろうか。とにかく、大きなサイトはぱかぱか落ちる。
搭載メモリ1GBの環境で育った富豪エンジンを貧弱な端末で動かすことにまだ慣れていないのだろうか。WebKitエンジンを用いるブラウザは履歴を「戻る」操作でコンテンツをリロードすることが多い。サーバのキャッシュ利用ポリシーに厳格に従っているようではあるが、無設定のサーバの時には再読込するのだろうか。履歴の適度な削除や圧縮などで相当数が解消しそうな気がする。
軽快なレンダリング
両者に共通した特徴はレンダリングが高速であることだ。特にE61は画面が小さいという大きなアドバンテージは当然あるが、それを差し引いても早い。
もちろんSafari for iPodも軽快だ。
両者ともに、後述するようにJavaScriptの動作がもさっとしているので動的にCSSを読み込むようなサイトではそれほど軽快さを感じないことも多い。
JavaScriptの実行
JavaScriptに関してはSafari for iPodもS60ブラウザも、お世辞にもいいとは言えない。非対応部分を除いてもGeckoやIEコンポーネント、Operaに速度面や安定度で及ばない部分がある。
ともに、KJSベースのJavaScriptCoreで実装されている。
コンソールで追っていないため体感でしかないが、iPod touchのJavaScript実行速度と振る舞いはMac OS XのSafari 2.0よりも改善されている部分が多いように感じる。特にDOM回りの操作がレンダリングに反映されるタイミングや状態は、RSSリーダーやWebメールでカラーホイールが回るSafari 2.0よりもさくさく動作している印象がある。
フォーム入力
テキストボックス、テキストエリアでの操作性はフルキーボード搭載のE61で使っているS60ブラウザが楽。iPod touchのスクリーンキーボードやローマ字単位で候補選択できるインターフェイスはすばらしいが、タッチタイプも可能なハードウェアキーボードにはもうすこし及ばない。
ただ、後述するがE61にはちょいと荷が重いようで、はてなのエントリを編集する程度でちょっとした苦労になる。
逆にSafari for iPodは十分高速だがエディタがないので長文の編集は難しい。
ラジオボタン、チェックボックスについては、画面の直接タップで操作できるiPodが直感的。E61ではナヴィゲーションスティックでポインタを移動する必要があるのでまだるっこしい。
ただし、E61のポインタには吸着機能があるので操作自体は間違いなく行える。逆に、使いやすくはあるがiPodでは密集したチェックボックスやボタンを誤操作してしまうことがある。ダブルタップのズーム機能は、適切にブロック要素がないと期待通りに動かないし、ピンチイン/アウトのズームは「テキストとして読める範囲」だと扱いやすいが、数文字単位になるとちょいと面倒だ。
ポップアップメニューは甲乙付けがたい。E61ではインクリメンタルサーチで絞り込めるが、Safari for iPodではフリックで長いメニューをスロットマシンのようにくるくるくるーっと回して目押しできる。Webサイトでのフォーム入力には100項目ある生年メニューなど常軌を逸しているものも多いが、両者ともに不自由は感じない。
動作速度、反応速度がすばらしいのでiPod touchの方が好み。
ヒストリ
E61のブラウズヒストリはすばらしい。右メニューボタンでヒストリ一覧をCoverFlowばりに表示してくれる。Safari for iPodではただ戻るだけだ。
なぜAppleがこのインターフェイスを採用しなかったのか疑問だ。LeopardのTime Machineインターフェイスを採用するためにあえて絞ってあるのだろうか。
複数ウインドウのハンドリング
複数ウインドウは両方ともに実装しているが、使い勝手は全く異なる。
Safari for iPodの複数ウインドウは、タブブラウズの取り扱いに似ている。新規ウィンドウを作ってブラウズするのは、タブブラウズそのものだし、複数のブラウザウィンドウを切り替えるのも楽。
E61でも複数のウインドウを扱うことができるが、こちらはメニューからの操作が主体になり、そもそもマルチウィンドウのOSではないので扱いにくい。あの強力なヒストリがあればブラウザウインドウが複数ある必要はない。
両者ともに複数のブラウザウィンドウを持ちながら、ユーザの意志でリンクを新規ウインドウ上に開くことができないのは不満だ。
また、双方ともにポップアップブロッカーはSafari 2同様に行儀の悪いのを蹴飛ばしてくれる。
国際化
WebKitの国際化が進んでいるためか、ブラウザのHTMLに対する言語対応は仕様上ほぼ同等、実装はE61が粗い。JavaScriptはSafariが比較的丁寧にエンコードを調整してくれるのでDOM操作で作ったエレメントの文字化けはE61でよく見るがSafari for iPodではまだ見たことがない。
E61はマルチランゲージ対応フォントがインストールされていないので、標準の状態では中国語、韓国語などが読めない。残念な部分。
まとめ
十分なコンピュータリソースがない複数の端末でPCに匹敵するスペックを「保証」しようとしているNokiaのブラウザに対し、iPhone/iPod touchという特定ハードウェアの大きなスクリーンと高速な描画性能をベースに、巧いインターフェイス設計でコマンド数を極端に減らしたSafari for iPodは、設計思想もターゲットにしているシチュエーションも大きく異なる。
Nokia E61が目指すPC代替端末というゴールは明確だし、ブラウザにもそれに応じた機能一通り詰め込んでいる。3ヶ月ほど使っているが、我慢ならなくなったり、置き換えブラウザを探す衝動には駆られていない。
ただ、今回iPod touchとの併用を始めてみてはっきりしたことは、E61がPCを手本に作られていることだ。両者の設計思想は、同じエンジンを使っているWebブラウザに明確に現れているように感じた。Appleは自ら普及させた「ドロップダウンするメニュー」すらiPhone/iPod touchから追放した。
多くの人が使っているであろうWindows MobileのInternet Explorerを使用していないので比較できなかったのはちょっと心残り。でも、突っ込んだことが言えるほどWindows Mobile IEを使いたくはないな。