2011年12月28日水曜日

今年の総括

少々早いかもしれませんが、今年の総括を行っておきましょう。

昨年の今頃、Androidアプリの開発に興味を持って、App Inventor というツールにてアプリ開発をスタートしました。

そして年明けから、App Inventor でラリーコンピューターアプリを作る限界を感じたので、本格的にEclipseによる正攻法?のアプリ開発をスタートした2011年。

わずか1ヶ月足らずで無謀にも有料アプリとしてマーケットにリリース。

そしてその2週間後にあの地震・・・。

地震後は、ラリーに出る余裕が無くなってしまったため、アプリケーションの開発を少しずつ行いつつも、7月終わりに家庭の事情により、一旦アプリ開発を中段。

そして8月半ばより開発を再開して現在に至る。

こんな1年でした。

はっきり言ってアプリ開発が中心の1年だったといっても間違いないかと思われます。

リリース当初は出来ることも限られており、機能や操作性も今思うと申し訳ないくらいでした。今でも完璧ではありませんが、その頃に比べるとだいぶ”専用ツール”として成長してきたように思えます。

Androidアプリを開発して一番良かったこと。それは

”世界中のたくさんの方と交流を持つことができた”

有料アプリですから、当然利益が出てうれしいということもありますが、やはりアプリを開発していなければ絶対に接することが無かった方々と交流を持てて、少なからずご期待をいただけたというのは、自分の存在価値を実感できる瞬間でした。

現在、MacBook Airを入手したことから、iphoneアプリの開発に少しだけ手をしつつありますが、出してみて改めて、Androidアプリの開発しやすさというのを実感しています。

当初は、”Androidはレイアウトが千差万別で嫌だ”とか思ってましたが、今はそんなことも大して苦にはならず、逆にイカにマルチレイアウト化するか?ということの方が楽しかったりもします。

開発や導入コストがかからず、誰でも手軽(か?)にスタートすることが出来るAndroidの世界。Appleのガンジガラメな世界とは違うところが魅力かもしれません。

逆にiphone開発からスタートした方は、この辺りはいい加減に感じるらしいですね。どっちから入ったか?が結構あとあとまで影響するのかな?と。

さて、今年はASE Rally Monitor100を有料アプリとしてリリースしました。

Androidの有料アプリは、80%がダウロード数100以下らしいです。で、現在ASE Rally Monitor100のダウンロード数は100以上(いくつかは企業秘密ということで)なので、選ばれた20%以内に入っているということになります。これは結構うれしいですね。

さて、来年はアプリの開発そのものよりも、アプリを利用した様々なサービスの可能性ということを重点に活動してみようと考えています。

先にも書きましたが、アプリ自体の売り上げを期待することは非常に難しいようです。ただし、ラリーモニターのようにコアなターゲットアプリは、思うよりも需要があるということが理解できました。

そこで、企業などが手をつけられないコアなジャンルを狙い撃ちしたアプリ開発というもの、そしてそれらを道具としたサービスを構築していくことがアプリ開発者の将来的可能性だと思うので、そこらへんを意識してみたいと思います。

開発日記的にスタートしたこのブログも、雑記として脈絡が無いブログになっていますが、もしお時間があれば来年もお越しいただければと思います。

以上、1年間ありがとうございました。来年もよろしくお願いいたします。

2011年12月20日火曜日

Graphical Layoutが表示されない。

AndroidをEclipseで開発する際、画面のレイアウトはxmlファイルで作成します。

基本的にコードで構成されるのですが、これを直感的に設計できるように”Graphical Layout”を使うのですが、これが最近表示されなくなってしまいました。その代わりに”設計”っていうタブに切り替わってしまい、これがまったくもって役立たずなんです。

困ったときはGoogle先生ということで、いつもどおり調べてみると、

xmlファイルを右クリックして、”アプリケーションから開く”→”Androidレイアウト・エディター”と選択

とりあえず、これで無事Graphical Layoutが表示されました。

原因はADTのバージョンアップらしいのですが、いつもそうですが、いきなりこうなるのでその都度困るという繰り返しです。もうなれましたけどね。

ということで、着実に成長している我が身です。

一転復活!

さて、先週末は、衝動買いによるMacデビューからAndroid開発環境の構築を行っており、すでにレポしたように、従来開発していたアプリをMacの環境でインポートすると、エラーが出るという状態を改善できず、半ばあきらめてしまいました。

