-->

★つれづれ出張所♪

プログラム開発情報(主にAndroidと組み込み系)を発信していま~す。(*^_^*)

新規WindowsPhoneアプリを4つ一気に公開しましたよ♪

みなさま天気の悪い日いかがお過ごしでしょうか?昨日はレッズも勝ったので天気悪くても気にしないw
そんで、こんな日は家に引きこもってアプリ作りですね!(笑)

と言うことで、アプリ一気に作ったり更新しました。
まず、4つもアプリ一気に公開しました! 気合順{おすすめ}に並んでいます(笑)

①ガソリン給油メモ
icon_FuelMemo
http://windowsphone.com/s?appid=fe23e43a-51b9-496a-817c-0f63a7d0a1b3
※有料ですが、お試し版でもほぼ制限無く使えます

②Lap StopWatch!
icon_LapStopWatch
http://windowsphone.com/s?appid=d47d7925-12ba-4418-bcb1-03465e06262e
※有料ですが、お試しでも制限無く使えます!(すでに外国の方が買っていただけたようです。感謝!)

③いまドコ!?住所
icon_ImaDoko
http://windowsphone.com/s?appid=12e4504a-2565-4ab9-bc20-ece24d385423
※無料です

④漢字時計
icon_KanjiClock
http://windowsphone.com/s?appid=105905e8-3291-4f3f-886b-2f2168606d8c
※無料です

