2013年1月30日

初めてAndroidアプリを公開して1年経過した

作ったアプリ


1年半ぐらい前にこんな記事を書いて、オセロゲームを作ってみた。
http://blog.makotoishida.com/2011/06/android-1.html 

6月から作り始めて、9月に一応大体の機能が完成。その後アイコンを作ったり細かい改善をしたりして、2011年の12月にGoogle Playストアに公開した。

Google Play
https://play.google.com/store/apps/details?id=com.ishida_it.mireversifree



1年間の有効インストール数の推移


公開してから全く更新せずに1年を経過した頃からアクティブユーザー数に減少傾向が見られた。
ちなみに下段のグラフの水色の線はAndroid 2.3、緑の線はAndroid 4.0以降。
グラフの右端で少し右肩上がりになっているのは、Undo機能を追加する更新をした後。

現在の有効インストール・ユーザー数(インストール後、削除していないユーザーの数)は約7400。総ダウンロード数は2万1200となっている。

細々とした数字ではあるけれど、公開してからほぼ1年間放置状態だったのにしては結構インストールされているのではないかと思う。

やはり誰でも知っているオセロゲームだから、ダウンロードする前に「このゲームは面白そうかどうか」を考える必要が無いというのが大きいのだろうと思う。

とは言えさすがに1年も更新せずにいると、新たにインストールされる数よりもアンインストールされる数の方が上回ってアクティブユーザー数が徐々に減少し始める。Google Playの検索アルゴリズム上なんらかのマイナス評価が加えられるのかも知れない。


Undo機能追加でちょっと持ち直す



2012年の12月になってようやくUndo機能を追加する更新を行った。するとやはり新規インストール数がまた上昇しだした。更新によってユーザーの目に付く機会が多少増えたみたいだ。

この直後、ユーザーさんから「Undo機能を付けてくれてありがとう」というメールをもらったのには驚いた。と同時に単純に嬉しかった。アプリ開発者のモチベーションは案外こういう些細な事で保たれるのではないかとも思った。


せっかくなので大幅にリファクタリング


ただ、Google Playのレビュー欄に「コンピュータが弱い」という評価が多かったので、今年の1月に大幅にリファクタリングを行なって思考ルーチンの高速化と強化をしてみた。

思考ルーチンだけでなく盤面のデータ構造から書き直す様な大変更になったのでなかなか大変だったけれども、何とか先日新しいバージョンを公開する事が出来た。

これでまた新規インストール数が増えてくれればちょっと嬉しい。初めて公開したAndroidアプリという事もあってか、何となくよちよち歩きの我が子を見守る様な気分になってくる。



 
 

2013年1月23日

無料で外国語を学べるDuolingoに感動!

今週の中島聡さんのメルマガで紹介されていたこの動画を観た。
Luis von Ahn: Massive-scale online collaboration | Video on TED.com

Webで自動投稿を防ぐための認証に使われる「CAPTCHA」を発明したLuis von Ahnさんのスピーチだ。

CAPTCHAを改良したRECAPTCHAでは多数の人間の画像認識力を集めて古い書籍などのデジタル化に役立てているとの事。

このアイデアをさらに進めて言語教育に応用したのが、「Duolingo」という言語学習サービス。


早速登録して試してみた。今のところスペイン語、ドイツ語、フランス語、ポルトガル語、イタリア語の5ヶ国語のみの様だけれど、ぜひアジアの言語も増やして欲しいところだ。



個々の生徒が学習している間に行った翻訳作業が、実はDuolingoのサーバーで集約されて巨大な知識ベースに格納され、実際に翻訳が必要な所で活用される、というイメージだろうか。

つくづくすごい事を考える人が居るものだと感心させられてしまった。




2012年12月29日

来年こそはしっかりモノにしたい6つの技術スキル

1. Node.js


今注目のサーバーサイドJavaScript実行環境。

Windows Azure上でも簡単にホスティング出来るみたいなのでぜひ何か作りたい。

リアルタイムな何か。最初の題材としては対戦型のゲームとかが面白そう。


この本をちらちら見ながらワクワクしている。



2. クライアントサイド MVC



この本は一応読むことは読んだ。でもまだ実践ではクライアントサイドMVCを使う機会がない。

ASP.NET界隈では Knockout.js の人気が高まっているみたいだ。

個人的にはGoogle発の AngularJS に最も興味がある。DotInstallでのレッスンには興奮した。



3. CSS3/LESS/SCSSなど


CSS3はそろそろ機が熟して来たのかなと感じている。

CSSだけで時計やゲームの様な動きを見事に実現してしまう例を見せてくれた http://www.adventar.org/calendars/2 を眺めて、今さらながら驚かされた。

大規模なプロジェクトになると効率アップのために LESS か SCSS はやはり必要になるだろうなと思う。

LESSとSCSSのどちらを使った方が良いか、というのは迷う所だけれども、LESSの方が明らかに名前で得をしていると思う。子音だけのSCSSよりもLESSの方が発音しやすいし、語感が明るい気がする。名前付けは重要だなあ、と。


4. テスト駆動開発


最近は意識的に単体テストを書く頻度を上げて「テスト駆動」に近づく様にしている。そのおかげでリファクタリング/デバッグのスピードが着実に向上しつつあるのを実感している。

下の2冊はまだ読んでいる途中だけど、しっかりとモノにしたいスキルだ。





5. Titanium Mobileによるスマートフォンアプリ開発


Eclipse+Javaを使ってAndroidアプリを個人的に開発するという事は1年半以上前からやっている。JavaやAndroidの勉強をしながら、少しずつ自分で作ったものが形になって行くのはとても楽しい。

ただ、この方法だとXcode+Objective CでのiOSアプリの開発まではいつまで経ってもたどり着けそうにない。趣味的に続けて行くには、単純に時間が足りなすぎるのだ。

そこで何らかのクロスプラットフォームなツールを使う必要性を強く感じている。

ゲームなら多分 UnityCorona と言ったあたりが良さそうだけれども、ツール系のアプリだと Titanium Mobile が一番良さそうかなと思っている。


この本はかなり前に買ったのだけれど、忙しくてまだじっくり読めていない。

来年はAndroidだけでなくぜひiOSアプリの開発にもチャレンジしたい。


6. TypeScript


CoffeeScript ももちろんいいのだけれど、Windows 8アプリの開発などを視野に入れると TypeScript の方に注目したい。

JavaScriptを書くならTypeScriptを使え! - 部屋とボードゲームと私と酒と泪と男と女
Visual Studio 2012を使ってTypeScriptのサンプルを動かしてみたところ、確かにこれなら気軽に入っていけそうだ。もしかしたら来年の今頃は「TypeScript無しでの開発なんて考えられない」っていうぐらいになっているのかも知れない。



来年こそは!


以上、来年こそはしっかりとモノにしたい6つの技術スキルを挙げてみた。

ホントは今年中にやっておきたかったのだけれど、来年の自分に向けて書いておく。