iPadアプリ開発日誌: neu.Annotate PDF リリース
appengine アプリ開発日誌:おまかせニュース・リーダー 48時間後

appengine アプリ開発日誌:おまかせニュース・リーダー(アルファ・リリース)

ここのところ、iPhone/iPad アプリの開発から Google App Engine 上のサービス(neu.Notes ユーザー向けのプレミアムサービス)の構築に少しづつ比重を移している私だが、本格的な商用サービスを立ち上げる前に、もう少し app engine 上のサービスの構築・運営に慣れておく必要があると感じて作ったのがこれ。

正式名称もないしドメインも取得していないのだが、 仮の名前は「おまかせニュース・リーダー」。世の中の動きを効率良くつかむためには、主要なニュースの少なくともヘッドラインに目を通す事は大切。はてなブックマークの人気エントリーはノイズが多すぎるし、かといって、わざわざ自分でRSSフィードを登録したりメンテナンスしたりするのは面倒。

そこで、特になにもしなくても、自然に使っているうちにしだいに賢くなって自分向けのニュースを選んでくれるサービスというのがあれば良いと思い、作ってみたわけだ。

使い方はいたって簡単。ブラウザーでこのサイト(http://cloud-readers.appspot.com/)を開くだけだ(最新版のSafari、Firefox、Cromeのみで動作確認済み)。

ログイン前は、Hot/New/人気/最新の4つのタブが表示される。このあたりは、はてなブックマークの人気エントリーや新着エントリーと同じで、特に個別ユーザー向けの情報は提供していない(というか、ログインしていないのだからできない)。私が独断と偏見で適当に選んだニュースフィードからの情報を、単に人気順・新着順に表示しているだけだ。

特別なことをし始めるのは、ログインをしてからだ(Facebookのアカウントが必要)。ログインすると、Omakase/History の二つのタブが追加される。最初はどちらも当然「空っぽ」だ。

そこで、まずはHot/New/人気/最新の4つのタブの下に表示されるニュースで興味があるものをいくつか読んでみて欲しい。その後で、History タブを開くと、読んだ記事へのリンクが表示される。あたりまえと言えばあたりまえだ。

そんな感じで10個ほどニュースを読んだ後で、Omakaseタブをクリックして欲しい。私が作ったアルゴリズムがちゃんと動作していれば、あなたが読みたいようなニュースが(正確には、同じようなニュースを読んだ人たちが同じく読んでいるニュースが)表示されるはずだ。

アルゴリズムは、多くの人が使えば使うほど、賢くなるように作ったつもりだが、これだけはテストが非情に難しいので、実際に使っていただきながら改良して行こうと思う。

ちなみにこのサービス、あくまで「実験」段階のサービスなので、とりあえず「アルファ版」と呼んでおく。バグの報告や、ご要望などあればこのエントリーへのコメントとしていただければ、ありがたいが、過度の期待はご遠慮いただきたい。

ところで、このサイトは、以前に「RESTful MVCなアーキテクチャの話」に書いた通りに、サーバー側では、スタティックなテンプレートとJSON over HTTPのウェブサービスのみ提供し、クライアント側で View と Model の結合をしている。いずれ時間を見つけて(Google App Engine側のソースも添えて)詳しく解説したいと思うが、待ちきれない人はソースコードを読んでみると良いかもしれない。

Comments

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Your Information

(Name is required. Email address will not be displayed with the comment.)