採択
パンフ記事(8ページ)

モバイルアプリ開発者のための WebView と JavaScript の制御実践

mitsuharu_e 江本光晴

モバイルアプリ開発において、アプリに組み込まれた WebView はWeb サイトを表示するだけとは限りません。既存サービスの HTML を活用したり、最軽量かつ最小限のクロスプラットフォームを実現します。これらを制御する場合、HTML や JavaScript などの知識が欠かせません。しかしながら、モバイルアプリエンジニアは必ずしもそれらに精通しているとは限らず、実装上の問題に直面することも少なくありません。

本記事では、アプリに組み込まれた WebView(WKWebView)で遭遇しやすい問題、JavaScript の実行やイベント受信などに関する問題を整理して、その原因と具体的な解決方法を解説します。HTML や JavaScript に不慣れなモバイルエンジニアが、WebView を安全に活用して堅牢なアプリを開発するためのポイントを明示します。また、アクセシビリティの観点についても補足し、誰もが使いやすいアプリを実現するために必要な考え方を紹介します。

採択
パンフ記事(8ページ)

そうだ、 \(region) 行こう。

__ryomm Ryomm

2024年、Swift界隈で地域コミュニティイベント Japan-\(region).swift の一大ムーブメントが巻き起こりました。
日本各地でSwiftのコミュニティが発足し、Swiftに関する学びがあるだけでなく、各地域の魅力を発信する場にもなりました。

私も「このビッグウェーブに乗るしかない!」とKanagawa.swiftを開催することに。初めての外向けオープンイベントの主催でしたが、多くの方々の協力のおかげで大成功を収めることができました。

本記事では、Kanagawa.swiftの開催記録と、これからSwift地域コミュニティを立ち上げたい方のための手引きをご紹介します。

さらに、全国のJapan-\(region).swiftマップも提供します!あなたも次に行ってみたい Japan-\(region).swift が見つかるかもしれません!

5
採択
パンフ記事(8ページ)

見た目に惑わされないUI設計と実装の勘どころ 〜SwiftUI・UIKitで読み解く複雑度の見極め方〜

fumiyasac 酒井文也

一見シンプルに見えるUIでも、実装してみると意外と時間がかかる──そんな経験はありませんか?

「このデザイン、30分で実装できそう」と思って始めたら、実際は2日かかってしまった。
そんな見積もりのズレは、デザインの「見た目の複雑さ」と「実装の複雑さ」が必ずしも一致しないことが原因です。

本稿では、SwiftUI・UIKit・Androidでの実装経験や考察から得た知見をもとに、デザイン仕様から実装難易度を読み解くための視点や判断基準を紹介します。

特に以下の観点を中心に、プロジェクト計画や実装方針の見極めに役立つ知見を整理します:

  • 標準UIかカスタムが必要かを判断するための着眼点
  • テキスト入力やChip、スクロールUIで陥りやすい構造的な課題
  • カスタムアニメーションやトランジションの見積もりで考慮すべき要素
  • GeometryReaderや座標計算を伴うレイアウトの扱いとその難易度
  • 無限カルーセルUIを題材としたSwiftUIとUIKitのアプローチ比較

日々のUI実装における小さな判断を支える技術的な視点を、実例を交えてお届けします。

6
採択
パンフ記事(4ページ)

高田馬場&西早稲田散策マップ 〜今までありがとう西早稲田!〜

s_shimotori_pub S_Shimotori

2017年以来お世話になった西早稲田。過去参加された方はこの地にいろんな思い出をお持ちでしょう。

あれ?私、駅と63号館との往復しかしてないや。高田馬場や西早稲田や大学のことを何も知らない。たくさんお店があるのに、母の生まれ育った地なのに、10年前に理工展の人と交流したことあるのに、この街のことを何も知らない…!

本記事では、高田馬場&西早稲田を何も知らないまま有明へ行く皆さんのために散策用のマップを提供します。
機会を見つけて散歩してみると面白いですよ!

