web-dev-qa-db-ja.com

複数のサービスプロバイダ間でメッセージを送信できる電子メールやSMSのようにメッセージングアプリが作成されないのはなぜですか。

GMailからYahooMailまたはProtonMailなどにEメールを送信できます。番号がVodafoneまたは他の通信プロバイダーによって所有されているかどうかにかかわらず、任意の携帯電話番号にSMSを送信できます。

しかし、WhatsAppとGoogleハングアウト、Telegram、WeChatなどの間でインスタントメッセージを送信することはできません。

この機能の欠如に関連した技術的な障壁やセキュリティの問題はありますか?私はそれらの多くが 自分のプロトコル を使っていることに気づきましたが、インスタントメッセージングのためにPOP3やIMAPのような共通のプロトコルを作成することは可能でしょうか?インスタントメッセージングの現在の状態は、WhatsAppユーザーから私のハングアウトアカウントへのインスタントメッセージを受信できないという、ばかげているようです。

更新日:XKCDでもそれについて何かがあります: https://xkcd.com/1810/

19
Nav

そこにはisがあり、実際にはいくつかのプロトコルがあります–人気のあるプロトコルは XMPP (別名Jabber);もう1つは、VoIPに使用されるSIPプロトコルのバリアントであるSIMPLEです。 ( TalkZephyr 、または Gale などの最も古いもののいくつかは、IRCさえもで構築されました。むしろ、商用サービスは、技術的および商業的な理由の両方で、共通のプロトコルを使用したくないと思われます。

Jabberの単独使用の歴史的な例を次に示します。

  • もともと、Googleトーク(ハングアウト前) was は標準のXMPPサービスであり、XMPPを使用して他のドメインに接続できました。さらに、XMPP拡張機能(Jingle)を導入しました。
  • 元々、Facebook Chat was はXMPP互換のサービスでしたが、サーバー間フェデレーションをサポートしていませんでした(おそらく、より多くの人がFacebookアカウントにサインアップする必要があるため)。
  • しばらくの間、AOLのAIM 試行済み でも、OSMPプロトコル(独自の、ただし部分的には開いています)と共にXMPPをサポートします。
  • SignalはXMPPベースですが、この機能をサポートしないという決定について ブログ投稿 があります。 Signalの主な論点は、フェデレーテッドプロトコルの変更が非常に困難になることであり、小さな機能をあちこちに追加することです。 (これは...たとえば、SMTPとDNSに当てはまります。)

インターネットの誕生中に「キラー機能」にならなかったために推測する必要があった場合(最終的には、代わりにクライアント側で「解決」され、Trillian、Miranda、Gaim/Pidginなどのマルチプロトコルチャットアプリを使用) 、フェデレーションインスタントメッセージングは​​、コアインターネットプロトコルになるチャンスを逃し、代わりに、ごく一部のユーザーが求めている商業的には実現不可能な別の機能と見なされています。

(IRCはSMTPに現代的であり、かつては大規模なフェデレーションネットワークがあったため、なぜ「the」プロトコルにならなかったのでしょうか?そのサーバー間プロトコルは完全に独立したドメインのゆるいメッシュではなく、緊密に同期されたシステムを形成するため、信頼できない環境には不向きです。純粋に1対1のメッセージングで動作するようにできますが、IRCの焦点はチャネルであり、それは得意ではありません)

最後に...スパム。 XMPPサーバーオペレーターがいくつかのメーリングリストスレッドを読んだことを覚えています。Googleトークはすべてのスパムメッセージの主な発信元であると大差で説明しています。送信者側の虐待レポートをうまく処理できませんでした。それを完全にブロックする余裕のない大きなプロバイダーですが、チャットメッセージと電子メールの形式(短い、部分的に到着する、メタデータがほとんどない)のために、受信者側で適切にフィルタリングすることも明らかに不可能です。

電子メールサーバーをインストールするのと同じように、XMPPサーバー(ejabberd、Prosody)を確実にインストールし、誰でも[email protected]として到達できますcan他のXMPPサーバー。 WindowsからAndroidまで、多くのオペレーティングシステムで利用可能なXMPPクライアントがあります。 (プッシュ通知を使用可能にするのは困難ですが、使用できない場合はバッテリーが消耗します。)

32
grawity