2年ちょっとを振り返って

2009/10/17にver.1.0.0をリリースして以来、2年ちょっとの期間で94回のリリースを行ったSmartTraining。ver.6.8.1。たぶん、今年はこれが最後のリリースになると思うので、まとめてこれまでのことを振り返ってみます。去年は振り返ってなかったので今回2年分まとめて。

ver.1.0.0(2009/10/17)のスクリーンキャプチャ。
トップ画面(ver.1.0.0)

計測画面(ver.1.0.0)
設定画面(ver.1.0.0)
とにかく、「入門書読みながら初めて作りました」的な雰囲気が満載ですね。元々、Androidで動く万歩計が欲しかったのと、GPSデータの取り扱いの練習用に作ってみようということで作り始めたアプリでした。最初はServiceの使い方も手探り(つい最近のバージョンでようやく正しい使い方を知ったのですが)で、画面を閉じると計測も止まってしまう作りでした。ボタンや画面テーマも標準のものをそのまま使った貧相なもの。アイコンの作り方を知らなかったので、画面上に画像リソースは皆無。ただ、画面は殺風景ですが、基本的な画面遷移や構成は今と変わっていません。MapViewによる地図表示とGoogle Calendarにデータを保存するという機能が最初からありました。
確か、最初に作ろうと思ってから初期バージョンをリリースするまで3ヶ月ほどかかったと記憶しています。たぶん、今これと同じ機能を作ったら1日あれば余裕で作れます。というか、コードを書くことより、どういう画面遷移にしたら使いやすいか?、どういう機能があったら楽しいか?という点を考えることに時間を多く割いていました。あと、たった一個のアプリケーションアイコンがどうしても作れなくて結局嫁さんに作ってもらいました。
江川さんの「Google Androidプログラミング入門」片手にひたすら真似するところからスタート。この本には本当にお世話になりました。

そしてVer.6.8.1(2011/12/30)のスクリーンキャプチャ。
トップ画面(ver.6.8.1)

計測画面(ver6.8.1)

設定画面(ver.6.8.1)

ラリー画面(ver6.8.1)
だいぶ賑やかになりました。アプリを作っていて途中で気づいたのですが、GPS万歩計アプリはいろいろな技術要素の練習台としてはとても良い題材だったと思います。
・位置情報やMapViewの取り扱い
・方位センサーと連動して回転する地図
・Serviceによるバックグラウンド処理
・タイマー、AlarmManagerの利用
・Notificationによる音声・振動・画面通知
・AccountManagerやGoogle Data APIs(Calendar、Fusion tables、Docs)との連携
・AWSとの連携
・他アプリ(特にTwitter)との連携
・Felica連携(串かつ経由)
・Mixi voiceやFacebookなどのSNSとの連携
・音声合成サービスとの連携
・加速度、方位センサーの利用
・ANT+対応の外部センサーの利用
・カスタムViewによるグラフ描画
・QuickAction
・LibAndroTranslationによる翻訳サービス
・画面テーマ
・有料アプリ
・広告

本質的に不要なものもあるかもしれませんが、自分としてはそんなことはどうでもよくて、全てのモチベーションは「その機能を使ってみたいから取り込んでみる」でした。結果、全体的にちぐはぐになったと思います。行き当たりばったりで追加した機能ばかりなので当然です。練習用に作ったアプリなのでそれで問題ありません。

中でもラリー機能は、特に思い出深い機能です。子どもがもうすぐ産まれる、というタイミングでこの機能を思いついて、ラリーのコースデータを作っている途中で産まれました。車で1時間以上かかる病院に毎日のように通ってから帰ってきてからデータを夜中まで作る、という繰り返しでした。眠い中ひたすらGoogle Earthの画面上をクリックしてコースデータをチマチマ作っていて肘が痛かったことを覚えています。

たぶん、アプリを作って公開されている方は皆さん感じていると思いますが、ユーザさんからのフィードバックが最も大きな収穫物だったと思います。時にはけちょんけちょんに叩かれることもありますが、現実世界でそこまでダメ出しされる機会というのはそうそうありません。ダメなところは時間をかけて真摯に改善していくことで必ず良い評価を得られると感じています。

それと、いったん世間に公開してユーザさんがつくと、そのアプリは開発者個人のものだけではなく、ユーザさんのもの、という扱いをされることも認識しました。ユーザが望まないことは開発者といえども自由にはならないのだと。

私の場合、Androidアプリを作成する作業に割り当てることのできる時間は、仕事を終えて、家に帰ってきて、家の事柄全てを終えた後のほんの僅かな自由時間だけです。たぶん1日平均30分もないと思います。本職ではあまりコードを書く機会はなく、見積もり、営業への同行、PLなどが主な仕事です。コードを書いていないとだんだんと見積もりの精度や技術的な難易度に対する勘が鈍くなり、自信を持って捌けなくなる場面が多いと感じています。アプリを作り始めてから、少なくともAndroid関連の案件であれば(判断が正しいかどうかはともかく)自信を持って捌けるようになったと思います。

まだまだやりたい事がたくさん溜まっています。現在のところ30項目ほどあります。十分時間が取れないのでなかなか消化できません。それどころか、どんどん増えていきます。

2011年の1年間に限っていうと、年間の目標としては、
1.ダウンロード数:25万
2.女子ウケ
3.日本以外でのユーザを増やす
でした。
1.については目標まであと8000というところまで来ましたが、残念ながら達成できそうにありません。2.はピンクの画面を作ってみましたということで頑張ってみました。達成できたかどうかは指標がないのでわかりませんが、某電話会社の女性向けスマホキャンペーン用パンフレットに何度も掲載していただいたので、広告制作側の方からは一応認識していただいたのではないかと勝手に思っています。3.については完全に失敗でした。たぶん、海外には日本国内よりも優れたサービスがあるからだろうと思っています。

2012年の目標としては、
・データのクラウドへの移行
です。単に自分がやった事が無いからやってみたいと、それだけのことです。実現したらかなり便利になると思いますが、そんなことはどうでもいいです。

ところで、元々このアプリは自分で使うために作り始めたのですが、実はもう自分はデバッグ以外では使っていません。元々陸上部で短距離をやっていたので長距離は性に合わないのです。

そんなわけで、今後もチマチマ作り続けていくつもりです。飽きたら他のネタやります。


コメント

このブログの人気の投稿

Joinノードを使う(その1)

Execノードを使う

Joinノードを使う(その4)