Microsoft の今後の Skype for Web サービスは新しい WebRTC 標準を使用するため、すべての最新ブラウザーで動作しますが、すぐには動作しません。初期のユーザーは、Mac と Windows でのみ利用可能なプラグインをダウンロードする必要があります。
これは、マイクロソフトがユニバーサルコミュニケーション製品Lyncで長年行ってきたことです。その理由は、リアルタイムコミュニケーションの構築の複雑さ、そしてWeb標準、特にWeb標準で使用される音声および動画フォーマット(コーデック)の開発、承認、そしてブラウザへの組み込みが、しばしば複雑な方法であることにあります。

Skypeの主任アーキテクトであるバーナード・アボバ氏によると、このプラグインはSkypeのミニチュア版とのことです。「オーディオに関しては、WebRTCの必須コーデックとほぼ同じ技術を使用しています。前方誤り訂正(FEC)と呼ばれる技術を採用しているため、パケットロスに強く、幅広いビデオ帯域幅に対応できます。ビデオに関しては、H.264コーデックを採用しています。また、サイマルキャストとスケーラブルビデオコーデックもサポートしており、モバイルデバイスから大画面の大型デスクトップシステムまで、あらゆるデバイスで同時に通話に参加できます。」
「WebRTCで優れた体験を提供するためには、これらの技術をサポートする必要があります」とアボバ氏は述べた。これらの技術がなければ、通話が聞き取りにくくなり、映像が途切れ途切れになる可能性がある。
しかし、これらはまだどのブラウザにも搭載されていないため、Skypeはそのまま使うことはできません。「現在、H.264、サイマルキャスト、スケーラブルビデオコーデックの組み合わせをサポートしているブラウザはありません。Chromeはサイマルキャストとスケーラブルビデオコーデック、さらにはマルチストリームビデオもサポートしていますが、H.264はサポートしていません。FirefoxはH.264をサポートしていますが、サイマルキャストやスケーラブルビデオコーデック、さらにはマルチストリームビデオもサポートしていません。IEは最近、H.264をサポートすると発表しました。また、設計上サイマルキャストとスケーラブルビデオコーデックをサポートするORTCもサポートしますが、それは(将来的な)話です」と彼は述べています。
彼は、最近のインターネット技術タスクフォース(IETF)会議での議論に勇気づけられている。「H.264を複数のブラウザに実装する取り組みが進展している可能性があり、それは有益でしょう。」
WebRTC はしばらく前から存在しているように見えますが、Google ハングアウトでさえ、今年 7 月までプラグインではなく WebRTC を使用するように切り替わりませんでした。また、WebRTC 1.0 標準はまだ完成していません。

他のブラウザが必要なWebRTC技術をすべて備えない限り、Skype、ハングアウト、その他のリアルタイムコミュニケーションシステムにはプラグインが必要になる。
その理由の一つは、リアルタイム通信が本質的に難しいことだ。「正しく実現するのは本当に難しいのです」と、マイクロソフト傘下のオープンテクノロジーズ(同社が関心を持つオープンテクノロジーのプロトタイプを開発)のマイケル・チャンピオン氏は語る。「基準は他のテクノロジーよりも高く、映像が乱れていると誰の目にもすぐに分かります」
アボバ氏は、ブラウザにリアルタイム機能を組み込むことは「私たちにとっても複雑でリスクのあるプロジェクト」だと述べた。
猫と犬
WebRTCは、Apple、Cisco、Qualcommといった標準規格の開発に携わる多くの企業、そしてH.264ではなく独自のVP8コーデックを提案したMicrosoft、Mozilla、Googleといったブラウザメーカーの思惑にも影響を受けてきました。異なるブラウザ間でのビデオ通話は、両方のブラウザが同じビデオフォーマットを使用しない限り機能しませんが、WebRTCにおいてブラウザがどのビデオコーデックをサポートすべきかという議論は、ライセンスやロイヤリティをめぐる論争とともに、何ヶ月も長引きました。Appleが議論に実際に貢献したのはVP8のサポートを拒否しただけで、昨年、Ciscoは膠着状態を打破するためにH.264のオープンソース実装を提供しました。
WebRTCがORTCの技術を取り入れるために書き換えられていることも、この理由の一つです。ORTCはブラウザ上でリアルタイム通信を行うための代替案で、JavaScriptオブジェクトをベースとしています。WebRTC用に当初提案されたプロトコルよりも開発者にとって扱いやすく、かつ互換性も確保されています。当初のプロトコルは、古いVoIPやビデオシステムへの接続には優れていましたが、音声からビデオへの切り替えやステレオオーディオのオンといった一般的なタスクは、開発者にとってはるかに複雑になっていました。
GoogleとMicrosoftは両社ともORTCの開発に関わっており、当初はWebRTCバージョン1.1で新しいアイデアを取り入れる計画でした。Internet Explorerチームが開発しているのは、WebRTCのORTCバージョンです。しかし現在、多くのORTCのアイデアがWebRTC 1.0に直接取り入れられています。そのため、標準規格の最終決定は遅れていますが、互換性は向上するでしょう。

