この記事は2020/02/29に開催されたPyCon mini Shizuoka 2020 オンラインのイベント準備と当日の様子などを、スタッフとして関わった個人からみた視点と感想です。
PyCon mini ShizuokaはPyConの地域ローカルで行われるPyCon miniの静岡版です。
終わったあとに考えてみると、静岡でこれほど大きなPython関連のイベントははじめてだったと思われます。多分コミュニティベースのテック系イベントでもここまで大きなものはなかったと思います。
新型コロナウイルス(COVID19)の影響で急遽オンライン開催になりましたが、この状況自体も誰も経験したことがない状況です。
自分含めて実行委員会(スタッフ)もこういったイベントを行うのははじめてで、何事もはじめてづくしのイベントになりました。そんな中でどのように進めるべきか毎回模索しながら続けてたのですが、その様子をまとめてみました。
イベント自体の経緯が経緯なだけに、長くなるので分けて記事にしています。
- イベント編:(この記事)
- 配信技術/運用編
キックオフから開催直前まで
PyCon mini Shizuokaのキックオフは、PyCon JP 2019に言ってきた静岡の参加者で行われたUnagi.pyとPython駿河の合同会の頃でした。PyCon miniを静岡でやるぞー!と酔った勢いで?言い合ってたときがあり、そこからキックオフだったと思います。
Python駿河 勉強会 #5 〜PyCon JP 2019参加者によるビアバッシュ報告会〜 - connpass
その後最初のミーティングが開催されて、Call for Paper(CfP)どうしようかから初めました。Webサイトの用意や、イベントにかかる予算や、他に何をやるか、タイムテーブルどうするか。などなど、初回からかなり濃厚なミーティングで、カンファレンスとしての大きな枠はその時に決まっていました。
会場となる藤枝BiViキャンは、この時すでに無償で借りることができる状況だったのも開催を進める上での助けにもなりました。(共催、後援がそのあたりの意味で、他にも助けてもらってる部分も多数あります)
CfP応募の準備や公式サイトの準備は、自分のインフラが使えたのでそちらは自分が頑張っていたと思います。
なお公式サイトについてはほぼろさん (@rhoboro)のセッション中に中身を見られてしまっていろいろと恥ずかしい。。(セッションはとても素晴らしかったです!)
Track1のURLはこちらです。現在はオカザキさんの発表中。
— ほぼろ (@rhoboro) February 29, 2020
https://t.co/iwmjnKHBVe
16:30~ の私の発表のスライドは下記で公開しています。https://t.co/CQPQ6YyG5h #pycon_shizu
ミーティングのはじめの頃に、ロゴもあったほうが絶対にいいとスタッフで話になり、スタッフのお知り合いの方に発注依頼しています。YouTubeLiveでの切り替えやバックアップ会場ではグリーンスクリーンに貼っていたものです。
本当はすでに公式サイトに載っているはずでしたが、準備が間に合わなかったので、落ち着いたら公式サイトの更新とセットでロゴも掲載します。
使っていたツール
ツール類はほぼオンラインでのミーティングで進めていたのもあり、オンラインツールがメインです。
- ミーティングはGoogle Meetを活用して、Googleドキュメントで議事録を作る
- タイムテーブルやCall for Paper自体もGoogleスプレッドシートやGoogleフォームを使って募集、レビュー会もやりました。
- コミュニケーションはSlack。タスク管理はTrelloを活用
とくにミーティングのツールはMeetをよく利用することになり(GSuite利用者が数人いたから用意もしやすい)、普段のミーティングはほぼオンラインで開催されました。オンラインなのでGoogleドキュメントで議事録の随時記録もしていきながら齟齬がないかの確認もしやすかったです。
CfPのレビュー会の様子
CfPのレビュー会はスタッフ全員で行いました。自分はCfPのフォーム作成と収集を行ったので、レビュアーにはならずにサポートする役で参加しています。
レビューの方法はある程度方針を決めて進めています。最終的な方法は以下のような方針になりました。
当日前に個人情報を除去しタイトル順にソートしたプロポーザルの情報をレビューメンバーと共有する
- 当日にレビューメンバー全員で評価(PyCon JPのレビューマニュアルを参考に,+1,+0,-0,-1の4段階評価)とコメントを登録
- 評価の+-でない点数の合計を出してその合計でソートする
- 一人複数タイトルの重複を考慮していなかったため、この時点で採択候補で重複があるプロポーザルを抽出し、タイトルごとレビューメンバー多数決で一本選ぶ(選ばなかったタイトルは-100などでシステム的に下に下がるようにした)
- 上位にあるテーマのカテゴリとレベルを見て偏りがないか確認する:今回はなさそうでここで変動なし
- 採択候補ではないプロポーザルを見て、+-の数を調べる。+が多ければ上位に上げるが、同じとなってしまったので変動なし
- 採択候補ではないプロポーザルから「採択をしない」をレビューメンバー多数決で選ぶ(一人点数を-1入れて落とすような仕組み)
- 最終的な点数評価でソートして、上位12件を採択としました。
(PyCon JPの地域コミュニティに書いた内容をそのまま転載してます)
PyCon JPのレビュードキュメントを参考にしています。
プロポーザルのレビューについて — PyCon JP 運営マニュアル 0.1 ドキュメント
応募自体は個人の重複を許していた(許していたというか想定していなかったw)のですが、想定に入っていなかったので複数を除外するときには多数決で決めることにしました。ただプロポーサル自体の内容も考慮するべきで、何らかの点数評価のほうが良いかもしれません。
connpassでの有料チケット販売
connpassで有料チケットを扱うことになりました。connpassの決済システムはPayPalのビジネスアカウントと連携をして決済処理を行うので、PayPalのビジネスアカウントとお金を出し入れする口座を用意する必要があります。
口座と連携するときは、PayPal指定の銀行口座で登録するほうが良いようで、最終的には自分が持っている個人のゆうちょ銀行の口座を利用しています。口座自体は当初PyCon mini Shizuoka専用の口座を用意する予定でしたが断念しています。
まず個人名義で同じ人が複数口座開設できない(らしい)事です。これはゆうちょ銀行限らずどの銀行でも同じだそうで、金融関係の法律がらみで今はできないようです。
次に、団体名義(たとえば町内会のような任意団体)で作成しようとすると、その団体の存在を証明できる手段が必要になることです。この辺も法律の問題で不正利用をさせないようにするためだそうです。
PyCon JPの地域コミュニティで相談したときも、この辺がネックになることは聞いていたのですが本当にそのとおりで対応が面倒でした。
PyCon mini Shizuokaは有志が集まってボランティアで運営するため、実行委員会という名称で動いています。実行委員会という名称になにか効力があるわけではないので、同じような方法で地域カンファレンスを行うときに、決済や資金の集め方で苦労すると思います。
(また税金の関係で利益を出しすぎるのも問題になります。給与所得がメインの方は副業の位置、個人事業主だと雑所得の扱いになるようで、なるべく利益を出さない形で進めるほうが良いとアドバイスもらいました。)
...という最初の問題を解決できれば、あとはconnpassとPayPalでアカウント紐付けをして有料チケット販売ができるようになります。
PayPalは、決済サービスを使うと決済手数料が発生するため、予算検討中はその手数料の計算もしておくと良いです。
その他の手数料(返金手数料は国内なら40円、5万円未満の口座への引き出し手数料は250円/件数)もあるので、詳しくはPayPalのサイトで。
記憶に残るできごと
急に実感が湧いた話
CfPでプロポーサル採択をした時に、本当にやるんだなと個人的にははじめて実感してました。
それまでは本当にやれるのかわからなかったのもありますが、嬉しいことに想像した以上のプロポーザル応募をいただいて、実感が湧いてきました(という話をスタッフにしたら今更?って突っ込まれて、、すみません💦)
宣伝行脚しました
宣伝しないと意味がないので、各地で宣伝行脚したのも良かったかなと思います。その時にお会いした方の中には、セッションに登壇してくださった方もいて嬉しかったです。
会場の事情変更の話
会場となる藤枝BiViキャンは、当初すべてのフロアを借りる予定でした。半分をセッション会場にし半分をチュートリアルを行う計画で進めていました。
でしたが、調整の際に結果的に半分ほどの貸し出しになったので、セッションベースのカンファレンスに切り替えています。
チュートリアルも今思えば風呂敷を広げすぎていたと感じます。複数の企画をパラレルにやる場合はスタッフの数は足らないと感じていて、次回の現地開催のときにはやりたいけど練り直す必要がありそうです。
チラシやポスターを作りました
共催の方に作らないかと誘っていただいて取り組みました。実行委員のなかでもどうしようか話し合ってたものです。
完成したものはこちらです。地元でチラシ配りをいろんなところでお願いしていました。
お弁当やおやつの準備
お弁当やおやつの準備の話は楽しかったです。西部、中部、東部のこれぞというおやつを持ち寄って提供するつもりでした。自分は東部からなので、地元の銘菓を持ち寄る予定でした。(会場に差し入れもこれですw
お弁当については実行委員の中に会場近くの業者さんとやり取りできる方がいたので、お願いして調整してもらいました。当日には見せたかったところですが、残念ながらオンライン開催を決めたときにキャンセルとなりました。次の現地開催のときはまたお願いする予定です。
会場
開催すると決めたタイミングでほぼ確定だった会場の最終的な下見もしていて、この会場にどのぐらいうまるのか心配だったのも記憶にあります。
本当だったら、ここで集まってカンファレンスが開催されるはずでした。
この日に集まれたスタッフもここでやるのかーと、やや呆然としながら立ち尽くす様子
オンライン開催切り替えの時
そういう形で準備を進めて進めてきましたが、、、
クロージングでも話しましたが、新型コロナウイルス感染症(COVID19)が広がりつつあり、自発的なイベント中止を見るようになりました。DroidKaigiさんの件が大きな話題だったタイミングです。それの少し前からも、スタッフとSlack経由で話し合うようになりました。
- [開催中止] 新型コロナウイルス感染症に関する対応の告知 - DroidKaigi - Medium
- DroidKaigi 2020の中止と2月20日14:00からの基調講演配信について - DroidKaigi - Medium
- コロナウイルスに関する国内テックカンファレンスの開催状況 2020 年版 - Google スプレッドシート
その後ミーティングで現状を整理しつつ決定を取りました。開催するべきか、中断延期にするべきか。お弁当や懇親会の発注タイミングも近かったのもあり、検討する時間も限られていました。
そもそも、検討すると言っても何を持ってして考えるべきかも悩ましい状況です。
この時はかなり辛かったのを覚えています。スタッフ全員顔も見れないぐらいしんどかったです。
決断する時の自分の気持ちとしては、開催できるのではと思っていました。その時は静岡県内でも感染者の報告もなく、行政からの通達などもない状況でもありました。(その数日後に静岡県内でもイベントの中止は相次いでます)
また少し時間をおいて延期する方法もありましたが、感染症として状況が悪くなった場合に結局再度延期となってしまう可能性もあります(現在の状況を見るとその通りになっていたと思います)
決定する日には実行委員のスタッフ全員集まれていないのもあり、決めきれず1日おいてから再度決定の採択を行うことになります。
そのあと1日中考えた末にオンライン開催をやってみないかと声をかけました。
できることは何かと考えた時に、開催当日を白紙に戻すようなことがどうしてもできないと思ってしまって。いくつかオンラインで開催される勉強会や学会、DroidKaigiさんでもオンラインでキーノートセッションは行われたのを見ていて、可能ではないかを考えていました。
それと、Google Meetを普段から使っていたのもあって、オンラインミーティングをそのまま配信する形ができるのではと思いました。調べているといくつか事例も見つけることができました。(事例については配信技術の記事で扱います)
その案をスタッフと色々と議論した結果、最終的にやってみようとなりました。その日から残り9日の中で準備を始めることになります。
オンライン開催の準備
技術的な話は別の記事で説明しますが、方法をざっくりと説明するとGoogle Meetで各地のスピーカーと接続し、画面共有機能でスライドを出しながら話してもらい、その画面を配信ソフトを使ってYouTube Live配信します。
ちょうどYouTubeでゲーム配信しているようなものをそのまま応用したイメージです。これなら機材は最低限PCがあればなんとかなります。
当日までにどういう方法で配信するべきか試行錯誤しつつ、ある程度資料も作りながらスタッフと共有しました。
(トラックが2つ必要になったので、YouTube Liveで複数ライブ配信のテストをしましたが、最初のトライで2つの配信URLから同じソースの配信しかできなくて、PyCon JPの地域コミュニティで相談してました。設定を見直して解決しましたが、色々とお騒がせしております🙇♂️)
まず自分の環境で配信をチェックし、スタッフ数人でテストしながら進めて、技術的にはなんとかなりそうなところを確認した上で、オンライン開催のアナウンスを出しています。
その後は、スタッフ全員で、各所へ連絡、connpassや公式サイトの変更などで準備を進めました。この辺もかなりギリギリになっていたので、自分は仕事そっちのけでやっていましたw
メインの配信会場は、回線の問題もあり現地開催する藤枝会場で行うことになりました。スタッフは必要最小限で、セッション会場の半分を使って分散しています。
また配信に利用できそうなマシンがあるのと、会場自体は当日も借りた状態でもあったので、会場から配信を行うほうがやりやすいと判断しています。
ただ、その会場での準備時間は、前日に3時間、当日も1時間程度が限界でした。配信機材のセットアップと確認が完全とは言えなかったものの、配信準備自体はなんとか済ませまして。
メイン会場のマシン不具合や回線の状況悪化も考え、自分の部屋をバックアップ会場にして、トラブルがあった時にバックアップ側へ切り替える用意をしています。
当日の様子を見ている方はご存知だと思いますが、結果的に用意しておいて正解でした。機材などのトラブルによりライブ配信自体の中断も想像していましたが、結果的に1日進めることができました。
オンライン開催当日
当日の配信の様子はYouTube Liveのアーカイブ動画で見ることができます(後述しますが、音ズレが発生していてセッション自体を聴講するのが難しいものになっています)
PyCon mini Shizuoka - PyCon mini Shizuoka 2020 オンライン特設ページ
当日は気合い入れてロゴを印刷して部屋に貼ったりしてました。
グリーンスクリーンで背景抜こうかとやってみてましたが、全然うまく行かなかったので後ろを隠すために利用。寂しいのでこちらにもロゴを貼りました。
当日はトラブルに次ぐトラブル
当日はハードな1日になると覚悟していましたが、すぐに覚悟を折られて行きました。
キーノートスピーチから想定外のトラブルもあり、その先のセッションでも映像の解像度がおかしくなったり、音声トラブルも多数出ていたと思います。この対応にスタッフが毎回苦慮しつつ進めていました。
自分はバックアップ会場から、配信のモニターや当日のスピーカーの接続テストをしていました。配信モニターと言っても各セッション内容をまで見ている余裕はなく、モニターしながらちゃんと配信はできているか、音は大丈夫かをひたすらチェックしつつ、藤枝会場と連絡しあっていました。
途中のトラブル発生後バックアップ会場の機材に切り替え作業をした後は、配信周りは完全に自分の環境で受け持つことにしました。同時に色々やっていたのもあってオペミスで結構やらかしてたところもあります。
またトラブルについては技術編で取り上げます。残念ながら体験を損ねてしまうトラブルも何度かあり、その時間のスピーカーさんには大変迷惑をかけてしまいました。ここだけはどうしても心残りです。。
地方でオンラインカンファレンスで良かった
終盤、少し余裕ができたときに配信を眺めていると、コメントやTwitterでのコミュニケーションもされていて、地方のテック系イベントなのに全国から場を超えたやり取りを見ることができるのかと。このときにはじめてオンライン開催して良かったと感動していました。
「PyCon mini Shizuoka 2020 オンライン開催 #pycon_shizu まとめ」をトゥギャりました。 https://t.co/XaFpGJtXbP
— Hiroshi Sano (@hrs_sano645) February 29, 2020
クロージングで藤枝会場から声をかけていただいて、スタッフ全員で登場したときは1日やりきれたことを実感していました。
開催後
開催後は、自分の担当として返金などお金周りの処理や、配信終了後に集めた録画ソースの確認をしていました。
実はYouTube Liveの配信のアーカイブ動画が音ズレ状態となっていて、何らかの手段で差し替えができないか検討していますが、スタッフ皆さんも多忙であり動ける時間がないので、実現できるかは厳しそうです。
返金の状況
返金については、懇親会チケットとカンファレンスチケットの返金は、3/16にすべての処理が終わりました。
Python mini Shizuoka 2020の返金処理を昨日に完了しました。
— Hiroshi Sano (@hrs_sano645) March 18, 2020
同時に支援賛同いただいた方にもお礼のメールを送付しています。温かい支援本当にありがとうございました。
おかげ様で現状はプラスの状態でこの先処理が進めれる予定です。#pycon_shizu
すでに収支報告も公開しました。
支援については、パトロンの皆さんは全員支援表明いただいています。また一般参加の方も何名か支援表明いただき、スタッフと相談した結果、ご厚意を受ける事で進めています。
皆様の温かい支援のおかげで、大変なお金関係絡みで問題を起きることがなく、イベントを無事に終える状況にできたと思います。
まとめ
PyCon mini Shizuokaを静岡県藤枝市で開催を目指し、急遽のオンライン切り替えての開催となりました。
開催が危ぶまれた時は苦渋の決断でした。あんなに辛い思いをしたのは自分としては経験無く、夜も考え込んでしまって寝られなかったことを思い出します。
この1日を実行委員会スタッフ皆さんと一緒にやり切ることができたと安心しました。実行委員会スタッフ皆さんの努力と熱量の賜物です。そして参加していただいたすべての方のおかげで開催ができました。
このオンライン開催を良いと思っていただけてる意見、残念だったという意見も見ています。
残念という話だと、延期(近いうちに開催の意味と認識してます)の方が良かったという話もあり、理解できます。
今を思えばとしかいえないものですが、1つの結果として良い点も悪い点も共有できればと思っています。
配信トラブルでご迷惑をおかけしてしまったセッションスピーカーの方々には、本当に申し訳ないことをしました。実験的な開催で途中のトラブルもあるとしていたとしても、この機会にと準備していただいたと思います。その体験としては辛いものにしてしまいました。
残念ながら、これ以上なにかのアクションは難しい状況でお詫びすることしかできない状況です。
良いと言っていただいた意見としては、遠方やそもそも参加予定が現状を鑑みてできなくなった方、また県内で参加したくてもお子さんがいて難しいという方も参加したいと言っていただけたりしました。
参加者にアンケートも協力していただいて、感想もスタッフで見ています。配信良かったと言っていただけたり、次回は現地に参加しますと言っていただけるのはとても嬉しかったです。
同時配信ができるかはちょっと未知数ですが考えたいものです。機材用意とスタッフが増えればできるかもしれません。また応援していただけると嬉しいです。
YouTube Liveの配信マシンとして、超小型だけどパワフルな手持ち可能なマシンを作ろうと決意した(使うかはわからん
— Hiroshi Sano (@hrs_sano645) March 1, 2020
実は静岡でPythonの大きなイベントやろうという話は3回目で、ついに開催となる運びでした。
今回はオンライン開催になり、そういう意味ではできたと言えるかもしれません。でも自分としてはやはり現地で参加者皆さんとお会いしたかった。今回は三度目には数えずに、次回こそを三度目の正直を実行したいですね。
#pycon_shizu すべてのセッションが終わりました。スピーカー皆様お疲れさまでした。前半はご迷惑おかけして申しわけないです🙇♂️
— Hiroshi Sano (@hrs_sano645) February 29, 2020
どのセッションも素晴らしかったです。これが現地で見れたらなあ。。
現地開催はどうする?という話は白紙状態です。この記事を公開した今もCOVID19による状況は良くなるとは思えず、なにか決められる状況ではないです。
でも先は明るいものだと、そう信じています。
今度は現地で参加者皆さんとお会いできるように、今回の経験と反省点も入れてパワーアップさせて、また頑張っていきます!