昨日は早めに就寝したので、夜中に目が覚めた。ってわけで、昨日のアプリをブラッシュアップ。別に実用性は皆無なのだけど、そこはお勉強ってわけで。
1. つぶやきをもっと取得する
昨日のアプリでは、@twitter.user_timeline へ引数を与えなかったので、つぶやきを直近の20件しか取得していない。これでは少し少ないので増やしてみる。やり方は簡単で、 @twitter.user_timeline(:count => 200) とするだけだ。Rails なんかでおなじみの引数指定だね。
twitter 0.7.0
http://twitter.rubyforge.org/twitter/
[観] Twitter API 仕様書 (勝手に日本語訳シリーズ)
http://watcher.moe-nifty.com/memo/2007/04/twitter_api.html
これらを参照すれば、他にもいろんな引数をとれることがわかる。残念ながら一度にとれるつぶやきは最大200、しかも過去24時間以内に限られるようだ。
2. Google Chart API でグラフをレンダリング
どうせなら、とビジュアル的に充実させたい気分になったので、グラフを加えてみた。これには Google Chart API が便利だ。URLをビルドして投げれば、PNGイメージとしてグラフを返してくれる。
詳しくは、
Google Chart APIで作るグラフ画像のサンプル – Archiva
http://archiva.jp/web/tool/google_chart_api.html
Google Chart API入門
http://www.ajaxtower.jp/googlechart/
を参考にするといいと思う。前者でイメージをつかんで、詳細を後者で調べるのが近道かな。
Google Chart API へデータを渡すには、数値として渡す方法と、文字へエンコードして渡す拡張データフォーマットという方法の2種類がある[1] 。前者では100以内の数しか渡せないので、後者を使おうかと思ったのだけど、思ったような結果が出なかったので結局前者を利用した。
Twitter のつぶやきは最大140文字なので、それで割って百分率を計算して渡している。データには少数を渡すことも可能だが、あまりに長いとGETできなくなるので適当に丸めたほうがよい。
3. PCでも見やすく
昨日の状態では、Webページの横幅が300px決め打ちになっていた。それだと iPhone では見やすいが、PCからは見えにくい。そこで、幅600px で表示して、iPhone で表示するときだけ半分に縮小することにした。
<meta name="viewport" content="width=device-width; initial-scale=0.5; maximum-scale=1.0; user-scalable=no">
今回で使い方も大分理解した。 Windows Live Writer 用のプラグインがあっても面白いかなーとか思うね。
# 実は Core Server へ設置しようと思ったのだけど、gem install がうまくいかなくて挫折中。なんでだろう。ってことで、自宅サーバーで試してる。運が良ければ、スクリーンショットのURLでアクセスできるが…あまり苛めないでほしいw
- ほんとは3種類だけど (*)
- Newer: ポール・サミュエルソン、死去
- Older: Sinatra + OAuth + Twitter で遊んでみる