一気に公開したのは、評価デバイス配布プログラムに申し込むためです。(^^ゞ
(規定により詳細は書けませんのであしからず・・・)

いままでの開発した資産(公開、未公開含む)が増えていたのと馴れもあって、期間の割には良いものができたと思っています。ただし「④漢字時計」を除いて・・・w
「④漢字時計」は、他のアプリが初回の審査に落ちて(爆)こればヤバい!と思い急遽作ったものです。一応、端末の回転には対応しておりますが・・・(^_^;)

それから既に公開してあると言うか一番最初に作った「Jリーグ順位表」アプリ。2012年度に対応しています!ただしこちら公開してから気が付いたのですが、強調表示するチーム名選択で選ぶチームが、J2に降格した所がJ1のままでした。。。m(_ _)m
即効で修正したバージョン(Ver 1.3)を申請しているのでしばらくお待ちください。なんかおかしいなとは思っていたんですけどね。J2チームが多くて気が付きませんでした。チーム増やし過ぎですよw

と言うことで、個々のアプリについては別エントリーで記載します。たぶん・・・(^_^;)

やっと分かった♪GPSを扱うための注意点と言うか不具合?

今までに何度か紹介しているGPS Logger-san!アプリですが、ごくまれに起こる不具合があったものの再現性が分からなく「?」な状況でした。ごくまれといっても数時間に一度くらい?なので実用上は問題ないとは思うもののどうしても気になっておりました。

で、クルマで移動しながら、かれこれ数十時間!?やっと実機&デバッガを繋いで問題ポイントを発見することが出来ました!

問題ポイントは、2点ほどあります。。。

■1つめ
以下の様な感じでGPSの設定を行い・・・

void init_gps(){
  gps_watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
  gps_watcher.PositionChanged += new EventHandler>(gps_watcher_PositionChanged);
  gps_watcher.StatusChanged += new EventHandler(gps_watcher_StatusChanged);
  gps_watcher.Start();
}

GPSポジション(緯度、経度)の取得を以下のように行うと思います。

void gps_watcher_PositionChanged(object sender, GeoPositionChangedEventArgs e)
{
  double d0 = e.Position.Location.Latitude;
  double d1 = e.Position.Location.Longitude;
}

この取得時に、ごくまれに緯度、経度の値が NaN で出て来るときがある!
これをこのままのNaNで計算すると例外が発せられるハズです・・・。(←ちょっとうろ覚え)
これは、結構頻発します。感覚として1時間に1度ほど。。。(^_^;)
以下のように調べれば、対策が可能です。
  if( double.IsNaN(d0) ){
    // NaN 対策処理を行う
  }

■2つめ
先ほどの値ですが、これ以外にも予期せぬ値が出るときがあります!
こちらは、数時間(感覚として5~6時間?)に一度ほど・・・w
そして、マップにピンなどを立てるときに良く使用するGeoCoordinate()の引数の範囲を超えてしまいます。
  map1.Center = new GeoCoordinate(d0, d1);
範囲外の値を入れると例外が発せられます!(←今回、長い間不明だったのはコレ!)

怖いですねぇ~。てっきり緯度、経度共にその範囲内でしか出てこないと思っていたのでビックリです(汗
取得した値が正しいか?きちんと調べてから使いましょう。

ちなみに htc mozart での結果です。エミュレータでは出たことはありません。他の端末は、持ってないので知りませんが、AppHubのクラッシュレポートが多いので(涙)多分同じだと思います。


原因が分かったのでGPS Logger-san!アプリを速攻で修正して、すでにアップデート申請を済ませております!
また、こちら↓を拝見すると、、、
  『マップシンプルに見る Location Serviceの使い方』
 http://blogs.msdn.com/b/shintak/archive/2012/03/05/10277518.aspx
デフォルト状態の扱いが違っていました。(なぜ申請が通ったのか不明ですが・・・w)
次に申請したときに落ちるのもイヤなのでデフォルトOFFに直しておきました。

と言うことで、今回は不具合修正が主となるアップデート(Ver1.5)です。m(_ _)m
無事に審査が通れば、土日くらいにはアップデートが開始されると思います♪

PS.
でもこれで完全に直ったか?まだ不安がつきまとう・・・(^_^;)

バージョン管理ツールのすすめ

GPS Logger-san!アプリのテストも兼ねてノートPC積んでクルマで4時間以上はしってきました。
結果は、、、再現せず・・・。今回これだけ、確認して再現しないってことは、ほぼ問題ないと見て良いのかな?
また、遠出をする機械があれば、またチェックしようと思いますが、当面はお預けです。

そして、本題。
プログラムを開発しているときのバックアップって皆さんどうしてますか?
自分は、構成管理ツールと言われるSubversionを使っています。
http://ja.wikipedia.org/wiki/Apache_Subversion
Apacheを入れたLinuxで使えます。
プログラムソースなんか、ほとんどテキストですので大した容量も食わないので、古いPCにLinuxを入れてSubversionを構築できちゃいます。自分は、相当古いファンレスPC(CPUにVIAの800MHz!)にVineLinuxで構築してます。でも、URLに示したWikiでは、コマンドラインツールで面倒そうです・・・。
※クライアントは、そこそこ良いPCが必要です。が、WindowsPhoneの開発していれば良いPC使ってますよね?(^_^;)

でも、問題ありません。便利なツールがあるんです。その名もTortoiseSVN!
http://tortoisesvn.net/
Windowsで使えるGUIツールです。次のURLから32 or 64bitバージョンがダウンロードできて日本語もパッチを当てれば問題なし!
http://tortoisesvn.net/downloads.html
※最初にOS別の本体をインストールしてから、Japanパッチをインストールします。

それで何が便利か?と言うと、ソース等をこのツールでコミットしていくとその時点でのバックアップが簡単に出来るんです。更に過去に遡って差分が取れたり便利機能がいっぱい!

例えば、、、
名称未設定 1
これが自分が今管理しているプログラムの構成(Subversionの中身)です。
※よ~く見ると、まだ未公開アプリのフォルダがあるけど、まだ秘密(作成中?)ですw

沢山のアプリを開発していると、どれがどれだか?覚えるのも大変だと思います。
そこで、各アプリごとにキリの良い段階で、ファイルをコミット(変更追加)していきます。このときに一緒に何を変更したのかも簡単にメモ(記載)します。

また、コミットするファイルも変更されたファイルを自動で探してくれます。
名称未設定 2
このキャプチャでは、MainMenu.xaml.csが変更されているのでリストアップされています。

さらに変更箇所の差分も見れます。
名称未設定 3
これらを確認して、問題なければ最終的にコミットします。
(自分は、とにかく変更したら何も考えずにどんどんコミットしちゃっています)

こうする事により、その時々で過去に遡ってのメモと差分を見比べたりして、時にはなんだこのソース?なんで変えたんだっけ?と思い出せなくても簡単に過去の履歴が分かります。
また、画像等のバイナリデータもどんどんこれに突っ込んでいきます。アイコンや画面キャプチャなどもアプリの申請前に自分は保存しています。あとで、どこ行った!って探すのも便利なんですよ。

特に個人で余暇に開発していて、開発の間が開いてしまうと思い出すのも一苦労かと思います。
最初はLinuxの構築とか大変かもしれませんが、後々身にしみて便利さが分かってくると思います。

ここで書いたこと以上に沢山の便利機能がある『Subversion』 と 『TortoiseSVN』。先人たちが数々の文献をネット上に残してくれているので、検索してみてください。

本来であれば、複数人でのチーム開発をターゲットとしているツール類ですが、個人での使用するメリットも沢山あります。この便利なツールを導入するのをオススメします!

GPS Logger-san!バージョンアップとマーケットのランキングについて?

どうもです。
まず、GPS Logger-san!アプリのバージョンアップ(Ver1.4.0.0)審査が無事通りました♪
(今回は、審査期間が長かった・・・)
プチ機能追加!(消費カロリーでますよ)と細かい不具合修正してあるので、導入している方は更新お願いします。あと寄付して頂いた方は、アプリ内の情報(Abort)ページを見てください。謝礼アプリのダウンロード方法が書いてあります。
※まだ細かい不具合あるみたいです。室内デバッグじゃ再現しないし、外で確認しても数時間に1度位なのでデバッグが大変です。明日クルマで遠出をする予定なのでノートPC繋いでデバッガーでチェックしてみます。その時に再現すれば良いんだけど…。とにかく不具合部分の手がかりが欲しい…(>_<)

で、本題。
先日マーケットのトップセラー一覧をみていたら作ったアプリが上位30位に3つ全てが入っていました!(驚)
top30
でも、実際には購入(寄付)をして頂いている方は、かなり少ないのが現状です・・・。
(この件、twitterでつぶやいたら試用版も含まれている順位だとの事。本当ですかね?導入して頂いている方は、かなり多いので感謝!)

3つ全てのアプリが、試用版でも全機能使えるようにしてあるのが売り?(できたら寄付して頂くと言うスタンス)なので良いのですが、実際のランキングで「無料」と「トップセラー」2つを分けてあるのは、これらアプリが本当にどれほどの方たちに使って頂けているのかが相対的に分からないので、いかがなものか?と思った次第。。。

と言うことで、このランキングの意味はあるのか?と思ってしまいました。(´・ω・`)

ちなみにアプリの課金って、ひとついくらじゃないですか。この方式だと実際には、あと10倍くらいの金額にしないと企業とかじゃやって行けないんじゃないかな?
カラケー(iモードとか)だと、大体が月額課金。使っている期間で、ひと月毎にチャリンチャリンと入金される訳ですよね。半年もすれば相当な金額・・・。でもスマホのアプリは、売り切りでそれ以外の入金はなし。金額も安めですしね。営利目的でやると相当厳しいですよ。これは!(各種個人情報を収集して売っちゃえば儲けが出るのかもしれないけど!?(爆)
よって、使う側も気をつけないと将来的に日本のまともなソフト会社が衰退して、日本語で表示される分かりやすいアプリは、無くなっちゃうかもしれません。

なので、今から英語を勉強しておかないと危険です!w

まぁ、自分みたいな趣味で作っている人がいりゃイイですがね!でも新規で参入する人の割合が減っているんで(若い人の人口が減っているから当たり前!)厳しいかな?
と、半分まじめ?に考えてみたりした今回のつれづれブログでした・・・(^_^;)

追伸:
ふと思った・・・Ψ(`∀´)Ψケケケ
いまのアプリに機能制限を付けまくったらどれ位の人が購入(寄付)してくれるのかなぁ~って!
そんな事は今更しませんけどね♪(^^ゞ

テスト中に見つけた木造橋!

先日から自転車でGPS Logger-san!アプリのテストを行っていますが、その時にこんな橋を見つけました。
CIMG1608
埼玉の田舎?にあるサイクリングロード(ハイキングコース?遊歩道?)からちょっと外れたところに木造橋が!!!(看板には、「冠水橋・木造」って書いてありました)
CIMG1611
珍しくて、3度も往復しました(笑)

自転車で渡ると味があります。多くの人に知って欲しくて動画撮っておきました♪
携帯ホルダーを横にするとハンドルが写ちゃったので、縦で撮りました。見辛いかもしれませんが、雰囲気だけでもどーぞ!



ちなみにhtc mozartの動画モードで撮りました。(^^ゞ
あと、自転車(トランジットセブン)には、前後サスペンションがあるんですが、全然効かなかったですw