2012年は過去数年に比べてHTML5が実用的に成長した年だったと思う。ところが、皮肉なことにモバイルにおいてHTML5に対するユーザーや開発者の熱が冷めた年にもなってしまった。
きっかけはFacebookである。今年の8月にFacebookがiOSアプリをネイティブ実装に切り替え、数週間後に米TechCrunchのイベントDisruptで同社CEOのマーク・ザッカーバーグ氏が「HTML5に賭け過ぎたのは、企業として最大の間違いだった」と発言した。HTML5が価値を発揮できる用途もあり、長期的には期待できるテクノロジであるという意味を含むコメントだったが、「最大の間違い」と述べた影響は大きかった。
HTML5に対するネガティブな見方が広まる中、Mozillaのクリス・ヘイルマン氏(デベロッパ・エバンジェリスト)が11月1日に「HTML5 mythbusting (HTML5にまつわる誤解を解く)」というコラムを公開した。基本的に従来の「HTML5アプリ対ネイティブアプリ」におけるHTML5側の主張の繰り返しなのだが、「Facebookショックで生じた誤解を解く」というように読める内容だ。
ダートを走らなければならないF1カー
ヘイルマン氏は「パフォーマンス」「マネタイズ」「オフライン機能」「開発環境」の4点で、HTML5がネイティブアプリに劣ると見られていることに反論している。例えば、パフォーマンスについては「HTML5アプリの性能をネイティブアプリと比べるのは、紳士服店に並ぶ商品とオーダーメイドのスーツを比べるようなものだ」としている。オーダーメイドは自分にはぴったりでも、他の人にはフィットしない。紳士服店のスーツはオーダーメイドほどの着心地ではないけど、誰でも着こなせて、スーツとして十分に機能する。マネタイズに関しては、「HTML5はオープンなWebテクノロジーに基づいた技術の集合体だ。HTML5がマネタイズできるモデルを持ち合わせていないという言うのは、Webでマネタイズできないと言うのと同じである (そうした主張が広告が掲載されているニュースサイトに書かれていたら皮肉なことではないか)」としている。
一方でネイティブアプリにはないHTML5アプリの長所として「部分的なアップデートが可能」「合意された標準に基づく技術」「大規模な開発者コミュニティ」などを挙げている。もちろん、HTML5アプリの最大の強みは「Write once, run everywhere (一度書けば、どこでも動く)」である (ヘイルマン氏は「Write once, deploy anywhere」と表現)。
ただ同氏のコラムを読んでいると、この「Write once, run everywhere」に苦悩が感じられるのだ。
例えばFacebookがiOSアプリのネイティブ化に踏み切った理由として、同社がユーザー体験を重んじ始めたことが挙げられる。HTML5をコアとする方式では、iOSアプリとして十分にユーザーを満足させられる性能や機能を得られなかった。ユーザーの多くは、スムーズに動作し、機能的で便利なアプリを求める。それがHTML5ベースなのか、ネイティブなのかは気にしない。加えて、今日の主要なプラットフォームは、クラウドをハブにスマートフォンやタブレット、パソコンの連携を実現している。そのため特定のプラットフォームの中だけで満足できるユーザーも多く、どこでも動くメリットが薄れている。「一度書けば、どこでも動く」は開発者にとって今でも魅力だが、「一度書けば、どこでも優れたパフォーマンスと機能を発揮する」でなければ、ユーザーにHTML5アプリを受け入れてもらうのが難しくなっている。Facebookショックは、ユーザー体験を重んじたFacebookによるHTML5に対するダメ出しだったと言える。
しかしHTML5が「優れたパフォーマンスと機能を発揮する」ことが不可能かというと分からない。その実力をユーザーは誰も知らないのだ。ヘイルマン氏は「HTML5はダートを走らなければならないF1カーだ。現時点ではOSの機能を活用できず、むしろ逆に多くの重荷を背負わされている」と指摘する。
「iOS端末は異なるブラウザエンジンを認めず、HTML5がカメラやアドレス帳、バイブレーション、電話機能やテキストメッセージにアクセスすることも許可していない。それらは全て開発者にとってモバイルデバイスを面白くする機能であり、アプリに必須な機能と言える」(ヘイルマン氏)。
ハードウエアの肝心な部分に立ち入れない"ハードウエア・ロックアウト(締め出し)"を食っているから、HTML5アプリはその価値を発揮できずにいる。FacebookがまだHTML5に軸足を置いていた頃、Facebookスマホの登場が度々噂になったが、ハードウエア・ロックアウトの克服という問題を抱えていた同社が自らハードウエアの提供を考えた可能性は十分にある。
Mozillaはブラウザからハードウエアにアクセスする手段を定義したWeb APIをサポートするFirefox OSを開発している。搭載端末は来年に登場する見通しだ。Firefox OSはOSアップグレードが終了した古いAndroidスマートフォンでも動作するように設計されており、低価格帯やまだフィーチャーフォンが使われている市場にスマートフォンを広げる存在になる。そのため、個人的にはこれまであまり強く惹かれていなかったのだが、ヘイルマン氏の「HTML5はダートを走らなければならないF1カー」という表現を読んでがぜん興味が沸いてきた。入れられるものなら、ウチにいくつかある古いAndroid携帯に入れてみようと思う。
90年台のIEと、閉ざされたモバイルプラットフォーム
ヘイルマン氏は「(制限のある)Androidの標準ブラウザは、長期にわたって変化を拒み、Webの進化を妨げた90年代のInternet Explorerを思い出させる。思えば、それこそが、まさにMozillaとFirefoxが誕生したきっかけだった」としている。しかしながら、いまMozillaとFirefox OS、そしてHTML5アプリが直面してる壁は、よりやっかいなものだ。90年代のInternet Explorerは、Microsoftが独占禁止法の問題を抱えていたから改良が滞り、停滞感に開発者やユーザーが不満を抱いたため、標準ベースのWebブラウザが付け入ることができた。今日のモバイルのクローズドな環境は着実に改良が進められている。それがユーザーや開発者に受け入れられていることは、AndroidプラットフォームやWindowsプラットフォームがどんどんAppleのプラットフォームに近づいていることで明らかだ。
正直なところ、Firefox OSの見通しが明るいとは言いがたい。00年代にオープンWebを標榜するFirefoxとWebKitブラウザが台頭したような急速な変化を、モバイルでも起こすのは難しいだろう。「一度書けば、どこでも優れたパフォーマンスと機能を発揮する」までの道のりは長く、険しそうだ。しかし、Mozillaが打った手は間違ってはいない。モバイル端末において、ハードウエアから締め出されたままではHTML5の本当のパフォーマンスや機能は発揮できない。そしてクローズドな環境において、ハードウエアからHTML5の締め出しを正当化させている理由は「セキュリティ」と「ユーザー体験」である。ユーザーは皆、プラットフォームベンダーの主張を信じているが、デスクトップのChrome OSを除いてHTML5アプリの機能をフルに引き出せるプラットフォームが存在しない以上、実際のところは分からない。まずはこの2点について、HTML5が十分にモバイルユーザーを満足させられることを証明するのが「HTML5 mythbusting (HTML5にまつわる誤解を解く)」の第1歩なのだ。