Timee Product Team Blog

タイミー開発者ブログ

DroidKaigi 2024登壇レポート

ふなち(https://x.com/_hunachi)です。

DroidKaigi 2024で登壇してきました!

初めてのDroidKaigiでの登壇はとても緊張しましたが、良い経験になりました。

登壇内容

タイムテーブル

2024.droidkaigi.jp

登壇資料

speakerdeck.com

登壇動画

www.youtube.com

この内容で登壇した経緯

昨年から今年の頭にかけて、基本一人でもくもくPDFを表示するコードを書く機会がありました。

話はそれますが、iOSでPDFを表示させたいとなった時、公式のFrameworkであるPDFKit(https://developer.apple.com/documentation/pdfkit)を使うことができます。これが高性能で、リンクの表示や文字列検索など色々できてしまうのです。

しかしAndroidは… 調査した結果、公式から出ているAPI(PdfRenderer)では、Bitmap生成とページ数取得くらいしかできませんでした。 また、実装するときに気にすることも色々あり少し大変な道でした。Bitmapを大量に扱うので何も考えないで実装すると簡単にメモリリーク等させることができるのです。 しかもネット上の記事にも、(当時は特に)英語のもの含めPDFビュアーに関してメモリを考慮して実装したというようなものはありませんでした。

そんな困難に見舞われながらも実装することができたので一旦よかったのですが、一部悔しさはありました。

そんな時です。 Android 15のリリース予告記事でPDF周りのAPIがかなり強化されると発表されました🎉 記事を読んでみると、文字列検索などもできるらしく、革命だ!と思いました。

そのような中、Android 15(Vanilla Ice Cream)をエミュレーターで動かせるようになったタイミングで、休日も使い色々実装してみました。

ハッカソンで作ったようなコードと見た目なので今後も公開はしない予定ですが、PDFを要約する機能や、特定の文字列がある部分を枠で囲ってくれる機能、フォームの内容を変更できる機能を試すことができるアプリを作りました。 色々できるようになっていることを知れて、嬉しかったのを覚えています。

しかもこの時、運よくDroidKaigiのプロポーザル提出期間でした。 もともと緊張するタイプの私にとって、40分という時間のハードルはそこそこ高く、特に発表したいことがなければ提出するつもりはなかったのですが、PdfRendererの素晴らしい進化を伝えたいという気持ちに負けて、プロポーザルを提出しました。

その結果嬉しいことに、採択されました🙌

登壇準備

採択された後は、発表資料を作成するため、今までやってきた経験をもとに一から簡易的なPDF Viewerを作り、そのコードを使い発表資料を作成しました。 コードを書く方に時間を費やしすぎて、焦って資料作りすることになったので今後は気をつけようと思います。

資料を作る中で、やらかしたかも!と思う出来事もありました。 プロポーザルの編集期限が過ぎた後に、GDEの方のSNSでの発言により、androidx配下にpdf/pdf-viewerというディレクトリが爆誕していることに気がついたのです。プロポーザルに書き損ねてしまったことに後悔していたら、資料作成途中の8月頭にandroidx.pdf:pdf-vieweralphaがリリースされました。

そこで、プロポーザルに書いていないが話さないわけにはいかないなと思い、発表資料にandroidx.pdf:pdf-viewerのことも組み込むことになりました。

このandroidx.pdf:pdf-viewerの内部実装について紹介しようか迷いましたが、このライブラリと同じようなことをしたいのであればこのライブラリを使えばいいなと思い、重要な部分(プロセス分離の部分)を除いて内部実装については発表しないことにしました。

また同時通訳対象だったため、日英両方でスライドを書いたり、事前にスライドを提出したりする必要がありました。 大変な部分もありましたが、英語のチェックを社内の方や家族にしてもらえて助かりました🙇

発表数日前にはタイミーのメンバーの前で発表練習もさせてもらいました。 その際に色々と質問等をもらえたおかげで、ブラッシュアップすることができました。 忙しい中時間を作っていただき感謝です!

余談ですが、弊社には登壇や執筆をサポートする制度もあります。

productpr.timee.co.jp

今回私は入社前に登壇準備をすることになったため、あまり利用していませんが、今後はこちらの制度も活用したいです!

発表当日

発表では、めちゃくちゃ緊張していましたが、なんとか発表を無事終えることができました。 緊張で止まってしまったりすることもなく、発表時間もちょうどで終わったようでよかったです。

ただ、早く喋り過ぎたので同時通訳の方には負荷をかけただろうなと思い反省しています。次に同じような機会に恵まれた際には気をつけます。

少しニッチな内容なので、Ask the Speakerも暇になるかなと思っていましたが、 「今PDF関連のことを触っていて〜」や「ちょうど調べている内容なので助かりました!」と英語話者の方も含め質問していただいたり、声をかけていただいたりして嬉しかったです。

当日だけじゃなく後日含め、SNSやブログでもピックアップしてコメントをくださった方々もありがとうございます。 直接の反応はあまりできていませんが、見るたびにとても嬉しい気持ちになっています。

写真はDroidKaigiが公開しているアルバムから引用

引用元:https://x.com/DroidKaigi/status/1840692565538136507

発表以外の感想

実は今年もスタッフをしており、主にセッション進行のお手伝いを行なっていました。

また、スタッフ業務をしながら他の方のセッションを見ていたのですが、そこにも多くの学びがありました。 まだ全てのセッションを見ることができてないので時間を作って見てみようと思います。

アフターパーティなどでも他の登壇者の方や私の発表を聞いてくださった方、初めましての方や久しぶりにお会いした方々とお話しすることができ、とても楽しかったです。

まとめ

私の発表を聞いてくださった方々、登壇のサポートをしてくださった方々、スタッフの方々など、皆様に感謝しています。ありがとうございます!

40分の登壇を経験したことで、他の登壇している人たちをさらに尊敬できるようになりました。 とても良い経験でした。

これからも積極的にインプットとアウトプットをしていこうと思います!

余談

発表中緊張して途中で声が出なくなるといけないので、いざという時にお面をつけて落ち着こうと考えてました。お面は前日の夜に緊張具合を考慮し作成しました。 登壇直前のマイク確認でお面をつけて喋ってもマイクが通るかの確認もしました。 確認の結果、お面をしていてもマイクに音は乗ることがわかりました。 このいざという時の備えができた安心感も発表を乗り切れた理由の一つかもしれません。 お面参戦なら登壇できるかもという方は、来年以降プロポーザル提出チャレンジをしてみると良いと思います!

また、他のメンバーによるDroidKaigi 2024参加レポートも公開しています。是非こちらも読んでみて下さい↓

tech.timee.co.jp