2014年10月1日水曜日

特定端末でのカメラプレビューの歪みの問題を解消

先の記事の通り、SilentCamについて
特定端末でカメラプレビューに歪みが出ていたのを解消した。

結論から言えば、原因は2つ。
まず一つ目が、
端末画面の横幅と縦幅を取得した際
どの側面を縦横とするかが端末によって違ったという点。
これはGALAXY S IIIで起きていた歪みの原因であった。

SilentCamの検証に使ったスマホ端末8機種の内、
7機種(日本メーカー製)はスマホを持ったそのままの方向で縦横。
残り1機種、GALAXY S IIIはその逆だった。つまり短い側が縦で長いほうが横。

これはGALAXY特別のおかしさかもしれないが、他にそういう端末もあるかも知れず
また、今後タブレットにも対応させるといった時のことも考え、どちらであっても柔軟に対応できるように実装した。


二つ目が、端末のカメラプレビューの対応サイズ。
これはCamera.Parameters..getSupportedPreviewSizes()メソッドにて取得でき、
戻り値はandroid.hardware.Camera.Sizeのインスタンスのリストとなっている。
このリストでは、概ね最初の要素がディスプレイサイズとなっている場合がほとんどで
index0をプレビューサイズをするという所謂ハードコーディングをしていたが
中にはそうではない場合もあったので、
取得した要素を全て検証し最適なものを適用するという実装にした。

以上で、把握してはいたものの修正できていなかったSilentCamの不具合を解消できた。

また今回、色々な端末のデータを取得する必要があったので、
Android端末を持っている方達にご協力いただいた。 その際、こちらで各端末をPCにつないでログを取るといったことができないため
Display Detail Checlerという
前述の事項で言及したような、端末の各値をスマホ側で確認するためのアプリを作成し
これを使ってデータを収集した。

なお、需要があればと思い、Google Playにて公開している。
ディスプレイ詳細取得 D.D.Checker

2014年9月30日火曜日

SilentCamをバージョンアップ

バージョン 2.0での変更点は下記の通り
  • 端末によっては画像の歪みが出ていた為、カメラ部分を刷新し歪みを出さないようにしました。
  • フラッシュが付いている端末では、フラッシュを使えるようにしました。
  • 画像一覧画面でのスクロール時のモッサリ感を改善しました。
  • 撮影画像の並び順を降順(新しいものが上)に変更しました。
また、バージョン2.0は起動できない不具合があっため、後に再度アップデート
現在のバージョンは2.0.1

2014年9月24日水曜日

消音可能カメラ SilentCamが起動できない場合

消音可能カメラ SilentCamバージョン2.0につきまして
Google playにアップロードする際の工程でエラーがあったようで
そのバージョンをインストールされた場合、アプリが起動できないという状況になっていました。

その為再度Google playにアップロードし直し、現在既に反映されています。
バージョン 2.0をインストールされているユーザー様は
大変お手数ですが、バージョン2.0.1へのアップデートをお願い致します。

2014年9月6日土曜日

RecListerをバージョンアップ

バージョンアップの内容は英語対応と、録音データの並び順変更。

録音データの並び順は、一番古いデータが一番上に来ていたものを、最新のデータが一番上に来る形(いわゆる降順)とした。


追記
英語訳の一部修正と、録音データ一覧画面でハードウェアバックキーで『元に戻す』と同じ動作を実装し、9/7に再度アップデートした。
現在のバージョン 2.1.1

2014年8月25日月曜日

Android 2.3 Gingerbread 対応について

先日リリースした TheCompassでは、このプロジェクトとしては初めてAndroid 2.3の端末を動作対象から外した。
理由は、方位針の回転の動き(リアルタイムで回転角を付ける)がAndroid 2.3の環境では容易には作り出せなかったためだ。

踏み込めば再現できそうな感じはあったものの、この開発ではそこまでしなかった。

Android 2.3までを動作対象に含める、と言うのは実のところ開発工数・テスト及びバグフィックスの工数はかなり上がり、体感的にはリリースまでに要する時間は切り捨てた場合と比べ1.5倍に近く膨らむ。


今後の方針としては、基本的に Android4.0未満は動作対象から外すつもりでいる。
もちろん使っている方のいる限り、今後もアプリによっては可能な限り Android 2.3も動作対象させるようにするが、含めることによって開発に負担やボトルネックが生じると思われる場合は、思い切って切り捨てる。


以下のグラフはGoogleが公表している、2014年8月12日までの7日間に集計されたAndroid OSのバージョン別シェアだ。

http://developer.android.com/about/dashboards/index.html#Platform
Android 2.3 Gingerbread のシェアは13.6%となっている。
当プロジェクトで先にリリースした3つアプリはAndroid 2.3も動作対象であるが、インストールされた端末の統計を見てみると実感としてはもっと低い。
Googleのデータは全世界の統計だと思うので、日本では現役で利用されているほとんどの端末が4.0以上になっているのではないかと思う。


バージョンによる癖を把握して低いバージョンでも動作可能なようにプログラミングする、というのは プログラミングを行っている立場で言えば楽しくもある。
しかしながら、限られた人的資源の中でそこに力を入れるのは無駄である。
蓄えたノウハウも、そう遠くない将来無用のものになる。

だとすれば、どんどんと提供される新しい技術に目をやり、それを取り入れた開発にその分の労力を割り当てるというのが私たちの今後の姿勢だ。

2014年8月19日火曜日

方位測定 TheCompassをリリースしました。


方位測定 TheCompass

その名の通り、シンプルな方位測定アプリです。
実際のコンパスと同じようにお使い下さい。


残念ながら、今回初めて
Android 3.0未満の機種を動作対象から外しました。

2014年8月6日水曜日

RecLister バージョン2.0をリリース


お手軽ボイスレコーダー RecLister

前バージョン(1.0)からの変更点は下記の通り
  • lite & premium共通 ― ラベル機能の追加、音声再生途中でのスピーカの切り替え、保護機能追加
  • premium ― ごみ箱機能の追加、メール送信機能の追加

このバージョンアップで盛り込みたかったが、間に合わなかったのが
・英語対応
・視認性を向上させるためのアニメーション
という2項目あり、これについては近いうちに再度バージョンアップを予定