2014年7月19日土曜日

野球の試合速報共有サービス「BASEBALL SCORE」を公開しました

BASEBALL SCOREというwebサービスを公開しました。
子供の野球の試合速報を、観戦に来られない家族や知人と共有する事ができます。



開発のきっかけ

子供の試合速報を知り合いにメールしまくる家内をみて


私には息子が二人いて、長男が中2、次男が小5でどちらも野球チームに所属しています。シーズンになると、週末は二人とも大体試合で、家内と分担してそれぞれの応援に行くわけです。
で、互いの試合結果をLINEやメールで送り合うのですが、非常に面倒。しかも家内は、仕事の都合で応援に来れない他の子の母親や、監督・コーチにも同じような試合速報をメールで、せっせと送信している。これでは、試合に全然集中できない。
でも、応援に来れない人達は、試合がとても気になる。。。
こんな、シチュエーションはどこにでもあるはず。すでに、いい感じのサービスが世の中にあるはず。Yahooとかで使える、プロ野球速報の草野球版があるはず。と探すもなかなか見つからない。
携帯電話用でスマホでは使いにくかったり、スコアブックとしての機能が充実しすぎていたりと、なかなかニーズに合うものがない。
って事は作ればいいのでは。。。
ちょうど、Ruby on Rails Tutorialを勉強して、ユーザ管理とtwitterもどきを作れるようになったので、ちょっとしたコンテンツ投稿のサービスに作れるかも。ちょうどいいテーマじないか!って、思った訳です。

開発期間

1週間ぐらいで形になるかと思ったが甘かった。


着手から実際に使える状態になるまで、大体3週間かかりました。
最初、Ruby on Rails Tutorialのサンプルをベースにしようとしましたが、すすめていくうちに、他のライブラリに置き換えたり、不具合対応でライブラリのバージョンアップしたりで、何かと時間がかかりました。
子供達の野球の試合があるのは週末なので、平日の通勤電車の中で機能実装とバグ潰しを行い、週末に自分と家内で実際に使って、操作の不具合を洗い出しと追加機能のアイデア出しを行う。という事を繰り返しました。

開発環境

MacBook AirとRailsとHeroku


MacBook Air
Ruby 2.0.0
Rails 4.0.4
Bootstrap 3
今まで、Rails 3.2を触っていましたが、Ruby on Rails Tutorialを勉強するタイミングで、Rails4.0を触り初めていました。
この影響で、4.1ではなく4.0で開発する事にしました。
Rails4の情報は十分にネットで見つかる状況でした。
特に、stackoverflowRails Castsを見る機会が多かったです。

