読者です 読者をやめる 読者になる 読者になる

ひつじのにっき

mhidakaのにっきです。たまに長文、気が向いたとき更新。

【AN-4】クールなAndroidアプリを作るには - 安生真/山下盛史/江川崇

Android

クール=たくさんのひとに愛されているアプリ
AndroidのアプリケーションをAndroid Marketで公開しているデベロッパー2人
(江川さん:IMoNi、山下さん: FxCamera)開発者が考える"クール"とは?

著書
・初めてのGoogle Android プログラミング
・コードからわかるAndroid プログラミングのしくみ
Google Android調査報告書2009
・ケータイ白書2010

江川さん(IMoNi)の考えるクールなアプリとは

IMoNiは非公式imodeクライアント。アクティブユーザー数2万人。
今日申し上げたいこと

  • Androidにおける「クール」なアプリとは緩やかなつながりを活かすこと。

技術の側面

Intent、ContentProviderによる疎結合。IMoNiは疎結合の実践的アプリ。
デモ:写真を撮ってメールをおくる、デコメ、メールが来た時SMSでの通知など実例
どのアプリと連携するかはユーザーが選ぶ。

アプリ間での連携の仕組み

  • Uriがおすすめ:パースしやすい。振る舞いと情報が両方入っている
  • 有名アプリと連携できるようにする:アプリ単体の付加価値が向上する。ほとんどがIntentなので実装が楽。付加価値が向上する
  • 標準のContent Providerに突っ込むといい。標準化された伝達手段で使えば、SMS対応アプリすべてがメール新着通知アプリに代わる。標準化技術にのっかる
  • Intent Filterを標準のアプリケーションに合わせる。

自分のアプリの仕組みを標準の仕組みで公開できるようにすればいい。独自のContentProviderを用意すると簡単にLiveFolderできたり、アプリ横断検索の対象にできる。広がりが出てくる。

  • Contacts APIの構造について
    • DataStructure
    • Aggregation
      • Automatic aggregation
      • Explicit aggregation

人とのつながり

意見が貴重、ひどいコメントには反応しない。個人で作っているなら無理せずに長く続けること。
自分の生活を優先する、ゆっくりと継続することが幸せにつながる

開発優先順位

致命的なバグ>ほかの開発者からの要望>自分が実装したいもの、ユーザーからの意見

開発者と開発者

アプリとアプリが人と人をつなぐ。IMoNiでいうデコ美が典型
主観ではあるがAndroidは幅広い人が集まる。

アプリ同士の緩やかな繋がり、人との緩やかな繋がりをうまく表現できているアプリがクール。

山下さん(FxCamera,ADC2メディア部門第3位)の考えるクールなアプリとは

使いやすいこと、わかりやすいこと。

  • 操作感が統一、ストレスなく使える
    • iPhoneのHuman Interface Guidelineなども参考になる

あえて標準のUI部品を使うことで機種ごとに違うので統一感が守られる
起動して一目でわかるように。わかりやすさに気をつける。

  • Backキー:ユーザは戻る、Undoを想定している

開発者的にはActivityの遷移だけど、いきなり終了すると驚く

  • Menuキー:実装はアプリ次第、Menuキーを押す、ということを思いつかない人が結構いる。うまくつかえば便利なはず。
    • A.積極的に活用する(標準のブラウザ、Gmailなどがちかい)
    • B.一切使わない(Twitter公式など)
    • C.使い分ける(FxCameraは画面上&メニューキーのハイブリッド)。頻度が少ないものをオプションに隠すなど工夫ができる

それぞれ選択肢がある。アプリで最適なものを考えよう。

サポートが大切

  • 落ちないこと:エラーレポートを大切に例外処理を。

アドバイス:マニフェストファイルに android:configChanges="〜"を追加すること。縦横切り替えでActivityが再起動してしまうので。キーボードなど国内端末にない機能にも気をつける。

  • サポートが大切:ヘルプページ、マニュアルが必要になる。準備しておくと後のサポートが楽。

進化していくこと

simeji twiccaなどプラグインを公開している。FxCameraでもカスタムフィルタを指定できるようになった。
フィルタ指定にはUriを使っている。URIのメリットはブラウザ・ウェブサイト・ブックマークから起動できる、ほかの機種からでもマルチプラットフォーム対応するのが簡単など。
ただし、Androidのブラウザは、独自スキームを変換されてしまう。転送用のサーバーを立てて、ブラウザからカスタムフィルタのパラメータ付きで起動する。
bit.ly/fxcameratestからテストアプリをダウンロードしてほしい。アプリ内からfxcamera://呼び出しが可能

最後に。クールなアプリを作るためには

自分が作りたいものをこだわって作ればいい
答えは一つではない、迷ったら自分が納得するかどうかで決める。