google developer day 2010 japan: クールな android アプリを作るには (安生真,...

56
Buliding Cool Application 安生 真 (@Tennetiss) とそのゆかいな仲間たち

Upload: google-developer-relations-team

Post on 04-Dec-2014

3.035 views

Category:

Technology


0 download

DESCRIPTION

本セッションでは、Android のアプリケーションを Android Market で公開しているデベロッパー 2 人(江川: IMoNi、山下: FxCamera )の生の声をお届けします。アプリケーションを実際に開発し公開する中で得た実践的なノウハウや注意すべきポイント、UI 操作性の考え方や機能拡張の優先順位付けといった開発のこだわりなど、クールなアプリを開発する上で役に立つエッセンスを、開発者自らがご紹介します。本セッションを聴き終わる頃には、あなたも Android アプリケーションが作りたくなっていることでしょう。

TRANSCRIPT

Page 1: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

Buliding Cool Application

安生 真 (@Tennetiss)

とそのゆかいな仲間たち

Page 2: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

自己紹介 • Google API Expert (Android)

•  Tokyo GTUG (Google Technologies User Group) マネージャ

• 日本Androidの会 理事/運営委員

• Gadget1 staff

• 株式会社ケイブ

Page 3: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

著書など

Twitter: @Tennetiss!

Page 4: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

クールなアプリを作るには - IMoNi編

江川 崇 EGAWA Takashi

Page 5: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

自己紹介 • 江川 崇(EGAWA Takashi)

• プログラマー

•  egg / @t_egg

•  Android DEvelopers’ cluB(デ部)

•  Android プログラミング入門

• IMoNi

Page 6: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

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!

※ 通常の利用者の方は公式アプリをお勧めします。

Page 7: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

統計

• 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

Page 8: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

DevQuiz 僕も受けてみました

※ 一時的に表示されていたrawdataの点数!  ですので正確な結果ではありません。

Page 9: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

今日申し上げたいこと • Androidにおける、「クール」なアプリを作るには「緩やかな繋がり」を活かすとよいと思う

• 技術の側面:Androidの緩やかに繋がる仕組みを使いこなしているアプリは「クール」だと思う

• 人の側面 :Androidは人と人(開発者とユーザー、開発者と開発者)を緩やかに繋げる。この繋がりをうまく活かしている開発者は「クール」だと思うし、「クール」なアプリケーションを作ることができると思う

Page 10: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

技術的な仕組み •  Intent

• Action, Category

• Uri (RFC2396, 2372)

• MIME (RFC2045 – 2049)

• Content Provider

• 標準 ( Contacts, SMS, Media など)

• 独自

Page 11: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

< D E M O >

Page 12: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

共有ダイアログ について • 面倒と考えるか、汎用的と考えるかは様々な観点があり、賛否両論分かれるところだが、いいところもたくさんある。

• 撮影、モザイク、画像の縮小をするために、一行もコードを書いていない

• 自分の水槽の中にどのような魚を入れるかは自由、自分好みの水槽を作ることができる

• ユーザーの操作を煩雑にするので、本当に拾いたいものだけ拾い、必要に応じて明示的な呼び出しにすることが礼儀

Page 13: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

Uriがお勧め • 何かと扱いやすい

•  ex) IMoNiでは、mailto:スキーマに対応したアプリからメール送信できる機能を設けている

• 振る舞いと情報を包含している(RESTfull)

• ActionとBundleでやる場合は

  「Action:振る舞い / Bundle:情報」

• パースしやすい。RFC標準であれば自分でパースする必要すらない場合も多い

Page 14: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

有名アプリの威を借る • 有名アプリに寄生すると付加価値が上がるので効果的

• 自分のアプリが有名になるには時間がかかるので、有名アプリのキーワードで引っかかりやすくする

• 単体でも動作したり、独自の連携機能を持ったりしておけば、有名アプリを使っていない人でも利用できる

•  ex) マッシュルーム

•  IMoNiのマッシュルーム 「Emoji Picker」

• その他、プラグイン的な機能を持ったアプリは多数公開されている。殆どがIntentなので実装は楽

Page 15: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

標準装備されている仕組みに乗る (1)

• 標準のContent Providerに突っ込むといい

•  IMoNiではメールの新着通知をSMSのDBに。

• メール通知を独自Broadcastすればよいだけだが、この方法では相手に対応してもらう必要がある。

•  SMSのProviderを使えば、SMS対応アプリ全てがメール新着通知アプリに変わる

Page 16: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

