先日リリースした TheCompassでは、このプロジェクトとしては初めてAndroid 2.3の端末を動作対象から外した。
理由は、方位針の回転の動き(リアルタイムで回転角を付ける)がAndroid 2.3の環境では容易には作り出せなかったためだ。
踏み込めば再現できそうな感じはあったものの、この開発ではそこまでしなかった。
Android 2.3までを動作対象に含める、と言うのは実のところ開発工数・テスト及びバグフィックスの工数はかなり上がり、体感的にはリリースまでに要する時間は切り捨てた場合と比べ1.5倍に近く膨らむ。
今後の方針としては、基本的に Android4.0未満は動作対象から外すつもりでいる。
もちろん使っている方のいる限り、今後もアプリによっては可能な限り Android 2.3も動作対象させるようにするが、含めることによって開発に負担やボトルネックが生じると思われる場合は、思い切って切り捨てる。
以下のグラフはGoogleが公表している、2014年8月12日までの7日間に集計されたAndroid OSのバージョン別シェアだ。
Android 2.3 Gingerbread のシェアは13.6%となっている。
当プロジェクトで先にリリースした3つアプリはAndroid 2.3も動作対象であるが、インストールされた端末の統計を見てみると実感としてはもっと低い。
Googleのデータは全世界の統計だと思うので、日本では現役で利用されているほとんどの端末が4.0以上になっているのではないかと思う。
バージョンによる癖を把握して低いバージョンでも動作可能なようにプログラミングする、というのは プログラミングを行っている立場で言えば楽しくもある。
しかしながら、限られた人的資源の中でそこに力を入れるのは無駄である。
蓄えたノウハウも、そう遠くない将来無用のものになる。
だとすれば、どんどんと提供される新しい技術に目をやり、それを取り入れた開発にその分の労力を割り当てるというのが私たちの今後の姿勢だ。
2014年8月25日月曜日
2014年8月19日火曜日
方位測定 TheCompassをリリースしました。
方位測定 TheCompass
その名の通り、シンプルな方位測定アプリです。
実際のコンパスと同じようにお使い下さい。
残念ながら、今回初めて
Android 3.0未満の機種を動作対象から外しました。
2014年8月6日水曜日
RecLister バージョン2.0をリリース

