OpenID の苦悩と葛藤


9/26 に、かのソフリットさんの「大会議室」にて identity conference #3 が行われたのでのこのこ行ってきた。
ちなみにソフリットさんは激しくわかりにくいところにあり。
id:ZIGOROu さんと同道したのだが、駒場東大前に降り立ったところで「地図印刷してきたから大丈夫! ……あれーちゃんと鞄に入れたはずなんだけどなー」とか、西尾さんのことをいつも外さない萌えキャラとか言ってる場合じゃあないでしょうにまったく。


気を取り直して。
OpenID にはさほど詳しくはないんだけど、でも、いろいろ可能性を感じ、おもしろいことができそうな夢見ている。
とは言え、実際に作って使ってみないとなかなかわかんないよねー、ということで、iVoca(アイボキャ) というサービスを作ってみた。

英単語タイピングゲーム iVoca
http://ivoca.31tools.com/


これは英単語を覚えるゲームで、認証に OpenID を使用、かつ mixi OpenID のマイミク認証とコミュニティ認証に対応している。
現在βテスト中。サービスの内容についての詳細はこちら


で、実際に OpenID に対応したサービスを作って(βテストながら)公開してみたところ、やっぱり夢見ているだけでは済まない部分が数多くあって、RP (= Relying Party, OpenID 認証を利用してサービスを構築する側) になるためには、いろいろ思いがけない苦悩や葛藤とぶちあたる。


個人的には、OpenID はそろそろ普及期に入りつつあるという認識*1
一般にそのフェーズに入ると、理想というか技術者が夢見ていた部分と現実との間にはどうしても齟齬や矛盾が生じ始める。
サービスを作った経験やそこから見いだせた課題が、まさにそういうケーススタディの一つとして役立つこともあるんじゃないかと思って、今回 idcon で「RP の苦悩」という題でしゃべらせてもらった。

idcon#3 プレゼン資料「RP の苦悩」 (右カーソルキーで進みます)
http://ivoca.31tools.com/openid/RPs_suffering2.html


なお、当日のプレゼンには「つかみ」部分があったのだが、こちらの資料からは削っている*2。まあ、内容には全く影響ないのでご心配なく。
まあ、15分の予定だったのだが、ゆるふわな雰囲気に甘えて 25分もしゃべってしまっていた(質疑応答も含めると 35分)。反省。


プレゼンの内容を簡潔にまとめると、

  • OpenID ってなんかいいらしいけど、実際のところどうなの?(ヒント:手間は増えます。メリットは特にありません)
  • OP (= OpenID Provider, ID を発行・認証する側) が差別化してくれたら RP にもメリットが生まれる! mixi OpenID++!! でもそれって本当に OpenID に夢見てたことなのかなあ……

という感じ?


OpenID 対応の初期開発コストは「頑張ればいいだけ」としても、サポートコストは後からずんずんと効いてくる。
ちょうど idcon#3 で machu さんが指摘してはった「 mixi コミュニティ認証の URI を ID として使えてしまう」件についても、「そんな問題があるとキャッチアップし、それに対応するかどうしようか検討する」事自体がコストなのである。OpenID の規格が変わったわけでもないのに、新しい OP が新しいサービスを始めたことによって、全く予期しないコストが発生する。ましてや規格が変更された日にはガクガクブルブル*3
特定 OP の差別化サービスへの特化は、メリットを生みつつサポートコストを減少させる効果がある(どんどん変わっていく規格や、見ず知らずの OP の実装状況を逐一追いかける必要がない)。でもそれは特定 OP への依存と同義であり、Open 性を失うことでもある……


このプレゼンでは結論めいたものを出せているわけではないのだけど、一つだけそれらしいことを言うとすれば「 OP の差別化は止められない。それが RP の生きる道でもある」ってところか。葛藤。うーーーん。悩ましい。


ま、なんか考えるきっかけとかになれれば幸い。
幹事および素敵な会場をしてくださった id:lopnor さん、参加者の皆さんありがとうございました& DIS ってごめんなさい(苦笑)。

*1:本当に普及してくれるかどうかはこれからが勝負、ということでもある。

*2:前日夜中描いてるときは「おーなかなかうまく描けたな−」とかなぜか思ってしまったのだが、寝て起きてもう一度見たら あいたたな感じだったので……

*3:入力された URI を ID として使っていた OpenID v1 対応 RP がもしあれば、OpenID v2 への対応にはちょっと困ってしまっただろう