SORACOM-UG九州
SORACOM-UG九州は、SORACOM User Groupの九州支部で、年に3~4回ほどハンズオンやLT大会、事例紹介などの勉強会を実施しています。
pages.soracom.jp
元々は2020年3月29日にオフラインのイベントとして実施する予定だったのですが、残念ながら折からのCOVID-19によるイベント自粛要請もあり、一旦開催を断念してました。
しかし、その後色々あり、オンライン開催に切り替えて無事開催することが出来ました。当日の参加ブログはきっと参加者の皆さんが書かれると思うので、私は開催までの経緯や準備のあれこれを書こうと思います。今後、同様にオンラインでのイベント開催をされる皆様に少しでもお役に立てばと思います。
オンラインで華麗に復活
しばらくはイベントも出来ないのかな、と思っていたところにソラコムのnaoさんから
「エバンジェリストのmaxとも話したのだが、何かオンラインで出来ないかと思っている」という連絡を頂き、急遽コアメンバーとソラコムのnaoさん・maxさんとオンラインミーティングを行いました。
イベント自粛がいつまで続くのかが分からないし、今後オンラインで色々なイベントをやることも増えるだろうからこの機会にやってみて知見を得ておくというのはどうだろうか、ということでザックリと以下のような形で結論しました。
- 予定してた2020/3/28(土)はJaws Days2020のオンライン配信があるから3/27(金)に変更
- maxによるここ半年くらいのアップデートやTechnology Campの振り返り + 九州の事例を2件、1時間のハンズオンという構成
- 事例はシステムフォレストさんと、あと九州農政局のボタン+罠のお話がいけないかをシステムフォレスト松永さんに確認してもらう(松永さんもコアメンバー)
- ハンズオンはしろボタン(またはひげボタン)を特価で買える今のうちに購入するか、既に持っている人を対象にする
- みんながボタン押した簡易位置情報を1枚の地図に出せると面白いかも
これが3/4の夜のこと。1ヶ月を切った状態で諸々の準備をしないといけません。さあ大変(笑)
募集ページ作成と集客
募集ページ
募集ページの作成と集客は、基本的には普段と変わることはありません。
SORACOM-UGでは、募集ページはconnpassに作成していますが、 connpassでは、オンラインイベントの開催が増えてきたことを受けて、オンラインのイベントを検索しやすい機能が追加されています。
これを利用するために、募集ページで開催場所を入力する際に「オンライン」と入力します。
connpass.com
利用する環境の選定
今回の開催では、オンラインイベントの環境としてZoomを使いました。
Zoomを選択したのは、コアメンバーである松永さんの所属される(株)システムフォレスト様がZoomのアカウントを契約されており、そちらを利用させていただけたからです。本当にありがとうございます!
zoom.us
人数・時間の設定
参加上限人数は道具立てに応じて調整する必要があるかもしれませんが、場所の制約がないのでいつもより多めにしておいてもいいかもしれません。今回は上限を20名としておき、途中で増枠して最終的にはconnpassの参加登録が19名、実際の参加者が20名強という状態でしたが、Zoomは非常に快適に利用できました。
オフラインの場合は開演の30分程度前から会場には入れるようにしますが、Zoomのように接続時間を制限するような機能があるシステムを使う場合は同じく早めにつなげるようにしておくとトラブルが減るかと思います。今回は18:30開始に対して会議予約時間は18:00スタートとしました。
また、終了後に乾杯と簡単なオンライン懇親会ができればと思ったので、21時の閉会に対して会議予約時間は21:30終了としました。
乾杯のために飲み物を準備してください、というのも早めに募集ページに記載するのを忘れないようにしましょう。
ハンズオンコンテンツ
ハードの選定
SORACOM-UGのハンズオンは、IoTのサービスであるが故にほとんどの場合はなんらかのハードウェアを利用します。普段のオフラインイベントであればハードはソラコム様からお借りして(自前の持ち込みも可)実施するのですが、今回はオンラインなのでそうもいきません。基本的にはご自身で準備いただくことになります。
この辺りもソラコム様と相談してなんらかの方法を提供できないかな、とは思っていますが、なにぶん今回は時間もありませんので自前でご準備いただくことを前提としました。
今回のハンズオンは、SORACOM LTE-M Button for Enterprise(以下「しろボタン」)とPlus(以下「ひげボタン」)を使うことにしました。
ちょうどこのタイミングで特価販売が行われていてお求めやすくなっているということと、ボタン関連のハンズオンであればほとんどの作業がブラウザ上で完結するので、参加者の方がうまく進められない状態になったときもリモートからのサポートがしやすいからと言うことでこの選択になりました。
ネタ出し
ボタンを使ったハンズオンは、ソラコム様謹製の
- SORACOM Harvest Dataを用いて、ボタンクリックイベントを可視化する
- SORACOM Lagoonの通知機能を用いて、クリックイベントをメールで通知する
というハンズオンがあります。
ただ、これだと30分くらいで終わってしまうのと、せっかくのオンラインイベントなので何か新しいネタを追加したいと思いました。
しろボタン/ひげボタンは、通信に用いた基地局情報を使った「簡易位置情報測定機能」がついていて、クリックしたボタンの大まかな位置を取得することが出来ます。
これまでにもこの機能を使ったハンズオンはあったのですが、オフラインイベントだと参加者が一堂に会しているので、取得できる位置情報がほぼ全員同じ地点になってしまってあまり面白くなく、ハンズオンの途中で会場の外に出てウロウロしてみる・・というようなことが起こっていました。
しかし、今回はオンラインです。参加者は日本全国に散らばっています。これはうまくすると「地図上に日本中の参加者の位置情報が一斉に表示される」ということが可能になるのでは?と思いつき、これを行うことにしました。
準備
ネタは決まったので次はその準備です。
ある利用者(soracomアカウント)の持っているボタンの位置情報を地図上にプロットするだけであればSORACOM Harvest Dataで行えます。
dev.soracom.io
しかし、今回は複数の利用者のデータを一度に表示しないといけません。
そこで、以下のように実現することにしました。
- 位置情報を受信したら、どの利用者からのデータかと合わせて保存するようなWeb APIを作成し、ボタンからSORACOM Beamを使ってデータを送り込む
- Beamのヘッダ認証を使って、データ投入できるクライアントを制限する
- 保存したデータを読み出して、Google Mapにピンで表示するようなページを作成する
- データは1日で消すようにする
実現するにあたっては、以前から興味のあったAWS Amplifyを使ってみました。時間が無いんだから慣れ親しんだやり方でやればいいのに・・と思いつつもついつい新しいこと試したくなるのは性分なのですいません(笑)
aws.amazon.com
フロント側はVue.js、API側はREST APIにしました。上記ハンズオンはGraphQLですのでそのままやればいいのに新しいことを(ry
お手本となるハンズオンテキストもありましたので、週末に頑張ってなんとか形になりました。
データはDynamoDBに登録し、TTLの機能を使ってデータを1日で消すようにしています。
作った物はとりあえずこちらに置いていますが、実際に動かすまでの手順についてまだ未掲載なのと、一部パッケージを更新したときの検証がまだ終わってないのでご了承ください。
github.com
手順書作成
手順書は元になるHarvest+Lagoonの手順書がGitHubで公開されていたので、それをcloneして修正・追加することで作成しました。こちらも何とか隙間時間に書き進めて1週間程度で準備できました。
準備した手順書についてはこちらに置いています。
github.com
今回使った、私のAWSアカウントに設置した物はしばらくそのままにしておきますので、使ってみたいという方は個別にご連絡いただければエンドポイントのURLや事前共有鍵はお渡しします。
前日準備
オンライン会議でよくあるのが、操作に不慣れだったり機材の準備が十分でないために音声が上手く出ない/音声は出たがハウリングして聞き取れない/資料を画面共有しようとしたがやり方が分からないといったトラブルです。
これを避けるには結局
- 登壇者が使い方に慣れていて、かつ同じ環境(PCやマイクなど)で接続した経験があるシステム(今回はZoom)を使う
- 事前に練習する
のいずれしかありません。
今回、事例紹介については松永さんは普段からZoomをお仕事で使われているので前者の状況ですので、あとはmaxと一度接続を試しておこうと言うことで打ち合わせも兼ねて前日の夜に実際にZoomに接続してみました(この時の会議室は私の個人アカウントの無料枠で実施)。
やはりやってみるものですね。maxが、自分の音声がループバックしてきて聞き取りにくいのであれこれ機材の接続を変えてみるというということが今回ありました。
当日
当日は思った以上にトラブルも少なく、順調に進みました。
その中でいくつか気がついた改善点を記載したいと思います。
参加者全員常時マイクONでいいかも
当初は発表者の音声を邪魔しないようにと思って「発表中は他の人はマイクOFFで」とお願いしてましたが、発表者から「あまりにも聞いてる方からの反応がなくて不安になる」と言われたので、マイクONにして相づちが伝わるようにした方がよさそうです。画面でうなずいても、システムや環境によっては発表者がそれを見るのは難しい場合があるので、音声のフィードバックは重要だと感じました。
ただし、ハウリングなどが起こった場合は即座に切るように注意を促す必要があります。Zoomだと主催者側が強制的にOFFにすることができるのでそれを利用するのもよさそうです。
チャットを上手く使う
トラブルシューティングや情報共有だけでなく、今回は参加者の皆さんが活発にチャットで発言してもらえました。チャット上で全員で雑談しながら、発表者もそこから質問を拾ったりということで盛り上がった一因であったように思います。
リモートサポートはやはり難しい
今回、リモートサポートとして画面を共有する場合はChromeリモートデスクトップを使うということでmaxにドキュメントを準備していただいたのですが、実際にやってみるとZoomを繋いだ状態だと何故か上手く使えませんでした。
この辺りももう少し準備の段階でチェックしておけば良かったというのを反省していますが、画面共有系は利用しているOSやマルチモニタ環境かどうかなどでも挙動が変わってなかなか難しいところがあります。
ハンズオン自体も時間に余裕を持って、少し題材を減らすといったことも検討した方がいいかもしれません。
練習大事
とにもかくにも普段と違う状況ですし、うまくいかないときのトラブルシュートも大変なので練習は大事です。チャットの使い方やマイクのON/OFFなども、参加者全員で最初に練習するといいかもしれません。
まとめ
色々ありましたが、大きなトラブルもなく無事に終了してホッとしました。参加者の皆様からも楽しかったという感想をいただけ、本当に良かったです。
そしてなにより初めてのこといっぱいで準備も当日も楽しかったです!今回の反省も踏まえ、是非また実施したいと思います。
集合写真はやっぱり写真だけにキャプチャではなくカメラで撮影しました(笑)