こんにちは、メルカリのSoftware Engineerとして、Androidアプリを開発している @kuu です。
日本最大級のAndroidに関する技術カンファレンス、DroidKaigi2022はひさしぶりのハイブリット開催ということもあり、大盛況でしたね!今回もメルカリはスポンサーとして一緒に盛り上げました。メルカリブースでは、Androidに関連するクイズ、ノベルティの配布などを行いました。
Mercari Advent Calendar 2022 の22日目では、クイズコンテンツなど、Androidエンジニアが作成に関わった裏舞台を紹介します。当日話題になっていたクイズもいくつか紹介します。
DroidKaigi2022の振り返り
メルカリ社員は公募セッション4つと招待セッション1つに登壇しました。気になるセッションがあれば、スライド・リンクをクリックしてみてください!
あらゆる変化を受け入れながら働きつづける 〜 介護・学業編
介護や学業といったプライベートを仕事と両立された経験を元に、ワークライフバランスを考慮した多様な働き方や将来的なキャリアの描き方について
モバイルアプリのユーザープライバシー新時代
モバイルアプリでのユーザープライバシーへの配慮方法を紹介し、実装の指針について
長期運用アプリのリファクタリングを考える
アプリのアーキテクチャの方向性が明確化してきた中で長期運用しているアプリをリフレッシュする方法について
Kotlinize your CI, from Gradle tuning to Kotlin Script
さまざまな方法で Kotlin を活用して、この言語で可能な限り多くの自動化コードを記述し、Kotlin ユーザーにとって簡単に保守できるようにした方法について
Android/iOSアプリを協調開発するチーム 〜スクラム開発の実践とその先へ〜
Android/iOSエンジニアが一つのチームとして楽しく協調しながら開発を進めていく経験や工夫について
スポンサーブース運営の裏側
今回はAndroidアプリ開発の知見をスポンサーブースの中で活かすために、Androidエンジニアが自らスポンサーブースのクイズ作成を行いました。記事の最後に、当日実施していたクイズの一部も添付しています。
ブースで何をしていたのか
Androidアプリ/Jetpack Composeに関するクイズを用意しました。また、クイズに挑戦した方にノベルティ配布を行っていました。多くの方に来ていただき、クイズにチャレンジしていただきました!UIクイズが絶妙な難易度だったようで、UIクイズのボードの前でみなさん悩んでました。
#DroidKaigi のメルカリブースではみなさまに楽しんでいただけるようクイズを用意しています。9問正解でタオルをGET✨
本日は足元が悪いので、お気をつけてお越しください!会場でお会いしましょう。 pic.twitter.com/wPQ2sF8Cof
— Mercari_Dev (@mercaridevjp) October 5, 2022
クイズは2段仕掛けで、ブースに掲示されたUIクイズの出力結果に表示されているQRコードを読み取ると、アンケート付きのクイズがスマホのブラウザで開きます。
ブース準備の流れ
8月後半に、メルカリグループ横断で行われているAndroidエンジニア向けの情報共有・議論ミーティングにて、メルカリがDroidKaigiのスポンサーをすること・ブースを出展することを共有し、スポンサースタッフに興味がある人を募集しました。
皆でアイディアを出し合い、実施するものを絞り込み、議論しつつ準備しました。SlackやGoogle Docsを活用し、可能な限りオンライン・非同期で進めました。
ブレーンストーミング
最初は、Androidエンジニアだけではあるものの多様な視点 から、色々なアイディアを出し合いました。
例えば、
- とある国のカンファレンスではブースでゲームやってる
- PhotoBoothがあるのも良さそう
- クイズやるのはどうかな?
- コードが出力するものを当てるのはどう?
- スイーツを元にしたネーミングの前の、名前の付け方とかどう?
様々なアイディアが出ましたが、期間や実現可能性などの観点から実施するものを絞り込みました。
ロジスティクスまわり
ここまでAndroidエンジニアが積極的にやってきたように書きましたが、実際は All for Oneに様々なRoleの人が協力して作り上げました。 UIクイズのクイズボードを例に取り上げると、クイズボードの物理筐体はEngineering Office/HRの方々が準備をし、UIクイズのQRコード以外のデザインは、Creative teamが準備しました。
クイズの構成の狙い
クイズそのものを楽しんでもらうだけではなく、より多くの人にアンケートに回答いただけるように設計しました。メルカリでは、メルカリ社員の発表に対する感想・メルカリに対する印象を知るため、採用・イベントに関する情報提供する目的でアンケートを行っています。
アンケートの回答数を増やすには、より多くの人にアンケートフォームを開いてもらう必要があります。しかし、アンケートに回答するのは面倒ですし、スポンサーブースでわざわざスマホを開き、アンケートのURLを開いてもらうのはさらに大変です。
そこで、対策としてクイズを魅力的にした上で、自然な流れでアンケートフォームを開いても らう導線を作りました。UIクイズの結果の確認をアンケートフォームで出来るようにしました。
結果的には、ほとんどの方にアンケートフォームを開いてもらえました。ただ、クイズの途中での離脱率が高いように見えました。来年は、そこの部分の改善にチャレンジしていきたいです。
当日の問題紹介
UIクイズ
“Welcome to DroidKaigi” のテキスト、ボタンが横並びに2つ、そして回答を確認するQRコードが縦並びにレンダリングされるソースコードがUIクイズの問題でした。真ん中に表示されてるボタンのテキストにpaddingが設定されているシンプルなソースコードです。
正解 | 不正解 |
---|---|
- 左側の選択肢は、ボタン同士のpaddingが無く、ボタンのテキストにpaddinが付いています。
- 右側の選択肢は、ボタン同士のpaddingが付いていて、ボタンのテキストにpaddinが有りません。
@Composable
fun QuizWelcomeContent() {
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Text(
text = "Welcome to DroidKaigi!",
modifier = Modifier.padding(8.dp)
)
Row {
Button(onClick = viewModel::meetPeople) {
Text(
text = "Meet people",
modifier = Modifier.padding(8.dp)
)
}
Button(onClick = viewModel::watchPresentations) {
Text(
text = "Watch presentations",
modifier = Modifier.padding(8.dp)
)
}
}
Image(
painter = painterResource(id = R.drawable.ic_qr_code_right),
contentDescription = "QR code",
modifier = Modifier.size(200.dp)
)
}
}
UIクイズの解説
ポイントは、Buttonの要素のTexに設定してあるpaddingの係る要素です。今回はTextに対してpaddingが設定してある、つまり、Textの周りにPadingが付きます。
左側が正解ですが、右側はTextではなく、Buttonにpaddingが付いてしまっています。
コードの出力問題
以下のソースコードで出力される結果を当てるクイズです。
- 42.2
- 4242
- 42
- 101010
fun kotlinQuiz(): String {
return 42.toString(2)
}
print(kotlinQuiz())
コードの出力問題の解説
ポイントは、42という数字に対して、引数”2”を付けて toString を読んだ時にどうなるかです。
答えはKotlinのこちらの関数を見ればわかりますが、2を指定した場合は2進数の結果が返ってきます。
最後に
本記事では、Androidエンジニアも積極的に関わりつつスポンサーブース準備・運営した話を紹介しました。Androidアプリ開発の知見を活かしたコンテンツ作成でき、ワイワイと楽しかったです。来年はカンファレンスTシャツやPhotoBoothなど、色々なコンテンツ作りに挑戦していきたいです!みんなで、カンファレンスを盛り上げていきましょう!
メルカリでは、カンファレンスに参加・登壇したり、スポンサーブースを楽しみながらコンテンツ作りするAndroidエンジニアも働いています(もちろん全員参加ではなく、選択の自由はあります)。興味がある方は、ぜひ応募してみてください!