コミュニティ活動から生まれたAndroid開発本の企画・出版
2012年9月27日
よちよちAndroidサンデープログラミングの会
今城 広志 (@joinus_jp)- Android is a trademark of Google Inc.
- Portions of this page are modifications based on work created and shared by Google
and used according to terms described in the Creative Commons 3.0 Attribution License.

スクエアーfreeセミナー 第23回

私について● 某コンピュータメーカーのマーケティング部員○ 仕事では、ソフトウェア開発はせず● 子供の頃から、携帯端末向けプログラミングが趣味

CASIO PB-100(BASIC)CASIO CALEID(C)(参考) 電波新聞社
マイコンBASICマガジン

SONY
CLIE
(C)

● 2010年4月、Android端末を入手○ 開発環境構築で挫折、1年を棒に振る○ 2011年3月、初アプリ「しゃべって安否確認」
四苦八苦して開発
スクエアーfreeセミナー 第23回

SONY XPERIA(Java)-1-

「よちよちAndroidサンデープログラミングの会」とは趣味でAndroidアプリを開発している初心者たちが、集まって一緒に開発したり、相互にノウハウを提供することで、開発上の問題解決やスキルアップ、仲間づくりを目指す活動です● 2011年4月発足、会員323人(9/27現在)○ AndroidどころかJavaもEclipseも初めての私を助けてほしい、との一心○ いつか、何か、飯の種につながるかも、との思惑も● 主な活動 : 毎週日曜日、都内某所でオフライン開発ミーティング○ アプリ開発 (各自もくもくと)○ 写経 (参考書籍のソースを入力、改造、実行して学ぶ)○ 参考書を読む○ 疑問、バグ退治、様々な機種での動作確認を他のメンバーに相談○ アプリアイデア、ビジネスアイデアをブレスト (雑談?)
スクエアーfreeセミナー 第23回

-2-

「炎のAndroid開発道場」とは「脱初級者」のためのノウハウの伝授と、実践ドリル
●

●

●
●

第一部「伝授の巻」
入門書を読み終えた初級者が、オリジナルのアプリを開発し通せるようになるために身につけたい「問題解決手法」を解説
第二部「修行の巻」
課題アプリを、いくつかのヒントを頼りに「伝授の巻」の問題解決手法を駆使して作成する演習問題「目立つ」情熱の赤カバー「心和む」師範と弟子の掛け合い○

http://www.amazon.co.jp/dp/4897979013
スクエアーfreeセミナー 第23回

-3-

本セッションのゴール● 開発者コミュニティを構築するメリットを知る● Androidアプリ開発参考書の企画プロセスを知る○ 参考書を書くときの参考にする● Androidアプリ開発初級者が抱えている問題を知る○ 開発者を育成する際の参考にする● 「炎のAndroid開発道場」を買いたくなれば、しめたもの
スクエアーfreeセミナー 第23回

-4-

「炎のAndroid開発道場」企画・出版の経緯
1/18(リックテレコムさん → 湯澤さん →)用松さん(よちよち会員) →私へ出版持ちかけ

企画

1/19
1/20
1/22
2/1
2/9

会員へ、企画・執筆メンバー声掛け
会員へ、企画のベースとなるアンケート調査
オフラインミーティングで、オリエン、企画検討、企画書作成
リックテレコムさんへ、企画書(3案)提出
リックテレコムさんから、第3案ベースで目次詳細化、サンプル原稿提出依頼

2/22

目次詳細、サンプル原稿提出→原稿の文体、構成、図表化、読みやすさの工夫(師範～弟子の掛け合い含む)など、継続して議論

4/17

執筆

全体原稿提出→その後、初校、再校、念校、原稿追加など

7/29
8/31

最終的な原稿、ソースコードなどを提出
出版
スクエアーfreeセミナー 第23回

-5-企画 ～ 基本ポリシー● 読者ターゲット別に、3案提示
案(1) よちよち会員が増えるもの : アプリ開発者の裾野を広げるもの
案(2) よちよち会員が読んでいるようなもの : 従来型の入門書
案(3) よちよち会員を卒業できるようになるもの : 脱初級者ガイド● Android固有の問題にフォーカス○ Javaプログラミングに起因する問題は

案(3)

中・上級者

取り上げない(クラス設計など)

案(2)

開発初心者

● 既存書籍との違いを出す○ Amazonで「android 開発」本を案(1)

リストアップ、分類 (当時87冊)

■
■
■
■
■

入門書(フレームワーク、API) (19)Androidユーザ(非開発者)
一般の人(非ユーザ)

写経本(手順を追っていくもの) (16)
リファレンス、レシピ (8)、特定技術・テーマ (18)
Android SDK以外の開発ツール (15)スマートフォンサイト開発 (4)、起業・マネタイズ、資格取得 (7)スクエアーfreeセミナー 第23回

