1日目(実質2日目)の参加記です。
オープニング
オープニング前にかかってたミュージックがよかった。朝だけど強制的にヴァイブスがアゲアゲ。会場ついたらオレンジジュースとかドーナツが配布されてて朝ごはん提供いいなーって感じ(ダイエット中なのでミネラルウォーターだけもらいました)
iOSDCは初参加で、今まではTwitter経由でいろいろな情報しか見ていなかったので、緒方恵美さんと三石琴乃さんのオープニングムービーだったりスポンサー紹介ムービーを生で見れてアニメ・声優オタクとしてはめちゃくちゃ感動してしまった。自社の名前を読み上げを聞きたい。
繰り返し「コミュニケーションの場」というところが強調されたり、企画自体もそういうところにフォーカスがあたっている形になっていて凄いいいな〜と思った。僕もこうやってブログ書いたりフィードバックしてコミュニティに対してアプローチしていくぞという気持ち。
しもとりさんの「色の難しい話に負けない体づくり60分 」
この時間帯のセッション、いくつか聞きたいのがあったけども色のセンスが絶望的(自覚して4年目)なので聞きに来た。
自分でアプリを作るときとかにもmaterial.ioのカラーツール使ってメイン色、差し色を決定してるけどメイン色のチョイスからして絶望的で泣いちゃっていたので天のセッションという感じ。
セッションの進め方がしっかりしていて、セッションの最初の方に登場していて全然わからなかったやつが後々再登場してそのときはわかる!みたいな構成でめちゃくちゃ聞いていて理解が進んだ。
錐体細胞の話とかは大学とかの講義で聞いた記憶はあって(もう頭から抜けているが)そういう話がこういうところにつながってくるのか〜という感想。
”色”と一文字で表現してもそもそも光の三原色だと表現できない色とか、人間の色に対する反応とか、色覚異常とか、健常だとしても人によって若干の色の見え方の違いが発生するとか考えることがめちゃくちゃ多いなという感じ。色を自在に操れるデザイナーさんすごい。
僕も人間に優しい色選択、UIデザインができるようになるぞ。
僕もダークモード派なので最近のダークモードに押し進んでいくAndroid/iOSの動きは嬉しい(実装するのはあんまりうれしくない)。
shizさんの「Swiftクリーンコードアドベンチャー ~日々の苦悩を乗り越え、確かな選択をするために~ 」
機会的にはSwiftのコードを読むことが多いのでコードの世界を探索する際の足がかりを得られればと思って聞くことに。
Protocolね、はいはいJavaでいうところのInterfaceみたいなやつでしょみたいな認識で聞きに行けてよかった。
現状の問題の抽出を行うときに具体的な部分での抽出をするのではなくて、ジェネリックな形で抽出するという観点は本当にそうだと思った。セッション全体としてそのままAndroid/Kotlin(Java)に言えるようなセッションでとても為になる。具体的なSwiftのコードがバババっと出てくると理解速度が落ちてしまったけど後でスライドもう一度見て再キャッチアップしたい。
読みやすさ、クリーンさというのはそもそもどういうことなのだろう……みたいなことをセッション中にずっと頭でぐるぐる考えてしまった。確かに共通化できるところはバシバシGenericsで汎用型にすればコードの記述量とかDRY的にすごくよくみえるけど、実際それをコードリーディングするときに読みやすいかと言われると……みたいな感じ。
日向強さんの「BLEでiOS/Android間でそこそこ大きなサイズのデータ通信を実現する (L2CAPもあるよ) 」
単純に手法にめちゃくちゃ興味があって選択。簡単にOSをまたいでデータをやり取り(モバイルデータ使わずに)したいなと思うことはままあるけどどうやって実装するかまでは考えたことがなかった。
L2CAP、存在を知ってたけどAndroidは10(Q)からしか使えないのが衝撃。そういうのってAndroidのほうが早いイメージあったけどデバイスごとに云々みたいな影響なのかな……。
サンプルのコードがiOSとAndroidを比較して出してくれたり、実装の流れもそれぞれのOSで説明してくれていてまさに僕みたいな人だとすごくわかりやすいセッションになっていた。AndroidのL2CAPのSocketはそのままJavaのSocket感がすごかった。
往々にしてこういう低レイヤーに近い部分の技術はドキュメントが宛にならなくて罠がめちゃくちゃあるんだよな……ってのを再実感させられた。そういう点でこのセッションはBLE使うのであればかなりそういう罠に落ちるのを防げるのでめちゃくちゃ良いセッションだと感じた。
このセッションだけじゃなくてiOSDCの数セッション聞いてて思ったのがAppleの公式ドキュメントって詳細書いてなかったり「No overview available.」が多すぎない?iOSアプリ開発者ってすごいんだな……。
satoshi0212さんの「クロマキー合成を使い透過動画をAR空間に表示する 」
純粋にオタク心がくすぐられて選択。1年くらい前からAR空間になにかしらを表示するっていうのが興味としてあって、3Dオブジェクトだったり……みたいなのをやったりしたのでそれの延長の興味。
リアルタイムでクロマキー合成の加工をやる形だったのでパフォーマンス的にどうなんだろうと思ってたけど全然問題ない形のデモをされていてびっくり。
AR空間にとりあえず動画を表示するだけならそこまで深い知識がなくともシュッと実装できそうなイメージ。裏側から見るとちゃんと裏側になるように出せるプロパティがあるらしく、それを使って面白いことできそうだなーと思ったりした。
WebRTC経由で映像をクロマキー合成しつつAR空間にほぼリアルタイムで出すデモをやっていてアツかった!未来館めっちゃある!!!!satoshi0212さんも仰ってたけどリモート会議で相手の人をAR空間に出すとかっていうそういうの絶対来るでしょ……最高。みたいな気持ちでいっぱい。電脳コイルだったりそういうのが好きで育ってきたので早くそういう未来を作っていきたい。
純粋に動画だけでなく、普通にAR空間にバチバチにViewを表示したりしていて未来はこういう形で広告とかが見れるのかなあみたいな気持ちになった。
まさにここらへんを想像して1人でそわそわしてたけど最後にセッションでもまさにこれが紹介されててゾワッとした。やっぱこういう世界好きなんですよね……。
LT
Aでずっと聞いてた。1番面白かったのはSwiftでファミコンエミュレータを作る話。僕もKotlinでファミコンエミュレータのHello, Worldまでやったことがあるのでめっちゃ面白かった。確かにSwitfは固定長整数型あるのでByte処理がすごく楽だな~ってのをサンプルコード見ながら思った。結構マスクして……みたいな処理を書きまくった記憶がある。またKotlinで1からやりたいなって気持ちになった。
まとめ
今日もめっちゃよかった。完全に自分の興味ドリブンでセッションを選択できて知識の海に浸れて気持ちよかった……。
DroidKaigiとかだとやっぱり結構興味よりも「いや、これちょうど今の実務で……」みたいな考えになって聞きに行くみたいなのはどうしても発生しちゃって動画公開を待つ……!みたいなのが多かったのですごく新鮮。
明日も楽しむぞ!