2011-02-02
_ みんなが Google Reader で共有したアイテムをながめる「Google Reader Shared Items Channel」を作ってみた
Update: 2011/11/13 Google Reader から共有機能がなくなったのでサービスを停止しました
ここ最近 Google App Engine をちょこちょこ触っていて,いろいろ利用できるサービスを試してみるということで,Memcache,Datastore,Channel を利用したサービスを作ってみました.で,できあがったサービスが,Google Reader で 共有したアイテムが,リアルタイムっぽく更新されていく,Google Reader Shared Items Channel です.
仕組みはいたって単純で,Google Reader で共有すると pubsubhubbub を利用して,このサービスに対して共有されたアイテムが通知されてくるので,Channel API を利用して接続しているブラウザに対して push 型で更新情報を通知しています.受信したデータは memcache 上に保持しておいて,最初に接続されたときに直近の 100 件を表示しています.Datastore は登録されたフィードを保存していて,どのくらい登録されているかを確認するために保持しています.
今のところ登録しているフィードの数が少ないので,更新頻度があまり高くありません.あんまり動きがなさすぎるのもアレなんで,Google アラートから適当にキーワードつっこんだものも登録してあります.
Google Reader を利用されている方で興味のある方は,ぜひ共有の Atom フィードを登録していただいて,実際に共有するとサービス上でも更新情報が反映されるのを試してみてください.ただ,ときどき通知が遅かったりすることもあるので,そのときはまた時間をおいて試してみてください.昼間は比較的スムーズですが,夜の 11 時くらいからはなんとなく反映が遅いような気がします.
今回は Java で実装したけど,一昔前だったら Java で実装したところで,アプリケーションサーバー用意したりと面倒で,Java で書こうとは思わなかっただろうけど,GAE/J であればその点ものすごい便利ですね.
登録されているフィードが増えていけば,それなりにだらだらと流れてくれるといいな,とは思っているのですが,Google Reader の共有ってどのくらい使われてるんだろ.
RSS リーダーに登録するとなんとなく消化しなきゃと思えてくるので,このサービスで今みんなが気になってる情報ってなんだろうとチラ見できれば,という思いもあって作ってみました.よかったら一度見てみてください.