visionOS TC 2025に参加してきました&登壇してきました

2025/12/6,7に開催されたvisionOS TC 2025に参加してきました。

visionos-tc.com

本カンファレンスはvisionOSの開発者やクリエイターなどが集まる初開催のイベントでした。

初日はAbemaタワーで主にセッションでした。

初めてのアベマタワー

多くのセッションがありましたが、特に個人的に印象に残ったのはまず、
ばんじゅん🍓さんの「RealityKitエンジニアのためのUSDフォーマット基礎&実践編集テクニック」はusdフォーマットの話とReality Composer Proの関係のトークでした。
usdフォーマットの概要と、またReality Composer Pro(以下RCP)の正体は実質usdファイルのエディタであるということを聞き、個人的には謎だったRCPというツールの存在意義を知ることができました。

また藤野 稔さんの「Apple Immersive Videoの撮影からVision Proアプリ化まで」ではImmersive Videoを高解像で撮影できるBlack Magicとその周辺機器に1200万円投資するという覚悟と、「全財産を払ってでも残したい景色があるはずだ」という情熱に心打たれ、不覚にも涙が零れそうになりました。


なお、私もLTにて登壇させていただく機会を頂いたのですが、visionOSの開発から少し離れていることもあってvisionOSとは直接の関係はない、40年近く生き残っている古の3Dファイルフォーマットの話をさせて頂きました。
www.docswell.com

あまりvisionOSのカンファレンスで話す内容にはそぐわないかも知れないと思いながらも数名の方からは好評だったようですこし安心しました。

普段私はiOS系のカンファレンスに参加していることが多いのですが、このカンファレンスではiOS系の開発者だけでなく、XR開発者やクリエイターの方々など普段交流できないような方々と交流できる貴重な機会となりました。


二日目は森ビルAppleでパネルディスカッションと展示ブースでした。

よく見るアングル

最前線でアプリ、デザイン、コンテンツを作成している方々のこの先のビジョンや課題を共有して頂けて、非常に有意義なディスカッションを聞けたと思います。

休憩時間の合間に展示ブースを見て回る機会もあり、私はGraffityさんのコンテンツを体験させてもらいました。
ZOZOさんの展示も体験したかったのですが、どの展示も大人気で時間内に体験できなかったのが心残りです。
あと、今後このような展示を見る機会があれば自分のOptical Insertを持ってこようと思います。

私自身Apple Vision Proを持っているものの、価格や開発の制限など正直なかなか展開が難しいプラットフォームだなと感じています。
しかし参加者の方々からは現状の制限の中で如何にして良いコンテンツを作れるかという試行錯誤や工夫の仕方など熱量を感じることができました。

改めてこのデバイスの可能性を模索しようと思えるいい機会でした。

主催者の方々、運営の方々ありがとうございました。
そしてお疲れ様でした。

iOSDC Japan 2025に参加してきました

祭だ祭だ〜。 ということで今年もやってきましたiOSDC Japan。

今年でもう10回目なんですね。私自身の参加は9回目なのですが、時の流れがあっという間に感じます。 今年は慣れ親しんだ早稲田大学理工学部ではなく有明での開催ということで、まずは無事にたどり着けるかが心配でしたが地図アプリの力を借りて無事に会場に着くことができました。

電車を降りると先週までの暑さが嘘のように秋の到来を感じさせる爽やかで心地よい気温です。 夏の熱気に浮かされたテンションで参加するのも悪くないですが、体力の衰えを感じる昨今ではありがたい天気でした。

トーク

毎年色々な方が多種多様なトークをして下さるので知らないことをたくさん知ることができる機会になっています。 聞きたいトークが同じ時間帯に被っても、ニコ生のタイムシフトで聞けるので安心です。

また、今年は各トークの後に一分間フィードバックという時間を設けて下さり、トークを聞いた直後の熱量が高い状態でフィードバックを書けるので良い仕組みだったと思います。 10回目になっても毎回アップデートがされていて素敵だなぁと感じます。

iOSDCトーク