-6-

企画 ～ ターゲティング (アンケート分析から)
想定読者は、Javaやプログラミングのイロハは分かっていて、Androidも、入門書レベルでは分かっている人
Q : 「よちよちAndroid~」に入会した時点での実力
Android、Java、Java以外について、(1)全く経験なし、(2)少し経験・理解、(3)よく経験・理解

A:Android x Javaの実力 (単位 : 人)
(3) よくAndroid

1(2) 少し120(1) なし

36(1) なし

(2) 少し3(3) よくJava
スクエアーfreeセミナー 第23回

-7-

企画 ～ 「伝授の巻」 (アンケート分析から)
アプリ開発上の問題と、書籍の問題・期待を調査し、既存書籍との差異化要素を抽出し、主に第一部「伝授の巻」の章立て、記述内容に反映
Q : アプリ開発でつまづいたこと (フリー記述)
A:回答 (フリー記述を整理)

企画・内容への反映

開発環境の構築 (Eclipse、Android SDKインストール)× (あまたの入門書で)Eclipse、SDK付属ツールの使い方

コーディングしやすいカスタマイ
ズ、デバッグの仕方など

Javaへの不理解 (クラスの設計など)

× (ごめんなさい、対象外です)

Androidアプリフレームワーク、概念

画面回転時の対応、アプリ連携の実現など(Activityライフサイクルとアプリの振る舞い、Intentなど特有の仕組み)

Androidアプリ特有の書き方(画面設計、設定、リソースのXMLでの定義、そのディレクトリ配置など)

APIレベル設定、パーミッション指定、多言語対応など

スクエアーfreeセミナー 第23回

-8-

企画 ～ 「伝授の巻」 (アンケート分析から)
Q : アプリ開発でつまづいたこと (続き)A:
回答 (フリー記述を整理)企画・内容への反映

具体的な問題への対処● 端末 (画面サイズ、搭載HWなど) やOSバージョンによる差異の吸収● 画面デザイン (UI、レイアウト)● データ保持方法の使い分け (Preference、SQLite、各節を設け、設計や実装のポリシーを伝授

ファイルなど)●●●●Out of Memoryエラー、メモリリーク対策
搭載HW(センサーなど)の制御
画面への描画
Google Map APIの利用、など

個別の機能の実装問題は、
第二部「修行の巻」での課題に設定

テスト手法、デバッグ、エラーの見方や対策章を設け、プロセスやツールの使い方を伝授(参考書の)ソースコードを読み解けない

実装順、意味順でソースを解説(上から順ではなく)Webの技術情報が英語で、調べられない節を設け、調べ方を伝授

スクエアーfreeセミナー 第23回

-9-

企画 ～ 「伝授の巻」 (アンケート分析から)
Q : 既存書籍の問題 (フリー記述)A:

回答 (フリー記述を整理)

入門書は、同じような内容のものが多い(特に開発環境構築の説明は、もういらない)

ステップアップの仕方がわからない、勉強の仕方が知りたい(コードの書き方は) Webを調べればこと足りる
コーディングの前後の工程が分からない

企画・内容への反映
既存書籍との併用を想定し、既存には無い内容に注力する
コードの裏にある「考え方」や、問題解決の仕方を伝授する
設計やアプリ公開にあたって配慮すべき事項、テストの仕方などを伝授する

サンプルソースを動かしてみて、分かった気になっているだけ（修行の巻）ヒントを頼りに自力で課題アプリを作る、それを徐々に拡張して最終形態に仕上げるコンセプト

OSバージョンアップなどで、内容が陳腐化してしまう

考え方、問題解決手法を中心にし、身につけたスキルは陳腐化させないコンセプト

スクエアーfreeセミナー 第23回

- 10 -

企画 ～ 「伝授の巻」 (アンケート分析から)
Q : 書籍に期待するサポート (フリー記述)
A:回答 (フリー記述を整理)

企画・内容への反映

APIやライブラリの概観、個別の使い方(逆引 ×(APIの個別の使い方は扱わない)き)外部ライブラリを利用すること、ライセンスに注意することの啓蒙OS、SDKのバージョンの比較、差異の吸収

バージョン差の吸収、コンパチビリ
ティライブラリの利用などの節を設ける

設計やコメントが適切で、再利用しやすいサ
ンプルソース

(修行の巻) がんばった (つもり) ^^;開発現場、プログラマーの実態、経験談などのコラム「コミュニティに参加しよう」コラム

書籍外でのアフターケア「よちよちAndroid～」に来てちょうだ(訂正をWebで公開、サンプルソースはDL、読 い ^^者の相談に乗ってくれる、課題で作ったソースをレビューしてくれる)

スクエアーfreeセミナー 第23回

- 11 -

