Twitterの好プレイ:XMPPデータをGnipにフィードして負荷軽減

次の記事

今週(7/12~7/18)の人気記事ランキングベスト10

Twitterは開発者向けにデータストリームを可能な限りオープンにしておくという約束に従おうとしている。先週末のFoo CampでTwitterの共同設立者のEvan Williamsに対してビデオインタビューを行っている間、Gnipの設立者Eric MarcoullierがGnipをTwitterのために、そして結果的には利用者全員のために、XMPPの「消火ホース」を用意しているところだった。Williamsは明らかに上機嫌だった。というのも、こちらはインタビューを取ることができたし、今日になって知ったのだが、Ericは処理用のデータフィードを受ける約束を取り付けていた。

平均的なTwitterユーザにとってどのような意味があるだろうか。まずはサードパーティ製のソフトウェアの動作が安定するということが挙げられる。現在のところSummize(先週Twitterにより買収された)等、いくつかのサービスおよびFriendfeedを除いて、サードパーティ製のソフトウェアは通常のAPIを通じてTwitterにアクセスする必要がある。APIを利用する場合にはアプリケーションはTwitterに要求を送信して応答を得る。この双方向通信が全体でとしてTwitterに過大な負荷をかけているわけだ。

XMPPを使えば、Twitter側はリクエストのあるなしに関わらずデータを一定のストリームとして流せば良くなる。Gnipのようなサードパーティ製ソフトウェアがデータを取得し、他のアプリケーションから使えるようにデータを準備する。

Gnipはソーシャル用途でデータを作成ないし利用するアプリケーション間の媒介物として機能する。Twitterからユーザ名、URL、タイムスタンプがリストされたフィードを受け取り、リクエストを発行するサードパーティーのソフトウェアから利用可能なように準備を行う。PlaxoおよびMyBlogLogの両者は既にこの機能を利用しており、他のソフトウェアも直ちに追随することだろう。Gnipからデータを取得するソフトウェアがTwitterから直接にデータを取得する必要がなくなり、Twitterのサーバ負荷を軽減することになる。

現在のところ、Gnipはリクエスト元に追加されたメッセージのみを返している。TwhirlなどのアプリケーションではTwitter風のデスクトップ環境を構築するのにより詳細なデータを必要とする場合がある。TwitterからGnipに、@replyやダイレクトメッセージを渡すようにすることもできるだろう(この最後の文が意味不明な場合、それはあなたがTwitterの超ヘビーユーザでないことを意味している。ただ読み捨ててしまって欲しい)。

これまでに書いてきたことはすなわち、Twitterがオープン化の方向にさらなる一歩を踏み出し、スケーリング問題では外部の力を借りることにしたということを意味する。

(以下、Nik CubrilovicによるTechCrunchIT内の関連記事を翻訳し併せて掲載します。)

TechCrunchITを立ち上げてから、オープン標準とデータの可搬性について書き続けてきた。この話でもっともやり玉に挙がったのがTwitterだった。Twitterは明るい灯台のような立場から、すべてを内に隠す悪玉となっていた。しかし再びオープンな立場へと戻ってきた。Gnipは今朝(米国時間7/18)TwitterのXMPPフィードに対するアクセスを行えるようになったと発表した。Gnipはフィードデータを再発行し、外部から利用できるようにする。

Gnipについて最初に触れたのは、サービスのスタート時点のことだった。その時点から多くのデータプロバイダをサポートしていたが、明らかに欠けていたのがTwitterだった。その時点のTwitterはXMPPという消火ホースの利用を拒否していたのだ。

いくつかの点で、重要な動きであると言うことができる。まず、利用者が自分のデータにIM等の外部のアプリケーションからアクセスすることができるようになったこと。データをどのように使うかについてTwitter任せではなくなったわけだ。興味深いアプリケーションやマッシュアップが出てくるのは間違いない。次に、XMPPをウェブ上のメッセージ通信の標準として確立することに繋がる。以前はTwitterと協調するアプリケーションは、RSSのようにAPIを通して指定時間毎に変更を確認していた。この方式の欠点は当ブログのサイドバーにあるウィジェットを見ればわかる。リクエストはなかなか実行されず、データ漏れが生じ、サーバと行うデータのやり取りのうち98%は何のデータのやり取りもしていないという状況にある。XMPPを利用したプッシュモデルにおいては、そのようなやり取りは不要となる。ウェブ上のデータのやり取りはHTTPに代わってXMPPが行うことになる。すぐにウェブサービスにたいしてポーリングを投げるようなひどい状況を、懐かしく思い出すようになるだろう。

最後に、これは今後に登場するアプリケーションにとって、何を為すべきで何を為さないでおくべきかを示す完璧なケーススタディとなる。Twitterが多くの人を引きつけた大きな理由の一つは、さまざまなアプリケーションを使ってデータにアクセスすることができたという点にある。これにより利用者の選択肢を増やし、プラットフォームを取り巻くマーケットが形成された。そしてしっかりと根を張ったプラットフォームが捨て去られるのは、より良いソリューションが提供されたときか、よりありそうなことにはプラットフォームの所有者が、利用者に多くのことを期待しすぎて自らの首を絞めるケースのみであることも示してくれた。

原文へ

(翻訳:Maeda, H)