iOSDC2023に参加しました

早稲田大学理工学部

はじめに

前夜祭と1日目だけオンライン視聴。最終日のみ現地に参加しました。最終日は次のを主に楽しみました。

  • スポンサーブース
  • アンカンファレンス
  • 懇親会

スポンサーブース

後述するアンカンファレンスをやってみたかったため、時間がなくて回れないスポンサーブースたくさんあり、あとで回ってないところ気がついて後悔しました。

2階のスポンサーブースは閉鎖空間だったので、気合い入れて順番に回ればいっかという感じで気が楽でした。1階は結構人が多いので回るのしんどいなーという感じでしたが、人が少ないタイミングがあったブースは尋ねることができました。

2階のスポンサーブース

Findyさんはくじ引きやってたんで超大吉いかせていただきました!昔からくじ引きはよく当たるんだよなあ。ありがたい。

スタメン社さんはアーキテクチャにシールを貼るやつやってました。The Composable Architecture(TCA)の人気が高いんで、あとでPoint-Freeに届くといいなあ英語でツイートしよ、と思いつつまだやっていません。

お話を聞いてみるとスタメン社のTUNAGアプリはVIPER自体を採用していてVIPER研究読本が参考になったとのこと。「ああ、私がその著者のimajoというものでして」という名乗りを入れました!!いい笑顔の写真が撮れました!感謝。

GMO社さんはSwift/iOSアプリ開発に関するクイズの答えをBingoにしてました。構造体がコピーされてそれらを足し算していくところが脳のバッファ使わされてめっちゃ疲れましたね!一問目のサービスのキャラクターの名前を答えさせるのは良問でした!

1階のスポンサーブース

pixiv社さんは射的ゲーム屋台的なのをやってました。撃ち方も自由ということで新條まゆ先生の漫画「覇王愛人」より、ちょろいもんだぜ撃ち(別名: バズーカシュート)の撃ち方を試したり、いろいろ遊ばさせてもらいました。

写真撮り忘れてましたが、フェンリル社からのTシャツもいただきました。ありがたい!

スポンサーのことがもっと知りたいが

スポンサーしてくれる人たちがどういうことをやってるのか、やっていきたいのか、そしてなぜスポンサーしようと思ったのかなどが自分は知りたいなと思っています。

もちろん正直な課題を公開するのが難しいというのも理解できるんですが、例えば、あたらしいiOSから可能になる機能を実装したいとか、SwiftUI対応したいとか、Realmを捨てたいとか、Core Dataを捨てたいとか、ビルド時間を高速化したいとか、横画面対応したいとか、iPad対応したいとか、テスト自動化の仕組みがないとかテスト自動化が不安定だとか、そういうのが自分は知りたいなと思っています。

その他、もし自分がスポンサーで、iPad対応したいという課題を抱えているなら4択を考えて何を一番に優先する?というボードを作るというのも面白いかなと考えたりします。

  • UIテスト自動化での言語別画面スクリーンショットの自動化
  • マルチモジュール化
  • SwiftUI
  • その他: 自由記入欄

自由記入欄では想像もしないことを書いてくれるかもしれない。本当は4択にする必要なくて、単に自由記入欄を介してコミュニケーションできれば、より発見があるかもしれないです。

アンカンファレンス

iOSDC2023でもアンカンファレンスっていうのをできるようでした。アンカンファレンスとは何かについては以下引用します。

アンカンファレンス(英語:Unconference)とは、参加者主導の会議で、オープンスペース・カンファレンス(Open Space conference)とも呼ばれる。従来の会議の様なトップダウン企業、スポンサー出資、講演者報酬等の要素を除外し、幅広い参加者たちが会議を行う形式の事である

https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%82%AB%E3%83%B3%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9

ということで、OSSであるTCAに各自Pull Requestを送ろう、送るものがない人は私が送るんで応援してくださいというのをやることにしました。

私の方では気になってるドキュメント2つを修正しました。

いつかやろうと思って放置してたんで機会があって良かったのと、英文を参加者の方に添削してもらいました。言われるがままPR作成して無事マージされています。参加してくれた方に感謝。

一時間の枠にしてちょっと余ったので最新のバージョンでの不具合修正PRについて解説したりしました。

その他

  • アンカンファレンスで私の自己紹介ぐらいすれば良かった
    • 参加者の方が名乗りづらかったかも
      • 最後に名乗り出てくれたりするとwebで見たことある人でした
      • 最初に「私は今城です。あなたはなんとお呼びすればいいですか?」的に始めればよかった

アンカンファレンスは特にスポンサー企業が特にやっていってほしい気もします。ただ自由にやる枠もほしい。そうすると並列3枠ぐらいほしいですね。

トーク

  • トークは見てないものがあるため、あとで見ます
    • 現地で何のトークを見たかというのは基本はあまりまとめて公開したいとは思いません
      • トークしてくれた人たちに次の気持ちにさせたくないから
        • 「おれのは見てねーのかよ!」
        • 「おれの面白かったって感想言わねーのか!」
    • 感想は個別にオフラインで相手に話せばいいかも
      • しかしそれが正しいかはわからない
    • 感想をSNSで言うのが悪いわけじゃない
      • まとめて一覧できるように私が公開したくないだけ
  • トークはハキハキと
    • せっかくなんでゆっくりとハキハキトークしたほうがいいです
    • 経験がある人たちは緊張を見せながらもゆっくりハキハキ喋ってよかった