【掲載内容】

★高田馬場&西早稲田エリアの散策マップ
学生街と住宅街がいい感じに隣り合った街並みを紹介します。
ときどき史跡があったり、少し東に行くとヤギさんがいたりします。

★高田馬場&西早稲田メシの食レポ
個人的に気になったお店をいくつか紹介します。
高田馬場といえばラーメンですが、甘いものも要チェックです。それにカレーとラム。

★早稲田大学西早稲田キャンパスができるまでの歴史
山手線内にまとまった土地があったということは、つまりそういうことですね。

★理工展2024の参加レポ
去年参加された方は、iOSDC Japan 2024のフォトモザイクに「理工展にもきてね!!」と書き込まれていたことに気づいていましたか?私は行ってきましたよ!
学園祭はお子様連れの皆さんにおすすめのイベントです。
理工展の様子はもちろん、キャンパスツアーや学生チーム開発ノウハウ共有カンファレンスも紹介します。

【こんな人におすすめ】

  • 街歩きが好きな人
  • 食いしん坊な人
  • 63号館と居酒屋にしか目がいってなかった人
  • こっちのキャンパスにも大隈重信像があることに気づかなかった人
3
採択
パンフ記事(8ページ)

SwiftUIで破綻しないためのコンポーネント設計と構造パターン実践

akkiee76 Akihiko Sato

SwiftUIでの開発は、宣言的で簡潔な記述ができる一方で、画面が大規模・複雑になるにつれて思わぬ設計課題に直面することがあります。多くの開発者は、以下のような課題に直面することも多いでしょう。

  1. UI構造の可読性の低下
  2. コードからデザインの想像が困難
  3. 再利用性・コンポーネント化のハードル
  4. 状態管理における責務の分離
  5. Preview機能の破綻

SwiftUIの宣言的な記法は一見シンプルで強力ですが、実際の開発現場では、構造の複雑化や保守性の低下といった課題が顕在化しやすくなります。たとえば、1つの画面に複数の状態や分岐が含まれる場合、ifやswitchの入れ子が増えてbody が肥大化し、Viewの構造を把握するのが困難になります。また、共通化を目的にViewを切り出しても、柔軟性を持たせようとするあまりPropsが増えてしまい、かえって使いづらくなることもあります。

このような問題に対する1つのアプローチが、「コンポーネント指向」による設計です。UIを意味のある小さな単位として切り出し、それぞれが明確な責務を持つ自己完結型の部品として設計することで、再利用性や可読性を高めるとともに、状態管理の整理にもつながります。

とはいえ、SwiftUIにおけるコンポーネント設計は簡単ではありません。Propsが増えることでかえって複雑になることもあれば、状態やデータフローの設計次第で再利用性が損なわれることもあります。

本記事では、これらのSwiftUI特有の設計課題を整理しつつ、実際の開発の中で見えてきたコンポーネント指向設計の工夫や考え方を紹介します。宣言的UIで複雑な画面を設計している方、構造的なView設計に悩んでいる方の参考になれば幸いです。

3
採択
パンフ記事(8ページ)

Japan-\(region).swiftで起こった地域勉強会ムーブメントの軌跡

fromkk かっくん

2024年7月、徳島で開催された神山.swiftをきっかけに、Chiba.swift、Kanagawa.swift、Osaka.swift、Minokamo.swift、Nagoya.swift...と、全国各地でSwiftの勉強会が広がりました。
この“地域xSwift”の流れは「Japan-\(region).swift」と名付けられ、コミュニティとして活発に動き出しています。

2025年7月には、全国を横断するWWDCまとめイベントやHakata.swiftの開催も予定されています(2025年6月現在)。

本記事では、ムーブメントを生み出したオーガナイザーたちのインタビューや、実際のイベントの写真とともに、この1年間の歩みと、各地で生まれだ“つながり”を振り返ります。

次にムーブメントを起こすのは、もしかしたらあなたかもしれません。全国各地でまた新しい”つながり”が生まれるのを楽しみにしています。

