2012年3月16日

【Android】SHARP Android開発者テクニカルセッション #SH_DEV (12/3/15)まとめ

行って来ました。SHARP Android開発テクニカルセッション。
https://sh-dev.sharp.co.jp/release/20120227_b.html

前半はSHARP製Androidの説明。
後半は実機検証という形のセッションでした。

前半部分のざっくりとした解説と感想を少し。

SHARPさん、読まれる場合は批判も混ざってますが、
コンテンツプロバイダとしての感想ですので、
受け止めていただきたいです。

1.商品説明

ほぼ持ってました。
SH-06Dあり、NOTTV対応型だったので、
NOTTVを見たいと思いましたが、
サービス始まってない?ので残念。
SoftBank AQUOS PHONE 104SHは国内でいち早くAndroid4.0対応。
デバッグの価値ありですが、すでに持ってます。

2.エコ技について

大部分がここの説明と質疑応答に使われました。

省エネ待受状態だと、端末使用者側でBroadcastIntentの送信を制御出来る。
どういう事かと言うと、OSからアプリに送信されるはずの信号を
端末使用者が制御することで送信しない事が出来る。

さらに省略すると、エコ技を使う事で、
アプリごとに受信するはずのイベントを発生させない事が出来る。
なので、電池の持ちが良くなる。

さらに言葉を変えて言うと、
バックグラウンドで動くアプリは、
CPU時間をユーザから見えない形で使っているので、
電池の消耗に大きく関係します。
電池の持ちを良くする為には
バックグラウンドでアプリが動かせなければいいじゃないか!

待機時間の表もありまして、待機時間は伸びたようです。

が!!!!

その考え方はそもそも本末転倒で、
Androidのプログラムを組む上で、
バックグラウンドで動かそうと思うということは、
ほとんどの場合、バックグラウンドでの動作が「必要」とされているのです。
だって、立ち上げ中のみ動くアプリの方が圧倒的に組みやすいですし、
わざわざReceiverの登録とか、アプリ開発初心者はしないですし、
中上級者は必要だと思って登録する訳です。

エコ技がプリインされている端末ではどうなるかというと。。。

1.ユーザは電池の持ちが良くなるという「うわさ」でエコ技発動

2.バックグラウンドで動作するはずのアプリが、動作せず

3.ユーザはアプリの挙動を不信に思いクレーム

4.アプリ開発者はユーザからのクレームに対応

5.しかし、他の端末では同様の現象が起きない。ユーザに端末は何かを聞く

6.ユーザはSHARP製だと答える。最新機種だから良いものだと判断

7.同端末で実機検証をするが、BroadcastIntentが送信されない


はい、端末依存の出来上がり!

アプリエンジニアに最も嫌われるであろう端末依存が簡単に再現出来ました。
(アプリエンジニアが最も使いやすいであろう出来ない時の言い訳とも。。。)

電池の持ちを良くしたいのであれば、ハード、もしくはドライバ制御でないと、
アプリエンジニアにとっては害悪でしか無く、非対応とせざるを得ません。
特に、海外アプリは対応を取れないので非対応以外の選択肢がありません。

友人同士の口コミでもTwitterでもFacebookでも
SHARP製の端末では動かない。。。となれば次回購入時の対象に入れません。
ユーザを継続して獲得しなければいけない状況で、
メーカの名前だけで候補から外れます。

アプリエンジニアは細かい部分にも目が行くので、
もっとシビアにSHARP製を疑って掛かるでしょう。

実際、OptimusやGalaxyを使っていると、
性能的にはSHARPは負けてないと思います。
しかし、電池問題を解決するのであれば、ハード的解決を求めます。

ちなみに、今後、特定のIntentだけ切るという制御を実装する予定らしいですが、
根本から考えなおしたほうがいいと思います。
ユーザに特定のIntentを切る制御をさせるつもりですか?
どうやって?Intentなんて分からない人しかいませんよ?

3.タッチパネルの精度向上

指に付く動き(僕がそう呼んでるだけです)を向上しました。
社内テストでも評価は上々で、良くなってます。
との事。

これに関しては良いことだと思います。

Twitterで名前出しちゃってるので、隠しませんが、
P-07Cのタッチイベントの間隔は0.7秒ぐらいでした。
使い物になりません。
しかも、ACTION_DOWNとACTION_UPの間隔が最短で0.7秒ぐらい。
ACTION_MOVEに関しては、止まっている間は一切イベントが来ない。
他の端末は来るのに。

と、別の端末へ話が飛び火しましたが、
指に付く動きを実装するには、ドライバからのイベントの反応速度が重要で、
アプリエンジニアでは超えられない壁にあたります。
タッチパネルの反応速度を単純に高速化するだけで
全アプリの反応速度が上がるので、ユーザにとっては使いやすいという印象しか与えません。

こちらに関してはハードとDalvikというバーチャルマシンの壁はあるでしょうが、
是非頑張っていただきたい。
(グラフがちょっと読み取りづらかったので、
縦軸、横軸が何かぐらいは書いてあって欲しかった)

4.まとめ

ざっくり、批判と評価を織りまぜたまとめでした。
エコ技はやめて、タッチパネルの精度向上は頑張って下さい。
電池の持ちもハード的に頑張って下さい。
アプリケーションで解決しようとする事自体をやめてください。

こんな感じでまとめを終了させて頂きます。
長々とありがとうございます。