ノベルティボックスが届いた時から、息子が「もう最高。永遠にやってたい。」と言いながら毎晩トークンを探して付箋をペタペタ貼っていました。血は争えません。

おかげで後述するスポンサーブーススタンプラリーと合わせて何十回も抽選のガラガラを回し、Tシャツ2枚とパーカーなどの公式グッズを頂きました。 (後ろに並んでいた方すみません。)

スポンサーブース

スタンプラリーという仕組みがあるおかげでブースの方に話しかけるハードルが低くなるのは嬉しいポイントです。 クイズやアンケート、参加型コーディングからクリア型アプリまで、各社趣向を凝らしていらっしゃり楽しめました。 やはり今年はAIの活用に関連した内容が増えていましたね。

個人的にはHONDA様のブースで憧れの大型バイクに跨らせて頂けたのは感動でした。 もう体力的にも大型二輪には乗れないですがやっぱりカッコいい。車とは違うバイクならではのカッコよさがありますよね。

最後に

トークを聞いて、ブースを回って、参加者の方々とお話しをして気がつけば最終日も終わるというあっという間の2.5日間でした。 毎年書いていますが、年々顔見知りが増え、一年に一度の近況報告やライフステージの変化の話などをしたりと、まさにただのカンファレンスではなくコミュニティになっているなと実感しました。

このようなイベントがなければ地方の片田舎でただただ歳だけを重ねる人生であっただろうと思うと、いろいろな方と交流でき刺激をいただけるのは本当にありがたい限りです。

また来年お会いしましょう。

iOSDC Japan 2024に参加してきました&登壇してきました

早いもので2017年の初参加以来、今回で8回目の参加となりました。
初参加時には知り合いが誰もいないボッチ参加だったのが年々知り合いが増え、また話しかけて頂けることも増えてきました。ありがたいことです。

今回、直接見に行ったトークに加えて、まだ見たいトークをニコ生で見ようと思っているのでそれぞれのトークの感想はフィードバックフォームからさせて頂きます。ご容赦下さい。

登壇

今年も幸いプロポーザルを採択して頂き、過去一役に立たないトークをさせて頂きました。
fortee.jp
登壇は5回目でしたがLTは初めてで、時間オーバーだけは絶対にしないよう心がけました。
もうそろそろちゃんとiOSに関連した役に立つ話をしろよと自分でも思いますが、他の方より役に立つ話ができそうにないのでこればっかりは仕方がないのです。
来年もおそらく役に立たない内容のCfPを出すと思います。
先に謝っておきます。ごめんなさい。

今回はスライドに価値は全く無いので、スライドは公開しておりません。
トークの動画はYouTubeにアップして頂けると思いますのでお待ち下さい。
www.youtube.com

制限時間が短いLTだったので、トークでは削らざるを得なかった内容や、頂いたコメントに関して以下に補足しておきます。

  • なぜ解読しようと思った?

→iOSDCチャレンジは2022年までは高得点者の順位が発表されていました。例年私は本気でチャレンジしていたものの、2020年には11位、2021年には4位、2022年には11位と悔しい思いをしていたので必死にトークンを探していました。絶対にこのロゴにトークンが隠されていると思ったのです。

  • 「テキストデータとして読めなかった」とあったが全く読めなかったのか?

→ASCIIとUTF-8だけしか確認していないのですが、ありえないByte列になりました。例えば先頭が"10001000"のByte列は最初の最上位bitが1なので(現代の)ASCIIコードではありませんし、上位2bitが"10"から始まるByteはUTF-8では何かしらの先行Byteからの続きByteを表しますのでそもそも無効です。また、"11011101 10111011"のように一部有効なコードもありましたがこれはアラビア文字の ݻ という文字でした。メッセージが隠されているのならば日本語・英語・記号・数字あたりが適切な範囲だと考えていたため解読対象ではないと早々に判断しました。

  • 異常性が深い・狂気を感じる

→ありがとうございます。最高の褒め言葉です。
が、自分ではまだまだ狂気が足らないと思っているので精進します。

  • 今年のロゴも解析して欲しい

