ユーザ用ツール

サイト用ツール


playground:playground

PlayGround

一般の方向けMatrixの概要説明(案)

Matrix.orgを初めて聞いた人も多くいらっしゃると思いますが、これはDiscordやLINEのようなコミュニケーションツールの1つです。 なので、TwitterやFacebookのようなSNSではありません。

但し、DiscordやLINEとは決定的に違います。 (わかる人にはわかるかとは思いますが、IRCのようなものです。というかmatrix自体がポストIRCと呼ばれています。) ここでお話する点において電子メールはMatrixとだいたい同じ特徴を持っています。 ですから、ここではDiscordとLINE、電子メールの違いからmatrixとはどのようなものであり、LINEなどと比べてどのように優れているのか、を説明していけたらと思います。 というのも、DiscordはDiscord Inc.、LINEはLINE Corp.というようにそれぞれの企業が単独でサーバを管理しています。

しかし、Matrixはサーバを管理する人や企業が1つではなく、Matrixでは誰でもサーバを立てることができるということです。 GMailで登録したメールアドレスはicloudや、Outlook、Docomo、au、SoftBankで登録したメールアドレスとメールをやりとりできるように、メールは運営している企業が違ったとしてもメッセージをやりとりできます。

しかし、例えばLINEとDiscord間ではメッセージをやりとりすることはまずできません。 この点においてまず、DiscordやLINEとは決定的に違う訳です。 さらにメールが受信したアプリと受信するアプリが違うとしても正常に送受信ができます。 しかし、DiscordやLINEにはiOS、Android、Windowsなどの環境ごとにサーバを運営する企業が提供するアプリがただ1つだけ存在し、そのアプリからでしかメッセージを確認することができません。 DiscordやLINEと、メールはどのような違いからこのような違いがあるのでしょうか? それは、メールの送受信やメールのサーバというものは世界標準で決められた通信方法(POPやIMAP、SMTPといったプロトコル)があります。 その通信方法を参考にエンジニアはGMailやOutlook、Thunderbirdを初めとするアプリを書くことができるのです。

対して、DiscordにはRythmを初めとするBotがあるように自分でBotを作ることができます。 また、LINEにも公式アカウントという仕組みでBotを作ることはそれぞれできます。 それでも、DiscordやLINEはサーバとの通信方法が公開されていないために、LINEやDiscordを開発した企業でしかアプリを作ることはできないのです。 先程、ここでお話する点において電子メールはMatrixとだいたい同じ特徴を持っている、という話をしました。 つまり、matrixは世界で統一された通信方法が公開されているために、その通信方法に則ったものであれば、異った運営者のサーバ間でもメッセージのやり取りが可能です。 加えて、通信方法を理解できるエンジニアがその気になれば対応したアプリを書くことが可能なのです。

Bridgeの概念

Bridgeにはいくつかの概念があります。

Portal rooms

ルームエイリアスの名前空間のチャンクを制御します。例えば”#freenode_#channelname:matrix.org”はFreenodeの“#channnelname”に対応しています。このようにしてMatrixユーザーはFreenode上のIRCチャンネルに透過的に参加することができます。Portal roomsは通常はリモートネットワーク側で管理されます。

Plumbed rooms

Plumbed roomsはBridgeを設定することで、1つ以上の特定のリモートルームに「配管(plumbed)」されます。これは誰でも実行可能です。例えば、#matrix:matrix.orgはFreenode上の#matrix、Slack上のmatrixdotorg/#matrixなどに接続されています。Matrixユーザーのアクセス制御は、必然的にMatrix側で管理されます。Matrixを使って異なるコミュニティを連携させる場合に便利です。

Bridgebot-style

Bridgebot-styleでは、相互のプラットフォームからのメッセージが、指定されたプラットフォーム上に存在するボットによって伝えられます。これはメタデータが失われるため、最適な選択ではありません。具体的に説明すると、すべてのメッセージは同じボットによって送信されてしまいますが、メッセージのテキストの先頭には元の送信者の名前が付けられています。

Puppeting

Bridgeの反対側にいるユーザーを「人形化(puppeting)」することで、ボットベースのBridgingの問題を解決します。ネイティブユーザー視点では、メッセージが正しい送信者から送信されたものとして認識されます。ダブルパペット(double-puppeting)は、Bridgeの両方向でPuppetingが行われることを意味します。これは、Matrix Bridgeを実装する際に最も好ましい方法です。

playground/playground.txt · 最終更新: 2020/06/23 15:09 by eniehack