XMPP ベースの Messenger クライアントが開発可能に

みなさん、こんにちは。Windows 開発統括部の古内です。暦の上では明日は立春とはいえ、まさに冬本番、寒い日が続いていますね。インフルエンザも猛威を振るっているようですので、どうぞお気を付けください。

さて今日は、昨年末に Inside Windows Live Blog に投稿された、Messenger に関する記事をお届けします。2011 年 12 月 14 日付 「Anyone can build a Messenger client—with open standards access via XMPP」 の翻訳で、リアルタイム コミュニケーションのオープン スタンダードである XMPP を使用して、Windows Live Messenger の機能を利用したアプリケーションを開発する方法について紹介したものです。
紹介するのが遅くなり、年が変わったことにより、そのまま翻訳すると時制がおかしい部分があったので、勝手に表現を変更しました。どうぞご了承ください。


誰でもオープン スタンダード XMPP ベースの Messenger クライアントが開発可能に

大切な人とチャットを楽しむための、最も使いやすい方法を常に提供していきたい。私たちはこの課題に一貫して取り組んできました。その指針となる原則については、以前このブログ (英語) でご説明したとおりです。そして今回、新たなステップとして、オープン スタンダードである XMPP を経由した Messenger ネットワークへのアクセスが一般公開されました。この技術により、3 億人のアクティブ ユーザーを擁する Messenger へのアクセス機能を搭載した、革新的なメッセージング クライアントを (スタンドアロンでも、デバイス組み込み型でも) 誰でも開発できるようになります。

この背景には、次のことを簡単にできるようにしたい、という私たちの考えがあります。

  • 友人に招待メールを再送信することなく、好きなサービスを利用できるようにする – 毎月 3 億人を超える人々が Messenger を利用しています。こうしたアクティブ ユーザーの大多数は、Facebook や Yahoo! といった他のサービスも利用しており、各サービスで毎日のように友人リストを更新しています。この点を考慮して、Messenger では他のサービスとの連携を進めてきました。その結果、友人全員に招待メールを送って別のネットワークに加入してもらうという手間をかけることなく、Windows PC、Windows Phone、および Hotmail を使って簡単に既存のサービスにサインインし、希望する相手とチャットできるようになっています。
  • 同じサービスを、好きなデバイスで利用できるようにする – Messenger は長年にわたり、マイクロソフトまたはさまざまなパートナー製のアプリケーションを利用して、多種多様なデバイスに対応してきた実績があります。PC と Mac 用の標準的なデスクトップ版 Messenger アプリケーションに加え、Windows Phone 7、iPhone、Android、Blackberry OS、Nokia 社の Symbian、Samsung 社の Bada など、世界の大部分の通信事業者と機種をカバーする、スマートフォン用の各種 Messenger クライアントが提供されています。

私たちは、こうした原則に基づく取り組みの一環として、デバイスを問わない Messenger へのアクセスの実現にとりわけ力を入れており、今回、Windows Live Messenger 用の XMPP インターフェイスの公開に至りました。XMPP (Extensible Messaging and Presence Protocol) は、Google Talk や Facebook Chat をはじめとする、多くの大手 IM ネットワークで (そして現在は Messenger でも) 採用されている、リアルタイム コミュニケーションのためのオープン スタンダードです。

Messenger 用の XMPP インターフェイスのリリースにより、XMPP ベースで、かつ OAuth 2.0 認証もサポートしているチャット クライアントであれば、そのまま Windows Live Messenger に接続可能になります。これにより、各サービスを横断してオンラインの友人を見つけ、リアルタイムでチャットできるようになります。

サポート対象の XMPP 仕様とコード サンプル

現時点でサポートしている XMPP 仕様は、次のとおりです (仕様はいずれも英語)。

  • RFC6120: XMPP: Core (コア仕様)
  • RFC6121: XMPP: Instant Messaging and Presence (インスタント メッセージングとプレゼンス)。連絡先リストの管理はサポートされていません
  • XEP-0054: vcard-temp (vCard の XML 形式)。Messenger XMPP サービスでは vCard の取得はサポートしますが、vCard の更新はサポートしていません
  • XEP-0085: Chat State Notifications (チャット状態の通知)
  • XEP-0203: Delayed Delivery (遅延配信)

Messenger 用 XMPP インターフェイスに興味のある開発者の方は、GitHub で公開されているコード サンプル (英語) のほか、Live Connect Developer Center 内の概要ドキュメント (英語) をチェックしてみてください。モバイル アプリケーション、デバイス、Web サイトと Messenger ネットワークの連携に着手するための有益な情報を得られます。

XMPP の実装についてお気付きの点があれば、このブログにコメントを投稿いただくか、Windows Live Developer フォーラムにご意見をお寄せください。私たちは常に開発者コミュニティの意見に耳を傾け、皆さまのフィードバックに基づいて製品を改良しています。

お気に入りのデバイスで、お気に入りのサービスを楽しむ

ユーザーがお気に入りのデバイスでサービスをお楽しみいただくために私たちが行ってきた取り組みの成果を、まとめて振り返ってみましょう。今回のリリースにより、Windows Live のすべての主要なサービスに、汎用的なプロトコルを通じてアクセスできるようになりました。具体的には、Live ID に対する OAuth 2.0SkyDrive に対する REST APIHotmail に対する Exchange Active Sync、そして今回の Messenger に対する XMPP です。

これらのプロトコルのおかげで、Windows Phone や iOS などのモバイル プラットフォーム上で動作するマイクロソフト製のアプリケーション、または HandyScan (Windows Phone 用) や Seven 提供の Android 用の Hotmail クライアントなど他の開発者が作成したアプリケーションのいずれからも、SkyDrive、Hotmail、Messenger に自由にアクセスできるようになりました。

私たちはこれからも、「ユーザーが妥協することなく好みのサービスとデバイスを選択できる」という将来像に向けてさらに前進し、開発者とユーザーのニーズに幅広く応えていく計画です。どうぞご期待ください。