Hatena::ブログ(Diary)

130単位

2012-05-30

第3回「開発コンテスト24」で作ったTwitterの何か

本当に作っただけのレベルで公開するのは忍びないのですが、24時間でできたものという記録として残しておいてみます。

作ったもの

f:id:deeeki:20120530015521p:image:w360

技術まわり

きっかけ

  • Twitter上での会話には有益な情報がある、とふと考えた
    • なぜなら人が時間を使ってレスポンスしているわけなので
  • 自分以外の会話はそれぞれフォローしていればTLで見えるものの、もう少し効率的にチェックしたい
  • Favorite数の多いTweetをチェックするサービスはあるが、会話をチェックするサービスはない(と思う)
  • そもそも個人的な志向性(収集欲)

課題の解決

課題

一日の終わりを楽しくするもの

ページが見つかりませんでした | クックパッド株式会社

たとえば一日の終わりにざっと眺めてもらい、たわいのない会話に和んだり、情報交換や議論などから知見を広げてもらえれば、という(課題に無理矢理合わせた感のある)コンセプトです。

24h顛末

  • 課題確認
  • アイデア考えつつ別のコード書いてた
  • 8時間ほど経過して決めたのはストック済みだったアイデア
  • 実装方法の調査と開発
  • 3時間ほど仮眠
  • 仕上げの開発
  • Herokuで収集用Workerが動かなくて焦るも、VPSで動かすことにして事なきを得る
    • 柔軟にアクセスできるMongoLabすばらしいと思った
  • 最低限閲覧できるWebサイトをHerokuにデプロイして時間内になんとか応募

今後やりたいこと

  • とりあえずURLをリンクにする
  • レスの数で重み付けをする
  • 対象ユーザーを選別する
  • リアルタイムに更新する
  • メール通知する
  • Boxcar通知する
  • デバイスごとに最適化表示する
  • 説明をつける

ほぼ自分が使いやすくするためではあるのですが、暇を見つけて開発していきたいと思います。

まとめ

提出できなかった昨年に比べ、提出できたことはとりあえずよかったのかなーと思います*1。はじめて利用したMongoLabが無料の割にかなり便利そうという発見もありました。ただアイデアも技術も引き出しが少なく、納得するレベルに達するまで時間がかかってしまいます。そこは今後改善していけたらと思います。

細かい話

割と独りよがりなアイデアで、Twitter上の会話が別の場所に残っていることに不快感を持たれる方もいらっしゃるかもしれません。現状は(Streaming APIsによる)削除に対応していないこともあり、トップページのみで最新の50件の会話を表示する仕様になっています。またどこまで保存していいものか、規約も詳しく確認できていません。公開して運用するにはプライバシー等も考慮してどのような仕様であるべきか、あるいは非公開で個人的な趣味の情報収集の範囲でやるべきなのか、もし何かご意見等ございましたらフィードバックいただければ幸いです。

関連記事

*1フィリピンの低速回線から

2011-08-29

GitHub フォロー中ユーザーのフィードをOPML出力

またHerokuでちょっとしたWebサービスつくってみました。

f:id:deeeki:20110829225941p:image

きっかけ

できること

メモ

raise Sinatra::NotFound
#or
halt 404
  • SinatraでNotFoundハンドリング
not_found do
  slim :not_found
end
  • slimかくのにvim-slimっていうプラグイン入れてみたけど効かない
  • サービス名がなんかいまいち

ソース

関連リンク


4797357401
たのしいRuby 第3版

関連記事

2011-08-18

フィード検索サービスFeedGateをHerokuでリニューアル

ドメイン更新せずに失効したので、ほぼ一からつくり直してみました。

f:id:deeeki:20110818211749p:image

入力したキーワードから、関連するフィード(RSS)を表示したりフィードリーダー登録を補助したりするサービスです

フィード検索Webサービス FeedGateをつくってみた - 130単位

リニューアル

旧FeedGate
  • PHP (CakePHP)
  • CentOS (ServersMan@VPS)
  • Google丸パクりデザイン
  • 設定はPHP、連想配列多用
新FeedGate
  • Ruby (Sinatra/Slim)
  • Heroku
  • CSSなし適当デザイン
  • 設定はYAML、クラス/オブジェクト多用

感想

  • SinatraではじめてViewをつかった
  • SlimはHamlをやってたらなんとなくいけた
    • Vimプラギン探してもいないけど記述が簡潔なのでそう困らなかった
  • Powで開発中の自動再起動のためwatchrつかってみた
    • app.rbのみでやってたけどviews以下もwatch対象にするといいと思った
  • Herokuの開発→デプロイの簡単さは感嘆せざるをえない

ソース

libの下とかどうもいまいちなのでフィードバックいただけるとありがたいです!

関連リンク


4797357401
たのしいRuby 第3版

2011-05-01

『SlideFinder』リリース直後の振り返り

no title

