旧札幌市西区

http://d.hatena.ne.jp/kei-s/ だったもの

Notwife というサービスを始めました

Twitter でのあなた宛の mention, favorite, retweet を、notifo という Push 通知サービスを利用して、即座に通知するサービスをリリースしてました。

Notwife is not your wife.

Notwife がどんなものかについては、上記のサイトや一緒につくってくれた june29 さんのエントリを見てもらうとして、ここでは、先日札幌Ruby会議03の Lightning Talks で発表した内容のなかから、「(みなさんと)お話ししたいこと!」として後回しにした部分について書こうと思います。

LT 発表にもありますが、Notwife は"オープンWebサービス"を目指し、コード・計画・展望・議論を公開しています。疑問質問ご意見アイデアバグレポートパッチなどなど、なにかあればまずはお気軽に lingr にいらっしゃいませ。

Site Streams API 申請して実運用してみたけど、なんか質問ある?

Notwife は TwitterSite Stream APIを利用してます(Site Streams がなにかは各自調べて!)。実際に利用するにあたってUser Streams Implementation Suggestionsを熟読する必要がありました。最初、タイムアウトを90秒に設定せずライブラリ*1の既定値の10秒のままにしていて接続がすぐに切れてしまい、API 側の問題かと誤解していました。TwitterAPI ドキュメントは、読みづらいながらも情報はまとまっていると思います。

$ gem install notifo は地雷

これはそのまま。gem に登録されている notifo(0.1.0) は、バグがあるため利用してはいけません。また、notifo が公式にリンクしている、github 上にある Ruby の notifo ライブラリ(0.1.2)も、別なバグがあるため利用してはいけません。バグのあるコードを読めばわかるとおり死ぬほど初歩的なミスなので、ハマると心の底からがっくりきます。利用するときは、最も進んでいる fork を、bundler を経由するなどして使うといいと思います。

"オープン" だけど "フリー" じゃない

ここの節については、ちょっと書き切る自信がない。まとまらないながら書くと、

  • 「自由なソフトウェア」と言っているとき、ソフトウェアを利用する際のデータのことはどう捉えられているの?
  • 「データの自由」について、すべてのデータを開示するわけにはいかない(少なくともパスワード、トークンは開示できなさそう)
  • 「サービス」は、コードとデータで出来ているのでは?(もし Google 検索にクロールしたデータがなかったとしたら、それはサービスとは言えないのでは?)
  • コードだけの配布では、サービスの「自由」として片手落ちでは?データの自由を考えない限り「自由なサービス」は標榜できないのではないか。

データの開示は課題が山積みのような感覚があるため、Notwife はいまのところフリーWebサービスではなく「オープンWebサービス」を目指す、としています。

サービス運用にまつわる金銭はどうするべき?

いまのところ Notwife は heroku を利用するなど、ほとんどお金の掛からない構成で動いています。Notwife に限らず一般化した "オープンWebサービス" では、そのサービスの運用固定費はだれが負担すべきなのでしょう。逆に、Webサービスで金銭を獲得するためには、広告やアフィリエイトなど手段は豊富にありそうな気がします(Notwife はWebページへのアクセスが少ない想定なのでそうでもないけど)。費用・収益をトントンにすることも可能そうですが、どんな課題がありそうでしょう?という問いかけでした。

ラクティスありませんか!(切実)

これについては札幌Ruby会議03の発表後に @ursm さんや @m_seki さんとお話させてもらって、とても嬉しかったです!
いまのところの課題は、

  • 新規ユーザ登録があった際に Site Streams の取得を更新する処理の設計(いまのコードは自分で書いておきながら、かなり「グロい」)
  • バックグラウンドプロセスの死活監視

があり、ここについていくつか参考となる意見やアイデアをいただきました。会議にて @m_seki さんが講演*2したDrop が面白そうなので、試してみたいとおもっています。

まとめ

というわけで、LT ではお話ししきれなかったことについて書いてみました。
ちょっとでも興味がわいた方は、お気軽に lingr にきてみてください!