9
採択
パンフ記事(4ページ)

前回までのiOSDC Japan

hironytic ひろん

iOSDC Japan 通算10回目の開催おめでとうございます!
10進数では桁が一つ上がるこの節目に、本編前のあらすじ紹介のように、これまでのiOSDC Japanを振り返りたいと思います。

第1回のiOSDC Japan 2016がCoconeriホールで開催されてからこれまで、iOSDC Japanは「iOSエンジニアのお祭り」というだけあって、トークセッションのみにとどまらず、様々な企画が開催されました。その中には時代に合わせて姿を消したものもあれば、改善を重ねながら今もなお続いているものもあります。例えば「夜のiOSDC」や「iOSDC茶会」、当初は競技のようだった「iOSDCチャレンジ」などなど。

本記事では、そんな前回までのiOSDC Japanを、第1回から欠かさず参加してきた筆者の思い出を交えながら振り返ります。古くから参加されていた人には懐かしい思い出を蘇らせ、新しく参加される人には過去の魅力的な出来事を知る機会を提供します。

パンフレットは開催前に参加者の手元に届くので、楽しそうな誌面にして、開催当日に向けてのみなさんの気持ちを盛り上げます!

11
採択
2025/09/19 16:20〜
Track A
LT(5分)

iOSDJ2025 for the 10th anniversary

hcrane14 Hiromu Tsuruta

なんとiOSDC2025は最初の開催から今回で10回目!!
そんな記念すべき節目を祝うにふさわしい舞台...

そう、それはDJしかねえ!!アゲアゲ⤴︎⤴︎

でも、ただのDJじゃ物足りない...
エンジニアなら、機材だってコードで動かしたい!

そこでStream Deckを使っていくぜ!
なんとSwiftからコントロールすれば立派なエンジニア向けDJ機材に早変わり!

このステージでは、Stream Deck を使った華麗な DJ さばきで会場を沸かせます。
このセッションでは、Swift を使って Stream Deck を操作し、音を楽しみつつ実装を解説していきます。
 
俺のステージでみんなを沸かせるぜ!!
みんなでiOSDCをお祝いしましょう!!

17
採択
2025/09/19 16:45〜
Track B
レギュラートーク(20分)

半自動E2Eで手っ取り早くリグレッションテストを効率化しよう

beryu Ryuta Kibe

アプリの品質保証において、既存の機能が意図せず壊れていないかを確認するリグレッションテストは不可欠ですが、その多くが手作業で行われ、リリース前のiOSエンジニアにとって大きな負担となりがちです。
多くのチームがE2Eテストの「完全自動化」という理想を追い求めますが、サービス仕様上スムーズに認証を通す事が難しかったり、特定のUI要素の操作が困難だったりして、現実的な課題に直面し、導入を断念してしまうケースも少なくありません。

本トークでは、「完璧な自動化を目指さない」という発想の転換から生まれた「半自動E2Eテスト」のアプローチを紹介します。
既存の全手動運用をベースに、課題となる箇所を段階的に自動化していくことで、最小限のコストで最大限の効果を得る方法を実践例と共に解説します。
具体的には、SMS認証やカメラ操作、OS標準アラートといった自動化が困難なシナリオに対し、RubyのOCRライブラリ活用や座標指定、手動介入のタイミングを知らせる音声ガイドなどの工夫を通じて、どのように「手っ取り早く」運用可能な状態を構築したかをお話しします。

実際に導入から5ヶ月間、継続的に利用され、リグレッションテストの効率化に貢献している本システムの具体的な運用実績と、そこから得られた「壊れやすさを気にしすぎない」「最低限のメリットから始める」という、挑戦を後押しする考え方と安心感について共有します。
このセッションを通じて、リグレッションテストの負担軽減を模索している方、E2Eテスト導入の壁にぶつかっている方々が、新しいアプローチを見つけるきっかけとなれば幸いです。

