iOSDC 2020に参加しました

今年も 9/19 から 9/21 に開催されたiOSDC 2020に参加しました。

Synchronized iPhones, Again!

今年はこちらの内容で発表させていただきました。

複数のiPhone端末を連携させて動かすためにはどんな実装ですすめていけばいいのかというお話をデモをまじえて話しています。

speakerdeck.com

当日再生したビデオはこちら。

最初のビデオはARのデモ(?)です。

youtu.be

こちらは実際のiPhoneで動かした本当のデモになります。 youtu.be

ビデオからもわかるように、この程度の動作では端末間の遅延は感じられないレベルです。

ビデオでは6台を使った動作ですが、実際には10台を超えても特に遅延は感じなかったので、おそらく20台くらいまではこのレベルの遅延で行けそうです。

プレゼンの中では詳しく説明しませんでしたが、このデモアプリでは、実際には端末の touchesMoved が発生するたびに他のアプリにtap位置の情報を送っています。情報量的にはCGPoint 程度なので、そのレベルの通信ならこの同期速度がだせます。

AR Synchronize!

ARのデモ画面を体験できるアプリのコードをGithubに公開しました。 お手持ちのiPhoneで動かしてみると、テーブルの上に35個のiPhoneが表示されます。 たくさんあるiPhoneの一つをクリックすると、「hello world」という文字が画面に表示されます。

https://github.com/TachibanaKaoru/SynchronizediPhones

是非ご自宅のテーブルの上に、iPhoneをたくさん表示してみて下さい。

発表していろいろ

質疑応答、たくさん質問していただいてありがとうございました。 覚えている限り下に書いておきます。

  • Multipeer Connectivityを使うと、電子レンジとかカンファレンス会場とかWiFiが多い場所で通信遅延がでますか?

    • 実際に試したことはないんですが、おそらく遅延は発生すると思います。
  • 遅延はどのくらいですか?

    • このデモの使い方(指で画面に文字をかく)だと気にならないレベルです。
  • デモでは2つのグループをつかっていますが、3つのグループでもできる?

    • 可能ですが、端末数が足りなかったので実装はしていません。
  • バックグラウンドでMultipeer Connectivityはできる?

    • おそらくできないと思います。
  • もしリアル会場での開催だったら、会場のみんなで試せた?

    • はい、できますね。是非やりたかったです。
  • Multipeer Connectivityを使うアプリをリリースするときに注意したほうがいいことはありますか?

    • iOS14からはユーザー許諾を取る必要があるので、info.plistに説明文を追加する必要があります。

質疑応答の時に、「おととしの発表もおもしろかったです」と言ってくださった方がいらっしゃいました。(どなたか確認することはできなかったのですが……)

実は、今回のこの発表はおととしの発表(https://www.toyship.org/2018/09/05/231525)の続きでもあったんですが、覚えている方はいないだろうとプレゼンの中ではそこはスルーしていました。

その発表をちゃんと覚えてくださった方がいて、こうやって声をかけていただけるなんて、発表してよかったなぁ……とちょっとじーんとしてました。

リアルアバター

今回発表のときにリアルアバターをかぶったんですけど、本当にたいへんでした……。

f:id:toyship:20200922150508j:plain
avatar

本番の録画の前に、アバターをかぶって40分リハーサルをしてみたら、もう酸欠で気分が悪くなってしまい、本番の録画の時には気分が悪いのをがまんんしてしゃべるという状況になってしまいました。 (そのあと撮り直せばよかったんですが、もう疲れてアバターでしゃべる気になれなかったので……。)

あと、リアルアバターは声がこもってしまって、聞く側も少しききとりづらいですね。聞いていた方、申し訳ありません。

ほんと大変だったので、次回アバターをかぶるときにはもう少し工夫したいです。

初のリモートiOSDC

今年は、iOSDCは初のリモート開催でしたね。

始まる前はどうなるんだろうと思っていましたが、自宅から参加できるのは手軽だし、無限コーヒーもあるし、複数のセッションがきけるし、朝早く起きなくてもいいし、参加のハードルもさがったし、よかった面も多かったのではと思います。

ただ、リモートだと、「Ask the speaker」でとても質問しづらいですよね。 いつもの 「Ask the speaker」ではスピーカーの方とだけお話しするので、初心者的な質問でも躊躇なくきけたんですが、今年はDiscordで、その部屋にいる全部の方に聞こえる中で質問するので、少しハードルが高めになっていました。 (そのなかで質問していただいた方、本当にありがとうございました。)

また、参加のハードルは低くなったけど、新しく知り合いをつくる面では難しくなってしまった部分もあると思うので、リアルが懐かしくもありますね。

来年はどうなるかわかりませんが、リアル・リモートどちらでもまた参加したいと思います。 スタッフ、スポンサーのみなさん、ありがとうございました。