しかし、やっぱりこのままでは悔しいので、もう一度いろいろ調べてみました。

エラーというのは、


@Overrideなんちゃらのエラー

という、結果的にはポピュラーなエラーなんですが、原因は

JAVAコンパイルが1.6になっている必要があるところが、1.5のままだった

というものでした。実は、週末の悪戦苦闘中にもすでにこれが原因というのは容易に掴めていたのですが、ここを直しても解決しなかったので、嫌になっちゃったという次第です。

では、どうして解決したのか?

週末に直したのは、Eclipseの設定だったのですが、アプリのプロジェクト個々の設定が1.5のままだったという次第です。見直したつもりでしたが、1日あけて昨日みたら直っていませんでした。

で、これを直したら、上記エラーは出なくなりました。

本当にこれで解決したかはまだ未定ですが、とりあえずMacでビルドし直して端末にアプリを入れてみたら普通に使えたので、たぶん大丈夫なんだと思います。

ということで、一転して当初の目論見どおり、MacでもAndroid開発を継続できることになりました。

こうなると、スペック的には申し分ないMacBookAirなもんで、Eclipseの動作が非常に軽快になり、うれしい限りです。まったくいい加減なものです、人の心なんて。

この機種はSSDなので、起動や特にスリープからの目覚めがすばやすぎます。Androidタブレットも速いですが、ノートでこの速さだと、非常に快適ですね。

お騒がせしました。


2011年12月19日月曜日

当初の目論見が外れる・・・・。

Macに手を出した一番の理由。それは

「MacでもAndroid開発できるんだったら、触っておきたい」

というものでした。で、昨日・一昨日と開発環境を整えて、今まで作ったアプリを開発しようとインポートすると、Overrideエラーが発生。

ネットで同様事象を調べると、JAVAコンパイルを1.6にすると解決するとありましたが、すでに1.6なんですよねぇ。

原因が不明な現在、Macで今まで作ったアプリをいじることができません。

このまま解決しない場合は、当初目論んでいたものの半分以上がパーになってしまいます。

新しいアプリを作る分にはエラーが出ないため、Windowsで作ったアプリはMacだとこうなるのか?とか、今まで使っていたEclipseは3.6だけど、Macに入れたのが3.7だから、このあたりが要因なのか?とか、思いついたことを一つずつ潰していくしかないですね。

たぶん、途中までWindowsで開発していて、急遽Macにスイッチするという事象は稀なんでしょう。参考になるレポートが見つけられないため、下手したらMacでAndroid計画は座礁してしまうかも・・・。

気分転換にiphoneの開発環境を作ってみるものの、いろいろ制約があって、早くも撤退したくなった週末。

いじる前に売り払って、Windows機を買いなおした方がいいのかなぁ・・・。Windows7をMacに入れるという業もあるらしいが、そうすると更にお金かかるしなぁ。

少し後悔の念が沸いてきていますが、くじけずがんばりましょうか。

2011年12月17日土曜日

Mac始めました

今までAndroidアプリの開発には、

デスクトップ2機
ノート1機

の計3機を使っていました。贅沢っぽく聞こえますが、あちこちで仕事するため、それぞれの環境にあるPCを使っていただけの話です。

これらはWindowsですが、このうちノートはThinkPadX32という、もうかなりの年代機種なもので、最近では動作自体に大分ストレスを感じていました。特に開発につかっているEclipseはストレスを感じていました。もっとも、3年前に中古で格安購入したものですから、もう十分役目を果たしてくれたと思います。

そこで、新しくノートを用意したいと考えていました。

当初はThinkPadEdgeあたりを考えていました。ただ、Windows7になるものの、基本的には大して目新しいものもなく、できることも今までと変わらないというのが少し気になっていました。

そんななか、ふと考え方を変えてみて、

「MacでもAndroid開発できないのか?」

と何を血迷ったか調べてみると、特段問題もないことがわかりました。

そこで、急激にMacを入手してみたくなり、半ば勢いで昨日購入してしまいました。購入したのは


 機種名: MacBook Air
  機種 ID: MacBookAir4,1
  プロセッサ名: Intel Core i5
  プロセッサ速度: 1.6 GHz
  プロセッサの個数: 1
  コアの総数: 2
  二次キャッシュ(コア単位): 256 KB
  三次キャッシュ: 3 MB
  メモリ: 4 GB