6
採択
2025/09/19 17:20〜
Track B
レギュラートーク(20分)

手話ジェスチャーの検知と翻訳~ハンドトラッキングの可能性と限界~

u5_03 Sugiy

手話とは、表情や手の形・動きによって多様な単語や感情を伝える言語です。
私はもともと大学時代に障がい教育の研究をしており、その中で手話にも関心を持ち、「手話を知らない人が、手話に親しみを持つにはどうすればいいか?」と考えていました。

近年テクノロジーの進歩により、Apple プラットフォームでも多様な機能を備えたOSやデバイスが登場しています。今回はその中でもRealityKit によるハンドトラッキングとVisionProを活用して、自分自身の手で表現した手話の単語を検出・翻訳するツールの実装にチャレンジしました。
この発表では、以下のポイントについてデモを交えてお話しします。

  1. 手の関節にマーカーを表示する方法
  2. SpatialTrackingSession を用いたハンドトラッキングの基礎
  3. カスタムジェスチャーの検知手法

現時点のハンドトラッキングでは、手話特有の表現を正確に認識することが難しいケースもありますが、発表ではそのような制約についてもお話しします。

ハンドトラッキング技術に関心のある方はもちろん、手話という言語の多様性や表現力に少しでも興味を持っていただけるような発表を行います。

8
採択
2025/09/19 17:55〜
Track B
レギュラートーク(20分)

Swiftで作って学ぶGitの仕組み

DevKazu42 Kazu42

本文:
このセッションでは、Swiftを用いてGitを一から実装することで、バージョン管理システムの内部動作を深く理解することを目指します。Gitは多くの人にとって便利なツールですが、その内部構造や設計思想をしっかり理解している人は少ないかもしれません。他のバージョン管理システムと比較して、Gitがどのようにユニークであるか、どのような設計思想に基づいているかを学ぶことは、想定外の挙動に直面した際にも落ち着いて対処できる力を養います。

内容:

Gitの基本設計思想: オブジェクトストレージ、SHA-1ハッシュ、参照システムの基本的な仕組みを解説します。
コア機能の実装: init、add、commit、logといったコマンドをSwiftで構築し、実際の動作を確認します。
データ構造の理解: blob、tree、commitオブジェクトの構造と相互関係について学びます。
ファイルシステム操作: .gitディレクトリの管理やインデックスファイルの読み書き方法を探ります。
暗号化ハッシュ: SHA-1を用いたコンテンツアドレッシングの実装過程を解説します。
このセッションに参加することで、「なぜGitはSHA-1を使うのか」「コミットオブジェクトの中身とは何か」「ステージングエリアの実体とは」「2wayではなく3wayマージを使う理由は」といった疑問に答えられるようになります。また、ハッシュ関数やファイルシステム操作、データの永続化といった基礎的なコンピュータサイエンスの概念も深く理解していただけます。

5
採択
2025/09/19 17:55〜
Track C
レギュラートーク(20分)

AIを活用したレシート読み取り機能の開発から得られた実践知

_rockname 岩名勇輝

LLMの台頭は、これまで実現困難と見なされていた領域を一気に射程内へ引き寄せ、新たな価値創出の幅を大きく広げました。

その流れを受け、家計簿アプリを提供している弊社は昨年、LLMを活用したAIレシート読み取り機能をリリースしました。ユーザーがレシートを撮影すると、Vision frameworkが領域を検出してOCRを行い、抽出テキストをLLMで構造化することで金額・日付・店名を瞬時に取り出し、家計簿へ自動反映する体験を提供しています。

高精度を担保するために、カメラ映像からレシートを検出・追跡し、座標のブレが閾値以下になった瞬間に自動シャッターを切る仕組みを導入したり、得られたテキストは前処理してからLLMに入力することで推論の誤判定を低減しました。さらにInstrumentsでボトルネックを解析して処理レイテンシを最適化し、結果として他社アプリと比べても際立った読み取り精度を実現しています。