お手軽ボイスレコーダー RecLister
前バージョン(1.0)からの変更点は下記の通り
- lite & premium共通 ― ラベル機能の追加、音声再生途中でのスピーカの切り替え、保護機能追加
- premium ― ごみ箱機能の追加、メール送信機能の追加
このバージョンアップで盛り込みたかったが、間に合わなかったのが
・英語対応
・視認性を向上させるためのアニメーション
という2項目あり、これについては近いうちに再度バージョンアップを予定
2014年7月31日木曜日
消音可能カメラ SilentCamのバグにつきまして
2014年7月15日火曜日
当プロジェクトとしての3作目のアプリをリリース
アプリ名はリリース前に被っていないか下調べをしたつもりだったが、リリース後に同名アプリが存在していることに気付いた。
これに関しては変更しようかと思っている。 GooglePlay DLページ
これに関しては変更しようかと思っている。 GooglePlay DLページ
このアプリに実装した主な機能
・シャッター音調整(着信音量に応じる・マナーモード時消音)
シャッター音は必要な時もあると想定し、完全無音とせず調整可能にした。
・撮影画像の端末内での共有範囲の指定
このアプリで撮った写真を『写真』や『ギャラリー』、あるいは画像編集アプリといった別アプリでも表示するか、このアプリでのみ表示するかを選択できるようにした。
また一度別アプリでも表示する設定にしても、いつでもこのアプリでのみの表示に戻す事が可能
・撮影画像の向き自動判定
一部動作しない機種あり
・撮影画像の向き編集
バージョンアップでの実装予定機能
- 撮影時のフラッシュ
- ビューワーの横向き対応
- 起動時画面を設定にて選択できるようにする(カメラor撮影画像一覧)
2014年6月12日木曜日
Androidアプリの画面遷移時のアニメーションについて
当プロジェクトで開発したアプリTegakiMemoは、
スタック的に見て、ユーザーが今の画面の位置を把握しやすいよう
画面遷移を、iOSアプリの画面遷移に似せて横スライド式とした。
実装にあたっては、AndroidManifestで
Activityごとに画面遷移時のアニメーションを付与した独自テーマを指定する形をとった。
しかし、最終的に解決はしたものの
端末によっては、こちらの意図した動きにはならなかった。
動きに違いが出ていた原因は、以下の2点によるものであった。
1について
Android4.0以上と Android2.3xで同じ指定にも関わらず、動きに違いが出た。
これに関しては、動きに違いが出ているActivityのJavaソースの中で
setThemeメソッドを使い、バージョンによってテーマを振り分けることで解決できた。
━━━ 2014/11/23 追記 ━━━
setThemeメソッドを使い振り分けるにはAndroid2.3x用のテーマを作成する必要があるので、
overridePendingTransition(int enterAnim, int exitAnim)
というActivity遷移時のアニメーションを指定できるメソッドがあるのでその方が楽だった。
使い方はstart()あるいはfinish()の後にメソッドを呼び出す。
━━━━━━━━━━━━━━━
2について
特定端末で、画面遷移アニメーションが 全く生じないというものがあった。
原因はトランジションアニメーションスケールという設定がオフになっていたため。
これについては、実は結構根深い。
どういうことかといえば、
2の問題を見つけるきっかけとなった端末(以下検証端末Dとする)は、新品であったためだ。
その端末は初期設定がトランジションアニメーションスケール設定が【オフ】だということになる。
たぶん一般的なユーザーはこのような設定は触らないだろう。
またAndroid4.0以上ではこの設定は開発者向けオプションの中にある。
ましてやAndroid4.2(だったと思う)からは、初期状態では開発者向けオプションは表示されていない。
いよいよ一般的なユーザーは設定を変更することは無いだろう。
初期状態においてその部分が、
アプリのプログラムに特別な干渉を加えない【1x】ではなく
画面遷移時のアニメーションを無効とする【オフ】になっている端末があるということ
ちなみに検証端末DはAndroidのバージョンが4.2.2であった。
もし、検証端末Dと同じ端末を使っている方が、このアプリをダウンロードして使ってくれたとしても
苦心して実装した画面遷移の動きは、届くことはないと思われる。
全くもって開発者泣かせな事象である。
スタック的に見て、ユーザーが今の画面の位置を把握しやすいよう
画面遷移を、iOSアプリの画面遷移に似せて横スライド式とした。
実装にあたっては、AndroidManifestで
Activityごとに画面遷移時のアニメーションを付与した独自テーマを指定する形をとった。
しかし、最終的に解決はしたものの
端末によっては、こちらの意図した動きにはならなかった。
動きに違いが出ていた原因は、以下の2点によるものであった。
- Androidのバージョン違い
- 端末の設定
1について
Android4.0以上と Android2.3xで同じ指定にも関わらず、動きに違いが出た。
これに関しては、動きに違いが出ているActivityのJavaソースの中で
setThemeメソッドを使い、バージョンによってテーマを振り分けることで解決できた。
━━━ 2014/11/23 追記 ━━━
setThemeメソッドを使い振り分けるにはAndroid2.3x用のテーマを作成する必要があるので、
overridePendingTransition(int enterAnim, int exitAnim)
というActivity遷移時のアニメーションを指定できるメソッドがあるのでその方が楽だった。
使い方はstart()あるいはfinish()の後にメソッドを呼び出す。
━━━━━━━━━━━━━━━
2について
特定端末で、画面遷移アニメーションが 全く生じないというものがあった。
原因はトランジションアニメーションスケールという設定がオフになっていたため。
これについては、実は結構根深い。
どういうことかといえば、
2の問題を見つけるきっかけとなった端末(以下検証端末Dとする)は、新品であったためだ。
その端末は初期設定がトランジションアニメーションスケール設定が【オフ】だということになる。
たぶん一般的なユーザーはこのような設定は触らないだろう。
またAndroid4.0以上ではこの設定は開発者向けオプションの中にある。
ましてやAndroid4.2(だったと思う)からは、初期状態では開発者向けオプションは表示されていない。
いよいよ一般的なユーザーは設定を変更することは無いだろう。
初期状態においてその部分が、
アプリのプログラムに特別な干渉を加えない【1x】ではなく
画面遷移時のアニメーションを無効とする【オフ】になっている端末があるということ
ちなみに検証端末DはAndroidのバージョンが4.2.2であった。
もし、検証端末Dと同じ端末を使っている方が、このアプリをダウンロードして使ってくれたとしても
苦心して実装した画面遷移の動きは、届くことはないと思われる。
全くもって開発者泣かせな事象である。
登録:
投稿 (Atom)