某量販店で定価12万ちょいのものを9万ジャストで購入。Windows機だったら、同様のスペックでももう少し安く入手できるのでしょうけど、最大の決定打は、

”AndroidもIphoneアプリも開発できる”

につきます。Andoridはもちろんですが、今回の購入により、環境としてはほぼIphoneアプリ開発ができることになります。

以前から度々”IphoneでもARMが使いたい”というご意見をいただいていたのですが、あとは私の勉強次第でそれも実現するかもしれませんね。

ということで、現在はMacとWindowsの各種違いに悪戦苦闘しながら、乳児から幼児になれるように栄養補給中です。

”デスクトップにショートカットを作る”

これだけのことも、単語の違いからスムーズにできないのは新鮮と言っておきたいと思います。

2011年12月14日水曜日

Androidマーケットにおける端末チェック

ここ数週間で、以下のようなお問い合わせをいただくことがありました。

「ASE Rally Monitorを使いたいと思って、●●という端末を購入したのですが、Androidマーケット上で、おたく(私)のリリースするアプリが一切見つからない。もしくは”利用端末は該当アプリは対象外です”とはじかれる」

というものです。これ、一番困るパターンかもしれません。

というのは、アプリのプログラム等の不具合であれば、原因は全て自分(というわけでもないですが)のため、解決もできるのですが、この問題は一概に自分による原因ばかりではないからです。

この問題でまず最初に考えられる原因というのは、

・OSバージョンの不一致

つまり、アプリ側で最低バージョンをAndroid2.2としている場合、当然Android2.1の端末からはマーケット上でアプリを検索することができません。またインストールすることもできません。これはもっとも単純な原因です。

ただ、今回のお問い合わせについては、これは全く該当しません。ARMは2.1以上をターゲットにしていますが、いずれもこれ以上のバージョンですので。

次に考えられる原因ですが、アプリ側で実装する必須機能を端末側で実装していない。例えばGPSを搭載していない端末。これもはじかれるかもしれませんね。ただ、これも今回については該当せず。いずれもGPSを標準で搭載しています。

あとはスクリーンサイズですか。でもアプリ側ではsmallからxlargeまでカバーしています。

と、ここまではアプリ側の可能性による原因です。

これ以外に、開発側でないと分からないことがあります。それは、

・マーケット側で勝手に利用端末を制限している

というもの。アプリのマニフェストや内容により、自動的に利用端末一覧なるものを設定してしまい、それに記載のない端末は、対象外とする的な機能です。実はこれが原因なんだと個人的に思っています。

というのも、今回問い合わせいただいた端末というのは、

Lenovo IdeaPad A1

これは最近発売された7インチタブレットで、その低価格から魅力的かな?と思っていました。問い合わせいただくまで気づかなかったのですが、その時点ではリストにありませんでした。従ってたぶんアプリが見つからなかったんだと思われます。

で、この記事を書いている現在改めて調べてみると、こんな感じで追加されていました。

A1_07というのがたぶん該当端末です。

ということで、こればかりが要因ではありませんが、こんなことでもアプリがマーケット上で見つからないということにつながるという例でした。





2011年12月5日月曜日

スマートフォンを利用したラリコンの立ち位置


スマートフォン(タブレット)を利用したラリーコンピューターアプリの立ち位置というのが1年かけてみて理解できてきました。

自分なりに理解したことは

・導入の手軽さ→車両への加工が不要かつ、費用的負担も抑えられる。

・単純な操作系→結局のところ、TCラリーに使う方は、”時計”と”トリップ(距離)メーター”があれば良いという意見が多いです。多機能にして操作を複雑化するよりも、単純な操作系の方がより実戦向きなのかもしれません。

・妥協前提だということを前面に出す→外部からの車速信号入力をしない限り、どうしても距離は多かれ少なかれズレを所持します。このことを理解してもらいやすい設計にする必要がありそうです。

こんなことでしょうか?

外部機器を開発して車速信号を入力してみたり、その他いろいろ進化することは可能なのかもしれませんが、そうすると結局のところ利用コストが上昇し、専用の機器を買うことと変わりなくなってしまい、Androidを使うメリットが薄らいでしまいます。

開発当初に自分で言っていたことですが、

”技術の追求とユーザーの使いやすさはになるとは限らない”

これを再度自分に言い聞かせていこうと思います。