先日、FeedlyGraph を1週間で公開した。
photo credit: surfzone™ via photopin cc
公開までを振り返ってみる。
0日目
アイデア出し
僕は普段からこんなサービスが欲しいな〜というアイデアをメモに残すことにしている。
iCloud 便利。
今回はそこから規模感が合うものをチョイス。
1日目
アイデアの検証
問題を解決するサービスが世の中にあるかどうかを確認した。
今回は「Feedly の購読者数の推移を確認したい」が問題。
既にあった解決策に近いものは以下のとおり。
- Feedly Insight
- Feedly Subscribers Checker 2
- FeedlyやlivedoorReaderの購読者数をGrowthForecastにポストするRubyスクリプト作った
上から順に
- WordPress でないと使えない
- 今の購読者数しかわからない
- GrowthForecast の見た目が気に入らない
という理由でダメだったので、サービスを作ることが決定した。
この時点で「オシャレな UI で確認したい」ニーズがあることがわかった。
名前づけ
プログラミングに限らず、名前づけ大事。
サービス名がかぶると、ググラビリティが下がる。
僕が探そうとしたときの検索ワードが「Feedly 購読者 グラフ」や「Feedly 購読者 解析」だった。
ここから FeedlyGraph か FeedlyAnalytics が候補に。
FeedlyAnalytics を採用しなかったのは、「解析」とするといろんな問題を解決したくなり、結果として機能が増えてしまう気がしたため。
2日目
サービスのデザイン検討
僕自身がユーザだけど、もしかすると他の人も使うかもしれない。
万が一有名になったら少しくらい収益につながってほしいけど、シンプルな UI にしたい。
これらのことから収益面は考えないことにした。
その分、コストがかからない技術を採用する方針に決めた。
技術選択
言語
使い慣れた言語でやるよりも、少し前から Rails を勉強し始めたこともあり、何かプロダクトを作りたかったので Ruby on Rails に決定。
ホスティングサービス
いろいろあるので心配しなかった。
後回し。
ソースコード管理
少なくともサービス公開までは public なところに置きたくなかったので Bitbucket に。
これら以外はやりながら考えることにした。
必要ないときに余計なことをやらないのは大事。
やる気があるうちに次のタスクに進まないと飽きてしまう。
サイトのUI検討
なんかの記事で書いてあったように進めた。
(見つからないのでリンクはなし)
- いきなりコードを書くべきではない
- まずは紙に書こう
- 次に Illustrator
- 最後にコード
Illustrator は持ってないし僕には使えないので、丁寧に紙に書く程度にした。
書いたものはコチラ。
3〜6日目
プログラミング
ひたすらプログラミング。
この時点で Ruby に触れたのが通算 3日目 で、Rails で has_many の書き方すらわからない状態だったので時間がかかった。
たまにやるべきことから脱線してしまう(仕事でもありがち)ので、手書きのマインドマップでゆる〜くタスク管理し、今どこをやってるかを明確にした。
これによって1個のタスクに集中して順番に潰していくフローができた。
また、作業の全体量を見て、無理そうな要求は外した。
(2日目の紙デザインにあった、期間設定とか)
参考にしたサイト
- Ruby-Doc.org: Documenting the Ruby Language
- Ruby on Rails チュートリアル:実例を使って Rails を学ぼう
- The feedly Cloud API
本当はもっといっぱいあるけど紹介しきれないので割愛。
公式は大事。
7日目
ホスティング
Heroku と Sqale で迷い、無料な Heroku に。
Heroku にデプロイしてから Javascript が動かないなどの問題が何度か起きた。
このあたりを予測してなかったので、夕方公開するつもりが23時とかになってしまった。
SEO関係
サービス監視
NewRelic 様々。
Heroku はアクセスがないとスリープするので、定期的にアクセスさせる面でも NewRelic は便利。
ついでに Idobata と連携してみた。
スケジューラ
FeedlyGraph では定期的に購読者数を取得する必要がある。
Heroku の cron というべきサービスの Heroku Scheduler を導入。
公開
Heroku にデプロイした時点で公開は終わってるけど、ブログに書くまで が公開。
ふりかえり(8日目以降)
Keep
無事公開できたことは非常に嬉しい。
プライベートでサービスを作るなんて、しょせん自己満足でしかない。
この達成感とその後のアルコールのためにやっているようなものだ。
過去の蓄積が生きた
前にも書いたけど、rebuild.fm の知識が役立った。
今回は Rails4.0 の Toubolinks のあたり。
NewRelic は MicrosoftAzure で既に使っていたのでサクッと導入できた。
Problem
テストがほとんど書けなかった
流行りの RSpec を使ってテスト書いてたけど、トラブルシューティングに時間がかかりすぎて後回しにした。
大半はローカルサーバか Rails console を使って動作確認してた。
公開周りの作業がカツカツだった
プログラマーは実装を中心に考えてしまいがちだけど(僕だけ?)、公開するためにやらないといけないことはいろいろある。
そのあたりを舐めてはいけないと実感した。
最後に
僕は単に技術を勉強するより、何かを作る過程で技術を学ぶほうが性に合う。
今後もいろんなサービスを作りたい。
- 作者: 中島能和
- 出版社/メーカー: 秀和システム
- 発売日: 2013/12
- メディア: 単行本
- この商品を含むブログ (2件) を見る
- 作者: arton
- 出版社/メーカー: 翔泳社
- 発売日: 2008/04/15
- メディア: 大型本
- 購入: 6人 クリック: 113回
- この商品を含むブログ (41件) を見る