2011年10月31日月曜日

Preferenceが存続されない

今一番の悩み。それは・・・

Preferenceが存続されない

つまり、各種設定の保存が初期化されてしまうということです。

原因を色々模索しているのですが、なんとも現状では発見できず。Preferenceへの保存&呼び出しというのは、非常に単純というか簡単なんだと私は思っていました。

しかし、現状だと30分から1時間すると、どうしても設定がリセットされてしまいます。

ここが理解できないところなのですが、一旦保存はされています。アプリをfinish()して、数分程度間をあけて、改めてアプリを起動させても設定は保持されたままです。でも、先ほど述べたように30分~1時間くらい間を空けてしまうと、リセットさえています。

保存されていないというのならわかるし、起動時に何らかの初期化をコード上でしているのであれば、アプリの再起動で初期化されるはずなんだと思っています。

それが、数十分経たないとリセットされない、というのがいかんせん意味不明です。

使用時に毎回設定すれば良いのですが、それも面倒ですよね。なんとか解決したいところです。

久々にハマッてます。

2011年10月25日火曜日

どこまでサポートするべきか?

私の主力アプリASE Rally Monitor100は、内蔵GPSを利用したラリー用アプリケーションです。

この内蔵GPSというのは、端末によって精度がバラバラで、悪いものになると正直ラリーで使うことは非常に避けたいものもあります。

そこで、このARMでは、外部GPS機器を使いたい方に向けて設定項目を追加してあるのですが、この場合は、ARM以外にも端末側の設定やGPS機器を接続するための別アプリの設定も行う必要があります。

そもそも当初は内蔵GPSのみで考えていたのですが、外部GPSを使用したいという声がいくつかあったので、少しでも使いやすくなればということで追加したのですが、正直この先というのはARM以外の問題になってきますので、ここまでフォローする必要があるのだろうか?と悩む今日この頃です。

一般的なPCのソフトウェアを見た場合、数万円するソフトウェアでもソフトウェア自体の相性や対応を完璧にフォローしているものは皆無です。それを考えると、必ずしも100%を目指すことは様々な観点から見てみても現実的ではないのでは?と思い始めてきました。

商品に対する価値というのはそれぞれですが、ちょっと行き詰ってきたので、泣き言をいいたくなってきている今日この頃ですが、ユーザーはありがたいことに?いろいろと課題を与えてくれます。

「まっ、こんなもんだよね、できないよねぇ」

と言われると、悔しくてなんとか今までは来ましたが、そろそろムリポ!と投げ出しそうな気がしはじめています。

最大の弱点がちらほら露呈し始めてきている今日この頃です。

2011年10月17日月曜日

今後の方向性

ARMもなんとなく画期的な新機能というのが行き詰ってきた感じがしてきました。頭ではいろいろ構想や夢は広がりますが、広がるほどに自分の無力さとのギャップにがっかりすることもシバシバ。

で、今後はどのような方向で進めていこうか?と悩む今日この頃です。

1.GPSによる距離表示の精度を上げる

これは、現状ではトンネル処理などがいまいち適当というか、あまり正確ではありません。まあもっともふた昔前くらいのカーナビチックにはなっていますが。

で、この精度を端末に内蔵している各センサーを使って更に向上を目指す。

2.外部ハードウェアを製作or流用してGPS以外からの距離取得を目指す

これは、GPSにそろそろ見切りをつけて、いよいよ車速センサーなどを取り込んで、禁断の領域へ足を踏み入れるというものです。実現すれば、もはやラリーコンピューターとしての弱点は、クリック感以外はなくなるでしょう。というより、その弱点よりもメリットの方が増えそうです。

と、現状ではARMは2つの方向性を見出しています。

2の方が精度は間違いなく上で、2を実現させることは究極のAndroidラリーコンピューターに近づくことができるでしょう。問題は、2の場合、ハードウェアを開発もしくは流用する必要があり、なおかつそれらと通信をする必要があるということです。

ハードウェアについては、実はすでに汎用品として、車両診断コネクターからデータをBluetooth経由で飛ばすドングルが出回っており、先日私も入手してみました。ただ、残念なことに、このドングルは、私が乗っている日産マーチ(AK12)のプロトコルに対応していないようで、まったくデータを拾ってくれませんでした。

