DroidKaigi 2017でAndroid Bikeを作ろうって発表をした話
TL;DR
- DroidKaigiで発表するために、以前からなんとなく作ってみたいと思っていた自転車アプリを作って登壇した
- 登壇を考える人のために、発表に至るまでの流れと資料を作る上で考えたことをまとめた
- 登壇すると、思いのほか色々なものが手に入って楽しい💪
きっかけ
なんとなく、思い立ったので。自分はDroidKaigiに1回目からスタッフとして参加した一方、登壇はしたことがなかった。以前から一度登壇してみたいな?とは思っていたのだけど、ここ最近はガッツリとアプリ開発には携わっていなかったので、あんまり話すこともないなーと考えていた。
今回も約4ヶ月前から登壇者募集が始まり、いつも通り発表が集まってきたところを締め切り前日ぐらいに眺めていて(応募状況はGoogle Spreadsheetで公開されているので途中でも見られるようになっている)なんとなくハードウェア周りの話がBLEやIoTな話がAndroid Wearぐらいしかなく、寂しい感じなのに気がついた。最近、個人的にアプリを作ってなかったし、自分の手元には最近買ったBluetoothを話す自転車がある。じゃあせっかくだしなんか作って話してみようかな?という主にその場の気分で、以下のようなアブストを投稿した。
Android Autoはちょっと手が届かない…けどBike(自転車)なら!
「最近購入した自転車がBluetoothを喋るので何かやってみよう」Androidならそのぐらい気軽にIoTできるよ、ちょっと頑張れば既にある製品より圧倒的に使いやすい機材を自分で作れるよ、という話を、ある程度Android開発に慣れてきた開発者向けにお話しします。身近なBluetooth Low Energyデバイスや実はあんな家電もこっそり生えてるAPIに、スマホのユーザーインタフェースを組み合わせることで、手軽に自分専用の道具を作ることができます。このセッションが、普段開発しているスマホやタブレットという枠を超えた外の世界とインターネットを繋いで、世界にカジュアルに新しい価値を提供していくきっかけになると幸いです。
ちなみに締め切りの直前まで文章を修正して、ギリギリ11秒前に提出したぞあぶねー!と思っていたら、完全に1日勘違いしていて24時間11秒前だった。
で、その後採択が決まり、11/21に登壇が確定。アプリを開発する理由ができてしまった。
アプリの開発
じゃあ早速アプリを…と思っていたのだけど、なかなか手がつかず。年末年始に実家で開発しようと初めての飛行機輪行までしたのに、結局コードは1行も書けなかった。その後ずっとイメトレだけ続けて、結局開発には入れたのは2/12から。残り1ヶ月を切って、ようやく火がついた状態。
とにかく一旦目標を立てねば、と重い腰を上げて環境を整理をするところから始めた。ここから発表のアウトラインまで、細かいことは作業しながら Dropbox Paper にメモ書きを残したので、そっちを見てもらえるとって感じ。以下ではいくつかポイントをピックアップ。
まず最初はやらないといけないことを洗い出し、真っ先にやったのはとにかく作業時間の確保。朝型生活をするぞ!と平日毎朝2時間、土日に4時間ずつ作業時間枠を確保するようにして、2月いっぱいで38時間を確保した。もちろんそんな毎日起きれた訳ではなかったけど、とにかく10分でも進めていった。気分だけでも Try something new for 30 days — Mutt Cutts を真似する。
実際にやってみた感想としては、「時間を確保している」という安心感のおかげで変なタイミングで焦ったりしなくて済んだのは精神衛生上とてもよかった。特に夜に「あー進めないと!」って気持ちになりがち(そして手は動かない)だけど、そんな時も「いや、明日の朝早く起きて時間確保できるようにするほうが大事」と考えられるので健康的。
あとは、いつも開いているSlackの自分チャンネルやPaperにあれこれメモを残しながら活動する。あとから資料を作るときに役に立った。
特に調査系の作業は前半に多くなりがちで、後半になってくると何を調べたかさえ忘れているので、URLだけでも貼っておくと便利。
最近のテクノロジースタックをDroidKaigiのカンファレンスアプリを参考にして取り込もうと思ったら、ついコードに手を出して逆に時間を奪われてしまったり、
開発しながらできた部品で実験してみた動画を上げてみたり、
それなりに形になったところで実際走ってみたのをツイートしつつモチベーション(という名の自己承認)を高めていった。
画面のキャプチャーや、実際使っているところを動画で撮ったりしておくと、昼間に職場で同僚に見せたりしてフィードバックが得られるのでその辺もモチベーションに繋がるし、その場で出た細かいアイディアを取り込むこともできるのでオススメ。
同じ端末を使ってる自転車乗りが周囲にいれば実際にアプリを試してもらってもよかったのだけど、ハードウェア使う系のアプリだとそういう環境はあんまりなさそう。
資料作り
当初の予定通り、2月いっぱいでアプリ自体の開発の手は止めて、3月は資料作成に回した。時間としては全体で14時間確保できてる予定。
結論からいうと、ほとんどの作業をPaperで終わらせた。上にも書いたPaperメモに書いてあるアウトラインが発表のほぼ完成形。
アウトラインを書き始める前に、まず最初に話す対象と伝えたいことを明確化する。
- IoTやセンサーに興味があるけどほとんど触ったことがない人が対象(ちょっと前の自分自身)
- 手元にある道具で現実世界と自分の書いたコードを融合できることを知ってもらう
- 楽しそうだな?作ってみたいな?と思って帰ってもらう
その上で、メイントピックを並べて時間で絞り込む。30分だと大きく分けて3つぐらいのトピックが限界なので、それを踏まえてアジェンダを作った。中心にあるトピックは、Bluetooth LEセンサの話、本体のセンサの話、画面表示の話で、その前後に導入とまとめが入る。その段階で時間を配分して、時間分のアウトラインを書きながら中身を掘り下げていく。抽象的なことばかり話しても実感沸かないのでコードまで出す、コードだけ並んでも関係をイメージできないので先に何故やるのか明確化する、みたいなことを意識しつつボリューム見て、書けたら実際に話す速さで話してみて時間を測った。
本当はこのツイートをした週の頭の時点で資料が完成している、という予定だったのだけど、結局アウトラインの完成で力尽きてしまった。バッファが残り3日あったので、延長戦でなんとか気合でアウトラインをKeynoteに変換するbotになる。登壇に使うだけであれば、Paper自体もプレゼンモードがあるので最悪そのまま発表も可能ではあったのだけど、見やすいレイアウトにしたかったのと、最終的にSpeaker Deckに上げられるPDFが欲しかった。
結局、バッチリ「前日スピーカーディナー会場に早めに入って直前までガリガリ資料を作る組」の仲間になってしまった。
しかし、この日々時間に追われる猛者達に強力な知見の共有を受けたことにより資料作成が加速したので完全なる結果オーライ事案となった。30分でスライド30枚作ることが可能になったりして、前日までに無事完成にこぎ着けた。
スピーカーディナー
話は前後して、DroidKaigi前夜には登壇者を集めたスピーカーディナーがある。事前に人数はなんとなく分かってたつもりだったものの、いざ会場に居ると思ったよりもたくさん人がいた。知っている人も何人かいる感じだったので、自分は知っている人同士を繋いだりした。
基本的に知らない人がたくさんいる場なのだけど、スピーカーディナーに来る人は少なくともみんな発表する内容を持っているので、常になんらかの話題があり話が弾みやすかった。今年は海外からの登壇者も多く、つたない英語ながら色々と話ができて楽しかった。みんなアメリカから来たのかと思いこんでたけど、実際にはイギリスをはじめヨーロッパ方面から来た人率が多かった気がする。
発表当日
当日はスタッフ業務をやりつつ、発表直前には準備時間を確保してもらっていたのでそこで最終調整。今回は、スライドにコードが現れたり、プロジェクタの画面もそこまで大きくなかったりしたので、資料を先にアップロードしておいて適宜参照してもらう運用をすることに。
で、発表会場の雰囲気はこんな感じだった。
正直なところ、思ったよりたくさんの方に来ていただけて嬉しかった。同じ時間帯のセッションだと H. Kurokawa さんの RxJava の話にガッと持っていかれちゃうかなー?ってイメージだった。
今回のセッションはビデオがそのうち公開されるのだけど、自分でも参考用に録画していたりした。ざっと聞いてみた限り、なんだかんだで内容の咀嚼は何度もしてるのでそれなりにテンポよく話せてたと思う。が、時間いっぱい話してしまって質疑応答の時間がとれず、またその日の最後の枠だったので、セッション後のオフィスアワーがなく撤収時間だったのだけど、撤収までの短い時間にいろんな方に話しかけていただいて知見をもらったりした。普通にAndroiders Central Engineの開発者の方とかも来られていて、DroidKaigiの集客力すごいなと思った。
その後、ツイートを検索してみたり反応を見ていた。
趣味アプリ(のプロトタイプ)は、過去のバージョン切り捨てつつ自分の思い通り作れるから楽しいぞ、って話は意図してたところなので、共感してもらえててよかった。
あと、発表してるそばから問題を見つけてもらえていてリアルタイム集合知感がすごい。
手に入れたもの
なんとか発表を終えて振り返ってみると、結構いろんなものが手に入ったことに気がついた。とりあえず分かりやすいところでいうと、自己実現欲求が一通り満たされた感じ。単に面白かったって言ってもらえるだけでだいぶ嬉しい。
またTwitter以外に、DroidKaigiではセッションごとにアプリからフィードバックを返すことができるようになっており、最近その集計が一斉に送られたため登壇者界隈が賑わった。
あと資料を上げてあると、登壇した当日だけでなくあとから追っかけてもらえたりもする。Stack OverflowとかQiitaでそれなりの数を投稿してると、その後まったく投稿してなくても自動的に徳が積み重なり続けるけどそれに近い感覚。
それから、他の人から話しかけてもらえるきっかけが手に入った。アフターパーティでも声を掛けてもらえたりして、まったく手持ち無沙汰にならずに済んだ。
そして、今回のそもそものきっかけである、それなりに簡単に使えて見た目も楽しいサイコンアプリが手に入った。手に入ったというか、作った。今も普通に使っているし、DIY的に好きにいじって遊べるのは楽しい。BLEやセンサを使ったアプリを作る知見も手に入った。ちなみにアプリ自体のリリースはいまのところ未定で、まずは自分で使って色々修正しつつそれなりに形になって求められるようなら考えたいなーという感じ。
あと、朝に時間を確保してなにかを作り上げていく経験。平日に作業時間確保して行動するの割とよくて、寝起きを改善するモチベーションにも繋がってよい。DroidKaigi終えて一旦途絶えてしまったけど(あ、30日続かなかった)習慣として続けたいと思って再開して、引き続きこのエントリを書いたりしている。
一方で、朝起きれない問題は完全解決してない。自分は基本的に睡眠時間が長い方なのを自覚していて(時間自体は確保してる)、睡眠環境改善はある程度もうやってたりするので、次は食事改善とかそういう話になりそう。
まとめ: 登壇オススメ
てな感じで大変なところもあったのだけど、発表してよかった。
強引にまとめると、「自分にとってあたりまえのことは、他の人にとってはそうではないかもしれない、だから発表に応募しよう」って話。ウェルカムトークで @mhidaka さんも言ってたけど、この考え方は世界共通。
最初の方でも書いたけど、今回ハードウェアカテゴリでの応募があんまりなくて寂しかったしけっこう穴場だと思うので、我こそはと思う方は是非。
次回はスタッフとして動いた話について書きたい。