→早々に実行委員長の長谷川さんから今年のロゴに謎はありませんと言われてしまいました。なのでなんとか陰謀論的にこじつけるしか無いと思っています。

反省点

実は2日目(Day1)は寝不足に加え右足の膝に過去一の激痛が走り、気分が悪くなってしまい途中からホテルに戻りニコ生でオンライン視聴していました。
現地の熱量を感じるためにオフライン参加しているので痛恨の極みです。
そろそろ自分の年齢と運動不足を自覚してちゃんと対策しないとな、と反省しました。

また、iOSDCチャレンジで扇子をゲットして浮かれていたところ、帰宅してから2017年の扇子を紛失したことに気が付きました
(2024/08/26修正)
紛失したのは2017年のほうではなく今年2024年の方の扇子でした。
ほんと色々ポンコツですみません。
どなたか見かけた方がいらっしゃいましたらご連絡頂けると幸いです。


さらに、無事に帰ってブログを書くまでがiOSDCということなのですが、地下鉄に乗り東京駅で改札を出ようとしたところApple WatchSuicaが反応しません。充電切れです。
駅員さんに事情を告げて事なきを得ましたが危うく帰宅難民になるところでした。
(2017年には台風のせいで新幹線が2時間遅れ、終電に間に合わず帰れなかったことを思い出しました。)

加えて東京駅で走ったため、痛めた膝がさらに悲鳴を上げました。今も痛いです。
社会人になって四半世紀も経っているのですから、いい加減時間に余裕を持って動ける大人になりたいと思います。

最後に

毎年の感想ですが、協賛して下さる企業様、朝早くから遅くまで現地で快適に過ごせるよう献身的に動いて下さるスタッフの方々、楽しい企画を実現して下さる運営には本当に頭が上がりません。
また、素晴らしいトークをして下さる方々、感想やフィードバックを下さる方々も加えた皆さんのおかげで成り立っている最高のカンファレンスだと思います。

私自身は地方に住んでいるので直接スタッフとして貢献することは難しいのですが、また登壇して楽しんで頂けるトークをしたり、登壇者の方にフィードバックを送ったり直接感想を伝えたり、と微力ではありますが少しでも貢献できればと思います。

それではまた来年お会いできることを楽しみにしています。

追記:謝辞

今回のトークにあたってツイートの利用許可を頂いたひろんさん、アイコンの利用許可を頂いた長谷川さんに深く感謝いたします。

ひろんさんのブログで謝罪文が載っておりましたが、ひろんさんは悪くないです
…と書こうと思いましたが、私がiOSDCチャレンジで4位だった時にさらに上位に君臨されていた3人のうちの一人はひろんさんだったのでやはり原因の一端になっていることは否めないなと思いました。

iOSDC Japan 2023に参加&登壇します

iOSDC2023

今年もまた祭の季節がやってまいりました。
早稲田のキャンパスに入ると「帰ってきた」と感じるのは私だけでしょうか?

さて明日9/2はiOSDC Japanのday1。

今年も幸いプロポーザルを採択して頂きまして今回は『正規表現を"微分"する!? 爆速で自作できる正規表現エンジン』という、ややキャッチーなタイトルで話します。
iOSDCで登壇するのは4回目、しかもなんと2年連続で正規表現について話すという事態になりました。
(昨年は『正規表現って結局何なのさ?〜エンジニアのためのコンピューターサイエンス入門〜』でした。)

『爆速で自作できる』と書いて応募したものの、実は応募時点では実装したことすらありませんでした。もちろん理屈としては知ってはいましたが。
採択の通知を受け、慌てて実装することになったのですが…なんと拍子抜けするぐらい簡単に実装できてしまいました。所要時間は30分程度。
今なら5分ぐらいで実装できるでしょうか。

5年前に登壇した、『作ってわかるレンダリングパイプライン CPUで3D描画』でもやはり応募時点で実装はゼロだったのです。
背景の理論がわかっていれば意外と何とかなるものですね。
takatsu.hatenablog.com

