DroidKaigi2019にゴールドスポンサーとして協賛しました

Azit Inc. のエンジニアのid:Pocket7878_devです。

DroidKaigi2019皆さんお疲れ様でした!

f:id:Pocket7878_dev:20190207123157j:plain

弊社では本年度初めてゴールドスポンサーとして協賛させていただきました。 開催期間に併せて弊社サービスのCREWで使える2000ptのクーポンコードも発行させていただいていましたが、 ブースではAndroid x MaaSという軸で二日間に分けてアンケートボードを実施していました。

f:id:Pocket7878_dev:20190208175958j:plain
アンケートボード

質問項目は以下のものでした:

  • アプリアーキテクチャなにをつかってる?
  • ハードとして好きな乗り物は?
  • MaaSとは?(大喜利枠)
  • Kotlinどこで使ってる?
  • 移動に苦痛を感じる?
  • 新しく作るならAndroid4系対応させる?

期間中にアンケートボードの集計した結果が出たら是非教えてほしいという声をたくさん頂いていましたので、 集計結果をいくつかピックアップしたいと思います!

アプリアーキテクチャなにつかってる?

f:id:Pocket7878_dev:20190307102108p:plain

弊社のアプリケーションはClean Arch x Reduxの構成で実装しているので、他のアーキテクチャの皆さんと実装の経験・知見をお話できる良い機会になりました。 Androidの標準のライブラリがMVVM的機能を多く提供していることもあり、MVVMを採用しているアプリが特に多い結果となりました。 また、現在MVPですが、MVVMに移行している最中というチームもあるようで、MVVMを採用しているチームが今後更に増えていくのかなと感じました。

移動に苦痛を感じる?

f:id:Pocket7878_dev:20190307102124p:plain

また、弊社が交通の課題にたいして取り組んでいることもあり、移動にたいしてみなさんが現在どういう課題を感じているのか、 また、逆に苦痛を感じないだという人はどういった移動を体験されているのか調査したいと思いこのテーマにしてみました。

苦痛を感じたという結果の方の多くはやはり満員電車による移動が大変ということでした。 逆に平気だという方は電車移動ではなく自転車通勤等をされている方や散歩のような移動は風景を見ながら非常に楽しいという意見をいただき、 移動だけでなく、移動周辺のユーザー体験等も含めてどういった形のニーズがあるのか知れるよい機会となったと感じました。

MaaSとは?

MaaSというのはMobility as a Serviceの略称ですが、略称としてではなく「maas」という字の並びである他のものがあるのですが、なんでしょう? というほぼ直感で答えてもらう大喜利枠でした。 じつはこの中にも一つだけ正解が有ってシリアにあるらしい村の名前というのが一応の正解でした。 最初の頃は皆さん北欧ブランドっぽいなぁという方が多くたしかにそんな感じが一番するなぁと私は思っていました。

そのほかの項目についても、結果を集計したスプレッドシートを公開していますので、ぜひともご参照ください。

docs.google.com

余談: アンケートボードの集計

アンケートボードは、結果を集計するだけでなく貼って頂く過程で皆さんといろんなお話に繋がりやすくて個人的に やってよかったなーと感じます。一方で結果を集計するにあたっては単純にやろうとするとステッカーを数える必要が出てきてしまって 正確にやるには少し大変です。

なので、今回は即席でOpenCV + Pythonのスクリプトを書いて、画像からステッカーを検出して数える補助ツールを作成しました。 このスクリプトで補助的に各ステッカーが検出されてどの項目への回答とあつかわれているのか分類することで、 微調整は人間が目視で簡単におこなえたので非常に楽でした。

まずは画像を前処理する

ボードには様々な装飾としてステッカー以外にも丸っぽい物が印刷されています。 例えば「Android」という字の中にも「o」とか「d」とかに も円形の文字は含まれています。 こういったものまで誤検出されてしまうと大変なのでまずはドキュメントをカメラで撮影して取りこむツールで 切り取ってしまえる箇所については切りとり、きちんとステッカーが丸に見えやすいように整形しました。

また、画像のサイズが大きすぎても計算量の向上や誤検出の可能性も増えてくるので、一律で横幅640pxにサイズを調節しました。

Hough変換で円を検出して分類

あとは、コマンドラインでファイルとセクション数を指定して、検出した円が横幅をセクション数ごとに分割した範囲でどこに入っているのかで 色分けしつつ集計結果を表示するプログラムを書きました。

f:id:Pocket7878_dev:20190305130347p:plain
ステッカー集計プログラム結果

あとは、検出できていないものとか誤検出されてるものを数個調節してあげるだけで簡単に集計することができました 。 100枚ほど回答していただいたパネルもあったので、手作業で数えていたら大変になるところでした。

以下書き捨てのスクリプト:


今回は初スポンサーという事もあって、色々と運営の皆さんにお世話になりました、 来年も何らかの形で運営のお手伝いできればと思っています! 弊社にご興味もっていただけた方がいらっしゃったら、ぜひお気軽に @Pocket7878にDMやリプライください!