iOSDC Japan 2024 という国内最大級 1 のiOSカンファレンスで登壇させていただきました。
初回の2016年〜2024年までで通算8回目の登壇となります。
- 2016: 海外カンファレンスに登壇する
- 2017: 飛び道具ではないMetal
- 2018: Depth in Depth
- 2019: 今こそwatchOS
- 2020: 機械学習のブルーオーシャン Core ML
- 2022: MLOps for Core ML
- 2023: iOSではじめるフォトグラメトリ
目次
トーク内容
資料と概要
今回は「GIS入門 - 地理情報をiOSで活用する」というタイトルで発表させていただきました。プロポーザルはこちらですが、もしタイトルを修正できるなら
「GIS入門 - 地図をしくみから理解し使いこなす」
とした方がより内容の実態に近いと思います。地図がどんなデータを用いて、どう描画しているのか、しくみから理解することで色んな応用ができるよ、という話です。
スライドはこちら:
MapKitやCore LocationはiOS黎明期からあり 2、「2024年にもなって、いまさら地図の話!?」と思われるかもしれません。しかし本トークはMapKitや特定SDKの解説ではなく、地図アプリケーションを構成するデータや技術について紐解き、それら本質的理解をもって地図/GIS領域であれこれできるようになろう、という趣旨のトークなので、いまさら?と思われた方もぜひ見ていただけると嬉しいです。
GIS楽しい
整理してみると要素はこれぐらいだったりします:
GIS入門、昨日25分話しましたが、まとめてみると結局これだけだったりするんですよね。ラスター/ベクトルタイル、スタイルぐらいを理解しておけば、世界中の色んな団体が公開してる膨大な地図データや各種統計、衛星データ、3D都市モデル等々が自分の引き出しに加わって、一気に世界が広がる #iosdc https://t.co/pb3RRAnnYf pic.twitter.com/HwgKtUCXAJ
— 堤修一 / Shuichi Tsutsumi (@shu223) August 23, 2024
ツイートにも書いてますが、このあたりのことを理解しておくだけで、世界中の色んな団体が公開してる膨大な地図データや各種統計、衛星データ、3D都市モデル等々が自分の引き出しに加わって、一気に選択肢が広がってめちゃくちゃ楽しくなります。このトークが採択され、この領域について勉強する機会を得られて本当に良かったなと思います。
フィードバックください!
発表やスライドを見ていただけた方、以下からフィードバックをいただけると大変喜びます:
https://fortee.jp/iosdc-japan-2024/me/feedback/71a271a5-faea-4083-b0f9-1fa1487e42d6
当日の発表時間帯のツイート:
その他本発表への反応:
このトークのゴールが、地図を仕組みから理解し、iOSでさまざまな応用ができるようになるというもので、しっかりと仕組みが理解できる分かりやすい発表でした。
作れないものは、理解ができないという考えのもと、MapKitを使わずにiOSで地図を作りながら仕組み/GISの基礎を理解していくというものでした。
「地図を作ろう」という考えに至っただけでもすごいのに、実際に最終的にはポケモンGOのようなオリジナルの地図の描画まで成功して驚きでした。 ベクタータイルのデータとスタイルを適用するだけで簡単にオリジナルの地図ができるなんて、、
【iOSDC Japan 2024 レポート】「GIS入門 - 地理情報をiOSで活用する」を聞いてきた。 | DevelopersIO
ちょうど、Map Kitを使ったアプリを個人で作っているところで、地図の仕組みについて気になっていたところでした。地図はラスターデータ/ベクトルデータ、地図タイル/タイルインデックスといった要素のもとに成り立っていることが分かりました。驚いた点としては3Dマップは3Dモデルが用意されているのではなく、3D的に描画しているという点でした。
地図の仕組みを一から理解し、iOSアプリでさまざまな応用ができるようになることを目的としたトークです。iOSアプリエンジニアの方であれば、MapKitのAPIを使用してiPhoneの画面に地図を表示したことは、一度はあるのではないでしょうか。 一方で、地図が表示される仕組みについて深く考える機会はほとんどないと思います。本トークでは、地図の仕組みから始まり、実際にコードを見ながら地図の仕組みの解説を進めていきます。最初はベーシックな地図を表示する方法、最後はマップ上に人間とモンスターを配置した、某ゲームのようなデモを披露してくださいました。
【イベントレポート】iOSDC Japan 2024 - Timee Product Team Blog
準備メモ
例年、「そろそろ準備しないとやばいのでは」「今年はさすがに間に合わないかも...」と焦るので、昨年あたりから簡単な進行メモを書くようになりました。
自分にはこれが大変有用だったので、お試しで今年の進行メモを公開してみます:
8/3
- 技術調査に着手
- GIS関連の本を買ったり、Mapbox Maps SDK for iOSのサンプルをビルドしてみたり
- 技術調査に着手
8/5〜8/9
- Mapboxの公式サンプルのコードリーディング
- GIS本を読み、内容を実践
- ざっくり発表の流れ案を書いた
この時期に書いた記事:
- 8/11〜8/14
- 「MapKitや他のSDKなしで地図実装」サンプル実装
- マップカスタマイズサンプル実装
- 別のサンプル実装にもこの頃着手(流れから外れるので結局発表には盛り込まなかった)
MapKitや他のSDKを「使わずに」地図をiOSで実装してみた。
— 堤修一 / Shuichi Tsutsumi (@shu223) August 12, 2024
・地図タイルの表示 & ズームレベルの変更
・現在位置の表示(緯度経度→ピクセル座標→スクリーン座標)
原始的すぎて「だから何」となりそうだが、地図をしくみから理解するとっかかりにはなるかなと。 #iosdc pic.twitter.com/XVXGrNTx89
この時期に書いた記事:
8/15, 8/17
- スライド作成着手
- 友人に流れだけ見てもらった
- 8/16は進捗なし
8/18〜8/19
- Mapbox Studioを使ってカスタムスタイル作成 → iOSサンプル実装
- ベクトルタイルについて調査(ローカルメモのみ、時間があれば記事にしたい)
8/20
- スライド作成に戻る
- 友人・同僚に作成途中のスライドで流れを見てもらってFBもらった
8/21(発表前日)
- 東京へ移動
- スライドの初稿ができた
- 初めて通しでやってみた。途中資料の修正とかをやりながら話して37分ぐらい
8/22(発表当日)
- 通し練習と資料のブラッシュアップ
- 最後の通し練習で26分弱(デモなし) 3
- 通し練習と資料のブラッシュアップ
今年のトークテーマもそうですが、僕の場合は「登壇ドリブン学習」が登壇のモチベなので、基本的に
技術調査 → 実装(サンプル作成) → 資料作成
の流れで登壇準備が進行していきます。作成したサンプルが発表での解説の軸になる(こういうのをどう実現するか?を解説していく)ので、基本的に準備期間の80〜90%ぐらいは 技術調査 → 実装
のサイクルを回しています。
大量のトークをいかにキャッチアップするか
高い競争率の中で選ばれた珠玉のトーク群、あれもこれも見たい。しかし会期中は自分の発表の準備や開発者同士の交流も忙しく、トークを見に行けないことも多い。
そんなわけで会期終了後に追っかけ再生でキャッチアップするわけですが、総トーク時間1,765分(30時間弱)もあるトークを忙しい日々の中でいかにキャッチアップするか。
例年であれば見たいトークをピックアップし、見たい順にスキマ時間をみつけては見ていく、という感じでやっていた(やろうとしていた)のですが、まーこれが頓挫します。ほぼ毎年ピックアップしただけで結局見ずに終わります。
というわけで今年はこうしてみることにしました:
- day 0のトラックA〜D → day 1のトラックA〜D → day2のトラックA〜D、という順番でニコ生のタイムシフトを見ていく
- 基本的に倍速再生(1.75x)し、スキップや早送りはどんどんやっていいが、戻ったり、メモのために一時停止したりは絶対にしない
この方法のポイントは、日毎、トラック毎に順番に見ていくことで、「どのトークから見ていこうかな」という優先度の意思決定が不要になることです。とにかくサッと取り掛かることができます。また全体の中でいまどのぐらい見終わったかという進捗状況も明確になります。
あとは戻ったり止めたりしないこと、これを課すことで、メモ等で無限に時間がかかってしまい途中で頓挫する問題を回避できます。どうしても見返したいトークは控えておいてあとで見返せばよく、とにかくまずは「見ようと思ってあれこれピックアップしたのに結局ひとつも見なかった」という最悪の事態を避け、「いったん見る」ことを重視した方針となっています。
今年はこれのおかげで、例年より調子良くキャッチアップできています。半日ほどで半分ぐらい見終わったので、実質4倍速ぐらいで見れているかもしれません。
→ (2024.9.12追記)8/26に半日、9/10に半日の2回で全部見終えることができました。この方法自分的にはかなり良いです。
勉強になったトーク
(たくさんあるので後でまとめます)
おわりに
今年もiOSDC最高でした!自分の勉強としても有益だったし、懐かしい方やはじめましての方、おなじみの方々ともたくさん交流できてとにかく楽しかったです。
ブースの中にこそ立っていなかったものの、何度も立ち寄らせてもらいました【#iosdc2024 お疲れさまでした!】
— SansanTech (@SansanTech) August 24, 2024
3日間、ありがとうございました!
iOSDCは本日で終了してしまいましたが、Sansan&ANDPADでiOSDC Japan 2024を振り返る交流イベントを開催します。お互いに学びをシェアできる時間なれば幸いです。ぜひご参加ください! #iosdchttps://t.co/7kb8OuSIXS pic.twitter.com/JuZroZn3cn
主催者の長谷川さんをはじめ運営スタッフのみなさま、スピーカーのみなさま、参加者のみなさまどうもありがとうございました!来年に向けてまたプロポーザル案を温めておきます!