Lync for Webはすでにブラウザでリアルタイム通信を行うためのプラグインを使用しています
マイクロソフトが支持するポインタイベントなどの他の標準とは異なり、マイクロソフトがGoogleに考えを変えさせるほどの問題ではありませんでした。ORTCの設計者は、その仕組みを説明する必要がありましたが、「採用すべきだと人々に納得してもらうことには問題はありませんでした」とアボバ氏は語ります。
それでも、WebRTCはまだ成熟した技術とは言えません。多くの要素は新しいものではありませんが、これまで単一のシステムに統合されたことはありませんでした。
さらに、Skype などのサービスに現在期待されている体験に匹敵するかどうかという問題もあります。
モバイルデバイスにおけるWebRTCの大きな課題として、彼が挙げているのはバッテリー寿命だ。「(音声と動画を効率的に処理するために)ハードウェアアクセラレーションを使用していないと、バッテリーはすぐに消耗してしまいます」。つまり、WebRTCを最大限に活用するには、新しいデバイスが必要になるかもしれない。「LyncとSkypeのアクセラレーションモードをサポートしているデバイスは、この機能もサポートする可能性が高い。これまでハードウェアアクセラレーションをサポートしていなかった他のベンダーの場合は、新しいハードウェアを入手する必要があるだろう。AppleとMicrosoftは、すでにしばらく前からこの機能をサポートしている」
そして、通話品質が鍵となります。低品質の接続環境でも通話品質を向上させる前方誤り訂正(FEC)や冗長化といった機能は「極めて重要」だとアボバ氏は述べています。「(Skypeでは)音声とビデオの両方において、堅牢性機能がなければ問題が発生することがわかりました。」これらの機能はSkypeのようなサービスでは一般的です。まだ標準規格にはなっていませんが、提案されています。「標準化された前方誤り訂正(FEC)を開発するための全く別の取り組みがあります。」
「今日では、市販のテレプレゼンスシステムよりも多くのビデオストリームをレンダリングできるブラウザがあります。画面上に12ストリームをレンダリングできるのです。しかし、ネットワークでパケットロスが発生すると、こうした堅牢性が欠如していることは明白です。テレプレゼンスシステムには備わっていたはずですが、WebRTCには備わっていません。」
つまり、アボバ氏はWebRTCをまだ完成していない重要な技術と捉えているものの、その可能性に期待を寄せている。「完成すれば、リアルタイムアプリケーターを開発するための非常に強力な基盤が手に入るでしょう。数年前のエンタープライズ品質システムに匹敵するリアルタイム機能を実現しています。」
しかし、WebRTC アプリケーションがさまざまなデバイスでどれだけうまく動作するかは、さまざまなブラウザ メーカーが新しい標準をすべてどれだけ速く採用するかによって決まります。