読みたい本を図書館にリクエストというサービスをリリースしました。Libronに続く、カーリルAPIコンテストにエントリーした図書館シリーズ第2弾です。読みたい本が図書館にないときにTwitterでつぶやいて本のリクエストができるサービスです。本が図書館にあるかを定期的にチェックし、もし蔵書に追加されて読めるようになったらリプライを送って通知します。使い方LibreqはLibronの姉妹サービスです。いまのところは、Libronから使ってください。LibronはAmazonの検索結果ページから簡単スピーディに図書館の蔵書を検索でき、予約ページへと案内する便利ツールです。無料で本が読めるライフハックLibronで検索した結果、本が図書館にないというときにLibreqあてにつぶやくリンクが表示されます。クリックするとTwitterの画面にジャンプし、つぶやく内容が表示されます。四角で囲まれた部分は変更せず、あとは自由に編集してつぶやけばリクエスト完了です。Libreqはリクエストされた本が図書館で借りられるようになったかを定期的にチェックしています。借りられるようになったら、以下のように、リクエストした本人のTwitterアカウントあてにリプライを送ってお知らせします。Extension対応を実装して、アイデアを動くコードで示してくださった@kojimiyaさんのLibronに対する提案がきっかけです。カーリルAPIコンテストの当初の期限が一週間ほど遅れ、これはLibron以外にも作れということかとつぶやいたら、カーリルの中の人から「その通り」と言われるしで、作ることにしました。いえ、作り始めてすぐに壁にぶつかりました。Libreqは読みたいと思った本が図書館にないときに利用者がTwitterでリクエストするわけですが、別に図書館と協力しているサービスではないですから、なんとなくリクエストが図書館の人に届けばいいなあ、くらいの感覚で。そんなあいまいな目的でユーザーはわざわざリクエストのつぶやきしてくれるだろうか、と思ったのです。図書館側の人の立場に立ってリクエストがどんな風に表示されたら汲み取りやすいのかなあ、と考えても、僕は図書館のユーザーに過ぎず、中の人ではないからうまく想像できないのです。関するエントリーでちょくちょくブログを読ませてもらっている@satokoさんのつぶやきで、「読み終わった本を図書館に寄付したら喜ばれた」という話を読んで「これだ!」と思いました。...リクエストする側は一般ユーザー、それに応えるのが図書館の人、と考えていたので、応える側の立場が想像できなくて悶々としていたのですが、応える側に同じく一般ユーザーも加えたら、つまり自分も応える側に含まれるんだ、と思えるようになったら一気に楽になりました。そのあたりは現状の実装には反映されていないかもしれませんが、頭の中に「こうしたらもっといい」といった改善案がどんどん湧いてくるようになったので、ご期待ください。Libreqを通して、読みたい本が図書館にない利用者、利用者がどんな本を読みたいかを知りたい図書館、さらに本を図書館に寄付してもいいと思っている利用者を結びつけることを目指したいと思っています。LibreqはHerokuで動かしていますここからは技術的な話。RailsのPaaSと言えるHerokuで動いています。lifeを読んだのがきっかけ。チュートリアル通りやって最初のテストアプリが動いたとき感動しました。Railsを使えば10分でブログが作れるかもしれないが、Herokuを使えば10分で作れて、なおかつ世界中に公開できてしまう。「作れる」から「公開」がRailsだと意外に大変なのですが、それがあっさり出来てしまうのです。パフォーマンスを心配していたのですが、意外と良好。体感的にはSlicehostやLinodeのVPSで運営している他のサービスとあまり大差ないかもしかしたらHerokuの方が速く感じます。実際に計測してみないとわからないところではありますが、Slicehostよりも速いといったブログのエントリーもみつけました。Designある程度の規模までは無料プランでいけそうな気がしています。ひとつだけでなく複数のアプリを作成できてしまって、これじゃあ儲からないんじゃないかと心配です。Libreqでは定期的にlibreqあてのつぶやきを取り込んだり、あるいはリクエストされた本が図書館にあるかどうかをチェックする必要があるのですが、Herokuはcronもサポートしているので問題ありません。cron.rakeをlib/tasks以下に用意し、その中に実行したい処理を書くだけという簡単さ。無料プランだと一日一回しか実行できないので、月々3ドルの、Hourlyつまり一時間に一回実行するプランにアップグレードしておきました。gem、またカーリルAPIにアクセスして取得したxmlをパースするのにNokogiriといったgemを使っています。したgemをHerokuで使えるようにするのも超簡単です。Heroku上で勝手にインストールされます。他にも無料プランの中で使えるAdd-onが充実していて、バックアップだったりエラーメール送信だったり、運用に入ろうとすると必要になり自分で用意しようとすると結構面倒なところが、ポチポチ「Add-on追加」のボタン押していくだけで済んでしまうのが楽しいです。Railsで自分のサービスを作りたいと思っている人はHerokuを使ってどんどん世に出したらいいと思いました。リアルでもネット上でも大変盛り上がり楽しかったー。さんの上記まとめを参照してください。してくれる方へのアプローチ・連絡、そして当日の運営のお手伝いをさせてもらったので、それらのことおよび感想などを書きたいと思います。LT大会のための便利ツール今回、IDCフロンティア様の非常に立派な会場を使わせていただくことになりました。スムーズに進行するためのツールを用意しました。クリックするだけです。さんのまとめ記事に書かれているように、イベントを盛り上げるのに一役買ったと思います。すばらしいツールです。さんの容赦ない、もとい絶妙な進行だけで十分だったようです。おこなってくれる人の人選は手分けしておこないました。立派な会場を使わせてもらえる手前、たくさんの人を呼べるような人でないと、とか、例えばテーマは「インフラ」に絞ろうかとか最初いろいろな案があったのですが、結局運営側の役得として自分がその人の話を聞きたいと思う人をそれぞれ独断で決めてしまって、呼んでしまおうということになりました。結果的に、運営側が楽しんでやれば、イベントをいいものにしようと一生懸命になります。それが、今回盛り上がった一因となったんじゃないかと思っています。参加していただいた方に喜んでもらいたいというのはあったと思いますが、なにより、僕らがいつも参加しているメンバーでない人の話を聞きたかったのでプログラムの中に入れました。普通に勤めている人だと参加できない時間帯だから、ということでメンバーがある程度固定化されてしまう。参加する大きな理由だと思います。系イベントは女子率が低いなぁ~。日本人だけでなく外国人だってコミュニティの中にいたっていいと思うのです。した多様性がないとコミュニティは健全ではないんじゃないか。運営を手伝い、参加するのです。15時〜18時に三鷹に来て覗いてみて下さい。フォローしておけば告知を受け取ることができます。個人的にとても好きだし、プログラマーズカフェの話題や雰囲気を良く伝えていて、もっとみんなに聞いて欲しいので宣伝しておきます。(http://bit.ly/pgcafepod)回を重ねるごとにうまくなってる。真似できない才能です。アプリをリリースしました。申請を通るのかどうかを実際に試したかったという裏の目的(実はこれが本命という話もありますが。WebKitエンジンによって実行されるJavaScriptで書かなければならない。Newsのように変更され、物議を醸しました。アプリは審査を通らないのではないか、と。ついては今のところは大丈夫なようです。