Facebook は会員数 3400万人(2007年6月現在)で,米国内で MySpace に次ぐ第2位のリーチを持つ ソーシャルネットワーキングサービス(SNS)です。 もともと米国の大学生など edu ドメイン利用者に限定されていましたが, 現在は,誰でも参加できるオープンなサービスとなっていますから, 米国外にいる日本人でも登録が可能です。

 Facebook は,プロフィール,友達登録,グループ/ネットワーク,メッセージといった 一般的な SNS の標準機能だけでなく, 外部のサービスから Facebook 会員認証機構やプロフィール情報を利用したり, API 仕様に基づいてサードパーティ開発者がプラグインのように Facebook 内のアプリケーションを追加開発できる Facebook Platform が公開され,注目を集めています。

図1:Facebook Platform

 Facebook 自身は「ソーシャルユーティリティ」という言葉を使っていますが, Facebook Platform の登場により,Facebook は単なる SNS から, 次世代の「ソーシャルOS」,「WebOS」とも呼ばれる存在になってきました。

 Facebook のプロフィール画面は, 好みのアプリケーションを追加してユーザー自らがカスタマイズできます。 同様にカスタマイズ可能な iGoogleMy Yahoo! といったパーソナライズド・ポータルがなかなか一般にまで浸透し切れない中, Facebook Platform を利用した多くのアプリケーションと SNS 的なバイラルの仕組みにより, Facebook のオープンプラットフォームを活用したサービスが一気に広がっていく可能性があります。

Facebook アプリケーションの種類

 Facebook を利用したアプリケーションは,大きく次の3種に分類できます。

1. 外部ウェブサイト向けアプリケーション
2. デスクトップ向けアプリケーション
3. Facebook 内アプリケーション

 まず 1. 外部ウェブサイト向けアプリケーション(External Web Apps)は, Facebook 外のウェブサイトが Facebook の会員ユーザー情報などを 利用するタイプのアプリケーションです。 例えば,会員登録や認証機能を自前で持たずに, Facebook に依存するようなウェブサイトも構築可能です。

図2:外部アプリケーション

 例えば,ユーザー情報を取得する API users.getInfo メソッド では,以下のような情報が取得可能です。 このほかにも多数の要素を XML 形式のレスポンスで取得できます。

表1:users.getInfo メソッドの主なレスポンス

要素名内容
first_name
last_name
about_meプロフィール文
birthday 誕生日
sex性別
pic写真URL(100~300ピクセル)
current_location 現住所の国名~都市
hometown_location 出身地の国名~都市
timezone時間帯(カリフォルニアは-8)

 次の 2. デスクトップ向けアプリケーション(External Desktop Apps)も, プログラムが稼働するのがウェブサーバー上なのか, ユーザーの PC デスクトップ上なのかの違いを除けば, 基本的な仕組みは 1 と同じ仕組みと言えます。

 最後の 3. Facebook 内アプリケーション(Internal Facebook Apps)は, Facebook のサイト内で Facebook の機能を拡張する形でサービス提供するアプリケーションです。 画面もドメイン名も Facebook のままですから, ユーザーは Facebook 自身のサービスとサードパーティの開発したサービスを 区別せずに利用することが可能です。 こちらが,狭義の Facebook アプリケーションと言えます。

 もちろん,どんなアプリケーションでも勝手にユーザー情報を取得できるわけではなく, 事前に Facebook 画面内でユーザーが許可したサイトのみが利用可能です。

図3:アプリケーション承認画面(fluff)

 こういった認証画面が Facebook のインタフェースで統一されることで, ユーザーも各アプリケーションを安心して利用できているようです。