PHPerKaigi 2021 を主催した

3月26日(金)〜3月28日(日)の期間でPHPをメインのテーマとした技術カンファレンス PHPerKaigi 2021を主催しました。

オンライン開催@ニコ生

4回目の開催となる今年ですが、PHPerKaigiとしては初のオンライン開催でした。

会場を予約した昨年3月段階ではオフラインで開催できる可能性はあると思っていたのですが、フタを開けてみれば全然そんなことはなく、昨年10月頃には会場をキャンセルし、オンライン開催とすることを決めました。

動画配信プラットフォームにはニコ生を使用しました。ニコ生はiOSDC Japan 2020で使用し、草の根技術カンファレンス用として最適であり最高ではないかと思えるぐらい体験が良かったので、今回もドワンゴさま & KADOKAWA Connectedさまのサポートを頂いて使用させて頂きました。1

単純にこれだけで楽しいニコ生

ニコ生 + Discord ボイスチャンネル

前述のiOSDC Japan 2020の開催フォーマットはニコ生 + 事前録画のトーク2 + Discord のボイスチャンネルでした。

このフォーマットはトークをみんなで聞く一体感やスピーカーに直接質問するという技術カンファレンス体験を実現でき、さらに事前録画を活かしてスピーカー自身がDiscordのボイスチャンネルで補足しながらトークを聞くという新しい体験もできてとても良かったので、踏襲し、さらにDiscordのテキストチャンネルと、アンカンファレンスを追加で採用してみました。

Discord テキストチャンネル

PHPerKaigiでもiOSDC Japanでも「盛り上がりは外から見えた方が良い」という理由でテキストベースのコミュニケーション手段としてTwitterを最重要視してきました。

ニコ生を採用したことでオンライン化で失われたコンテキスト共有感の補完ができたのですが、テキストベースのコミュニケーション手段がニコ生コメントとTwitterに分散していました。

そんな状態でDiscordテキストチャンネルを追加すると、カンファレンス内に閉じたコミュニケーションがさらに増え、外から見えるコミュニケーションが減るのが心配だったのですが、まずは参加体験を高めてみよう、ということで採用してみました。

結果としてはとても良かったと思っています。技術カンファレンスで必要なコミュニケーションの1つはトークに関連したハイコンテキストな会話で、それはリプライが枝分かれし一覧表示しにくいTwitterでは難しく、コミュニケーションが1つのストリームとして存在するテキストチャットの方が向いている様でした。

Discordにはトーク中に「パブリックビューイング」として使えるボイスチャンネルも用意していたのですが、そもそもトークを聞いている中で会話をするのは難しく、そういう意味でもテキストチャットの方が適切だった様です。

アンカンファレンス

今開催は事前収録のトークをTrack A, Track Bの2トラック構成のタイムテーブルで進行しましたが、これに加えてアンカンファレンストラックを作ってTrack Cとして運用しました。

Discordにも雑談用のボイスチャンネルがあるのですが、誰が参加して何を話しているかわからない部屋には参加しにくかろう、ということでアンカンファレンストラックは「タイムテーブルからタイトルと時間の長さを決めて予約する」としました。

長谷川が主催するカンファレンスでは2018年から自作のカンファレンス運営支援ツール fortee (フォルテ)を使用しています。

fortee にはトーク事前収録のための機能が実装されています。この機能は「時間枠を指定して予約する」「予約時間になるとZoomミーティングが生成される」「時間が終了すると自動的にZoomミーティングが終了される」という機能なので、これを流用してアンカンファレンスシステムを実装しました3。(トーク事前収録のための機能については過去のエントリに書いていますのでご興味ある方は是非読んでみてください。)

タイムテーブルから予約

この機能、開催の前の週に急いで作ったこともあって説明不足だったり、事前収録用の仕様がアンカンファレンスに不向きだったり、そもそもちょっとバグってたりで使いにくいところもあったのですが、スタッフや参加者のみなさまのおかげでday1(2日目)ぐらいから回り始め、day2(3日目・最終日)にはタイムテーブルがおおむね埋まるぐらいには活用されました。day1の夜にこの機能で作ったZoomの中でライブバグ修正したのはちょっと面白かったです。

アンカンファレンス機能、とても良くワークして今後も使っていきたいと思っているのですが、仕様として当たりだったのは「タイトルが付いていること」「アンカンファレンス詳細画面に参加者一覧が表示されていること4」「終了時刻になると強制終了すること」で、特に強制終了は(終わりどころがあるという意味で)とても良かった様です。5

アンカンファレンス詳細画面

「カンファレンスの廊下」をどう実現するか

「技術カンファレンスに行ってトークを聞くのは素人」という(極端な)主張6 7がありますが、これは「トークを聞くだけではなく、その場でしか出来ないコミュニケーションをしよう」ということだと思っています。

アンカンファレンスを実装したことで、オンラインカンファレンスで陥りがちな一方通行感やイマイチ盛り上がらない感は解消できた様な気がします。8

一方で、技術カンファレンスに行って廊下で知人とすれ違って「オッ!」「久しぶり」「最近何してます?」「最近はGoのコンパイラを書いてまして…」みたいな「ちょっと5分話をする」みたいな体験は失われたままで、これをどうにかしてオンラインでも実現したいと思っています。

2022年夏以降はきっとまたオフライン開催ができる様になっているでしょうから、それまでの間に答えを出しておいて、「2019年までにやっていたオフライン開催に戻る」というよりは「2020年〜2021年のオンライン開催で得た知見を活かして次世代の技術カンファレンスにする」という感じにしたいなーと思っています。

今年もありがとうございました

と言う訳で、今年もPHPerKaigiを開催したよ、というお話でした。

課題もありつつ、オンライン開催としては大変満足度が高い開催になり、毎度のことながら地縛霊なら成仏するぐらいには満足したな〜とは思っています。

スポンサーのみなさま、スピーカーのみなさま、参加者のみなさま、そしてスタッフのみなさま、ありがとうございました。

また来年実施できると良いですね!

  1. 現在のニコ生の仕様では「1つのシリアルコードで複数トラックを視聴」が実現できないんですよね。これが誰でもできれば「オンライン草の根技術カンファレンス界」を取れると思うんですよね〜。(そんな狭そうな「界」取っても…なんだろうな〜。)
  2. LTのみライブで開催しました
  3. 事前収録機能, アンカンファレンス機能ともに「誰でもすぐ使える」という感じではないので現時点ではfeature flagで有効化しないと使えません。興味ある方はご連絡ください。
  4. とは言いつつ参加リンクの先はZoomの招待リンクなのでリアルタイムの参加者一覧を出すのは難しく、「参加リンクを押した参加者」の一覧でした
  5. 切り上げどころが難しい、というのはオフライン開催の懇親会での立ち話とかでもよくありますよね
  6. 真に受けてはダメです。「トークはウケなければならない」「LTはドラを鳴らしてなんぼ」と同じぐらいのウソです
  7. どこで聞いたのか忘れてしまったのですが…YAPC Asia方面かな…?
  8. アンカンファレンス機能を使って有志の懇親会的なこともできました。