ですから今回も理論に重きを置いてしっかり説明した後、どのように実装したのかを解説します。
非常に簡単な理屈ですので、本トークを聞いた後は皆さんお好きな言語で正規表現エンジンを作ることができるようになるでしょう。

タイトルに"微分"とあるため尻込みする方もいるかもしれませんが実は数学的な知識は全く必要ありません。
文字列の連結:「"iOS"という文字列と"DC"という文字列を繋げたら"iOSDC"になる」

文字列から文字の削除:「"knight"という文字列の先頭の文字を削除したら"night"になる」
がわかれば問題なく理解できます。実質誰でもウェルカム。

非常に敷居が低いトークとなっておりますのでぜひご興味がある方は聞きにいらっしゃって下さい。

9/2(土) day1 16:15〜 Track Dでお待ちしています。

iOSDC Japan 2022に参加&登壇してきました

2022/09/10〜2022/09/12に開催されたiOSDCに参加してきました。
今回は初の試みとなるオンライン&オフラインのハイブリッド開催でした。

地方に住んでいるので、交通費と宿泊費を考えるとオンラインで参加するのがリーズナブルではあるのですが、やはりオフライン開催に参加してiOSDCの虜になった身としてはオフライン開催があるのにオンラインで参加するという選択肢はありませんでした。
オフライン参加者の人数を例年の半分程度に絞ったとはいえ、それでも「祭の熱」のようなものを現地で肌で感じられたのが良かったです。

今回も面白いトークばかりでしたが、ベストトーク賞を受賞していた『Xcode が遅い! とにかく遅い!! 遅い Xcode をなんとかする方法』が特に面白かったです。
現在の最新の開発環境も、結局は先人たちの作り上げてきたコードの上に成り立っており、そしてそれを実装したのはやはり人なのだなと妙な感動を覚えました。
fortee.jp


また、今回も幸いCfPを採択して頂けたので私も正規表現の理論について発表させて頂きました。
誰も来なかったらどうしようと毎回直前まで心配するのですが、完全に杞憂でTrack Dが満席になるほど多くの方に聞きに来て頂けました。ニコ生でも多くのコメントを頂けて嬉しかったです。
40分で話せる内容に圧縮したので駆け足になりましたが、ゆっくり見直せば理解できるように資料を作ったつもりです。
本来であれば言語の生成規則や正規文法、そして正規表現よりも表現能力が高い文脈自由言語や文脈依存言語にも触れたかったのですが流石に無理でした。
興味のある方は参考文献の本を参照して下さい。
www.docswell.com


なお、自己紹介の時に触れた「エンジニアと人生コミュニティ」はこちらです。
community.camp-fire.jp
今回はこのコミュニティの方ともお会いできるいい機会となりました。

ちなみに今年も上位に食い込むと意気込んでいたiOSDCチャレンジですが、今回は入力忘れや全角括弧/半角括弧両方を試さず失点などケアレスミスが目立ち、上位に食い込むことはできませんでした。
たまたま運良く11位というラッキー賞でラインストーンバージョンのTシャツを頂けました。

いまだ祭の後の興奮冷めやらず、ふわふわした気分で仕事をしていますがまた来年楽しく皆様のトークを聞けるように、そして自分も新たなトークができるように仕事をしていこうと思います。
初のオンライン&オフラインのハイブリッド開催ということでスタッフの方も大変だったと思いますが、おかげさまで楽しい時間を過ごせました。
参加者の皆様、スタッフの皆様お疲れさまでした。

また来年を楽しみにしております。

iOSDC 2022に参加します&登壇します

今年も祭りの季節がやって参りました。
昨今のコロナ禍により2020年、2021年はオンライン開催でしたが3年ぶりのオフライン(+オンライン)開催です。
オンライン開催もオフラインに特化したとても素敵なイベントでしたが、やはりオフライン開催はテンションが上ります。

