google developer day 2010 japan: クールな android アプリを作るには (安生真,...
DESCRIPTION
本セッションでは、Android のアプリケーションを Android Market で公開しているデベロッパー 2 人(江川: IMoNi、山下: FxCamera )の生の声をお届けします。アプリケーションを実際に開発し公開する中で得た実践的なノウハウや注意すべきポイント、UI 操作性の考え方や機能拡張の優先順位付けといった開発のこだわりなど、クールなアプリを開発する上で役に立つエッセンスを、開発者自らがご紹介します。本セッションを聴き終わる頃には、あなたも Android アプリケーションが作りたくなっていることでしょう。TRANSCRIPT
Buliding Cool Application
安生 真 (@Tennetiss)
とそのゆかいな仲間たち
自己紹介 • Google API Expert (Android)
• Tokyo GTUG (Google Technologies User Group) マネージャ
• 日本Androidの会 理事/運営委員
• Gadget1 staff
• 株式会社ケイブ
著書など
Twitter: @Tennetiss!
クールなアプリを作るには - IMoNi編
江川 崇 EGAWA Takashi
自己紹介 • 江川 崇(EGAWA Takashi)
• プログラマー
• egg / @t_egg
• Android DEvelopers’ cluB(デ部)
• Android プログラミング入門
• IMoNi
IMoNi
• Read, send, forward, reply and save!
• Emoji, DECOME Emoji and Attachments!
IMoNi!(Android app)
imode.net !(Web site)
Request via HTTP
Response
非公式 iモードメールクライアント!
committers: egg, koo, shoo!
※ 通常の利用者の方は公式アプリをお勧めします。
統計
• downloads > 250,000 • Active install 9/1 87% now 76% • Active users: 200,000 • 総評価: 4.5 • 評価数: 8,500
5 stars 6327 4 stars 1504 3 stars 404 2 stars 97 1 stars 142
DevQuiz 僕も受けてみました
※ 一時的に表示されていたrawdataの点数! ですので正確な結果ではありません。
今日申し上げたいこと • Androidにおける、「クール」なアプリを作るには「緩やかな繋がり」を活かすとよいと思う
• 技術の側面:Androidの緩やかに繋がる仕組みを使いこなしているアプリは「クール」だと思う
• 人の側面 :Androidは人と人(開発者とユーザー、開発者と開発者)を緩やかに繋げる。この繋がりをうまく活かしている開発者は「クール」だと思うし、「クール」なアプリケーションを作ることができると思う
技術的な仕組み • Intent
• Action, Category
• Uri (RFC2396, 2372)
• MIME (RFC2045 – 2049)
• Content Provider
• 標準 ( Contacts, SMS, Media など)
• 独自
< D E M O >
共有ダイアログ について • 面倒と考えるか、汎用的と考えるかは様々な観点があり、賛否両論分かれるところだが、いいところもたくさんある。
• 撮影、モザイク、画像の縮小をするために、一行もコードを書いていない
• 自分の水槽の中にどのような魚を入れるかは自由、自分好みの水槽を作ることができる
• ユーザーの操作を煩雑にするので、本当に拾いたいものだけ拾い、必要に応じて明示的な呼び出しにすることが礼儀
Uriがお勧め • 何かと扱いやすい
• ex) IMoNiでは、mailto:スキーマに対応したアプリからメール送信できる機能を設けている
• 振る舞いと情報を包含している(RESTfull)
• ActionとBundleでやる場合は
「Action:振る舞い / Bundle:情報」
• パースしやすい。RFC標準であれば自分でパースする必要すらない場合も多い
有名アプリの威を借る • 有名アプリに寄生すると付加価値が上がるので効果的
• 自分のアプリが有名になるには時間がかかるので、有名アプリのキーワードで引っかかりやすくする
• 単体でも動作したり、独自の連携機能を持ったりしておけば、有名アプリを使っていない人でも利用できる
• ex) マッシュルーム
• IMoNiのマッシュルーム 「Emoji Picker」
• その他、プラグイン的な機能を持ったアプリは多数公開されている。殆どがIntentなので実装は楽
標準装備されている仕組みに乗る (1)
• 標準のContent Providerに突っ込むといい
• IMoNiではメールの新着通知をSMSのDBに。
• メール通知を独自Broadcastすればよいだけだが、この方法では相手に対応してもらう必要がある。
• SMSのProviderを使えば、SMS対応アプリ全てがメール新着通知アプリに変わる
標準装備されている仕組みに乗る (2)
• Intent Filterを標準のアプリに合わせておくといい
• ギャラリー、ブラウザ、アドレス帳 など
• 標準アプリと同じように振舞いつつ、ちょっと便利な(機能を特化した)アプリを作りやすくなる
• 「デコ美」 > (越えられない壁) >「Gallery」
• 標準アプリと同じように作ってくれ、と言えば連携先も作りやすい
• 標準アプリのAndroid Manifestに準拠すれば大抵うまくいく
標準装備されている仕組みに乗る (3)
• 自分のアプリが持っている情報も、標準の仕組みで公開できるようにしておくといい
• 独自にContent Providerを作るのは面倒だが、いい面もたくさんある。
• サクッとLive Folderにできる
• Global Searchに対応しやすい
など
【参考】Contacts API • Data Structure!
• Aggregation!• Automatic aggregation!• Explicit aggregation!
http://developer.android.com/resources/articles/contacts.html!
人との繋がり
• 開発者とユーザー
• 開発者と開発者
開発者とユーザー • 実際に利用してくれている方から意見は貴重
• いろんな端末の人がいる
• 幅広い意見で勉強になることも多いし、知らなかったことを教えてもらえる。
• ただし、人それぞれ性格があると思うが、あからさまな批判や、Marketのひどいコメントに振り回されない方がいい
ひどいコメントの例
このようなコメントは、無くそうと思っても絶対に無くならないので気にしない。!どうしても気になるなら「Report as Spam」する
大切なものを大切にしたいと思う
• 個人で作っているなら、絶対に無理をしない
• ex) メールの返事やユーザーからのリクエスト
• 自分の生活(仕事、家族)を優先する。できないときにはやらない。マイペースで。
• 息切れして公開しなくなるより、ゆっくりと継続できる方がユーザーにとっても幸せ
• もちろん開発を止める権利もある。いやだと思ったら開発そのものが嫌になる前にすぐに止めることも大事。
• 批判は目につきやすいが、何も言わないけどわかってくれる人もたくさんいることを忘れずに。
私の考える開発の優先順位 • 致命的なバグ
• 他の開発者からの要望
(アナタとつながりたいの)
• 自分が実装したいもの , ユーザーからの意見
現時点のものなので変わることもあります
人生の優先順位 • 妻の幸せ
• 親、兄弟の幸せ
• 自分の幸せ
現時点のものなので変わることもあります
∋ Android
開発者と開発者 • アプリとアプリが人と人とをつなぐ
• IMoNiで言うデコ美はその典型的な例
• アプリ同士が知り合ったこと(連携)をきっかけに、開発者同士が知り合う
• Androidのアプリ開発者は様々な人がいるので、知り合っておくと面白いし勉強になる。ちょっとした異文化交流感覚。
Android DEvelopers’ cluB
Android DEvelopers’ cluB
• http://goo.gl/HUZG
• Android Marketにアプリを出し
ている開発者を中心とした集まり
• 全員合わせると500万DL以上
• Sandbox出してます
まとめ • Androidの緩やかに繋がる仕組みを使いこなしているアプリはクールだと思う
• Share Dialogにはいい側面もイマイチな側面もあるが、連携という観点では柔軟
• 有名アプリと連携
• なるべく標準の仕組みを使う
• Androidは人と人を緩やかに繋げる。この繋がりをうまく活かしている開発者はクールだと思う
• ユーザーとの繋がり
• 開発者同士の繋がり
ありがとうございました!"FxCamera“! ! ! ! ymst さん!
"Simejiのマッシュルーム" ! ! adamrocker さん!
"デコ美" ! ! ! ! ! tomorrowkey さん “Touch2Pixcel” !! ! ! superdry さん!
"Reduce Photo Size" ! ! shoozhoo さん!
"Executive Assistant +" ! ! Appventive さん!iモード、iモード.net、imode.net、デコメは、NTTドコモの商標または登録商標です。