開発手順

  1. 企画
    「少年野球のスコアを家族。知り合いで共有する」を思いついてから、野球のスコアをつけるアプリをwebサービスを確認しました。アプリは本格的なスコアを付けられるものがほとんどで、「スコアを共有する」目的のものはありませんでした。
    また、米国のアプリ、webサービスも調査しましたが、状況は同じでした。Game Changerというアプリが無料にもかかわらず、高機能でした。
  2. 言語、WAF(Web Application Framework)の選択
    上述の通り、Rails4に挑戦する前提でRails4.0とRuby2.0を選択しました。
  3. サーバ(IaaS,PaaS)の選択
    以前からHerokuを使っていたので、今回もHerokuを選択しました。まずは1 DynoとPostgreSQLが使えればよかったので、無料でいけます。
  4. バージョン管理方法の選択
    gitを選択。
    いつもgithub使ってましたが、今回はProvateRepositoryで管理の必要性がでてきたので、Bitbucketを使う事にしました。
  5. 開発環境
    開発環境は上述の通り。IDEは使わず。
    editorはemacsを使用。
    Sublime Textに完全移行しようと考えたが、どうしても使い慣れたemacsを使ってしまっていた。
    localでは、Railsの標準webサーバ(WEBrick)を使用。
  6. テスト環境
    RSpecでTDD開発を実践!と思って最初の数週間は、「test書いてから実装」をやっていたのですが、ある程度形になってきたら、testを書くのがもどかしくなってきて、直接コードを書くようになってきました。
    ただ、実装やコード修正の際、「testが通ればok」の安心感は一人で開発している時には、とてつもない安心感が得られると感じました。
  7. デザイン
    という程でもないですが、bootstrapを使用。
    今回、初めてbootstrap3を使用したので、bootstrap2との差異を確認しながら、すすめました。
    本サービスは、利用シーンとしてスマホでの利用を想定しているのですが、基本的には、bootstrap3ではdefaultでレスポンシブ対応されているので、そちらで対応しました。
    さらにスマホ表示の最適化させるため、追加で、css微調整を実施しました。
  8. ドメインの取得
    当初、score.comのようなシンプルなドメイン取得を予定していましたが、思いつくものは大体取得されていたり、高額だったりしたので諦めました。
    herokuでは、*.herokuapp.comのようなFQDNは無料で利用可能で、baseballscore.herokuapp.comが利用可能だったので、当面はこれでいくことにしました。
    後述しますが、SNSなどの口コミで広げていくつもりだったので、URLで表現した時に、わかりやすければいいかなと判断しました。
    (ただ、途中でFQDN・ドメインを変更するのは、oauth対応やSNSボタンや各種モニタリング登録の変更が必要になり、いろいろと面倒なので、そこは要注意です。)
  9. アクセス分析
    google analytics設定を設定しました。
    より柔軟にリアルタイム分析も行いたかったので、今回はwoopraを初めて使ってみました。
  10. モニタリング
    以前から使用している無料のcmanを利用。
  11. ロゴ
    今回はロゴを準備しました。
    当初は、supalogoで自分で作成しましたが、試しにココナラで作成依頼しました。
    自分のイメージに合いそうな作成者の方に依頼して3日で2案作成いただきました。うち1案を現在使わせてもらっています。
    ココナラは以前から気になっていて今回ちょうどお願いできる事があったので利用しました。500円という費用を考えるととても満足のいくものを作成いただきました。
  12. リリース、プロモーション
    家内を通じて、子供の野球チームの監督・コーチ・保護者の方々にも利用いただき、「これは便利」の声をいただきました。
    スコアブックを作成するアプリ、webサービスはすでに存在するもののやはり利用には敷居が高く、広く浸透していない事を確認する事ができました。
    逆にいうと、「詳細スコアブックの作成」ではなく、「スコアを介したコミュニケーション」を主にしたアプリ・webサービスはまだ存在していないので、ユーザ獲得のチャンスがありそうです。
    プロモーション手段はグロースハッカーを参考に、facebookを主にしたソーシャル口コミで広げたいと考えています。
    ただし、家内の知り合いのお母様方はfacebook,twitterではなくLINEを利用している方がほとんどなので、LINEでの露出も意識してすすめる必要があります。
    まずは、コンテンツ(スコア)を作成してくれる人の獲得が必須です。コンテンツ作成者が増えれば、その人を中心に閲覧者が集まってきて、そのうちの何人かがコンテンツ作成者になり、さらなる閲覧者を集めてくれるからです。
    次は、グロースハッカーにも書いてあった、小判サメ戦略を試してみたいと思っています。

今後

野球の季節である「夏」に、コンテンツ作成ユーザが10人を目指します。
facebook pageを作成したので、これを使ってユーザ獲得施策を実施します。

参考


ご興味ある方は、BASEBALL SCOREをぜひお試しください!
このエントリーをはてなブックマークに追加

2014年4月12日土曜日

RVMでruby1.9.3 installの際、gcc46を使わない方法

何かの手違いでgcc46を削除したようなので、homebrewで再度gcc46をinstallしようとしたが、途中で止まってすすまない。
再度、rvm install 1.9.3しても、やはりgcc46のところで止まってしまう。

こちらをみて下記を実行したらうまくいった。
rvm install 1.9.3 --with-gcc=clang
このエントリーをはてなブックマークに追加