というわけでその上がったテンションでプロポーザルをいくつか提出したところ、「正規表現って結局何なのさ?」というプロポーザルを採択していただきました。


やはり今年のWWDCでSwiftの正規表現機能の強化が発表されたこともあって採択されたのだと思います。

2018年「作ってわかるレンダリングパイプライン〜CPUで3D描画〜」
2019年「めくるめくシェーダアートの世界」
以来3回目の登壇となります。

多くのプログラミング言語コマンドラインツール、またエディタの検索に搭載されておりプログラマーには馴染みの深い正規表現ですが、「正規表現とは?」と改めて問われると答えに窮する方も多いのではないでしょうか。
そこで今回は「そもそも正規表現の定義とは何か?」から始め、理論から正規表現を眺めてみます。

興味のある方、ぜひ9/11(日) 14:10〜 Track Dに起こし下さい。お待ちしております。

そして昨年惜しくもBest3入りを逃した(昨年4位)iOSDCチャレンジもまた上位を狙っていきます。
久々のオフライン開催楽しみましょう!!私も楽しみます!!

iOSDC 2019に参加してきました

2019/09/05〜07まで2.5日、iOSDCに参加してきました。
(iOSDCのCはカンファレンスのCなのですが、個人的にはiOS開発者のお祭りだと思っています。)

参加は今年で3回目、昨年に引き続き幸いにもプロポーザルが採用されたため登壇2回目です。

というわけで今年もSPEAKERチケットGETです。
f:id:ta_ka_tsu:20190908164858j:plain

昨年まではLT&15分トーク&30分トークという構成だったのに対し、今年はLT&30分トーク&60分トークという構成だったためか、昨年より開催日が1日少ないことを考慮に入れてもあっという間に終わった印象です。
1つのテーマについて深い内容でじっくり聞くことができ、慌ただしくトラック移動することも少なかったので良かったと思います。
その一方で、聞けた発表が例年より少なかったのは少し残念でした。うーん、アンビバレンツ。
(3.5日で30分&60分だと丁度いいかもとか無責任なことを言ってみる)

聞きに行ったセッションの中でも特に印象が強かったものを以下にいくつか。

スクリーン配信機能の実装が大変だったので知見をお伝えします。
非常に情報がレアなフレームワークReplayKitに関する話が聞けたのが興味深かったです。
動画というただでさえ情報量が多く、なおかつリアルタイム性の求められるデータを、さらに限られたメモリの中でどう扱うかという工夫を聞くことができて面白かったです。
携帯端末という計算リソースの限られたプログラムではこのようなリッチなコンテンツをいかにして自然に見せるかという知見はとてもためになります。

Advanced Segue (2019年のSegue事情)
著書である「詳解UIKit」「よくわかるAuto Layout」で散々(勝手に)お世話になった所さんのセッションです。
私は可能であればGUIでやってしまいたい派なのでSegueもきっと私の知らない便利な使い方があるはず、ということで聴講しました。
特にCustom Segueは使ったことがなく、static table viewの特定のセルにだけ特定の動作をさせたい時にtableView(_:didSelectRowAt:)内でindexPathのsection/rowを条件分岐して書くみたいなコードや、肥大化するprepare(for:sender:)といった常々ブサイクだと思いながらも仕方なく書いていたコードを回避できると知れて良かったです。

クロマキー合成を使い透過動画をAR空間に表示する
こちらも携帯端末の限られた計算リソースの中で動画、AR、クロマキー合成というヘビーそうな処理をどう行っているのか知見を聞きたかったので聴講しました。
実際に動画がクロマキー合成されてARで再生されるデモのインパクトは想像以上で、ユーザーに強い印象を与えられるコンテンツ作りへの夢が広がりました。

iOSアプリに「意識」は宿るのか?ディープラーニングの先にある人工知能(AI)
60分のセッションのうち1割も理解できていないと思いますが、脳の仕組みを模倣したモデルでパラメータを変えてセルオートマトンのパターンが有機的に変化するのは見ていて面白かったです。
何を以て「意識」とするかの定義は難しいですが、大変興味深いセッションでした。