もちろんSNSなんて、自分が思ったことを発信して問題ないものなので私も「あの発表見た!」というのはやると思います。それはいいけど、見たものを整理してブログの記事に並べられると「わいのを見てないんかい」という気持ちになることはある。それは発表してみないとわからない感情ですよということです。

雑談&懇親会

懇親会で話した内容はもしかしたらあんまり公開してほしくないかもしれないので、私がした発言を中心に載せます。発言の責任は私にあります。詳細はぼやかして書いておきます。

  • モジュール分離
    • 外注業社に開発お願いする際にextensionで無茶されたりすると影響範囲がでかい
      • そういうときのためにモジュールを分離しておくと影響範囲を狭められる
        • 置き換えやすくしておく
        • モジュール内であれば制限をかけずスピーディーにやってもらう
          • ルールの明文化は必要だがそこそこパワーを使う
            • 人手が足りないから外にお願いしてるのに明文化してないものをしようとすると時間を使うことになるジレンマ
              • ルールの明文化はしてほしい
              • 逆に外の設計と実装の方が視野が高く優れていることもある
  • 沖縄
    • 沖縄の島内の移動手段
      • ヘリはいいね
    • 沖縄のサウナ
      • 亜熱帯サウナ
    • 沖縄のバスはそんなにダメじゃない
      • 杉並区だってバスが前のバスに追いつく
    • 沖縄のカンファレンスに経費で行きたい
    • 都会の人どうしてではなく実際に沖縄の人と話してどんな感じか知りたい
      • 地方行って都会の人だけと話すのは違う気がする
      • 東京こいやマウントしたくない
        • 地方が良くて地方に住んでいる人にマウントよくない
  • 懇親会のめしの行列
    • 皿とお手拭きをピザの机にもおいてほしい
      • 列に並んで終盤に皿とお手拭きがもらえる
        • フィードバックしたのでここでは省略
    • そもそも行列一つじゃなくていいメニューの置き方だった
      • 複数行列でもいけるメニューのセットだった
  • 久しぶりに杉上さんがいた
    • TCAについて説明した
      • WithViewStoreが実質ObservableObjectを保持しているというとこから話した
        • WithViewStoreのイニシャライザにstoreを渡し、ViewStoreをクロージャの引数として取り出してネストしたViewに渡す
          • SwiftUIを知っているがTCAを知らない人からしたらまあそういう方向から疑問に持つんだろう
    • キャリアについて
      • もはや会社の社員であろうと副業やリモートワークできるのでフリーランス的な働き方のメリットは少ない
        • 困ったら土下座しながら面接を受けに行く
  • TCAについて
    • フレームワーク自体よりも本当は副作用の分離なんかのエッセンスを開発でやれることに意味がある
      • みんなフレームワークやアーキテクチャに興味があるからそこから話すことになる
        • 天才Point-FreeがiOSアプリ開発界隈にいることに感謝
        • でもPoint-Freeのv1.2の不具合修正は重大すぎるのにそれをさらっと流しすぎてるのがやばい
    • 「特定のフレームワーク名を書いたプロポーザルは全て落ちてましたね」
      • 「考慮するならフレームワーク名を書かないほうがいいかもね」
  • 案件/副業募集してるiOSアプリ開発者は多そう
    • 募集してる企業側ともうまくマッチングできたらいいなあ
      • カンファレンス側に期待するのではなく、当人同士が考えていければいいな
          • 企業側がでかいボードに募集内容はって興味がある人のチェックインを受け付けるとかができるとよさそう

下記みなさんは、信じられないでしょうけどもちゃんと本人に許可をもらってツイートしていました(さすがこころがひろいなあ)

懇親会で人と話す時に、「あっちに王いるよ」と上記の写真を見せたりするとみんな笑顔になるのが良かったです。

ほかには、運営に参加していたボランティアの栗山さんが懇親会時に「今城さんに会いたいっていう人がいるんですよ」という感じで探して連れていってくれて、そういうムーブは知り合いだからこそなんだけど、運営だからこそでもあるねと感心しました。ちょっと気になってたのは、1人で端っこで飯食ってる参加者の気持ちすげーわかる。知らない人ばっかりで気後れする。たとえば自分がTSやRustの会とかに参加しても絶対そうなると思う。自分が一般参加者としてiOSの場でそういう人へ話しかけられるかと言うと難しい。

あとだいたい1対1で話してる人は15分くらい話し込んだらそろそろ別の人と話したいがきっかけが難しいなと思ってるだろうから話に入っていったほうがみんなにとってもいいかもしれないです。

おわりに

カンファレンス参加して良かった。
ただ、咳出てたりしてる人が気にはなった。気になると言うのは、感染症にかかった経験があるとか身内が病気だとかそういう経験があるかないかで感じ方は変わると思います。誰がどうとかそういうことではなく。

知り合いに来て欲しいと思うこともあったけど、現状オフラインカンファレンスに参加しないというのも尊重できる選択だなと思いますね。

そしてカンファレンスの次の日も、なんだか良い感じに疲労感があって幸せな感覚でした。

会場で話しかけなくても遠目で知り合いを見つけてなんとなく元気そうだなと思うような感じ、それだけで安心した気分もあるかもしれません。