iOSDC Japan 2024に参加してきたぜ!!
参加前
プロポーザルを出して採択していただいたので、スライドを作っていたり、いろいろ準備をしていました。
僕の所属している株式会社はてなではスポンサーをしていて、iOSDCチャレンジのためのトークンを作ることができました。iOSDC準備として、そのトークン紹介&はてなからのコンテンツ紹介も書いたりしていました。はてなのトークンはどれくらい見つけてもらえたのだろう?
前夜祭
僕は京都に住んでいるので、まずは朝から東京に移動。15時までは東京オフィスで仕事をしていました。その後ホテルにチェックインして、会場へ。
前夜祭は、Swiftコードバトルがめっちゃ面白かったです。
Swiftでコードゴルフをするというもので、空白改行を除いた文字数が得点、制限時間内に、できるだけ小さい得点を出した方が勝ちです。観戦者もみんなiOSエンジニアなので、一緒に考えられるのがいいですね。スコアが更新される度に歓声が上がったりしていました。
準決勝を観戦していると、隣にいたikesyoさんにそろそろいかないとまずいよと教えてもらいます。そう、僕の登壇はコードバトルの裏番組だったのですね。
確かにやばそうだったので、名残惜しくもSwiftコードバトルの会場を後にします。僕の登壇するトラックには3分前くらいについて、速攻接続確認をして発表を待ちました。トラブルがあったらやばかった。スタッフの人には不安にさせてたら申し訳ない・・・。
と、いうことで、登壇をします。登壇内容は、watchOSについて。iOSエンジニアがApple Watch向けのアプリを開発するための情報を詰め込みました。スライドはこちら
watchOSの話の登壇資料です!https://t.co/4zdU258PQF#iosdc #b
— こーき@だん (@kouki_dan) 2024年8月22日
タイマーのセットをミスって、現在時間がわからなくて大変でした。タイムキープをミスっていたかも。後マイクで片手が塞がれるというのも忘れていて大変だった。
登壇の後は、Ask the Speakerへ。
Ask the Speakerでは、App Intentsをどうユーザーに届けるかという話でSiriTipViewの話をしたり、おすすめのアプリはありますか?という話で自分でアプリを作るのがおすすめです!という話をしました!
— こーき@だん (@kouki_dan) 2024年8月22日
watchOSのアプリを作って、世界を少し便利にしましょう!https://t.co/MgXc1BwYH7#iosdc #b
Ask the Speakerの後は、Swiftコードバトルに戻ります。決勝戦に戻ってくると、なんと、観戦者も遊べるようになっている!!最高!!ただ、戻ってきたのが終了間近だったので僕は遊べませんでした。残念。
前夜祭の後は、前職の同僚とご飯を食べて、ホテルに戻ります。
1日目
スポンサーブースビンゴというものがあって、まずはそれをやっていました。
全部集めたぜ #iosdc pic.twitter.com/3zpCRAQm8j
— こーき@だん (@kouki_dan) 2024年8月23日
スポンサーブースそれぞれがスタンプを持っていて、ブースに行くとスタンプを押してもらえるというもの。こういうものを見ると集めたくなってしまうのが僕の特性です。もちろん全てのスタンプを集めました。1ビンゴごとにたこ焼き引換券か、2ビンゴごとにクレープ引換券がもらえます。僕は24ビンゴあって、なんでももらえます。ただ、そんなにたくさんいらないので、3たこ焼き1クレープだけもらってその場を後にしました。
こういうイベントみたいなのがないと、僕はスポンサーブースに行ったりしないので、こういう企画はとてもいいですね。せっかくなのでスタンプをもらうついでにいろんなスポンサーの話を聞いてきました。スポンサーブースを回るのも結構面白いんだな、というのがわかりました。
午後になると、アンカンファレンスの枠が結構空いてることに気づいたので、一念発起して枠を取りました。
17時からiOSDCでアンカンファレンスやります!
— こーき@だん (@kouki_dan) 2024年8月23日
iPadだけでiOSアプリを作ります! https://t.co/RmVFOsw6aH の第二弾?
先週末ガッと作ったPhotoGuesserにどんどん機能を追加していきます!今のBeta版は↓↓↓からインストール!https://t.co/TU2Gy8Zz3V#iosdc pic.twitter.com/oGUzxLWs5x
会場にはiPadしか持ってきていなかったので、iPadでできることを考えます。考えた結果、この前の三連休に登壇のスライド作りから逃げるために勢いで作ったアプリに機能開発をライブコーディングでしよう、と思い立ち、それをやることにしました。
1時間の枠の間、アプリで遊んだり、iPadのPlaygroundsの機能を紹介したりしながらアプリの機能開発をして、制限時間後に自動で結果に遷移する機能と、ヒント機能として、撮影した時間を確認できる機能をワイワイしながら作りました。デザインは適当に作ったので、そのうちちゃんと整理しておきます。カンファレンスの中で、こういう突発的なことができるのは楽しいですね。実はアンカンファレンスの準備を事前にいくつか用意していたのですが、その場のノリで進行していったので、準備してきたものは全く役に立たずに終わりました。
アンカンファレンスでは、制限時間とヒント機能の実装をして、顧客からの無茶振り、プロジェクト管理の複雑さ、スタートアップの起こりなどを学びました!#iosdc https://t.co/Me7eYPx94E
— こーき@だん (@kouki_dan) 2024年8月23日
夜は神山.swiftオフ会なるものに混ざっていました!
神山.swiftオフ会だったのか!! https://t.co/y1YT8j606m
— こーき@だん (@kouki_dan) 2024年8月23日
2日目
1日目はスポンサーブースを回ったり、アンカンファレンスの準備だったりでセッションを全く聞いていなかったので、2日目はセッションを聞いていました。
まずは、Typed throwsとエラーハンドリングの話。
エラーについての4分類は以前から参照させていただくことが多いです。セッションもとてもわかりやすくまとまっていて、とても良かった。個人的にはエラーに型はつけたくない派です。成功か失敗かだけわかればいいじゃんと思っていて、全てのエラーがユーザーに表示できるlocalizedDescriptionを持っていてくれ、と思っている。
次に見たのは、Async Sequence
命名などは今まで考えたことがなかったのでとても参考になりました!Taskで暗黙的に強参照されるやつ、わかっていても何度もハマってしまって辛い。セッションで紹介されていたライブラリが良さそうだったので、試してみたいですね!
最後に見たのは、ヘルスケアの話。
まず、セッションがめちゃくちゃ面白い。面白くて最高でした。ヘルスケアのデータをエクスポートできるのをそもそも知らなかったので、そのうち何か試してみたいなぁ。
後は、LTは全部見ました。みんな面白く、そして必要なところはわかりやすくまとめていてうますぎる。
クロージングの後は、懇親会です。懇親会でお話できた方も、できなかった方もありがとうございました!またどこかで会ったらお話ししましょう!
印象に残っていることは、最初のテーブルでたまたま隣になった人と話していたのですが、同じWWDC19に行っていることがわかり、そういえば、一緒にゲームしたかも・・?みたいな話になり、カメラロールを漁ったら、お互いにお互いが写っている写真を持っていたことです!! 5年ぶりに写真を交換して、当時の思い出などを話せたのがめちゃくちゃ面白かったです。チェッカーのルールを教えてくれる外国のお兄さんみたいな人がいて、めっちゃ印象に残っているんですよね。教えてもらったチェッカーをSwiftUIで実装して、関モバでLTしたりもしていたことを思い出しました。
説明したかったチェッカーのコードです https://t.co/1S8WMa0Wbw #関モバ
— こーき@だん (@kouki_dan) 2019年6月12日
京都へ帰る
そんなこんなでいろいろあって、懇親会を早めに切り上げ、今は帰りの新幹線の中でこれを書いています。もう一泊してもっといろいろな人と交流できたら良かった!またどこかで会えたら会いましょう!ありがとうございました!!