今こそwatchOS
かつてApple Watchには「小型で高機能なコントローラー」としての役割を期待していました。watchOS1、watchOS2の頃に実際に開発をして「小型だがそれなりのことしかできない時計」以上の評価ができず、もう開発することはないと思っていました。
が、知らない間にソフト面ハード面で強化を果たし、SceneKitでぐるぐる3D描画が動作するのを見て、もうあの頃のAppleWatchではないのだなあと思い知らされ、まさに「今こそ」という可能性が見えました。
可能性が見えたら帰りに丸の内で買って帰るという旨のツイートをしましたが、すみません、数日後にAppleの発表があるのを忘れていました。新しいApple Watchが出てからにします。



「聞きたかったけれども諦めたトーク」も沢山あるのですが、ありがたい事にiOSDCは毎回後日YouTubeで動画が公開されるという安心感があります。
そのため「ぜひこれだけはライブで聞きたい」というものを重点的に選んで聞きに行きました。
ぜひライブで聞きたいというトークが集中している時間帯は流石にギリギリまで悩みましたが、それも一つの醍醐味ですね。


さて、今年初めての試みであるiOSDCチャレンジという随所に散りばめられたトークンを探すという企画は割と本気で上位を狙いに行くつもりでいました。
あらかじめスポンサー様のブログ、公式Webページをチェックして見つけたトークンを集めておき、受付とほぼ同時に入力しまくるという作戦で初日のしばらくの間は1位でした。
が、その後一向にトークンが見つけられず順位がズルズルと後退、そのまま11位まで転落しましたが「キリ番ラッキー賞」ということでTシャツを頂けました。結果オーライです。
f:id:ta_ka_tsu:20190908170511j:plain

Web黎明期に一時期流行ったWeb脱出ゲーム的なノウハウ(?)を駆使し、
・背景と同じ色の文字を全選択で浮かび上がらせる
・HTMLソースを表示し、ブラウザにレンダリングされない文字列を探す
といった方法が思い通りハマったのには懐かしさを感じました。

一方、絶対トークンが隠されているはずだとアタリをつけていたにも関わらず公式パンフレットのトークンを見つけられなかったのは悔しいと言うよりも改めて老眼を痛感して少ーしだけ切なくなりました。
(これ↓)
f:id:ta_ka_tsu:20190908164904j:plain
f:id:ta_ka_tsu:20190908170653j:plain

突然来ますからね、老眼。皆さんも目は大切にしましょう。


当たり前ですが皆さん様々なバックグラウンドを持ち、様々なアプローチで技術に取り組み、様々な技術分野での知見をお持ちで毎度のことながらとても刺激を受けます。
同じトークを聞いていても他の方の質問でそういう視点もあるのか、と気付かされることも少なくありません。
普段仕事をしているだけでは絶対に交流できない方々と交流できるこのような機会というのは何事にも変えられない機会だと思います。
面白そうだけど自分の仕事には関係なさそうだし…という方にこそ参加してみてほしいイベントです。

自分自信も、このようなイベントが無かったら片田舎で限られた人とだけ仕事をし、仕事に必要な限られた技術領域だけで生活をするためだけにプログラミングをして、そしてそのうちプログラムの楽しさを忘れていったかもしれません。
プログラミング・エンジニアリング・知識の吸収って本来楽しいものですよね。
そういう意味で私の人生に影響を与えたイベントだといっても過言ではないです。

最後に毎年協賛下さっているスポンサー様、ありがとうございます。
スタッフの方々、スムーズな運営で毎年とても楽しく快適に過ごさせてもらっています。お疲れさまでした。
発表者の皆さんも聴講者の皆さんも本当に気さくに交流させてもらってとても刺激になりますし、何より楽しいです。ありがとうございます。


来年も開催されるのを心待ちにしております。
またまた懲りずにCfP出します。

あと「アウトプット大事」というのはわかってはいたものの今回本当に痛感しましたので、できるだけアウトプットしていくようにします。