2011年9月29日木曜日

時刻の補正に悩む

現在、GPSによる時刻の補正機能の精度向上を目指して無い知恵絞って試行錯誤しています。

今までは、GPSに頼らず、あくまでも手動で基準時計との差を入力することで補正していました。これがラリーにおいては一番確実な方法です。

その際には、あらかじめ端末による時刻の自動同期機能をOFFにしておく必要があります。というのも、ある段階で5秒の差があって、それを補正しても、端末側で自動同期されると、差が5秒で無くなってしまうことが多々あるためです。

で、今回GPSによる時刻同期を追加したのですが、今度は端末の時刻同期がOFFになっていると、アプリ側でGPSを使った同期ができなくなりました。

考えた結果として、端末側で時刻の自動更新がOFFになっていると、端末内蔵のGPSが時刻を取得しないのではないか?ということです。つまり、時刻に関してはGPSがOFFになっている状態と同じような状態になってしまうということです。

ということで、GPSによる時刻同期をしたい場合は、あらかじめ端末の自動同期をONにして、マニュアルの場合は逆にOFFにする必要があるということが分かりました。

これらを全てのユーザーが理解していただくことは非常に困難かもしれません。アプリ側で、GPSによる同期のON/OFFにより端末側を設定できるようにできれば良いのですが、果たしてそれができるのか?

また新たな課題です。

2011年9月24日土曜日

デベロッパーコンソールがまたおかしなことに・・・

Androidマーケットにアプリを公開するのが

デベロッパーコンソール

です。

前にも書きましたが、ここでは、トータルでどれだけダウンロードされて、今どれだけ生き残っているか?という”有効なインストール数”というのを確認することができます。

以前に”更新のタイムラグがある”と書き、これは未だに直ることはないのですが、それに加えてここ数日、新たな現象が発生してきました。

インストール数:トータルでダウンロードされた数
有効なインストール数:アンインストールされていないで、生き残っている数

なはずで、理論上は

インストール数>有効なインストール数

なはずですよね?それが、ありがたいことにコンスタントにご新規様にご利用いただけているため、数が増えているのですが、ここ数日にあり

インストール数有効なインストール数

になっています。しかも1割近くも”有効な・・・”が上回る始末。つまり、トータルなはずのインストール数だけが更新されていないのです。

これだけならあまり気にしないのですが、インストール数というのは、マーケット上でユーザーがアプリを探す際に、そのアプリがどれだけインストールされているか?を表示するための元になるデータです。

で、今私のASE Rally Monitorが、ある大台の直前まで来たまま上記の通り更新がとまっているために大台に乗れずに足踏み状態になってしまっています。更新されれば間違いなく大台に乗るはずです。

これが実は重要な要素で、マーケット上に表示されるインストール数は

1~10

10~50

50~100

100~500

・・・・

などと、ある程度の間隔で区分けされます(区分け数値は適当です)。例えば999インストールの場合は”500~1000”と表示されますが、1001インストールの場合は、”1000~5000”と表示されます。

アプリをインストールする際、特に有料アプリの場合は、決断する基準として、この”インストール数”を少なからず参考にする方もおられるかと思います。自分が買おうとしているアプリが、10件しか過去にインストールされていなければ正直不安ですし、10000件も有料アプリとしてインストールされていてれば、とりあえず良く分からないけど少し安心するのでないでしょうか?

もちろん評価などの方が参考になるでしょうけど、この数値も開発側は軽視できないと思っています。


長くなりましたが、私もあとちょっとで大台に乗れて次のステージ区分に進めるので、早いところ更新してほしいものです。




2011年9月21日水曜日

広告表示について

最近のアプリケーションには結構広告が表示されるものが増えているかと思います。

私もアプリケーションを有料で公開しており、ありがたいことに沢山の方にご利用いただけています。また、無料アプリもいくつか提供しており、それらも沢山の方にご利用いただけていることはありがたい話であります。

そんな中ですが、今後の自身の勉強とモチベーション維持のために、無料アプリのいくつかに広告を入れてみることにしました。

やり方は・・・・・説明するほどの技量がないものでGoogle先生に聞いてください。

最初は”AdMob”というのを利用していましたが、これは国内ではいまいち弱いため、”Adlantis”という方に切り替えてみました。

なぜこちらを選択したか?というと、私が個人的に利用しているいくつかのアプリに表示される広告が、皆この”Adlantis”という記載があったから・・・・それだけです。

ということで、Adlantisでどれくらい収益が上がるのか?を今後見てみたいと思います。

有料アプリは色々大変なので、無料アプリ+広告でモチベーションを維持したいと思う今日この頃です。

2011年9月20日火曜日

App Inventor 年内で一旦終了