HTML5やCSS、jQueryなど、Web制作に関する日本語スライドを集約したSlideFinderが便利っぽい | かちびと.net

公開翌日にかちびと.netさんで紹介され、生涯初はてブのホッテントリになったりしました。

f:id:deeeki:20110502023629p:image:w200

特に予定のない休日だったこともあり、1日張り付いて細かい改修などしてました。突発的かつ一時的ではありますが、広まったからこその貴重な経験ができたりしたので、それを振り返ってみたいと思います。

アクセス

f:id:deeeki:20110502022607p:image

  • 約4分の1がかちびとさんから
  • はてブからは約5分の1くらい
    • ホッテントリはRSSリーダーからチェックしてる人が多いっぽい
  • Twitterは7%くらい
  • iGoogleが意外と6%くらい

特にモニタリングとかはしてませんが、ServersMan@VPS(最安Entryプラン)とCakePHP(DBなし)で大丈夫だったみたいです。

公開後にやったこと

特にFacebook周りは地道に調べて多少ノウハウたまった気がします。

公開前にやっておいたほうがいいこと

  • アプリ/サービスのネーミング
    • ユニークかつ分かりやすく
  • URL設計
    • サブドメインかサブディレクトリか
    • アプリ内のルーティング
  • アクセス解析設置
  • titleタグ
    • 既にはてブされたものは手動で変えないといけない*1
    • Analyticsのタイトル別コンテンツの可読性
  • 各種キャッシュ
    • 表示スピード大事、無駄な処理は省く

やはり公開後に変えづらいものは、しっかり決めておくのがいいと思います。また、紹介されてすぐにSlideShareのAPIが落ちてたときがあったのですが、取得結果をキャッシュしてたおかげでほぼ影響なしで済みました。これ以外の1つ前の見出しで書いたようなことは、あとからでもいい気がします。

まとめ

  • (最低限は押さえて)とりあえず公開する
  • ソーシャル系サービスのレスポンスをチェックする

何かつくるのであればとりあえず公開を目標に、まずは0を1にすることが大切かと思います。それがなければ何も起きませんでした。そして、運良く注目されたらレスポンスになるべく耳を傾けること。貴重なフィードバックには改善のヒントや成長のチャンスがあると思います。

関連記事

第2回「開発コンテスト24」で作ったSlideShareの何か - 130単位


2011-04-28

第2回「開発コンテスト24」で作ったSlideShareの何か

えー、応募はしませんでした>< 意志が弱かったのは反省点です。

作ったもの

f:id:deeeki:20110428091046j:image

SlideShareのスライドをプログラミングや開発に関するキーワードごとに閲覧できるものです。

f:id:deeeki:20110428091044j:image

f:id:deeeki:20110428091043j:image

技術まわり

きっかけ

  • 職場のプログラミング経験が浅い人を対象に想定
  • もともとSlideShareのAPIで何かつくろうかと思ってた

目的

課題

(普段の生活で)半径3m以内にいる人が困っていることを解決する

※職場や学校の隣の席の人、同居する家族やルームメイトなど(ご自身は対象外です。)

http://info.cookpad.com/24contest2
  • 未経験者/初心者が学習のとっかかりを得るために
  • 英語で敷居が高いと思われるSlideShareを少しでも親しみやすく

24h顛末

  • 会社で課題確認して退社
  • 地元の友人がきて飯食ったりなど
  • 漠然とアイデア考えつつ眠かったので普通に睡眠
  • 朝はまだアイデア考えつつだらだらネットサーフィン
  • 友人が用事に出かけて、締切り6時間前にようやく開発開始*1
  • いまいちな出来ながら締切ぎりぎりでデプロイしてて間に合わずギブ

やりたかったこと

  • Twitter連携とかソーシャル性を入れたかった
    • スライドのURLを含むツイート表示をやろうとしたけどなんかエラーになって断念
  • スライド以外で参考になるものも絡ませたかった
    • キーワードのはてブ人気エントリーのフィードの表示とか
    • 「キーワード+入門」でGoogle検索結果の表示とか
    • 書籍のリンクとか

課題

  • SlideShareは日本語検索できない
    • APIでも日本語のキーワードで検索できない
  • 半径3m以内の人の直接的な解決にはなっていないかもしれない
    • このスライド読むといいよ、で終わってしまいそうな状況はよくない
    • そもそも未経験者がパッと見てスライドとか読み進められるとも思えない
  • UIに改善の余地がまだまだある

まとめ

そんなわけで作ったものの微妙な感触だったのですが、あとで後輩に見せてみたらまあ悪くはない反応だったので、すこし手直しして公開してみた次第です。

次回開催があれば、もっと時間をかけて、納得した上で提出するまではいきたいなあと思います。

参加されたみなさまおつかれさまでした&クックパッドさん機会提供ありがとうございました!


*1:Ustで縦サミ観てたりした http://www.youtube.com/view_play_list?p=2B814A7D88088C52