テスト車両がテストできない環境ではこれ以上開発を進めることはできません。できないことはないですが、テストのたびに違う車両を用意して・・・・というのは私のライフスタイル的にはちょっと無理があります。今までも毎日乗っているマーチでGPSのテストができたから、一人でもこの時間で開発できたのだと思っています。

では、車速信号をカウントしてBluetoothで飛ばすハードウェアを別途開発しては?となりますよね。

これも考えました。というか今でも捨てきれない選択肢です。ただ、単にプログラムだけではなく、ハードの設計・開発となると、何倍も大変かつリスクがあがります。Androidアプリだけであれば、最悪不具合があっても、アップデートするだけで対応できますが、ハードまで対応となると、正直一人では限界を超えることは間違いありません。

理想として将来にとっておくことは良いかと思いますが、現実これを一般にリリースすることは当面先かな?と。やりたい気持ちはとてもあるので、誰か協力してくれる方がいれば、進められるんですけどね。

ということで、今後は1のGPSを使った精度向上を計ってみようと思います。

これは正直目に見える進化は期待できず、ユーザーの方はあまり気がつかない分野なのですが、気がつかないうちに自然と違和感なく使える。これも結構重要なことだと思うので、できることから進めていくことにします。

ハードやりたいよなぁ・・・・でもコンセプトが・・・・。

2011年10月3日月曜日

アプリの開発に必要なスキルとは?

お前がスキルについて語るか!?と言われそうですが、具体的な技術スキルについては、語るに足らない者なんで、まったくのアプリ開発経験無しな人間がアプリ公開半年を過ぎて感じたことを少々偉そうに語ってみたいと思います。

アプリの開発に必要なスキル。

それは当然ながら、プログラミング言語や開発ツールの操作などのスキルということになるかと思います。これらのスキルの大小で、アプリ自体の出来はかなり左右されます。これについて、私のような素人に毛が生えた人間は語る内容もありませんので、割愛しましょう。

で、次に必要なスキル・・・・というより、上記技術的なスキルより以前に必要なスキルがあると実感しています。それは

アイデア

です。どんなに技術的なスキルを持ち合わせていても、その種となる”アイデア”が生まれてこないことには、物は出来ません。そして、アイデアが生まれたとしても、人に使ってもらえるアイデアでないと、当然ながら魅力的なアプリを作ることもできません。

このアイデアというスキルに関しては、正直勉強したり練習したりして得られるものではないのでは?と常日頃感じています。

アイデアを生むためには、日ごろの生活で

「ここはもっとこういう流れの方が・・・・」

とか、

「こうしたら、違う見方ができるかな?」

などという考え方をしていないと、なかなか面白いアイデアって生まれないんだろうなぁ・・・と。

そして、更に必要なスキルとして、

アフターケア

これが、実は最も大切なスキルのような気がしています。

今回私が提供しているARMに関しては、英語/日本語にて専用のサイトを作って公開しています。なぜこうしたか?というのは色々理由があるのですが、一番は

”アプリについての説明を十分にするため”

です。ARMはラリーコンピューターの代用ということで、一般的なアプリではないこともあり、必ずしも全員がすぐに使いこなせるというものではないと思っています。現在も申し訳ないことに、分かりづらいところが多々あるかと思います。

そんなアプリを少しでも使いこなしていただき、便利なアプリとして愛用していただくためには、アプリ自体に説明書的なものをつけるだけでは絶対的に足りないことは最初からわかっていました。

そこで、専用サイトを作り、尚且つ説明書を英語/日本語それぞれで別途専用にPDFにて作成することで、常に最新状態で情報をお届けしたいという気持ちがあります。

おかげさまで、現在殆どの方にアプリを削除することなくインストールしていただいた状態でおります。具体的な数値は控えますが、ほぼ全員という感じです。

これはユーザーの方の寛大な姿勢と、専用サイトを常に更新することで、”今はダメでもそのうち良くなるだろう”という期待の現れなんだろうと勝手に思っています。

その期待に応えたい!

それも必要なスキルかもしれませんね。

ふとしたことでスタートしたラリーアプリの開発ですが、今では20カ国以上の方々にご利用いただいており、これほどうれしいことはありません。

まだまだ未熟ではありますが、ご要望や指摘事項は小回りの効く開発環境を最大限に生かして対応していきますので、暖かく見守っていただければと思います。