Googleから提供されていたAndroidアプリをJAVA知識無しでも作ることができるツール

App Inventor

が、年内でGoogleからの提供が終了されることが先月発表されました。

思い起こせば、私がAndroidアプリ開発をスタートしたきっかけは、まさにこのApp Inventorを偶々ネットで見つけて、

「これなら自分でもできそうだ・・・」

と思ったのが全てでした。

今もそうですが、その頃はもっと知識が皆無だったため、App Inventorの扱い方からアプリの公開まで非常に頭を悩ませながら一歩一歩進んでいました。

その頃の開発中の画面はこんな感じです。


わずか10ヶ月前の話ですが、非常に懐かしい画面です。画面も今のARMの礎といった感じですね。

このツールがあったからこそ今に至る勢いをつけることができたわけで、非常に感謝すると共に、
惜しい感じもします。

ただ、Googleからの提供は終わりますが、某教育機関が受け継ぐらしいので、今後ともAndroidアプリの開発入門ツールとしてより進化することでしょう。

もし身の回りの開発が一段落したら、またApp Inventorを弄ってみようかな?と思います。

2011年9月19日月曜日

地域限定アプリの可能性

たまには違うことがしたくなり、ラリーとはまったく関係ないアプリを作り始めてみました。


つくば市内は地域を4分割してゴミだしの曜日が決定されています。通常、各家庭に上記のようなカレンダーが配布され、市のホームページからもダウンロードできますので、特に不自由はないのかもしれません。

でも、ちょっとした時、例えば外出先にて「あれ?明日って何の日だっけ」とか思うことが少なからずあるかもしれません。

そんなときに、スマートフォンを持っていれば簡単に分かりやすく確認できる。そんな狙いで作ってみました。

機能はホントに単純です。

まずカレンダー画像を取得します。これが一番面倒です。当初は、今日は第何曜日かを取得し、計算上からテキストで表示しようと思いました。その方が楽そうだったためです。

ただ、何か間違いがあると面倒なので、結局は市のホームページの画像を表示することにしました。やり方は企業秘密ということで・・・・・・という大したものでもないですが、面倒なので。

で、Spinnerで地区を選択し、今日の”月”と組み合わせて表示させる。ただそれだけです。

まあ、月の最後とかでは来月のカレンダーも見たいかな?ということで、前月・翌月ボタンを追加。最初は地区とかもPreferenceで設定しようと思いましたが、より使いやすいUIと思った時には、もうこの程度が逆に良いかな?ということで、現在の所は設定はありません。

今後は、このように地区限定アプリをいくつか使い、つくば市アプリ群みたいなものを作ってみようかな?と思う今日この頃です。

ラリーアプリについては、ASE Rally Monitor100をより充実させることに集中し、気分転換にこうしたものを摘んでみる。

そんなスタイルで当面は行こうかな?と考えております。

もはや何屋だか分からないですね。まったくこの業界とは関係ない仕事をしております・・・。

2011年9月15日木曜日

画面の明るさ調整

タブレットを車内でラリーコンピューターとして使用するにあたり、最も気をつけるべきことの一つが、

視認性

ということになります。

ARMでは、画面の配色を2種類設定することで、ある程度はこの辺りの対策をしてきました。配色以外について、Androidでは、OSの設定で画面の明るさを調整できるので、今までは特段気にはしていませんでした。

で、昨日タブレットを夜にテストしてみた際、スマートフォンでは気にならなかったのですが、タブレットの場合は、画面の配色に加えて明るさも調整できた方が良いことに気がつきました。

そりゃそうです。画面サイズが大きくなった分、発光量も増えるわけで、標準状態では眩しいのも当然です。

そこで、せっかくならと、簡単に調整できるようにスクリーン上に”SeekBar”を追加して、随時調整できるようにしてみました。


右上にあるバーが明るさ調整で、画像はシンプル画面ですが、メイン画面上にも同様に設定しています。

設定の際に気をつけること・・・・というか、少々ハマッたことがいくつかありますので、ご報告。

1.端末の照度設定を”自動”にしていると、SeekBarに照度を設定した際、全幅にて調整できない。

 これは、今まで自分の端末が自動調整になっていたのですが、そのまま開発していたら、どうやってもSeekBar全幅に対して調整幅が設定されず、ものすごく狭い幅でのみ有効になってしまいました。ということで、注意が必要です。

2.調整幅の下限を10%くらい残しておく。

 これは、通常明るさの数値幅が0.0~1.0(上限)で設定できるのですが、下限の0.0で設定すると、画面そのものが真っ黒になると同時に、フォーカスが効かなくなり、アプリに戻ることができなくなります。そこで、10%くらい残すようにして、それ以下にならないようにしてあげる必要があります。

