Flutterアプリコンテスト参加者が、その後「感想戦」を思いついてやってみた話

## はじめに

この投稿は、弊社 **よわよわ氏** 主催の **Flutterアプリコンテスト** の後日談にあたるものです。
アプリコンテスト本体のお話は **よわよわ氏** が投稿していますので、併せてお読みいただけると嬉しいです。
* [Flutter アプリコンテストを実施してみて…… - @kurararara](https://qiita.com/kurararara/items/0a25ee643119d4984d28)

またこの投稿は、弊社エンジニアブログの記事
「[転職直後に社内アプリコンテストに参加したエンジニアが感想戦を企画・推進した話](https://tech.pscsrv.co.jp/2020/12/21/%e7%a4%be%e5%86%85%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b3%e3%83%b3%e3%83%86%e3%82%b9%e3%83%88%e6%84%9f%e6%83%b3%e6%88%a6/)」
の感想戦開催に関する部分の裏話にあたります。

弊社エンジニアブログには書けなかった苦労話やエンジニアとしての所感をここにまとめたいと思います。
社内コンテスト開催に関する技術情報として、お読みいただければ嬉しいです。

## ごあいさつ

こんにちは、ピープルソフトウェア株式会社の **kami_teru** です。

社内で `Flutter` を利用したアプリコンテストが開催されましたが、後日、参加者を招集して「感想戦」を行いました。

それは事前に計画していたものではなく、提案してから開催まで何かと大変こともありました。
しかし得るものも大きかったので、経緯と結果を紹介したいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109362/b5a0b611-b979-60a1-b7e1-36391f109ba9.png)

## ことの始まり

私もFlutterアプリコンテストの参加者の1人として、表彰式に参加させていただきました。

参加といっても、オンラインだったので自宅で拝聴する形でしたが・・・
主催のよわよわ氏が入賞作品の発表用に~~過剰な~~ステキなWebアプリを制作してくださったりして、一人でも臨場感を楽しめました。この場を借りて。**よわよわさん、すごくよかったですよー！**反応送らなかったけどw

で、コンテストは終了しました。

私も2月に応募してから7月末の締め切りまで、開発よく頑張ったなぁと。
コンテスト参加者の1人として、感慨深いものがありますなぁ・・・

・・・

何か、物足りない。

**みんなこんなに頑張ってFlutterと格闘して仕上げてきたのに、このまま幕を閉じるのはもったいないっ！**

表彰に先立ち、コンテスト参加者には全アプリが配付されていたので、入賞作品以外にも良作がたくさんある事を知っていました。だから、ライバルたちがどのような想いや過程で制作されてきたのかを、純粋に知りたいと思いました。

**そうだ、コンテスト参加者が闘いの後に意見交換をする場といえば・・・**

「**感想戦**」だ！

将棋界からインスパイアされ。

**それぞれの制作秘話や苦労話、他の提出アプリに対する感想を伝え合えば、各々の技術向上につなげられるかもしれない。**

そのような経緯で、参加者の1人だった私は主催のよわよわ氏から了承を得、感想戦企画を進めることとなりました。

## 感想戦を開催するにあたって

このご時世なのでオンライン開催というところだけは決まっていましたが、他は一から調整する必要がありました。

### 非公開で？公開で？

「コンテスト参加者だけでやるか？」それとも「公開でやるか？」が最初の分岐点でした。

* 前者だとより遠慮ない意見が飛び交って、より本来の目的を果たせそうです。
* 後者だと参加者が歩んだ道のりを広く伝えることで「次回は参加しよう」という人が増えるかもしれません。

次回コンテスト運営のために集まった運営メンバーに相談した結果、両方やっちゃえ！ってことになりました。
二部制にして、第一部は公開のパネルディスカッション形式とし、第二部は関係者のみに絞ってガチ感想戦をワイワイやろうと。

これで方向が定まりましたが、第一部は自分たちだけでにやるのはハードルが高い。
特に全社員を対象に多くの参加者を集めるためには、「業務時間内」扱いにしたい思惑がありました。
そこで、イベントなどを統括するえらい人に相談。

> kami_teru「・・・ってことで、全社イベントとして感想戦やりたいです。」
> えらい人「それ、むしろ乗らせてください、となるイベント。どの段階でも支援しますよ！」
※注）実際のセリフから若干デフォルメしてあります

案ずるより産むが易しってやつでした。
（実際は、企画書まではいかなくとも、依頼事項を事前にまとめて依頼をかけることをしました）

さて、ここで、以下を決定することが出来ました。

* 第一部、第二部とも、定時時間後にオンラインミーティングを利用して開催する。（多くの人が参加しやすいよう考慮）
* 第一部は、定時後の1時間で開催し、業務時間内扱いとする。（要は、残業付けて良し）
* 第二部は、第一部終了後の1.5時間で開催し、打ち上げも兼ねる。（カンパーイするので残業はつかない）

こういったデリケートなところを先に決めておけたのは良かったです。

### コンテスト参加者からの協力の取り付け

次に解決すべき内容は、アプリコンテスト参加者からの協力の取り付けでした。
この「感想戦」はいわば完全後出しですから、ライバルとの意見交換なんて興味ないかもしれないし、パネルディスカッションって公開処刑聞いてない。そもそもそんなつもりで参加したんじゃない、って言われるかもしれない。。。

そこでアプリコンテスト参加者向けの「感想戦の提案書」を作りました。
詳細は弊社エンジニアブログ側の投稿に掲載してありますが、要は、以下の点に気を付けました。

* まずやりたいことは、第二部の参加者同士のガチ感想戦である事を最初に伝える。そして、カンパーイもしましょうと。
* 次に趣旨は異なるが、次回コンテストに向けて盛り上げるために第一部にも「力を貸してほしい」旨を伝える。

こんな一文も添えました。
> ※(第一部は)当初計画していなかった「後付け」の話なので、できればお願いしますっ、というスタンスです。。。辞退いただいたからといって何もありませんので、ご安心くださいっ。 

なんせガチの完全後付け企画なので、コンテスト参加者の皆様の負担になるようなことがあってはならぬと、かなり気を配りました。

しかしその結果・・・なんと全アプリの制作者(制作チーム代表者)に、第一部／第二部ともご出演＆ご参加いただけることに。
これは大変ありがたいことでした。

## 感想戦の準備

必要な協力を取り付けることができたので、あとは当日に向けた準備を進めました。

### 第一部：パネルディスカッションの準備

私はオンラインイベントの主催も、パネルディスカッションの企画も初めてだったので、いろいろ調べました。

#### モデレーター

パネラーの半数以上を手玉にとれるモデレーターが居るとよいと聞き、ならばと社長に依頼。

#### パネラー

コンテスト参加者がパネラーですが、限られた時間内でより多くの言葉を引き出すためにはシナリオが必要と考えました。そこでコンテスト参加者全員に事前アンケートを配布し、その回答を踏まえて当日スライドを用意することにしました。
（事前アンケートの詳細は弊社エンジニアブログ側の投稿に掲載しています）

#### 司会進行

担当を2人、アサインしました。オンラインミーティングの管理、進行・スライドの切り替え、タイムキーパーなどのすべてを担っていただきます。これで私は当日、一人のコンテスト参加者(パネラー)に戻ることができるという魂胆。

### 第二部：参加者同士のガチ感想戦＆打ち上げの準備

こちらは成り行きに任せてワイワイやれば、というところですが、約10名がオンラインで会すると話すタイミングが難しかったすると考え、こちらもモデレーターだけは決めておきました。

## 課題発覚

前述の準備を進めていた矢先、こんな話が。

> 「今回のコンテストについて、社内の温度感に大きな差が見られます。これを埋めないと、当日の参加者がどれくらい集まるか心配です。」
> 「そもそもコンテストにどんなアプリが提出されたのか、コンテスト参加者・審査員以外の大半の社員が知らない状況です。」

これには......アタマをガツンとやられた感じでした。

確かに、表彰式では主に入賞の結果だけが伝えられていましたし、そもそも表彰式は任意参加でした。

私も、相談していたメンバーも、全員がコンテストの参加者 or 審査員だったので、こんな簡単なことに気が付いていなかったのです。

どんなアプリが出たのか知らないコンテストの感想戦なんて、興味を引きませんよね。これでは第一部の目的『参加者が歩んだ道のりを広く伝えることで「次回は参加しよう」という人が増える』を達成することができない。

### アプリ紹介動画を制作した

感想戦本番まで、あと13営業日。

出来ることは、何があるか？

アプリコンテストの審査員向けに提出された「アプリ紹介文」は審査向けの文言も多いですし、これを今さら公開したところで効果は限定的かと思いました。

そこで......思い切って次回コンテスト運営メンバーに相談。

> kami_teru「当日までに、アプリ紹介動画を作って順次公開とかしたら、参加者増えるんじゃないかなーと思うのです。」
> 運営メンバー「動画つくるのは運営ですよね？（各参加者はこれに手を回す時間はないと思われ......）」
> kami_teru「運営で作る考えです。8本あるので、もしよければ分担......」
> 運営メンバー1「動画制作はめっちゃ好きなんですが、業務が割とハードスケジュールで。」
> 運営メンバー2「最近業務がピークを迎えており。」
> kami_teru「デスヨネ！」

一瞬、動画は諦めました。でも・・・

> kami_teru「今後のコンテスト運営の負荷を考えるとやらないほうがいいかもしれないかもですしね！」
> 運営メンバー1「こういうイベントに興味を持ってくれる人を増やすために、動画を作る事自体は良いなって思います。」
> 運営メンバー2「動画は視覚的に訴える力がすごいので、やれるならやったほうが良いのは確かです。」
> kami_teru「よし、じゃぁ、やっちゃっていいですか？いや、やらせてくださいっ！」
> 運営メンバー1「kami_teruさんに負荷が1点集中して、楽しいけど疲れたなーって主催のよわよわさんみたいにはならない程度で頑張っていただきたいなと思ってます。」
> 運営メンバー2「GOGO！」

ということで、やることに！
あれ、でもあらためて見ると完全に乗せられてますね、これ......~~とくに運営メンバー2(よわよわ氏)ときたら~~

しかし一応、勝算はありました。
文字と画像をはめ込むる「シーン」を組み合わせるだけでアプリ紹介動画が制作できるサイトを見つけておいたのです。

* [CM動画作成ツール - Renderforest](https://www.renderforest.com/jp/commercial-maker)

ということで、全アプリ(8本)分のアプリ紹介動画を制作。
こんな段取りで進めました。

1. アプリ制作者に、アプリ紹介動画を運営で作成させていただく旨を連絡
2. サクッと8本分のラフ動画を制作
3. コンテスト参加者に内容を確認してもらう
4. 動画を仕上げる
5. 全社員向けにアプリ紹介動画を順次公開（1日2アプリづつ、前日までの4日間かけて）

順次公開期間を差し引くと、8営業日で8本分を制作,確認,仕上げをこなさないといけないスケジュール。
自分のアプリの紹介動画は2時間で作れたので、まぁ何とかなるでしょうと。

結果・・・
キツかった。いや、動画制作は楽しいけど、疲れたなーって......。

想いがこもったアプリ作品のキャッチコピーを考えるのがホント大変で。どう頑張っても私には、1日には2つのキャッチコピーしかひねり出せず、作者とは期限ギリギリの内容調整となってしまいました。やはり物事は計画的に、ですね。

しかし完成した動画は作者の方々に喜んでいただけたので、次回コンテスト以降も運営からのプレゼントという形で紹介動画を作るのはアリだなと感じました。（次は計画的にね・・・）

### アプリコンテストの経緯をふりかえる投稿を全社員に流した

あともう一つ。
当日に向けて盛り上がりを作るため、アプリコンテストの経緯をふりかえる投稿を連日行いました。

* 「ことはじめ(昨年12月、Flutterコンテスト告知)」
* 「応募開始(2月)」
* 「審査員募集(7月)」
* 「表彰式(9月)」

コンテストは制作時間を十分にとればとるほど、非参加者の立場からすれば、時間と共にその存在すら薄れてしまうのは仕方がないこと。なので過去の投稿を引用しつつ、当時の背景なども紹介していきました。

## 感想戦当日

### 第一部：パネルディスカッション

パネルディスカッションのスライドは、お題ごとにネタ(選択肢)を用意しておき、モデレーターが聞いてみたいネタを引く流れとしました。

お題は事前アンケートに基づき、このようなラインナップ。

* 特にこだわったポイント、うまくできたところ
* 何か得たもの、参加してよかったと思えたこと
* 苦戦したエピソード
* 実は...こうしたかった！
* 制作期間／苦労話・裏話
* アプリ制作者が思った「このアプリ良き！」

下図は開催中のイメージです。この中から、モデレーターがネタを選ぶ形で進行しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109362/a8d89c40-b953-190d-7910-50b416f56326.png)

所要時間は1時間。
司会とモデレーターのフリにパネラーが乗せられる形で発言が回り、有意義に過ごせたと思います。
また [slido](https://app.sli.do/) を開設。イベント参加者の質問を司会が拾って紹介する形で、話題が広げられたと思います。

なお、特に気を配った点として、以下のようなことをやっておきました。

* 全ての出演者が前半で一度は発言できるように、進行側で前半に選ぶネタを決めておいた（緊張をほぐすため）
* パネラーにも、前半部分はどのスライドで自分のネタが選ばれるかを事前にリークしておいた

### 第二部：ガチ感想戦＆打ち上げ

第一部から少し休憩を挟んでの開催。各自が食べ物・飲み物をそれぞれ準備出来たところで、カンパーイして開始。

最初こそモデレーターに話題を振っていただきましたが、その後は自然に生じた盛り上がりに流れをゆだねる形で、楽しい時間を過ごすことが出来たと思います。第二部で、第一部での不足分を完全燃焼した感じです。

また、これは参加者の一人としての感想ですが、「そうそう、これ苦労するよね！」とか、「実はこのアプリってすごくデザイン洗練されてますよね？」といったところがエンジニア同士で分かり合えたことや、アプリを完成させた苦労と喜びを皆で分かち合えたことがとても大きく、意味のある充実した時間を得られました。

### で、どんな話が出たん？

感想戦で出た内容を少し紹介します。
なお本コンテストの参加者は「Flutterを今回初めて触った！」人が大半なので温かい目でお願いします。

#### Flutterアプリ制作時にこだわったポイント

* シンプルなデザイン(余計な機能を付けない、目的にフォーカスしたUI、など）
* スワイプの操作性
* 利用者を待たせないための工夫(非同期処理)
* 多言語対応
* 画面再描画範囲の最小化

#### Flutterアプリコンテストに参加して、何か得たもの、参加してよかったと思えたこと

* 動かなかったものが動くという感覚を沢山の人と共有できた。
* 制作する過程で部署を超えた皆さんとのつながりを作れた。
* 生活の中で自主的な学習時間を取るきっかけになった。
* Flutter技術力向上（仕事を受けられる自信を得た）

#### 苦戦した点

* 画像と文字の重ね合わせ、座標の計算
* 非同期処理周り
* Firebaseの認証系の学習
* Firestoreの使いこなし
* タブ切り替え機能の後付け
* 古い端末で性能を出すための工夫

#### 苦労話

* 検索して見つけた答えが英語のYoutube。しかもちょっと訛りのある英語で聞き取れない...。
* 働く環境が変わってしまい、作業場所を確保するためにコワーキングスペースを契約。
* 計画した機能が多すぎて何度も気持ちが折れそうになったが、家族にやると言った手前、やるしかなかった。
* ちょっとした記述ミスのはずなのに、動作がガラッと変わってしまって時間を取られる。
* エミュレーターとAndroid StudioのせいでMacが常に唸りを上げていて暑い夏。

## 社内コンテストの感想戦をやってみて

提案書作り、各部署との調整、急ピッチでのふりかえり投稿＆アプリ紹介動画制作にと、大変な時期を過ごしてしまいましたが、それは次は計画的にやりましょうってことで。

感想戦終了後、私のエンジニアとしての技術的欲求は無事収まりました。なので『**みんなこんなに頑張ってFlutterと格闘して仕上げてきたのに、このまま幕を閉じるのはもったいないっ！**』という想いは果たせました。感想戦を開催したことで、いい形でコンテストを終えることができたと思っています。

しかし課題も残りました。

感想戦を開催したもう一つの目的『**参加者が歩んだ道のりを広く伝えることで「次回は参加しよう」という人が増える**』です。
第一部の参加者が30人(パネラーなど出演者含む）程だったのです。弊社は100人超のエンジニアが在籍しており、これは目標としていた数字からは遠い結果。ただしこの結果には、様々な要因が関係している可能性がありますので、この結果を受けて次はどのようにして開催するのかをしっかり検討したいところです。

私は次回コンテストより運営メンバーとして参画させていただくことになったので、初回主催のよわよわ氏をはじめとする次回運営メンバーと共に、また新たな挑戦をしていきたいと思います。

この投稿にまとめた私たちの道のりが、読んでいただいた方の企画・チャレンジに少しでも貢献出来ましたら、うれしいです。
（コンテストと感想戦は、ぜひセットでやってみてくださいね～！）

以上、最後までお読みいただき、ありがとうございました。