本トークでは、このようなレシート読み取り処理を構築する中で直面した課題と、それらを解決していく中で得られた実践的なノウハウを余すところなく共有します。
さらに発展的な内容として、WWDC25で発表されたRecognizeDocumentsRequestを活用したさらなる精度向上の展望と、Foundation Models frameworkによるオンデバイスで完結するレシート読み取りの可能性についてお話しします。

本トークが、ドキュメントOCRの更なる最適化やLLMをうまく活用した機能開発のための具体的なヒントとなりましたら幸いです。

9
採択
2025/09/19 17:55〜
Track D
レギュラートーク(20分)

【スマホの熱中症対策】 ThermalState API 実践活用ガイド

tsuboyan5 tsuboyan

「暑い日にスマートフォンを使っていて、アプリの動作が遅くなった…」そんな経験、ありませんか?
特に屋外で利用されるアプリにとって、端末の温度はユーザー体験を大きく左右する重要な要素です。スマートフォンが熱を持つと、アプリのパフォーマンスが著しく低下したり、一部の機能が制限されたりすることがあります。このような影響を把握しておくことは、快適なサービス提供のために非常に重要です。

本トークでは、Foundationフレームワークに含まれる ProcessInfo.ThermalState API に注目します。このAPIを使うことで、デバイスの熱状態を4段階で把握することが可能です。
今回は実際に屋外で使われるモビリティアプリにおいて、ThermalState が季節や時間帯、アプリの状態などによってどのように変化するのかなど、実測データとともに詳しくご紹介します。
さらに、熱状態に応じてアプリが取ることができる対策についても解説します。

スマートフォンを「熱中症」から守り、夏でもクールで快適なユーザー体験をお届けしましょう!

7
採択
2025/09/19 18:30〜
Track B
レギュラートーク(20分)

Embedded Swiftで解き明かすコンピューターの仕組み

ooba 大庭 慎一郎

私たちは普段Swiftのコードを通じて、画面に美しいUIを表示したり、スピーカーから音を鳴らしたり、ユーザーのタップを受け取ったり、ネットワーク越しにデータを送受信したりしています。

しかし、Swiftで書かれたプログラムが、どうやってiPhoneやMacで実行されるのか、考えたことはありますか?

コンピューターはどのような仕組みで動いているのでしょうか。コンピューターの頭脳とも言えるCPUからは、世界がどのように見えているのでしょうか。

Swiftのプログラムではなかなか見えてこないコンピューターの世界が、OSを介さずに動くEmbedded Swiftだと少し見えてきます。
 
このトークでは、Embedded Swiftを活用してプログラムが動く仕組みを解き明かしていきます。

プログラムがどうやってコンピューターで実行されるのか、メモリや入出力装置とどのようにコミュニケーションするのか、知識だけでなくコードとデモを交えて解説します。

普段のアプリ開発では見えない、低レイヤーの世界を一緒に覗いてみましょう!

8
採択
2025/09/19 18:30〜
Track C
レギュラートーク(20分)

金融サービスの成長を支える "本人確認フロー" の改善と取り巻く環境の変化

chickmuuu nakamuuu

比較的高額な決済機能を有する金融サービスでは、犯罪収益移転防止法に基づく本人確認の実施が義務付けられています。

私たちが提供する『AI家計簿アプリ ワンバンク』では、 "eKYC" と呼ばれるオンライン形式での本人確認フローを自前で構築し、サービスの成長を支えてきました。その運用の過程ではユーザー体験や堅牢性の向上、ガイドラインへのさらなる準拠などさまざまな改善を積み重ねてきました。

また、近年は不正利用も深刻化する中で従来の書類と顔写真の撮影を伴う本人確認方式は廃止の流れにあります。ICチップの読み取りによる信頼度の高い方式への移行が求められ、私たちのサービスでも対応を進めてきました。