ということで、照度調整機能追加完了です。

2011年9月14日水曜日

Bluetooth GPS と Bluetooth GPS provider

まず、タイトルの2つ。これは紛らわしいですが、それぞれ別のアプリケーションの名前です。

共に、外部GPSをBluetooth接続から内部GPSに置き換えるというアプリケーションで、ASE Rally Monitor でもこれらを使うと、より精度が高い使用をすることが可能となります。

Bluetooth GPS providerは、従来私の方でお勧めしていたアプリでした。ASE Rally Monitorは、つい最近までは時刻はマニュアル補正のみを使用する方式を採用していました。これは各国の標準時刻の精度に差があることと、結局のところラリーの場合は、主催者が提供する公式時計が基準になるというもののためです。

しかし、少しずつ開発を進めていくうちに、やはりせっかくGPSを使用しているのであれば、GPSの時刻から自動で補正した方が楽では?と思い始め、先日GPSによる時刻補正機能を追加しました。

そこで判明したのが、先に出ていた”Bluetooth GPS provider”の時計は6~10秒程度ズレてデータを吸い出してしまうようで、どうしてもGPS時刻補正をすると時計があいません。

そこで、他に同様のアプリが無いか?といろいろ探してみつけたのが、タイトルのあるもう一方の

”Bluetooth GPS”

というアプリです。紛らわしいですね。

で、このアプリを机上でテストしてみたところ、時計はバッチリ!GPSロガーどおりの時刻を表示してくれました。これはもう推奨をこちらにする必要あり!!と焦って報告をしてしまいました。

そして、いざ実走テストをしてみると・・・・・

”更新レートが1HZ・・・”

このアプリの何を設定しても、私にはこれを切り替えることはできません。アプリ自体のステータスビューでは、GPSロガーの設定である4Hzで取得しているようですが、吐き出しが1Hzになっているようです。

結局私にはこれを変える設定を見つけ出すことができず、再度HPやマニュアルの記載を変更。

Bluetooth GPS provider
→GPSロガーどおりのレートで更新排出するものの、時刻がおかしい・・・。

Bluetooth GPS
→時刻は正しいものの、更新レートが1Hzのみ排出・・・・。

誰か上記を両立させたアプリ知りませんか?・・・て、本当は自分で作るなり、ASE Rally Monitorに組み込むなりすればよいのでしょうけど、いかんせん技術不足なもので、ご迷惑をおかけいたしまくりです。

<外部GPSを使用する場合のとりあえずの結論>

Bluetooth GPS providerを使用して、ARMの時刻設定方法を”マニュアル補正”にして使用する。その際に端末の時刻自動更新をOFFにしておく。

これが完璧かと。

なんか悔しいです。

2011年9月13日火曜日

外部GPSロガーを接続するアプリ

これまで、ASE Rally Monitorを外部GPSと一緒に利用する際には、「Bluetooth GPS provider」というアプリケーションをお勧めしていました。

ところが、ARM100にGPSによる時刻自動補正機能を追加した後に判明したのですが、このアプリはGPSの時刻を正しく横取りしてくれないようで、どうしても6秒くらいずれてしまいます。

いろいろ試しましたが、他人様のアプリなので、これ以上は追及することはやめ、時刻を正しく取得してくれるアプリを別に探すことにしました。

現状ではこれがお勧めかな?と思われます。

Bluetooth GPS
https://market.android.com/details?id=googoo.android.btgps&feature=related_apps&rdid=googoo.android.btgps&rdot=1&pli=1

なんだか似たような名前ですが、とりあえずGPSViewに表示された時刻と端末で表示する時刻はほぼ一緒なので、問題ないレベルのようです。

しばらくはこれに切り替えることをお勧めしながら、最終的には私自信がBluetoothを勉強する必要がありそうですね。

Bluetoothはよくわからん・・・・です。

2011年9月6日火曜日

Optimus Pad L06CのGPS

最近、Optimus Pad を車載してテストをするケースが増えてきましたが、ここで気になったのが、この端末のGPS捕捉精度です。

それまでは、SHARPのSH-03Cのみで実機テストをしており、このSH-03Cは比較的安定してGPSを捕捉してくれます。で、巷では銀河系などはGPS精度が悪いなどとレポートされており、そんなもんかぁ~と他所事で考えていましたが、Optimus Padをテストするようになって、ようやくスマートフォン・タブレッドのGPS精度を実感しました。

SH-03Cは、無障害の屋外ですと、長くても1分程度でGPSをキャッチしてくれます(端末により違うかもしれませんが)が、Optimus PadはGPSを最初にキャッチするまでに5分くらいかかります。シチュエーションにより異なるかもしれませんが、今のところ安定して?5分くらいかかります。そして、キャッチしたあとも、安定(Accuracyで5以下)するまでにやたら時間がかかったり、途中で突然ロストしてしまったりすることも珍しくありません。

