30
Rubyist からみた soupcurry.info dara (しだら ようじ) [email protected] http://d.hatena.ne.jp/darashi 1

Rubyistからみたsoupcurry.info

Embed Size (px)

Citation preview

Page 1: Rubyistからみたsoupcurry.info

Rubyist からみた soupcurry.info

dara設 樂 洋 爾 (しだら ようじ)

[email protected]://d.hatena.ne.jp/darashi

1

Page 2: Rubyistからみたsoupcurry.info

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

Page 3: Rubyistからみたsoupcurry.info

スープカレー

3

チキン 辛さ8CHAIN GANG ORIGINAL SOUP CURRY & BAR 龍祈

http://soupcurry.info/shop/138

•中毒性がある→我慢できない

•お店ごとに個性的→食べ歩きを楽しみたい

•店舗が乱立気味→好みにあったお店で

Page 4: Rubyistからみたsoupcurry.info

典型的なシチュエーション•今すぐカレーを食べたい気分だ。

•今日は普段行かない場所に居るので、折角だから近くの行ったことのないお店で食べてみたい。

•お目当ての店に着いたけれど、スープが切れて閉店していた。近くのお店はどこだろう。

•ガイド本は持ち歩きたくない。

•お店のレビューを見たい。

•不慣れな土地でも迷わずに行きたい。

4

Page 5: Rubyistからみたsoupcurry.info

ソリューション

5

携帯電話用スープカレー店データベース+

レビュー検索エンジン

Page 6: Rubyistからみたsoupcurry.info

スープカレー店位置情報サイトsoupcurry.info

6

http://soupcurry.info

Page 7: Rubyistからみたsoupcurry.info

サイト規模

7

•全国約520店舗を網羅• Code LOC: 1227•Google検索「スープカレー」第1位 (2007/5/17現在)

Page 8: Rubyistからみたsoupcurry.info

アクセス解析

• PC: Google Analytics 2007/4/16-2007/5/16• 14,372 セッション

• 10,745 ユニークユーザ

• 48,004 ページビュー

•携帯: 2007/4/1-2007/4/30

• 36,961 ページビュー

8

Page 9: Rubyistからみたsoupcurry.info

トップページ

9

Page 10: Rubyistからみたsoupcurry.info

10

店舗情報(1)

Page 11: Rubyistからみたsoupcurry.info

店舗情報(2)

11

Page 12: Rubyistからみたsoupcurry.info

付近の店舗

12

Page 13: Rubyistからみたsoupcurry.info

13

GPSで最寄りの店舗を検索

Page 14: Rubyistからみたsoupcurry.info

店舗情報

14

Page 15: Rubyistからみたsoupcurry.info

EZナビウォークと連携

15

実際はURLへ単なるリンク例) http://walk.eznavi.jp/map?datum=0&unit=1&lat=+43.07820&lon=+141.34624&fm=1

Page 16: Rubyistからみたsoupcurry.info

Jpmobile + GeoKit

• Jpmobile Rails用携帯電話プラグイン

キャリアの判定, 端末固有情報取得, 位置情報取得,

文字コード変換

•GeoKit http://geokit.rubyforge.org/距離の計算, 近隣検索クエリ, Geocoding

16

request.mobile.position.distance_to(‘札幌駅’)

携帯電話から札幌駅までの距離:

Page 17: Rubyistからみたsoupcurry.info

レビュー検索•Web検索 Yahoo! Japan / blog検索 Technorati• cronで定期的に巡回•検索ヒット数から有名度指標を計算して表示

17

Page 18: Rubyistからみたsoupcurry.info

hotpepper.jp API

•Web上にクーポンがある場合は表示•電話番号をキーにしてクエリを発行(REST)

http://api.hotpepper.jp/GourmetSearch/V1/?ShopTel=0117371600&key=guest

18http://api.hotpepper.jp

Page 19: Rubyistからみたsoupcurry.info

定休日判定

•定休日文字列から定休日を判定•火曜日(祝日の場合は翌日)•火曜日(祝日の場合は営業)•月曜日/第2,4土曜日•無休(年末年始を除く)/その他/不定• Rubyの柔軟な文字列処理: わずか78行

19

Page 20: Rubyistからみたsoupcurry.info

テーブル構成

20

•店舗情報: shops, chains

•地名データ: regions, prefectures

•オープンiエリアデータ: iareas, iarea_meshes

•レビュー: blog_articles, yahoo_results

•タグ情報: tags, tags_shops

•ユーザ情報: users, sessions

•ログ: logs

Page 21: Rubyistからみたsoupcurry.info

運用

21

Page 22: Rubyistからみたsoupcurry.info

サイトポリシー

•客観的情報サイトに徹する

•自動化できる部分はどんどん自動化

•レビュー検索, クーポン検索

•負担なくデータを更新できるインタフェイス(当初は緯度経度と電話番号のみを格納していた)

•技術遊びのテストベッド とにかくおもしろそうなことをやる

22

Page 23: Rubyistからみたsoupcurry.info

管理画面 (1)

23

各種リマインダ

Page 24: Rubyistからみたsoupcurry.info

管理画面 (2)

24

Page 25: Rubyistからみたsoupcurry.info

履歴

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)

Page 26: Rubyistからみたsoupcurry.info

ホスティング

26

bluehost http://bluehost.com/共有, Rails 1.2.3, MySQL 4.1.21, FastCGIDual Core AMD Opteron(tm) Processor 265 x 2, 4GB

Page 27: Rubyistからみたsoupcurry.info

試行錯誤

27

KML出力(Google Earth)

Page 28: Rubyistからみたsoupcurry.info

フィードバック

• 13件のフィードバック(2007年4月)

•データの鮮度維持に不可欠

•開店, 閉店, 誤情報の訂正, 臨時休業, 臨時営業, 定休日・営業時間の変更, システム改善の提案, ...

•スープカレーファンの方, お店の方からも

•投稿フォーム設置により増加(以前はメールのみ)

•サイト開設をきっかけに交流

28

Page 29: Rubyistからみたsoupcurry.info

まとめ

• soupcurry.infoは

•「今すぐスープカレーを食べたい」「自分好みのスープカレーに出会いたい」というカレー好きの願いを叶えるサイト

•技術遊びのテストベッド

• Ruby On Railsのおかげで楽しくプログラミング

•携帯サイト構築にはJpmobileをお試しください

29

Page 30: Rubyistからみたsoupcurry.info

Future Works

•汎用位置情報サイト構築フレームワークの開発

•集合知にあやかりたい: wiki的位置情報サイト→Google Mapsの改良でモチベーション低下

• AjaxなUIを実装

•ぐるなびAPIにも対応?

•評判識別精度の向上、評判の要約

30