このトークでは、私たちがこれまで本人確認フローに積み重ねた改善にフォーカスし、さまざまな観点での工夫やTipsを紹介していきます。そして、JPKI方式(公的個人認証サービスを利用したマイナンバーカードによる本人確認)への対応など、環境の変化へ追従するための直近の取り組みにも触れていきます。

【内容(予定)】

・自前で構築した本人確認フローの運用の中で積み重ねた改善
・本人確認フローの突破率を最大化するための試行錯誤
・撮影機能が依存するライブラリ(ML Kit -> Vision.framework)の安全な移行に向けた工夫
・従来の本人確認方式の廃止を伴う法令改正に備えたJPKI方式対応などの直近の取り組み

12
採択
2025/09/19 18:30〜
Track D
レギュラートーク(20分)

AccessorySetupKitで実現するシームレスなペアリング体験

n3k0w3n nekowen

Bluetooth の権限管理、スキャン、接続処理…。
Core Bluetooth を利用した Bluetooth デバイスとの接続フローの実装は、多くの開発者にとって悩みの種です。
ユーザーにとってもペアリングを完了させるまでに手順を踏む必要があり、決して快適な体験とは言えません。

誰もが一度は「AirPodsのように、もっと簡単にデバイスを接続できたら…」と考えたことがあるのではないでしょうか。

その理想を現実にするのが、iOS18 で登場した AccessorySetupKit です。
AccessorySetupKit を活用することで、これまで作り込んできた複雑な接続フローを OS標準のUIを使用してシームレスに提供できるようになります。

本セッションでは AccessorySetupKit で何が実現できるのか活用事例を紹介し、具体的な導入手順と実装にあたってつまづいた点まで実践的な知見を共有します。
本セッションを通じて、皆さんのアプリでペアリング体験を改善するきっかけやヒントを得ていただければ幸いです。

1
採択
2025/09/19 19:05〜
Track B
レギュラートーク(20分)

アセンブリで学ぶCPUアーキテクチャ

AkkeyLab akkey

2025年秋にリリース予定の「macOS Tahoe 26」が、Intel製CPUを搭載したMacへ提供される最後のOSであることをAppleが発表しました。CPUアーキテクチャの異なるApple Siliconへの移行という偉業を成し遂げたApple。その技術的背景を、いま一度振り返ってみる価値があるのではないでしょうか。

本トークでは、Appleが歩んできたCPUアーキテクチャの変遷を振り返りつつ、x86からArm(Apple Silicon)へと至る道のりを解説します。そして、実際にApple Silicon搭載Mac上で動作するアセンブリコード(計算と文字出力)を題材に、命令セット・システムコール・レジスタといった低レイヤの要素をやさしく紹介します。

アセンブリは一見アプリ開発に無縁に思えるかもしれませんが、実はクラッシュログ解析やパフォーマンス調整、Rosetta 2の仕組み理解など、日常の開発と意外なところでつながっています。iOSエンジニアが“いまこそ”学び直す意義のある低レイヤ世界を、一緒に覗いてみませんか?

4
採択
2025/09/19 19:05〜
Track C
レギュラートーク(20分)

空間再現力の鍵、APMPを読み解く

Ridwy なめき ちはる

空間ビデオや空間写真、Apple Immersive Video などの空間メディアの特徴の一つに「実物大」の再現があります。これによって視聴者はあたかも撮影場所にいるかのような臨場感を味わうことができます。「実物大」を再現するには撮影した映像そのものに加えて投影方法や撮影時のレンズの特性などのメタデータが必要になるのですが、WWDC25でこのメタデータの仕様や運用方針がアップデートされ、いよいよ情報のパーツが揃ってきました。

本トークでは Apple Projected Media Profile を詳しく読み解きつつ、AVPlayer がどのような描画を行っているのかを探っていきます。第一のゴールは撮影した映像にどんな値を設定すれば良い感じになるのか?が分かることですが、visionOS の AVPlayer の振る舞いを知ることは空間メディアを視聴できるデバイスを考える上でもヒントになるはずです。

皆さんは空間メディアについてこう思ったことはありませんか?

