2 ポイント 投稿者 GN⁺ 2023-11-28 | 1件のコメント | WhatsAppで共有

要約: 子どものためのレーダーアプリ開発記

  • 子どもの飛行機愛: 著者の2歳の娘は飛行機に夢中で、空の飛行機を見つける遊びに強い興味を示していた。

  • 問題の認識: 既存のFlightRadar24アプリは使い勝手がよくなく、2次元地図では実際の飛行機の位置を把握しにくかった。

  • アプリのアイデア: 周囲の飛行機をレーダーのように表示するアプリを構想。ユーザーの向きに合わせて回転し、飛行機の高度に応じて大きさが変わり、子どもでも使いやすいデザインが必要だった。

  • 概念実証:

    • 方位の維持: iOS Core Location APIを使って、ユーザーの向きの変化を検知。
    • 飛行データAPI: OpenSky NetworkのREST APIを活用してリアルタイムの飛行データを取得。
    • 位置データ: Core Locationでユーザーの位置データを取得。
    • 三角測量: 飛行機の位置データとユーザーの位置を比較し、画面上の正確な位置に飛行機を表示。
  • MVP開発:

    • レーダー名: アプリ名をAviatorに決定。
    • 地図注釈: iOS 17では地図上に飛行機型の注釈を簡単に追加可能。
    • 飛行機サイズの調整: 飛行機の高度に応じて大きさを調整して画面に表示。
  • ユーザーテスト: 娘と一緒に、実際の飛行機とアプリで見つけた飛行機を比較しながらテストを実施。

  • レーダーの作成:

    • APIの安定性: OpenSky APIの不安定さを考慮し、クライアント側でリトライロジックを実装。
    • 地図の非表示: 地図を隠し、飛行機の注釈だけを表示してレーダー効果を実現。
  • App Store公開: アプリを開発し、App Storeでの公開準備を進行。飛行機型の注釈とユーザーの向きを示すレーダーUIでアプリを完成させた。

  • GN⁺の見解: この記事で最も重要なのは、子どもの興味を出発点にした創造的なアプリ開発の過程であり、ソフトウェア開発の楽しさと親としての愛情が結びついている点が興味深い。

1件のコメント

 
GN⁺ 2023-11-28
Hacker Newsのコメント
  • このプロジェクトのデザインが、もともとのレーダーディスプレイから強い影響を受けているのが興味深い。子どもが実際のCRTやASR-9 PPIディスプレイに触れることはないだろうが、それをシミュレートするために多くの努力が払われている。
  • 娘と一緒にする健全な活動として、近くの国際空港の滑走路の端に行って、飛行機が着陸する様子を観察することを勧める。子どもは「レーダー」を使って到着する飛行機を確認でき、それは子どもたちにとって大きな楽しみになる。
  • 幼い子どもと海外旅行に行くべきではないという意見には同意しない。子どもと一緒にブラジル旅行に行き、タクシー、海賊船、アルパインスライド、リオデジャネイロ植物園など、さまざまな体験をした。子どもが覚えていないとしても、その経験は重要だ。
  • 数年後には、子どもにADS-BベースのWebデータと実際のレーダー探知技術の違いを説明しなければならないだろう。子どもはアプリが現実とは違うものだと覚えているはずだ。
  • 飛行機好きのかわいい子どもと一緒にいると、乗務員がコックピットを見学できるよう招待してくれることもある。NASAのオレンジ色のジャンプスーツは、コックピット入場の「パスポート」のようなもので、乗務員たちは子どもたち以上に興奮する。
  • 初期リリースでディスプレイの色変更機能が必須だったというのは、対象ユーザーの要求をよく理解していることを示している。3歳の子どもはカラーピッカー付きのおもちゃが大好きだ。
  • パイロットとして、このプロジェクトには驚かされた。
  • 子どものためのフライトログブックを作ることが、「いつかやること」リストに入っている。乗務員たちはこういうものが好きで、子どもはログブックを返してもらうといつも喜ぶ。
  • このデザインは気に入っているが、もう一歩進めて、APIを使わずに1090 MHzでADS-B周波数に合わせたSDRを使って自分でデータを収集すれば、本物のレーダーになるだろう。
  • 「アプリは家庭料理になりうる」という関連記事を引用し、家族のためだけに消えたソーシャルネットワークアプリTapstackを複製した事例を紹介している。