こんにちは。id:KenichiroMurata です。
少し間が空いてしまいましたが、先週私はRealtimeConfに参加してきました。今回から3回の予定でそのレポートをお届けします。
RealtimeConf 2013とは?
RealtimeConf 2013はオレゴン州ポートランドにて10/18〜19の2日間で開催されました。ちなみに、ポートランドってどこだっけ?と同僚たちに聞かれたので、地図を貼っておきます。
ポートランドはアメリカ北西部、サンフランシスコより北で、シアトルより少し南、バンクーバーにも近い所に位置しています。Delta航空の直行便が成田から出ていて、フライト時間は約9時間というところです。
RealtimeConfは&yetが総合プロデュースしているカンファレンスで今回の2013が3回目となります。その名と通りrealtime appに関する技術が中心で、中でもfront-end周りが主軸、node.js関連の内容が多いカンファレンスです。
キーワードで見るRealtimeConf 2013
今回のカンファレンスで出てきたキーワードを独断で分類すると以下のようになります。
- Indie Data / Indie Web
- WebRTC / HTTP 2.0
- WebScoket / XMPP FTW / Client-side cryptography
- Architecutre & Example
- User Experience / Leadership
もう既にほとんどのセッションがvimeoで公開されているので、興味がある方は、ぜひ以下からご覧下さい。
ここからは、このキーワード別に各セッションを紹介したいと思います。
1. Indie Data / Indie Web
「Indie」とは、文字通り「独立」という意味ですが、このカンファレンスの最初の基調講演と2日目の最後のセッションがこのIndie Data、Indie Webというトピックに関する内容でした。
Aral Balkan 「Digital Feudalism and How to avoid it」
hardware, service, connectivityという3要素がそろい、いつでもどこでもスマートデバイスやPCを使って、サービスを利用できるという便利な世の中になっているが、例えば、Google、Facebook、Appleといった一企業が(closedに)その情報を管理している。
これまでは個人の情報(考えや行動)は体という物理的な境界によってその中身が守られてきたが、ネットワークに常につながったスマートデバイスを利用する世界では、その物理的な境界がスマートデバイスとそこで利用するサービスにまで範囲が広がり、便利になった一方で個人の情報に対する脅威が広がっている。
これからの方向性として、この脅威を理解し、一企業によるclosedな独占ではなく、自分のデータやサービスを利用者自身で守ることができる仕組みづくりが必要で、さらにそれをオープンに進めて行く必要がある。そこで今、コードネーム Prometheusというプロジェクトを開始していて注目して欲しい。
サマリするとこのような内容です。プレゼンの中では
google monetize your data
なんて言葉が出てきます。私も今回Google Mapsを使って、ポートランドの空港とかホテルとか調べましたが、自分でも忘れていた過去に検索した場所の履歴が出てきてちょっとビックしたばかりでした。Google検索した履歴、YouTubeの閲覧履歴などなど、全てがGoolge Accountに紐づいている訳ですから、便利な反面、怖さもあるというのは誰もが体感していることでしょう。サービスの利用者としては、どのように自分自身で守るのか、サービスの開発者としては、ユーザに提供するユーザ体験として、このIndie Dataというものをどう考えるかが、今後重要になると感じたセッションでした。
Indie Dataについてより詳しく知りたい方は、Aral Balkanさんのサイトにまとまった情報があるのでリンクを載せて置きます。
Amber Case 「The open web and the opportunity of now」
Indie WebはIndie Dataの中でもWeb上の自分のコンテンツに範囲を狭めた概念と理解しました。このコンテンツ(データ)をいかにして守るか、そのために今から個人でできることは何なのかを紹介するセッションです。
geocitiesに自分のコンテンツを載せていたら、サービスが終了してしまったら、そのデータがなくなってしまう。サービス提供側の都合に左右されずに、自身で自分のコンテンツを守れるようにしよう。そのためにはまずは個人でドメインを持ち、そこで情報発信することから始めようというのがサマリです(もうちょっと時系列に沿ったWebによる情報発信の変遷についての説明などありましたが)。
Indie Data / Indie Webのまとめ
このIndie Data, Indie Webという考え方は、これからのサービス開発をする上で避けては通れない重要なテーマだと感じました。「Coolな技術でこんなすごいサービスを作ったぜ!」という所に目が行きがちですが、そのサービスを利用者に提供する上で、これからのユーザ体験に必要不可欠な要素として、Indie Dataというものを考えないといけませんね。
このAral Balkanさんのセッションですが、プレゼンが非常に洗練されていて、素晴らしかったです。プレゼンが終わると会場はスタンディングオベーションで、カンファレンスを盛り上げていました。
ちなみに、宿泊したホテルが同じだったので、お会いしたときにプレゼンの感想を伝えて、一緒に写真を撮らせてもらいました。
2. WebRTC / HTTP 2.0
realtime appを開発する上での技術的なセッションでは、特にWebRTC、HTTP 2.0の注目度が高かったです。
WebRTCについては3つのセッションがありました。
Feross Aboukhadijeh 「WebRTC Data Black Magic」
- Vimeo: 2013 Realime Conf. - Feross Aboukhadijeh on Vimeo
- Slide: WebRTC Data Black Magic // Speaker Deck
Henrik Joreteg + Lance Stout 「Simple, silo-free WebRTC」
Eric Rescorla 「Simple, silo-free WebRTC」
WebRTCというとボイスチャット(audio)やビデオチャット(video)に使われる新しい技術という印象でしたが、それだけではありませんでした。注目すべきポイントは以下です。
- プラグインなしにブラウザの機能として利用可能
- ブラウザ間でのpeer-to-peer通信が可能
- DataChanelを使うとテキスト、バイナリ情報を通信可能
- 自動で128-bit AES encryptionしてくれる
- NAT越えの問題も解決してくれる
これはもう要注目です。
「WebRTC Data Black Magic」では、WebRTCの利用事例として、ブラウザをWebServerにしてしまうという+PeerServerや、サイトに訪れたユーザのブラウザをCDNとして活用できるようにするというPeerCDNが紹介されており、非常に興味深かったです。
「Simple, silo-free WebRTC」では、WebRTCをよりシンプルに使いやすくするためのライブラリであるSimpleWebRTCと、簡単にビデオチャット、スクリーン共有ができてしまうSimpleWebRTCを利用したデモサービスTalkyを紹介していました。
WebRTC (Web Real-Time Communication)という名が示す通り、これからのrealtime appに必要不可欠な技術になるという盛り上がりを感じることができました。
Ilya Grigorik 「Making HTTP realtime with HTTP 2.0 - dropping the hacks, reclaiming performance!」
HTTP2.0は最近よく目にするようになってきました。詳しい話を聞くのはこのセッションが初めてだったのですが、WebRTCに続き、HTTP2.0も要注目です。ポイントは以下です。
- HTTP1.1のセマンティックスを保つ
- マルチコネクションが不要(従来の1コネクション最大6並列までという制限がない)
- 1コネクションでStream通信(多重通信、優先度付き)
- 通信はバイナリフレーム
- HTTPヘッダの圧縮
従来のHTTP1.1のセマンティックスを壊さずに、効率の良い通信を行うことでパフォーマンスを向上させることができます。クライアント(ブラウザ)、サーバどちらもドラフト段階の実装が出てきているので、今から試しておきたい所です。
ちょっと長くなってきましたので、続きは次回!
Acroquest Technologyでは、キャリア採用を行っています。
- 日頃勉強している成果を、Hadoop、Storm、NoSQL、HTML5/CSS3/JavaScriptといった最新の技術を使ったプロジェクトで発揮したい。
- 社会貢献性の高いプロジェクトに提案からリリースまで携わりたい。
- 書籍・雑誌等の執筆や対外的な勉強会の開催を通した技術の発信や、社内勉強会での技術情報共有により、技術的に成長したい。
- OSSの開発に携わりたい。
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。
キャリア採用ページ