企画 ～ 「伝授の巻」 (アンケート分析から)
Q : 既存書籍で役立ったもの、オススメできるもの、その理由 (フリー記述)
A:● 入門書
Google Androidプログラミング入門 / 初めてのAndroid / Google Androidアプリケーション開発入門 / ANDROID HACKS / 触れば分かる！Androidアプリ開発超入門 /スマートにプログラミング Android入門編●写経本
つくって覚えるJava入門 Android対応 / 10日でおぼえる Androidアプリ開発入門教室/ イラストでよくわかるAndroidアプリのつくり方 / 作ればわかる！Androidプログラミング●リファレンス
Android SDK逆引きハンドブック / AndroidSDK開発のレシピ―104個のレシピで学
ぶAndroidアプリ開発の極意●

特定技術・テーマ
Android Layout Cookbook アプリの価値を高める開発テクニック / Android Security/ クラウド活用のためのAndroid業務アプリ開発入門 / Android Application Testing
Guide / Android SDKで作るOpenGLゲームプログラミング入門

スクエアーfreeセミナー 第23回

- 12 -

企画 ～ 「修行の巻」 (アンケート分析から)「写経」学習法は賛否両論。その問題点を調査し、さらに実力をつけるために必要な要素を抽出し、主に第二部「修行の巻」の構成に反映
Q : 「写経」実践上の問題点、書籍の問題点 (フリー記述)
A:回答 (フリー記述を整理)

企画・内容への反映「なぜ」「なんのために」ソースがこうなっているのか考えながら写経しないと意味が無い

ソースの解説では、意味や理由を書く(単純なキーパンチ練習になってしまいがちだが)書籍のソースは完成後の姿、実際のコーディン
グの過程はソースの上から下の順ではないはず、この過程を解説した書籍が少ない

課題アプリの開発(修行)は、初期状態を与え、順を追って完成形に仕立てていく構成にする
ソースの解説は、実装順序を意識して書く

誤植は致命傷丸写しを想定しない、ソースはDL(プログラムが動かないが、どこが悪いのか分からない)

スクエアーfreeセミナー 第23回

- 13 -

企画 ～ 「修行の巻」 (アンケート分析から)
Q : 「写経」からステップアップするのに必要なこと (フリー記述)A:
回答 (フリー記述を整理)写したソースを再度振り返り、考えてみる、改造をしてみる
サンプルアプリが単発のものではなく、一連の流れで徐々に拡張されていくようになっている
自力でオリジナルのアプリ開発に取り組むこと

企画・内容への反映「修行」(課題アプリの開発)は、初期状態を与え、順を追って完成形に仕立てていく構成にする
課題とヒントを参考に、自力でアプリを作っていく構成(書面をただ書き写していくだけではない)

コードを書く以外の工程を経験する

ヒントでは、技術情報を調査した
り、動作確認のポイントを挙げた
りする

作ったコードを経験者に見てもらう、一緒にアプリを作る「よちよちAndroid～」に来てちょう
だい ^^スクエアーfreeセミナー 第23回

- 14 -

企画 ～ 「修行(課題アプリ)」の策定
通常のアプローチ = 「機能」オリエンテッド例) 加速度センサー機能とGPS機能を使ったアプリとは?

本書でのアプローチ = 「問題」オリエンテッド例) 「伝授の巻」で取り上げたActivityライフサイクル問題とメモリ不足問題を引き起こしそうなアプリとは?

● 考えるのが難しい○ 普通のアプリ企画では行わない考え方○ 探索範囲が広い？
○ でも、そこそこ実用的なサンプルアプリを・・・● しかし、このアプローチだからこそ、○ 「修行」をこなすことが、「伝授」されたことを実践することに該当する○ すなわち、「問題解決の」実力が身につく
スクエアーfreeセミナー 第23回

- 15 -

企画 ～ 「修行(課題アプリ)」の策定
問題 ←→ 機能マップ

問題事項 (77項目)

機能グループ (24群)

スクエアーfreeセミナー 第23回- 16 -

企画 ～ 「修行(課題アプリ)」の策定
機能 ←→ アプリ案マップ

課題アプリ案 (17個)機能グループ (24群)

スクエアーfreeセミナー 第23回

- 17 -

まとめ● 「炎のAndroid開発道場」は、○ ターゲット読者が実際に直面している問題への解決手法が提示されている○ 「修行」に取り組むことにより、学んだ問題解決手法を実際に身につけられる● こんな使い方がオススメ○ 買って、読み進めて、修行もこなして、分からなければ「よちよちAndroid～」オフ会に来て尋ねる● で、やっぱり読んでみたくなった方は、○ http://www.amazon.co.jp/dp/4897979013
スクエアーfreeセミナー 第23回

- 18 -

ご静聴ありがとうございました
よちよちAndroid
サンデープログラミングの会は、
http://yochiand.ojami.net/

スクエアーfreeセミナー 第23回