猫の手も借りたい

ソフトウエア開発者の多忙な生活

「いまどこ?」がドコモの基地局を利用した測位手段に対応しました。ドコモのSIMカードを使い、spモード契約者でないと利用できないサービスですが、ドコモユーザーにとってはとてもお得な、第3の測位手段です。ドコモはアプリケーション開発者にこのAPIを公開していて、spモード契約者ならパケット代以外に費用負担のない形で提供しています。これは素晴らしいことだと思います。

実際に「いまどこ?」を対応させて感じたことです。

  • 測位精度はまちまちで、場所によりますが、安定して許容範囲に入ります。Androidが標準で提供しているネットワークによる測位では、WiFiで当たれば(屋内などGPSにとって厳しい環境下で)GPS並の精度が出ますが、外れるととんでもないところにいることになります。WiFiが見つからない場合、3Gの電波を利用するらしいですが、その場合の精度はすごく粗いです。ドコモの基地局を利用した測位だと、当たらずとも遠からず、という位置が得られます。

  • 市街地(人口密集地)だとびっくりするほど精度の高い位置が得られることがありました。

  • ドコモのイマドコサーチ系サービスはきっとこれを使っているのだと思いますが、これをアプリ開発者が利用できるようにしているというのは凄いです。もちろん、ドコモにとってもメリットが大きいことは確かですが、こういうサービスをアプリ開発者に開放するという判断は賞賛に値するでしょう。

  • このサービスを使って測位する際、サーバーにWiFi経由でアクセスすると測位できません。3G経由でアクセスしないといけません。これはAndroidの構造からすると使いにくいです。実質、WiFiがオンだったらオフにしてから測位することになります。ネットワークがWiFiで接続されていても、WiFiをオフにせずに3Gでネットワークを使えるといいのですが、今のAndroidはそういう風にはなっていません。

  • ドコモユーザーで「いまどこ?」を利用されてる方には是非使って欲しい機能です。


 
カレアラが予定時刻に鳴動しないことがある、という問題に関し、利用者の方に協力を頂いて調査しました。昨日問題が再現したとの連絡があり、その方だけから送ってもらっているログを確認したところ次のことが分かりました。

  • クラッシュ系の問題ではありませんでした。特定の端末に偏って見られる、サービスが殺された系の問題でもありませんでした。クラッシュしていないのに、鳴動していませんでした。

  • ログの解析結果から、ソースコードを見直したところ、鳴動時刻に他の処理を優先し、鳴動処理をスキップしてしまう穴があることが分かりました。この穴にはまるかどうかは自動更新間隔の設定とカレンダーの予定のパターンに依存します。


少なくとも謎の現象を起こす1つの問題は対策できました。(今回の問題はこれで根治されることを願っています。)ご協力頂いたユーザー様にはとても感謝しています。問題追跡で助けてもらえなかったら、これはずっと謎のままでした。

 
カレアラ利用者の方から、たまに予定時刻に鳴動しない(カレアラの画面も開かない)という報告があり、その謎の解明のためにカレアラに仕掛けを入れました。その方に協力を頂いて、問題の現象が起きた時にどうなっているのか手がかりを得ようとしています。

カレアラのクラッシュレポートには未解決の困ったことが数パターンあるのですが、その1つがサービスが殺された(と思われる)ことによるものです。特定の端末に偏っているのですが、定常的にそのパターンのレポートが上がります。タスクキラーを疑っているのですが、真実は分かっていません。で、上記の問題ではタスクキラーはアンインストールしていること、鳴動しなかった日時のクラッシュレポートがないことから違う理由かなと思っています。まず、この鳴動しないことがある、という問題を解決したいです。