HTML5が引き寄せる近未来を、9つの「○○ウェブ」で理解する。(後編)

白石俊平(オープンウェブ・テクノロジー代表)
2013-08-15 07:30:00
  • このエントリーをはてなブックマークに追加

セマンティックウェブ

 セマンティックウェブとは、ウェブを発明したTim Berners-Lee氏が提唱する、「ウェブをデータベースにする」取り組みです(W3Cのセマンティックウェブに関するページには、「The Semantic Web is a Web of data」(セマンティックウェブとは、データのウェブである」とあります)。

 私たちが普段目にするウェブページは、実はデータの固まりです。例えば映画の紹介ページであれば、その映画のタイトル、監督、俳優、上映時間などのデータが埋め込まれています。それらのデータは、人間が見ればデータの「意味」を理解できますが、そのページを読み取るプログラム(ウェブブラウザや検索エンジンが代表的です)にとっては、単なるテキスト以上のものではないかもしれません。

  しかしセマンティックウェブのテクノロジーを使うと、こうしたデータの意味をプログラムでも理解できるようになります。「この映画の名前は『2001年宇宙の旅』で、監督は『スタンリー・キューブリック』である」ということを、プログラムによっても解釈することが可能になるのです。

 HTML5は、セマンティックウェブを実現するのに大きく寄与します。まずHTML5では、要素の「セマンティクス」(意味合い)を明確化するための多大な努力が払われました。新たな意味合いを持つ要素が数多く追加されたほか、既存の要素も意味合いが明確化されたり、微妙に変化したりしています。 さらに、マイクロデータRDFa/RDFa Liteといった技術を使うと、データの意味をより詳細に表現することができます。

 例えば、Google検索で「Google Play Angry Birds」と検索してみましょう。Angry Birdsの検索結果が表示されますが、そこには通常の検索結果では表示されないような「☆」マークによるレビュー点数、レビューの票数、アプリケーションの価格などが表示されます。


Google Play Angry Birds」の検索結果

 このように、カスタマイズされた検索結果が表示されるのは、Google Playのウェブページにメタデータが埋め込まれているからです(Google Playではマイクロデータが使用されています)。 Googleのクローラがそれらのメタデータを適切に解釈し、検索結果の表示をカスタマイズしているのです。

リアルタイムウェブ

 Google DocsやFacebook、Twitterなどの先進的なウェブサービスは、リアルタイム性が非常に高いのが特徴です。世界中のユーザーが行った活動が、インターネット越しに一瞬で自分の手元に伝わります。例えば、Google Spreadsheetを複数人で操作すると、他のユーザーのカーソル移動や修正が、同じスプレッドシートを見ているユーザー全員に対してリアルタイムで伝わります。


Google Spreadsheet

 従来、こうしたリアルタイムなウェブアプリケーションを開発するのは非常な困難を伴いました。しかし、WebSocketWebRTCという新しい技術により、その状況は大きく改善されつつあります。リアルタイムなウェブアプリケーションを開発するのは、もはや困難なことではありません。

 WebSocketは、サーバとクライアントが双方向のリアルタイム通信を行うための、新たな通信プロトコル及びJavaScript APIです。モバイルブラウザを含む、多くのブラウザですでに利用可能であり、リアルタイムウェブを実現する土壌はすでに出来上がっているといっても過言ではありません。

 また、WebRTC(Web RealTime Communication)という技術を使用すると、ウェブブラウザ間でP2P通信を行うことができます。サーバを介さずに、ウェブブラウザ同士で直接通信を行うため、サーバを必要とするWebSocketよりも更に高いリアルタイム性を実現出来ます。また、動画や音声などのメディアデータはもちろんのこと、任意のデータも送受信することができるため、応用範囲の非常に高いテクノロジーです。

 WebSocketを使用した例としては、「World Wide Maze」は素晴らしいデモンストレーションです。「任意のウェブサイトを3Dの立体迷路にできる」というコンセプトで、作成した迷路内を「玉転がし」して遊ぶことができます。スマートフォンをリモコンのように使用でき、デバイスを傾けることでボールを転がしていくことができます。このリモコン操作には、WebSocketが利用されています。


World Wide Maze

 World Wide Mazeの技術面については、HTML5Rocksに日本語の素晴らしい解説記事があるので、興味がある方は読んでみると良いでしょう。

  また、「Cube Slam」というゲームは、ウェブRTCを応用した例です。このゲームは、一言で言えばエアホッケーのようなゲームですが、インターネット越しに友人と対戦ができるのが特徴です。動画や音声、ゲームのリアルタイムデータなどは、全てウェブRTCを用いて通信されています。こちらも、テクノロジーを解説した日本語のページがあるので、一読することをオススメします。


 Cube Slam
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]