今のところ、この2台のみ実機テスト済みなので、他の端末ではもっとひどいかもしれませんが、少なくとも、Optimus PadでGPSを使用する際は、その辺りを十分意識する必要がありそうです。できれば外部GPSをBluetooth接続してそちらを使う方が格段に利用しやすくなるかと思います。


2011年9月5日月曜日

準備と開始のブレークポイント

Androidアプリを公開し始めて半年が経ちました。

最初は思いつきで手を出してしまったアプリ開発ですが、進めていくうちに、少しずつではありますが、自分にできることが増えていくのが楽しいと思える今日この頃。

それに伴い、いろいろ悩みが出てくることがしばしばあります。それは

「もっとこういうレイアウトにしておけばよかった」

「こういう操作系の方が機能的だった」

などなど。

なにしろ、思いつき人間で行き当たりばったりなもので、思い立つと設計図も何も描かないまま、頭の中だけでスタートしてしまいます。当然その時点で予測されるものは組み込んでいくのですが、スタート段階で自分にできないことは組み込めません・・・・というか頭に浮かびません。

でも、進めていくうちに、あることができるようになると、そこから枝分かれして、いろんな方向が見えてきたりします。その際に今までの仕様で対応できる場合とできない場合があり、対応できない場合により面白い方向があったりします。

では、そこまでできるようになるまで開発を進めない方が良いのか?というと、タダでさえ自分は素人で出来ることも限られているわけで、技術が追いつくまで待っていると、あっという間に出来る方に先を越されてしまいます。できない人間はがんばって出来るようになったところで、既に出来る人には届かないというのは当然です。

ある程度はできないと進めないですが、ある程度まできたら待っていないで進んでしまう。

このラインの見極めが難しいなぁといつも感じながら物事を進めています。

と、ちょっと心情的なお話でした。

2011年9月1日木曜日

Optimus Pad L06C用USB充電ケーブル

Optimus Padユーザーの悩みの一つとして皆が少なからず残念に思うのが、

「充電ケーブル」

かと思います。私も例に漏れず、どうしたものか?と悩んでおりました。

なぜ悩むか?といいますと、通常のスマートフォンなどは、MicroUSB接続で充電ができます。これは、家庭用100VコンセントからACアダプタを利用しても可能ですし、PCなどのUSBと接続しても充電することができます。端末側がMicroUSBなので、最終的にそこに導いてやればよいのです。

それに対してOptimus Padはというと、端末にデータ通信用としてMicroUSBジャックがあるのですが、ここに接続しても充電はされません。厳密にはほんの少しずつはされるようですが、あくまでもデータ通信をして余ったカスみないなものが流れるようです。実際、端末自体も充電状態にはなりません。

では充電はどうするのか?というと、専用のACアダプタが付属してまして、これを端末のジャックに指して100Vから充電します。そしてこのジャックがものすごく小さく細い仕様で、汎用品というのが皆無に等しいという感じです。

通常、自宅内で使用する分にはこれでよいのですが、私の場合、車載での利用がかなり高く、GPSを使用する機会も多いため、いくらバッテリーに余裕があるといっても、GPSを連続使用するとさすがに半日は持ちません。

そこで、車の12Vから電源を取れる方法を考えていましたが、いかんせん最終的にプラグが特殊なためなやんでおりました。

そんな折、以下のようなものを発見。
USBと充電ジャックを接続するケーブルです。

価格も送料・代引手数料全て込みで1000を切る価格と、手ごろだったため、早速注文。翌日には到着しました。

Optimus Padの電源は5V2Aとなっていますが、通常PCのUSB出力は5V500mA程度。そして、一般的に販売されているシガーライターから取得するUSB電源アダプタも5V500mA程度です。

そこで、実験ということで、PCのUSBにケーブルを接続して、端末に接続してみました。

結果、しっかり充電モードになりましたので、まずは充電状態には成れたようです。

充電時間については、現在実験中ですが、大体

20分で8%上昇

といった感じ。明らかに充電は進んでいるようです。電流が1/4程度ですから、通常よりも充電には時間がかかるのは当然ですが、それでも上記の感じから、満充電には4時間半程度で完了しそうです。

当初は2Aアダプタを別途ようして、車載時にはそこから電源を取得することも考えましたが、この分なら安い500mA程度のアダプタで十分のようです。

使用するシチュエーションとしても基本的に車載時には常時接続することになりますから、

”減らなきゃいい”

自分にとっては、このケーブルはぜひお勧めできる一品です。

車載利用メインの方は一本いかが?