標準装備されている仕組みに乗る (2)

•  Intent Filterを標準のアプリに合わせておくといい

• ギャラリー、ブラウザ、アドレス帳 など

• 標準アプリと同じように振舞いつつ、ちょっと便利な(機能を特化した)アプリを作りやすくなる

• 「デコ美」 > (越えられない壁) >「Gallery」

• 標準アプリと同じように作ってくれ、と言えば連携先も作りやすい

• 標準アプリのAndroid Manifestに準拠すれば大抵うまくいく

Page 17: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

標準装備されている仕組みに乗る (3)

• 自分のアプリが持っている情報も、標準の仕組みで公開できるようにしておくといい

• 独自にContent Providerを作るのは面倒だが、いい面もたくさんある。

• サクッとLive Folderにできる

• Global Searchに対応しやすい

                 など 

Page 18: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

【参考】Contacts API • Data Structure!

• Aggregation!• Automatic aggregation!• Explicit aggregation!

http://developer.android.com/resources/articles/contacts.html!

Page 19: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

人との繋がり

• 開発者とユーザー

• 開発者と開発者

Page 20: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

開発者とユーザー • 実際に利用してくれている方から意見は貴重

• いろんな端末の人がいる

• 幅広い意見で勉強になることも多いし、知らなかったことを教えてもらえる。

• ただし、人それぞれ性格があると思うが、あからさまな批判や、Marketのひどいコメントに振り回されない方がいい

Page 21: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

ひどいコメントの例

このようなコメントは、無くそうと思っても絶対に無くならないので気にしない。!どうしても気になるなら「Report as Spam」する

Page 22: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

大切なものを大切にしたいと思う

• 個人で作っているなら、絶対に無理をしない

•  ex) メールの返事やユーザーからのリクエスト

• 自分の生活(仕事、家族)を優先する。できないときにはやらない。マイペースで。

• 息切れして公開しなくなるより、ゆっくりと継続できる方がユーザーにとっても幸せ

• もちろん開発を止める権利もある。いやだと思ったら開発そのものが嫌になる前にすぐに止めることも大事。

• 批判は目につきやすいが、何も言わないけどわかってくれる人もたくさんいることを忘れずに。

Page 23: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

私の考える開発の優先順位 • 致命的なバグ

• 他の開発者からの要望

          (アナタとつながりたいの)

• 自分が実装したいもの , ユーザーからの意見

現時点のものなので変わることもあります

Page 24: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

人生の優先順位 • 妻の幸せ

• 親、兄弟の幸せ

• 自分の幸せ 

現時点のものなので変わることもあります

∋ Android

Page 25: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

開発者と開発者 • アプリとアプリが人と人とをつなぐ

•  IMoNiで言うデコ美はその典型的な例

• アプリ同士が知り合ったこと(連携)をきっかけに、開発者同士が知り合う

• Androidのアプリ開発者は様々な人がいるので、知り合っておくと面白いし勉強になる。ちょっとした異文化交流感覚。

Page 26: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

Android DEvelopers’ cluB

Page 27: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

Android DEvelopers’ cluB

• http://goo.gl/HUZG

• Android Marketにアプリを出し

ている開発者を中心とした集まり

• 全員合わせると500万DL以上

•  Sandbox出してます

Page 28: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

まとめ • Androidの緩やかに繋がる仕組みを使いこなしているアプリはクールだと思う

•  Share Dialogにはいい側面もイマイチな側面もあるが、連携という観点では柔軟

• 有名アプリと連携

• なるべく標準の仕組みを使う

• Androidは人と人を緩やかに繋げる。この繋がりをうまく活かしている開発者はクールだと思う

• ユーザーとの繋がり

• 開発者同士の繋がり

Page 29: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)

ありがとうございました!"FxCamera“! ! ! ! ymst さん!

"Simejiのマッシュルーム" ! ! adamrocker さん!

"デコ美" ! ! ! ! ! tomorrowkey さん “Touch2Pixcel” !! ! ! superdry さん!

"Reduce Photo Size" ! ! shoozhoo さん!

"Executive Assistant +" ! ! Appventive さん!iモード、iモード.net、imode.net、デコメは、NTTドコモの商標または登録商標です。

Page 30: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 31: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 32: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 33: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 34: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 35: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 36: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 37: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 38: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 39: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 40: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 41: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 42: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 43: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 44: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 45: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 46: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 47: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 48: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 49: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 50: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 51: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 52: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 53: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 54: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 55: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Page 56: Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)