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

Rubyistからみたsoupcurry.info

2,036 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,036
On SlideShare
0
From Embeds
0
Number of Embeds
58
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×