LinkedInが本日、iOSの標準MailアプリでLinkedInのプロフィールを見ることのできる「LinkedIn Intro」というサービスをリリースしました。
このサービスを導入すると、メールの中で送信者の情報をインラインで見ることができます。
iOSにはメールアプリが沢山ありますが、このサービスの特徴は既存のアプリにLinkedInの機能を追加しているところが特徴的です。
通常、iOSでは「機能拡張」みたいな物を作る事はできないのですが、これはどうやって実現しているのでしょうか?
LinkedIn社のブログ「LinkedIn Intro: Doing the Impossible on iOS」でどのように実現しているのか、解説しています。
仕組みとしては、IMAPプロキシを作り、メールの本文にツールバーのHTMLを差し込んでいるそうです。
サーバ側でメッセージのキャッシュなどは行わず、メールの本文をHTMLに変更し、それにツールバーを追加しているようです。
これを導入すると、LinkedInは全てのメールを見ることができます。セキュリティが気になる人は止めておいた良いと思います。
サーバはRubyとEventMachineで書かれているそうです。汎用的なIMAP proxyあると色々使えそうで面白そうですね。
Mailアプリの中ではJavascriptが使えないので、UIは全てCSSで構築されています。
IFRAMEは使えるので、ステータスなどはこちらを使っているようです。
Mailアプリにプロキシの設定をしてもらうのは難しいので、キャリアのメールなどと同じようにプロファイルのインストールすることで簡単に設定できるようになっています。
p.s
LinkedInの日本展開ってどうなってるんだろうなぁ?
あまり動いているように思えないんだけど。