Web関係のエラい人たちが、インターネットで使われる言語の次バージョン、HTML5について騒いでいます。
いわく、HTML5は、Webアプリを変革する。HTML5は、Flashを駆逐する。iPadの欠陥を補ってくれる。本当に、彼らの言う通りなのでしょうか?その答えは、イエスであり、ノーでもあります。
その理由は、続きで解説します。
技術系の報道においては、HTML5は徐々に広まっていく技術ではなく、夢の救世主のように喧伝されています。YouTubeとVimeoがHTML5をテストし始めたとき、HTML5こそはFlashキラー、Webビデオの解放者と祭り上げられました。Googleが新しいGoogle VoiceをHTML5ベースで設計すると、OS依存アプリはこれで死滅する、とささやかれました。そしてiPadがFlashをサポートせずに発表されたときには、HTML5があるから、App Storeの「クローズドシステム」を回避する方法も問題にならず、きっと大丈夫、なんてあてにされたのです。
「アプリなし、プラグインなしの、完全にWebベースな未来が、次バージョンのブラウザで実現する」なんて期待が、ふくらみつつあります。HTML5は、インターネットの慢性的な諸症状に対する特効薬に違いない、と思い込まれているのです。あらゆる重たい専用プラグインや、発展途上のWebアプリ、リッチメディアの扱いがそもそも苦手なWeb。HTML5がこれらの悩みを解消してくれる、そんな期待はまったく根拠のないものではありませんが、とはいえ、すべて真実かというと、そうでもないのです。
実際はこうです。HTML5はすでにみなさんが使っているWebアプリの中に入り込みつつあります。その目的は、Javaや他のプラグインを使うよりも、動作を速く、安定させることです。HTML5ベースのアプリはWebアプリというより、ネイティブのアプリのようです。HTML5によって、ネイティブアプリのように速くて安定したWebアプリを、いつでも、どんなプラットフォームでも使えるという夢の状態が、少し近づいているのです。
また、HTML5は、特に動画について、専用プラグインに頼らないメディアというビジョンを推し進めています。プラグインを使うと、クラッシュしやすく、リソースも大量に必要とされるからです。みなさんのブラウザのプラグインフォルダをのぞいてみると、最低4つのプラグインが入っていると思います。HTML5の理想は、ブラウザを立ち上げると、どんなサイトで、どんなメディアを見ても、ブラウザが魔法のように全てをサポートしてくれることです。待ち時間や混乱や、新たなプラグインによる不安定さがなくなる、ということです。
が、HTML5の本質は、単なるフレームワークであり、概要であり、理想です。それが実際にインターネットにどう影響してくるかは、それを採用する企業や開発者によって決まるのです。もっと言えば、HTML5の現実とは、それを採用しない企業や開発者によって、形成されていくものなのです。
HTML5の意義について踏み込む前に、まずHTML5とは何なのかと、それが何にもとづくものなのかを知る必要があります。
そもそもHTML(Hypertext markup language)とは、全てのWebページの裏側にある言語です。その言語は、CSSやJavascriptといった他の技術に補完されながら、時とともにどんどん複雑化してきましたが、コンセプトはシンプルです。
HTMLとは、下の文字列を、
<u><em><strong><a href="http://gizmodo.com">Hello!</a></strong></em></u>
以下に変換してくれるものです。
Hello!
HTMLは基本的にWebサイトがブラウザに渡す説明書みたいなもので、それを受け取ったブラウザはそれを読んで、Webページに変換するのです。
たとえば、このWebページのどこか適当な場所で右クリックして「ページのソースを表示」とか、「ソースの表示」とか、それ的な表現のメニューを選んでみてください。すると、このページの「ソース」、つまりほとんど英語みたいなもので書かれた、意味不明のテキストファイルが表示されると思います。これが、HTMLで書かれた文書です。ギズモード読者の方はきっとご存じのことだと思いますが、念のため。で、HTML5の「5」って何なのか?という話にいきたいと思います。
インターネットの中央司令塔、もとい地下組織みたいなものがありまして、HTMLの「標準」、言い換えるとルールを作っている人たちがいます。HTML5に関しては、Web Hypertext Application Technology Working Group(WHATWG)と、限定的な範囲で、World Wide Web Consortium(W3C)が策定しています。こうした独立の標準化団体を通じて、Webの新たな機能が成文化され、公開されていくのです。公開後、どのような企業が関わっているものでも、(理論上は)ブラウザがその標準をサポートしていくというわけです。
90年代初頭、W3Cと少数のオピニオンリーダーたちが、ブラウザメーカーによって考え出された新しいWebの機能を調査しました。そしてそれらの機能を標準化することで、ブラウザごとに異なるインターネットになってしまうことを回避させたのです。90年代中頃から後半までに、その標準は量においても影響力においても成長し、ブラウザメーカーや開発者にとってのデファクトのガイドとなっていったのです。(と、言うとまるで美しい物語ですが、実際はそれなりにいろいろあったみたいです。ベテランWeb開発者の方がいたら、Internet Explorerのバージョン6以前がどんなだったか、聞いてみましょう)
ときには紆余曲折があったものの、HTML標準は単なるWebテクノロジーの記録という存在を超えるものになっていきました。そしてついには、インターネットの進化を後押しする青写真となっていったのです。それでも、標準とはガイドであり、法律ではありません。ブラウザメーカーには、標準の改訂に対してひとつひとつ対応する義務はないのです。
HTML標準の一番最近の大きな改訂は、1999年に発行されたバージョン4.01でした。HTML5はまだ草稿の段階ですが、最初に生まれたのは2004年で、その後着々と更新されています。90年代には、HTMLに関する議論の中心はフォントの色、テーブル、ボタン、またはもっと深い技術的な側面にありました。が、現在、新しいHTMLのバージョンといえば、今風のWebをいかに深いところまでサポートするか、特に、Webアプリと動画をどう扱うか、ということが大きなテーマになっています。
HTML5の仕様は単に新しいタグやツールに関することだけではありませんが、ユーザーと開発者にとってはそこが一番関心のあるところです。特にここでは、API(application programming interfaces)について取り上げます。APIがあるおかげで、インターネットがリッチになったのです。APIは、HTMLタグでは<VIDEO>とか<IMG>とかで表現されているものです。APIがあるために、HTML5の検討が始まった当初、その名称は「Web Applications 1.0」でした。現在、HTML5を分解していくと、以下に挙げる点が大きなポイントになります。
・動画ネットで動画を見るときは、プラグインを通じて見ています。プラグインとは、ブラウザの中で動くソフトウェアですが、技術的に言うとブラウザの「一部」ではありません。10年前の動画用プラグインといったら、重いRealPlayer、半信半疑のWindows Media Player、そして、いっそ使いたくもないQuickTimeでした。現在それらは多分Flashや、マイクロソフトのSilverlightや、マシになったQuicktimeや、Windows Mediaに取って代わっているでしょう。Webページに埋め込まれたYouTubeを見るときでも、どこかからダウンロードした「.mov」の付いたファイルを見るときでも、ブラウザはプラグインを使う必要があります。
HTML5は、JPEGなどの画像をページに埋め込むのと同じ要領で、サーバー上のファイルを指定するだけで動画を入れられるような、シンプルなタグをサポートしています。そうした動画タグを読めるようにするために、いくつかのレンダリングエンジンをブラウザとセットにしていて、そのエンジンが、動画をプラグインなしで読み込むという仕組みです。HTML5において、動画の埋め込みは(動画コーデックにブラウザのレンダリングエンジンとの互換性を持たせる必要がありますが)、画像の埋め込みと同じくらい簡単になります。さっき見た「ソース」で言えば、動画埋め込み部分はこんな風になります。
<video src="video.mp4" width="320" height="240"></video>
現在テスト中のプレイヤーがどう見えるかというと、こんな感じです。
- SublimeVideo(Safari 4、Chromeで見られます)
- YouTube(Safari 4、Chromeで見られます)
- Vimeo(Safari 4、Chromeで見られます)
- DailyMotion(Firefox、Safari 4、Chrome、Operaで見られます)
理論上は、動画プラグインをなくせば、CPUのムダをなくすことができ、クラッシュする回数は減り、より互換性が高まります。HTML5の動画が標準になれば、アドビがモバイル用のプラグインを出してくれるまで待つ必要もありません。MacユーザーはHD画質のYouTube動画を見るときにわざわざダウンロードする必要もなくなります。一般論として、動画ファイルをFlashのようなプラグインを通して再生するということは、ブラウザのネイティブなデコーダーを通して見るよりも、遅くなり、バグが増え、リソースを食うということなのです。それで、みんなHTML5の動画に期待している、というわけです。
・オフラインストレージGoogle Gearsを覚えているでしょうか。Google Gearsはいろいろなブラウザのための一連のプラグイン集で、GmailやZoho Writer(オンライン・テキストエディタ)のようなWebアプリ上から、自分のローカルのコンピューターにコンテンツを保存できる機能を持っていました。たとえばGmailでは、インターネットに接続していなくても読み書きができるようになったりするのです。もちろん、オフラインなので新着メールを取りに行くことはできませんが、それでも、OutlookやMail.appのような、使えるインターフェースがあり、過去のメールが読めるのです。まあ、グーグルは結局Google Gearsの開発を終了してしまいましたが、それはHTML5が基本的に、プラグインなしで、Google Gearsが目指した状態をサポートするからでした。・ドラッグ&ドロップ、文書編集Gmail上でドラッグ&ドロップができることは、みなさまご存じだと思います。Twitterやらメールやら掲示板やらにポストするときのテキストボックスへの入力方法も、きっとおわかりですね。Web上のこうした仕組みは、アドホックで複雑なコードの仕掛けによって成り立っていて、現在はみんなちゃんと動いていますが、もっとシンプルにすることが求められてきています。開発者でない方でも直感的に、シンプルにすればより動作が安定する、ということはおわかりいただけるかと思います。まさにHTML5のねらいはそこにあります。ものすごくシンプルに、入力ボックスや、ドラッグ&ドロップ、さらには、画面上でのドローイングを実現できるという点です。- 基本のデモ(Firefox 3.6、Safari 4、Chrome、Operaで見られます。)
- もうちょっと複雑な、いろんな仕掛けのあるもの(Firefox 3.6、Safari 4、Chrome、Operaで見られます。)
- または、iPhoneかAndroidでGmailを使ってみてください。
・位置情報- わかりやすいけど見栄えがイマイチなデモ(Firefox3.6、Safari、Chrome、Operaで見られます)
- もっと見栄えの良いデモ(Firefox3.6、Safari、Chromeで見られます)
現在、Webアプリからは、ユーザーが許諾すれば、自分の位置情報を知らせられるようになっています。ここで試してみてください。(Firefox 3.6, Chrome, Safari 4, Opera, iPhoneで使えます)
ここまでのところをまとめると、HTML5で変わるのは、動画であり、より複雑化し、なおかつ安定して使えるWebアプリ、なのです。こうしたことから非常に期待されているのですが、同時に、混乱も来たしつつあります。
デスクトップPCでは、HTML5への移行は大体においてシームレスになると思われます。多分ユーザーは、たとえばWebメールや、文書エディタや、テキスト入力といった一部のアプリで、なんとなく安定したなとか、速いな、と感じると思います。モバイルでは、もっとはっきりした変化が感じられるでしょう。iPhoneとPalm Pre用の新しいGoogle Voiceは、ブラウザベースではなく、ほとんどネイティブのアプリを使っているのと変わらない感覚です。
HTML5の希望は、現実的なところで言うと、ある種のWebアプリはネイティブアプリに取って代わることになるでしょう。メリットははっきりしています。文書エディタがオンライン上にあれば、ユーザーがiPadを使っていようが、Windowsのデスクトップを使っていようが、いつでも使えます。もしメールクライアントがWebアプリであれば、いつでもメールチェックができ、未読・既読のステータスが全端末で共通化され、どこまで読んだかわからない、なんてこともなくなります。Google DocumentsのようなWebアプリはより高速化し、安定し、互換性が高くなります。それでも、PhotoshopとかFinal Cutのようなアプリをブラウザで使えるようになるまでには、しばらくかかりそうです。
こういう理想の話、どっかで聞いたことあるなー、と思ったとしたら、それはこの理想がすでに前々から言われていて、いろいろな方法で実現されてきているものだからでしょう。たとえばHotmailがそうした考え方を早期に具現化したサービスでしょうし、アプリをすべてWebアプリとするChrome OSは、限定的とはいえ、現在の最終形です。
もうひとつの夢は、最近とくに聞かれるようになったものだと思いますが、HTML5がFlashキラーだ、という説です。その説によると、Flashなんてもう時代遅れで、HTML5に対応すれば、アップルのiPadや他のモバイル機器でも、Web上のあらゆるメディアが利用可能になる、というのです。
VimeoとDailyMotion、そしてYouTubeでは、最近HTML5の動画技術を試行するパイロットプログラムを立ち上げました。ぱっと見、これは面白い話です。彼らのプレイヤーは基本的なものですが、ちゃんと動いているし、もっとすごいHTML5の動画プレイヤーのデモも今はあるのです。アップルの最新のWebKit(レンダリングエンジン)はMacOSとiPhone/iPadのSafari、グーグルのChrome OS、Palm PreブラウザとAndroidブラウザの裏で動くものですが、フルスクリーンのHTML5の動画をサポートしています。iPadはFlashに対応しない状態で出荷されますが、アップルのデスクトップ(Mac OS)のSafariは、上記のHTML5の動画をフルにをサポートする最初のブラウザです。YouTubeやVimeoがテストで使っている、ネイティブにレンダリングされる動画と同じものです。そうなると、HTML5に向けて、スターたちがこぞって準備している、ように見えますよね。でも、そうとは言い切れないのです。上に書いたように、WHATWGやW3Cは、標準をどんどん出すことができますが、実際にはブラウザ側がその標準をサポートする必要があります。主要なブラウザ全て、つまり、開発スピードの早いOperaやChromeから、いまだに世界最大のシェアを持っているInternet Explorerまで、です。<VIDEO>タグを例にしてみましょう。SafariとChromeは、HTMLコードも、関連する動画フォーマットのネイティブレンダリングもサポートしています。Firefoxはタグをサポートしていますが、YouTubeやVimeoが使っている重要な動画フォーマットには対応していません。Internet Explorerにいたっては、プラグインなしには何もサポートしておらず、というか、プラグインをなくすことがHTML5のポイントじゃん、この!とつっこみたくなるような状況なのです。
各ブラウザがそれぞれのスピードでレンダリングエンジンをアップデートするのと同様に、いやそれ以上に、ブラウザのユーザーも、それぞれ気ままなペースでブラウザのアップデートをしています。中には、アップデートって、何?というユーザーもいます。マイクロソフトはIE8を必死に売り込んでいますが、つい最近までIE6が世界最大シェアを持っていたくらいです。IE6といったら、2001年リリースで、HTML4がヨチヨチ歩きの頃、HTML5なんてまだW3Cの視界のはしっこに入るかどうかというくらいだったんです。そんなIE6では、HTML5の動画は見られませんが、Flashではまったく問題なく動画が見られるのです。
HTML5の動画が広く普及するには、いくつかの障害があります。ビデオコーデックがそのもっとも大きな障害です。HTML5ではネイティブは動画埋め込みをサポートするので、従来のプラグインに代わってブラウザが埋め込まれた動画を読み込む必要があります。現段階のHTML5標準は、ビデオフォーマットを明確に指定しておらず、ふたつのフォーマットが競い合っているところなのです。
ふたつあるフォーマットのひとつ、Ogg Theoraはフリー(オープンソース)のコーデック規格で、ほとんどのHTML5をサポートするブラウザが対応しています。こちらはフリーということで、ブラウザメーカーがライセンス料を支払う必要がないため、おカネ面では魅力的な選択肢ということになります。問題は、これがものすごく圧縮効率が低く、多分そのせいで、あまり人気がありません。グーグルにおける標準の神、クリス・ディボナさんがこんな風に言っちゃってます。
仮にYouTubeがTheoraを使うことにして、今と同じクオリティを出そうとしたら、インターネット中のほとんど全帯域を占領してしまうことになると思うよ。
これがその通りかどうかは別として、Ogg Theoraがこうした評価を打ち消すことは難しいでしょう。ビジネス上は、こちらの方が望ましいのですが。
もうひとつの規格はh.264です。こちらはOgg Theoraとは対照的な状況です。多くの携帯電話でネイティブにサポートされているので、VimeoやYouTubeではこの規格のテストをしています。さらにこれらのサイトでは、すでにモバイルに適したクオリティの動画ライブラリをh.264で作っています。iPhoneはFlashをサポートしていませんから、iPhoneのYouTubeアプリでは、h.264で動画をストリーミングしているのです。h.264の動画を作るにはプレイヤーのインターフェースを作るだけでいいので、時間もリソースも少なくて済みます。しかもh.264は圧縮効率も良いので、こちらのほうが支持されています。が、問題がひとつ。h.264にはその特許の権利を持つ人たちがいて、利用する際には彼らとのライセンス契約が必要なのです。
つまり、HTML5でh.264ベースの動画を再生できるブラウザを作ろうとしたら、このフォーマットの権利を持つ企業に何百万ドルも支払わう覚悟が必要になるのです。こうしたコストの問題があるうえに、一部には、そんな私的な集団にインターネット動画のエコシステム全体をゆだねてしまうことへの懸念もあがっています。ちなみに、私的な集団つまり特許を持っている人たちには、アップルやマイクロソフトなど26の企業や大学が含まれています。
グーグルやアップルは、これまでのところライセンス使用料を容認していますが、Firefoxを作っているMozillaは、より長期的な視座から保守的な立場をとっています。Mozillaのクリス・ブリザードさんは次のように懸念を述べ、これには前例があるとしています。
h.264はまだ初期段階にあるので、彼らの権利をパテントプールにするのは彼らにとってとても有利なことなんです。MP3やGIFが良い前例です。技術の初期にリベラルなライセンス方針をとっていれば、ネットワーク効果で価値が出てきたときに、その価値を回収できるのです。基本的に、みんながその技術を使うようになるのを待って、それからカネを巻き上げる、というのが彼らのやり方なのです。
ちょっと小難しい言い方をされていますが、要は、「h.264の権利者たちは、今は利用者の負担を低く設定してなるべくユーザーを増やして、デファクトになった頃を見計らって、突然高いおカネを取り始めるかもしれないじゃん!」という懸念です。
ブリザードさんは前例としてMP3のライセンス条件の変遷を指摘し、「MP3が広まる前、2002年までは、MP3デコーダーを無料で配布する場合は、ライセンス料も無料だと明記されていた。ユーザー数が一定数を超えるデコーダーの場合は、定額料金制もあった。が、権利者たちは、ネットワーク効果が出た(一定以上に普及した)後でその条件を変え、今では、無料だろうが大口だろうが、1ユニット配布あたりいくらのライセンス料を支払わなければならない」としています。h.264のライセンス条件は1年ごとに市場の状況に合わせて変更されているので、ブリザードさんの意見は、必ずしも慎重すぎるとは言えなさそうです。
そんなわけで、今のところh.264が優勢とはいえ、こちらに決まってしまうとしたらそれなりにリスクがある、と考えた方がいいでしょう。
なんだかおなかいっぱいになってきましたが、ご心配なく!とりあえずはFlashもありますから、大丈夫です。
次に、DRMの問題について。めんどくさいですが、避けて通ることはできません。Flash動画は、DRMをサポートしていますが、HTML5ではサポートしていません。TV動画サイトHuluを見ながら、右クリックひとつで、動画を自分のコンピューターに保存できたら、良くないですか?確かに、自分たちがそれを想像するのはいいんですが、ハリウッドのお偉方たちは、そんな議論に耐えることができません。DRMがなければ、映画も、テレビ番組も成り立たないのです。仮にHTML5の動画標準について合意されたとしても、Mozilla、アップル、グーグル、Opera、マイクロソフトそれぞれがDRMについて合意するのはかなり大変でしょう。
その一方でテストでは、今のところHTML5を使っても、大した効果がなさそうだということが明らかになったようです。YouTubeがHTML5のテストプロジェクトについて以下のように述べ、ちょっとした騒ぎになりました。
昨年、我々のコミュニティからは、YouTubeはHTML5への対応を強化してほしいという要望が明らかにされました。これに応えるべく、我々は、YouTube関連製品の実験をルーチンで行う場、TestTubeでHTML5のサポートを始めました。TestTubeで試された一部の製品はより広いコミュニティに提供されていますが、そうでないものに関しては、TestTubeより先に進むことができません。まだ早い段階ですが、希望としては、この新しいWebの標準について、検討を継続していきたいと考えています。
なんだかやる気なさそうではありませんか?YouTubeのHTML5のテストは、あくまでテストです。この件について、何ら望ましい変化があったという証拠はありません。YouTubeの未来は広告を彼らの動画に入れ込むことと、DRM付きコンテンツを販売すること、そしてなるべく多くのオーディエンスを獲得することにかかっています。HTML5の動画がこうした狙いを後押ししない限り、グーグルもYouTubeも、今まで通りを続けたいはず、つまり、Flashを使い続けるはずです。
アドビもまたこの問題に興味を持ち、Flashをほぼ全スマートフォンのプラットフォームに乗せようと必死になっています。現在、スマートフォンがHTMLの<VIDEO>タグをサポートすることについてはまだまだ検討段階です。デスクトップの動画に負けず劣らず、こちらも問題山積ですから。
それから、HTML5がFlashキラーだという説のもうひとつの盲点に、まだ触れてもいませんでした。それは、Flashには、動画以外の機能もあるということです。たとえば、見栄えの良い画像を表示する機能。これについては、ブラウザが2次元ベクターグラフィックスとHTML5のCANVASタグをサポートすれば、とりあえず、プラグインなしでも、きれいでビジュアルなWebアプリを作るのには問題ないでしょう。様々な種類のJavascriptも、すでにWeb開発者向けに出回っています。
でも、ゲームはどうでしょう?そして、ビジネス的にはもっと重要な、アニメーション広告、インタラクティブ広告については?YouTube動画にかぶせるための広告とか、どうするんでしょうか?これらの機能は、そうそう手放すことはできません。そして、Flash以外のWeb技術では、今のところこれらが実現されていないのです。
最初に書いたように、HTMLの仕様に関する仕事のひとつは、すでに開発者やブラウザメーカーがしていることを成文化することです。そういった意味では、HTML5がデスクトップブラウザでサポートされる可能性は高いでしょう。モバイルでも、WebKitベースのブラウザを搭載したスマートフォンを使っている方なら、すでにHTML5に支えられたWebアプリを使っているはずです。
HTML5は、静かに普及していくでしょう。グーグル、アップル、WebKit、Mozilla、Opera、そして、マイクロソフトでさえ、HTML5の機能を採用していくでしょう。そうなれば他の開発者も、新しい機能を生かすようになると考えられます。Webアプリは、ユーザーが気付かないとしても、より賢く、速く、パワフルになるでしょう。ネットにつながっているかどうかを今ほど気にする必要がなくなり、スマートフォンやノートPCにネイティブアプリをインストールすることは減っていくでしょう。
が、動画に関しては、当面現状通りが続くと思われます。短期的には、YouTubeやHuluなどのサービスがDRM付きの動画を増やすにつれて、Flashがさらに普及するかもしれません。iPhoneやiPadなど、Flashが生涯対応されなさそうなモバイル機器に関しては、動画配信はコンテンツ企業側がコントロールしやすいアプリで行われるようになり、HTML5を使う方向には向かわないでしょう。
HTML5は、オンラインビデオに関しても一定の役割を担うと思われ、企業ではテストを継続し、利用範囲を拡大するでしょう。ブラウザでもサポートを拡大するでしょう。もしかしたら、モバイルSafariでも。が、ガジェットを買うときに、「そのうちHTML5でなんとかなるから」とあてにしたりしない方が賢明です。ネイティブなWeb言語が、Flashを含めて全プラグインを抹殺するようなインターネットは、まだ遠い未来です。
HTML5はWebに浸透しつつあります。が、それは既存の技術をぶち壊して、新たに作り直すというような類のものではありません。HTML標準そのものと同様に、HTML5のWebは静かに広がっていき、Web技術が少しずつ現在のツールを置き換えていくことでしょう。そしてそれは、注意していなければ気づかないほど、静かな変化になることでしょう。
[Hat tip to Lifehacker]
John Herrman(原文/miho)