Vision Pro は持っていないけれど iPhone で撮った空間写真を楽しみたい
180°や360°の動画をライブ配信し、そのままの体験を大勢に届けたい
イマーシブな体験ができるハイクオリティな映像コンテンツを多くの人に見て欲しい

Vision Pro のクオリティは素晴らしいですが、もし手軽に空間メディアを視聴できるデバイスがあって、それが普及していたら、と思わずにはいられません。この探究はこうしたデバイスの作成を考える上での足がかりになれるのではと考えています。

2
採択
2025/09/19 19:05〜
Track D
レギュラートーク(20分)

AlarmKitで実現する新時代のシステム通知

tsuzuki817 續橋 涼

サードパーティアプリ開発者は長年、Appleの純正アラーム機能に制約を感じてきました。
Silent modeやFocus modeに阻まれ、重要な通知が届かないリスクは、開発者とユーザー双方にとって深刻な問題でした。

iOS 26のAlarmKitは、この技術的障壁をついに解放し、開発者にも革命的なアラーム機能の実装を可能にします。
従来のローカル通知の根本的問題は、デバイス設定への依存性でした。
AlarmKitを使用することで、重要な通知がどんな状況でもユーザーに確実に届くようになります。

AlarmKitの主な革新として以下の特徴が挙げられます。

1)あらゆるシステム設定を突破するアラーム実行により、Silent modeやFocus modeの影響を受けない確実な通知を実現
2)Live Activitiesと連携したDynamic Island統合により、ユーザーの目に留まりやすい視覚的なアラーム表示を提供
3)Apple Watchでの自動同期により、デバイスを問わない一貫したアラーム機能
4)App Intentsによるカスタムアクション実行により、アラーム後の独自ワークフローを組み込み可能

実装デモを行い、料理タイマーアプリを題材に段階的な構築過程をお見せします。
AlarmKitの登場により、開発者はユーザーにとってより信頼性の高いアラーム機能を提供できるようになります。

9
採択
2025/09/20 10:50〜
Track A
レギュラートーク(20分)

スマホで海難事故は防げるか?年間2000件以上の小型船舶の事故に挑むアプリ開発

atsuki_seo 瀬尾 敦生

AIS(自動船舶識別装置)の非搭載などを理由に、小型船舶の海難事故は毎年2000件以上も発生しています
この長年の課題を解決するため、我々は2015年からiPhoneを用いた事故防止アプリの開発に取り組んできました
本発表は本業iOSエンジニア、副業で弓削商船高専の教員である発表者が、過去数年間の開発で直面した技術的課題や法的な課題と、それらを現代のiOS技術やSwiftでいかに解決できるか説明するためのテーマです

本発表では最初に各開発フェーズでの実施内容と課題に関してお話します

  • Phase 1 (2015-2016):
    • プロトタイプをiOSアプリとWebViewで開発
    • 他船との接近判定時のパフォーマンス問題
    • 電波法59条の抵触に関する問題
  • Phase 2 (2017-):
    • フルネイティブアプリ対応、Apple Watch連携
    • 海上での電波利用状況の調査、操船中に通知へ確実に気づくためのUI/UXの設定と検証
    • 他船の位置情報提供・管理に関するプライバシー問題

次に本セッションでは、国土交通省から現在出ている安全航行支援アプリのガイドラインとUIのイメージ・注意点に関して説明します

  • 例)GPS誤差を考慮した船の接近警告の判定と表示方法
  • 例)通信不能時の判定と表示方法

最後にはパフォーマンス、UI/UXといった課題に対し、現在のiOSが提供する技術(SwiftUI、Swift Concurrency、Watch Complicationなど)を駆使してどのようにアプローチできるかを解説します
位置情報を利用した接近検知機能を持つアプリの実装方法と今まで発生してきた課題、当時の様々な実験結果を共有することで、船に限らずリアルタイムな位置情報処理に取り組む方々に知見を提供することを目指します

8