Telepathy

Telepathy（テレパシー）は、インスタントメッセージングやVoice over IP、ビデオ会議のような個人間のコミュニケーションを目的とするソフトウェアを作成する際に使われるアプリケーションフレームワークの総称である。テレパシーを使うことで、D-Busのプロセス間通信メカニズムによるコンポーネントを利用したコミュニケーションソフトウェアを作ることが出来る。各アプリケーションとそれらが用いているネットワークプロトコルの境界を明確にすることにより、コミュニケーションソフトウェアの開発を単純にすること、またフリーソフトウェアやオープンソースソフトウェアの開発者たちによるコード再利用を促進することが目標とされている。

以下に挙げる例は、テレパシーのインターフェイスを出力する様々なプロトコルがフリーソフトウェアとして実装されているケースである。

Gabble：オープンソースのインスタントメッセージングサーバであるXMPPに用いられている。XMPPの拡張機能であるのサポートも含む。

Butterfly：MSN Messengerに用いられている。

Idle：Internet Relay Chatに用いられている。

 Salut：リンク・ローカルな XMPP プロトコルに使用されている。

Haze：Pidginに用いられている、libpurpleライブラリがサポートするプロトコルのアクセスに用いられる。2007年のGoogle Summer of Codeプロジェクトの一環として行われた。

 Telepathy-SofiaSIP：ノキアのオープンソースなSofia-SIP libraryを用いたセッション確立プロトコルに用いられる。

末端のアプリケーションに低位テレパシーコンポーネント（例えば接続マネージャ）の詳細を表示する方法を提示するコンポーネントの一つに、ミッション・コントロールがある。

テレパシーを用いた基本的なインスタントメッセンジャーとテレビ電話ソフトウェアがノキア製携帯電話であるNokia 770、N800、N810に搭載されている。Maemo・OpenMokoスマートフォンプラットフォームの一部である。

仕様

プロトコルを実装することにより、「接続マネージャ」と呼ばれるD-Busサービスが与えられる。サービスに接続するためには、テレパシーのクライアントがその実装されたプロトコルを用いる必要がある。一度接続が成立すれば、以降のコミュニケーションは、接続により要求される“チャンネル”というオブジェクトを用いて行われる。例えば、あるチャンネルではテキストメッセージを送受信したり、コンタクトリストを表示したり、もしくはIP電話をしたりすることが出来る。

関連アプリケーション 
 Landell
 Tapioca
 Empathy
 Decibel

外部リンク 
 
 プロジェクトのウェブサイト
 Telepathyの開発代表者 Robert McQueenによるスピーチが視聴可能："IM/VOIP Communications Framework"  (77MB oggビデオ)もしくはストリーミングフラッシュビデオから。

脚注 

インスタントメッセンジャー
Freedesktop.org
ネットワークソフト