2010年10月25日月曜日

Android Improving App Quality

ざっとまとめてみました。

http://android-developers.blogspot.com/2010/10/improving-app-quality.html

1. Listen to your users

 ・ Android Market にはユーザーとデベロッパーの双方向のコミュニケーション方法が提供されていないので、自分でサポートを用意すべき。例えば、 Google Group, Zoho Discussions, getsatisfaction.com, uservoice.com などのすぐれたツールを使うことができる。もし、このようなツールを使ってサポートを始めた場合、ここへのリンクを Android Market やアプリ内に入れること。

 ・ public beta や trusted tester program をする方法もある。website に apk を置いて、そのページに認証をいれるなどすればいい。


2. Improve stability and eliminate bugs

 ・ Monkey テストを行う UI/Application Exerciser Monkey (aka Monkey)

 ・ error reporting feature が Android 2.2 から提供されている。デベロッパーは Android Market developer console から確認できる。

 ・ 外部のバグや、機能追加のリクエストなどをトラックできるようにする。もし、プロジェクトがオープンソースなら、 Google CodeGitHub などの repository hosting sites を使えば、これらの機能を利用することができる。


3. Improve UI Responsiveness

 ・ 遅い UI だと、ユーザーは離れて行ってしまう。(speed matters として、研究で示されている)

 ・ 時間がかかる処理をアプリケーションの main thread からはずず in Google I/O 2010 talk, Writing Zippy Android Apps

 ・ UI のパフォーマンスを改善するには、レイアウトの複雑さを最小化する。 hierarchyviewer でレイアウトの階層をチェックし、5階層以上あるなら、もっと単純化する必要がある。

 ・ View objects は約 1 ~ 2 KB のメモリを消費する in Google I/O talk, World of ListView by Romain Guy。よって深い階層は頻繁な VM garbage collection の元凶になり、main (UI) thread をブロックしてしまう。

 ・ traceview や ddms を使って VM memory allocations をモニターする

 ・ Designing for Performance

 ・ Designing for Responsiveness
 

4. Improve usability

 ・ 実際のユーザーに聞くのが一番!

 ・ 家族や友人に試してもらう。操作に戸惑ったら改善の余地あり

 ・ user interface patterns the Android UI team discussed at Google I/O

 ・現在の Android アプリで流行ってる悪いインターフェースは、「小さいタップターゲット」と「小さすぎるフォントサイズ」

 ・ 視認性、可読性を最適化し、情報の密度のバランスに気をつける

 ・ Analytics を実装して、使用方法のログをみる

 ・あまり使われない機能は options menu に移したり、完全になくす

 ・ よく使う機能やセクションや UI は、すぐに見えて簡単にアクセスできるようにする

 ・ usability は interface design, cognitive science, and other disciplines と密に関連した題材である。もし crash-course を探しているなら、Donald Norman’s The Design of Everyday Things がオススメ


5. Improve appearance and aesthetics

 ・ モバイルと Android に精通していて、 interaction と visual design の能力をもった人を見つけることはなかなかできない。デザイナのための jobs.smashingmagazine.com や social connection や Twitter や LinkdIn を活用する。

 ・ 専任の UIデザイナーが必要ない場合は、自分で改善する。Adobe Photoshop や Adobe Fireworks や他の raster image editing tool を使えるようになる。これらのアプリ内の技術をマスターするのは時間がかかるが、インターフェイスのデザインを磨き上げることができるようになる。

 ・ framework UI assets and layouts を勉強したり、 resources documentation を読んで resources framework をマスターする

 ・ 9-patches や resource directory qualifiers などの Android 特有のテクニックは柔軟で美しい UI を構築する上で重要

 ・ Android UI Design Tips slide


6. Deliver the right set of features

 ・ アプリにとって正しい機能を揃えることが重要

 ・ 多くの情報を提供し過ぎることは、十分提供しないときよりもフラストレーションがたまる

 ・ やっぱりユーザーに聞くのが一番!

 ・ 機能のリクエストに耳を傾けて、よく考えて選択すること。リクエスト全部を実装する必要はない


7. Integrate with the system and third-party apps

 ・ いいユーザーエクスペリエンスを提供するのに最適な方法は、オペレーティングシステムと緊密に統合すること。 app widgets, live folders, global search integration, Quick Contacts badges とか

 ・ いくつかのアプリの種類については、app widgets のような基本的な機能は当然のこと。ないとユーザーが離れてしまう

 ・ いくつかのアプリは Android 2.0 以降で、新しい contacts、アカウント、同期API を使って、OSと緊密に統合可能。 SampleSyncAdapter (bundled with the SDK samples) and JumpNotr がこれらの API のサンプル

 ・ Third-party と integrate する。例えば、カメラアプリなら、ユーザーが Photoshop Express をインストールしていれば、保存する前にこのアプリで編集できるようにすることが可能。詳しい方法は Can I Use this Intent?

 ・ Designing for seamlessness


8. Pay attention to details...

 ・ icon quality and consistency

 ・ crisp and pixel-perfect at all resolutions

 ・ icon guidelines

 ・ Android Asset Studio tool


 

0 件のコメント:

コメントを投稿