2010/12/31

2010年の振り返り

奇跡的にこのブログが1年以上継続できたので、2010年の振り返りをしてみることにします。

まず個人活動としては、

1月
Twitter bot「@kokucheese_bot」作成。AppEngineをPythonに乗り換える。それなりの多くの人の役に立っているようで嬉しい限り。

3月
JavaScript強化宣言。今後の主要言語として外せません。継続してフォローしていきたいと思っています。

5月
Androidアプリ「ぐぐっと!急上昇ワード」公開。その後も継続してアップデートし、現在約27,000ダウンロード。こちらも多くの人の役に立っているようで嬉しい限り。

7月
スマートフォン向けJavaScriptライブラリ「iUI」を試す。

9月
注目度がとても高いサーバーサイドJSの「Node.js」をさわってみた。

10月
スマートフォン向けJavaScriptライブラリ「JQuery Mobile」を試す。

11月
AIR for Androidで作成したアプリ「Simple Timer」を公開。
アプリ紹介ページ作成。これもAppEngine上に公開。静的ページだけでもAppEngine。

12月
Twitterのタイムラインをタイムシフト視聴するためのWebアプリケーション作成。これもAppEngineを活用。

キーワードを抽出すると、
  • Google App Engine
  • JavaScript
  • Twitter
  • スマートフォン
  • AIR/AS3
ってところでしょうか。

上記以外にも、RailsやSinatraでrubyに触れたり、NoSQLであるMongoDBを触ってみたり、スマートフォン向けサイトでhtml5&CSS3を使い始めてみたりしてます。あと、Titanium MobileでiPhone向けアプリにも挑戦中です。

仕事では、当時在職していた会社で、メイン事業の携帯アプリのデザインと新規開発の携帯アプリのデザインを手掛けたりしました。
また、たくさんの勉強会やセミナーに参加できて、仕事では関われないようなクラウド系、大規模系、インフラ系等の話が聞けたりしたのもかなりの収穫でした。

それと書籍のレビューをお手伝いし、謝辞を戴いたことも初めての経験でした。

今年1年、たくさんの方々のおかげで、小さいながらも公開できるモノを作ってこれました。この場をかりて厚く御礼申し上げます。
私も誰かの役に立てるようにできるだけ情報発信に努めたいと思っております。
そして近いうちに新しいアプリの公開やWebサービスの実現へ繋げていきたいと考えています。

今年も成長曲線を描けたと思います。(一応このブログのタイトルなので…)
そして来年も(成長曲線を描けるように)頑張りまっせ〜

2010/12/11

TwitterとGoogle App Engineの自分用Webアプリケーション

最近タイムラインがリアルタイムで追えなくなってきたり、過去にみたアレのURLが知りたいとかいったときのために、自分のHomeタイムライン(自分とフォローしている人のツイート全部)を保存して、後で閲覧できるようにしたいなぁと思っていた。
とりあえず、タイムラインのデータを取得して、保存するところまでをGoogleAppEngineで作ってcronを回していたら、2ヶ月ぐらいでDataStoreの無料枠1GB一杯になって、止まってしまっていた。

一定期間が過ぎたツイートは順次削除していくことも考えたが、せっかく貯めたデータを消してしまうのはもったいないし、こういった機能が無いから作るわけで、何か良い解決策は無いものかと思っていた。(課金してまで作ろうという発想はなかった)それと、保存したデータをどうやって閲覧するかも問題で、本気でつくると結構な作業になる。

そんなこんなで、しばらく経ったある日、よく他人のツイートを紹介するのに使われる、1ツイートだけの画面を見た時に、ここにもリツイートやら返信やらの機能があって、ツイート1つ1つに対して付与されているステータスIDとユーザ名でURLを特定できることに思い至った時に、コレでかつる!とひらめいた。

つまり、取得したタイムラインのデータを整形して、自分宛にメール送信する。ツイート文と共に上記のURLを記載しておけば、メーラーでタイムラインを追いつつ、必要があればURLからWebに飛んで、リツイート/返信/お気に入り等の機能も使える。なおかつメール形式にすることで、アーカイブと検索機能も手に入る。といったお手軽かつ要件も充分に満たしたWebアプリケーションを思いついた。(ツイートはDataStoreに登録しておき、一定時間毎にをまとめてメール。送信済みフラグの立ったのデータは順次DataStoreから削除)

現在1週間ほど稼働してますが、問題なく動いている。

そしていくつか課題も見えてきた。
1.メール送信にTaskQueueを使う
2.時刻変換の調査
3.メールをもっと見やすく
4.メンテナンス時の対応

1.メール送信にTaskQueueを使う
ここはTaskQueueを使うべきと思ってはいますが、TaskQueueをまだちゃんと理解してないので未実装。追って対応予定

2.時刻変換の調査
文字列から時刻に変換して、日本の時間に変換する。→なぜかエラーになるので調査中
(現状ツイートされた時間を日本時間に変換できていない)
※12/12 dateutilを使うことで対応。これ便利ですね。

3.メールをもっと見やすく
どんなに頑張ってもテキストだと限界がある。HTMLメールにして、読みやすくしたい
※12/12 HTMLメール対応。しかしツイート本文のリンクが…

4.メンテナンス時の対応
自分宛にメッセージ出してもしょうがないので、何の対応もしていないが、どうしますかねぇ

ぼちぼちやっていきますか。