Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rubyistからみたsoupcurry.info

2,128 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Rubyistからみたsoupcurry.info

  1. 1. Rubyist からみた soupcurry.info dara 設 樂 洋 爾 (しだら ようじ) dara@shidara.net http://d.hatena.ne.jp/darashi 1
  2. 2. My Projects • Web Services • soupcurry.info http://soupcurry.info/ • FON finder http://fonfinder.orzorz.org/ • face detector http://face.orgorz.org/ • buzztter http://buzztter.com/ • RubyGems • Locapoint http://locapoint.rubyforge.org/ • Jpmobile http://jpmobile.rubyforge.org/ • Objectdetect http://objectdetect.rubyforge.org/ 2
  3. 3. スープカレー 3 チキン 辛さ8 CHAIN GANG ORIGINAL SOUP CURRY & BAR 龍祈 http://soupcurry.info/shop/138 • 中毒性がある →我慢できない • お店ごとに個性的 →食べ歩きを楽しみたい • 店舗が乱立気味 →好みにあったお店で
  4. 4. 典型的なシチュエーション • 今すぐカレーを食べたい気分だ。 • 今日は普段行かない場所に居るので、折角だから近 くの行ったことのないお店で食べてみたい。 • お目当ての店に着いたけれど、スープが切れて閉店 していた。近くのお店はどこだろう。 • ガイド本は持ち歩きたくない。 • お店のレビューを見たい。 • 不慣れな土地でも迷わずに行きたい。 4
  5. 5. ソリューション 5 携帯電話用スープカレー店データベース + レビュー検索エンジン
  6. 6. スープカレー店位置情報サイト soupcurry.info 6 http://soupcurry.info
  7. 7. サイト規模 7 • 全国約520店舗を網羅 • Code LOC: 1227 • Google検索「スープカレー」第1位 (2007/5/17現在)
  8. 8. アクセス解析 • PC: Google Analytics 2007/4/16-2007/5/16 • 14,372 セッション • 10,745 ユニークユーザ • 48,004 ページビュー • 携帯: 2007/4/1-2007/4/30 • 36,961 ページビュー 8
  9. 9. トップページ 9
  10. 10. 10 店舗情報(1)
  11. 11. 店舗情報(2) 11
  12. 12. 付近の店舗 12
  13. 13. 13 GPSで最寄りの店舗を検索
  14. 14. 店舗情報 14
  15. 15. EZナビウォークと連携 15 実際はURLへ単なるリンク 例) http://walk.eznavi.jp/map?datum=0&unit=1&lat=+43.07820&lon=+141.34624&fm=1
  16. 16. Jpmobile + GeoKit • Jpmobile Rails用携帯電話プラグイン キャリアの判定, 端末固有情報取得, 位置情報取得, 文字コード変換 • GeoKit http://geokit.rubyforge.org/ 距離の計算, 近隣検索クエリ, Geocoding 16 request.mobile.position.distance_to(‘札幌駅’) 携帯電話から札幌駅までの距離:
  17. 17. レビュー検索 • Web検索 Yahoo! Japan / blog検索 Technorati • cronで定期的に巡回 • 検索ヒット数から有名度指標を計算して表示 17
  18. 18. hotpepper.jp API • Web上にクーポンがある場合は表示 • 電話番号をキーにしてクエリを発行(REST) http://api.hotpepper.jp/GourmetSearch/V1/?ShopTel=0117371600&key=guest 18 http://api.hotpepper.jp
  19. 19. 定休日判定 • 定休日文字列から定休日を判定 • 火曜日(祝日の場合は翌日) • 火曜日(祝日の場合は営業) • 月曜日/第2,4土曜日 • 無休(年末年始を除く)/その他/不定 • Rubyの柔軟な文字列処理: わずか78行 19
  20. 20. テーブル構成 20 • 店舗情報: shops, chains • 地名データ: regions, prefectures • オープンiエリアデータ: iareas, iarea_meshes • レビュー: blog_articles, yahoo_results • タグ情報: tags, tags_shops • ユーザ情報: users, sessions • ログ: logs
  21. 21. 運用 21
  22. 22. サイトポリシー • 客観的情報サイトに徹する • 自動化できる部分はどんどん自動化 • レビュー検索, クーポン検索 • 負担なくデータを更新できるインタフェイス (当初は緯度経度と電話番号のみを格納していた) • 技術遊びのテストベッド とにかくおもしろそうなことをやる 22
  23. 23. 管理画面 (1) 23 各種リマインダ
  24. 24. 管理画面 (2) 24
  25. 25. 履歴 25 • 2003年ごろ 構想, プロトタイプ作成 • 2005/01/24 soupcurry.infoドメイン取得 • 2005/02/11 第1世代 リリース (Ruby CGI, さくらインターネット) • 2005/12/08 第2世代 開発開始 • 2006/01/24 第2世代 リリース (Ruby on Rails, bluehost)
  26. 26. ホスティング 26 bluehost http://bluehost.com/ 共有, Rails 1.2.3, MySQL 4.1.21, FastCGI Dual Core AMD Opteron(tm) Processor 265 x 2, 4GB
  27. 27. 試行錯誤 27 KML出力(Google Earth)
  28. 28. フィードバック • 13件のフィードバック(2007年4月) • データの鮮度維持に不可欠 • 開店, 閉店, 誤情報の訂正, 臨時休業, 臨時営業, 定休 日・営業時間の変更, システム改善の提案, ... • スープカレーファンの方, お店の方からも • 投稿フォーム設置により増加(以前はメールのみ) • サイト開設をきっかけに交流 28
  29. 29. まとめ • soupcurry.infoは • 「今すぐスープカレーを食べたい」「自分好みの スープカレーに出会いたい」という カレー好きの願いを叶えるサイト • 技術遊びのテストベッド • Ruby On Railsのおかげで楽しくプログラミング • 携帯サイト構築にはJpmobileをお試しください 29
  30. 30. Future Works • 汎用位置情報サイト構築フレームワークの開発 • 集合知にあやかりたい: wiki的位置情報サイト →Google Mapsの改良でモチベーション低下 • AjaxなUIを実装 • ぐるなびAPIにも対応? • 評判識別精度の向上、評判の要約 30

×