2 điểm bởi GN⁺ 2023-11-28 | 1 bình luận | Chia sẻ qua WhatsApp

Tóm tắt: Hành trình phát triển một ứng dụng radar cho trẻ nhỏ

  • Tình yêu máy bay của em bé: Con gái 2 tuổi của tác giả bị mê hoặc bởi máy bay và rất thích trò tìm máy bay trên bầu trời.

  • Nhận ra vấn đề: Ứng dụng FlightRadar24 hiện có khó dùng, và bản đồ 2D khiến việc xác định vị trí thực của máy bay trở nên khó khăn.

  • Ý tưởng ứng dụng: Hình dung một ứng dụng hiển thị các máy bay xung quanh như radar. Ứng dụng cần xoay theo hướng người dùng đang nhìn, thay đổi kích thước theo độ cao của máy bay và có thiết kế dễ dùng với trẻ nhỏ.

  • Bằng chứng khái niệm:

    • Giữ phương hướng: Dùng iOS Core Location API để phát hiện thay đổi hướng của người dùng.
    • API dữ liệu chuyến bay: Sử dụng REST API của OpenSky Network để lấy dữ liệu chuyến bay theo thời gian thực.
    • Dữ liệu vị trí: Lấy dữ liệu vị trí của người dùng bằng Core Location.
    • Tam giác định vị: So sánh dữ liệu vị trí của máy bay với vị trí người dùng để hiển thị máy bay đúng vị trí trên màn hình.
  • Phát triển MVP:

    • Tên radar: Chọn tên ứng dụng là 'Aviator'.
    • Chú thích bản đồ: Trên iOS 17, có thể dễ dàng thêm chú thích hình máy bay lên bản đồ.
    • Điều chỉnh kích thước máy bay: Điều chỉnh kích thước theo độ cao của máy bay để hiển thị trên màn hình.
  • Kiểm thử người dùng: Tiến hành thử nghiệm cùng con gái bằng cách đối chiếu máy bay thật với máy bay được tìm thấy qua ứng dụng.

  • Tạo radar:

    • Độ ổn định của API: Xét đến sự thiếu ổn định của OpenSky API, tác giả triển khai logic thử lại ở phía client.
    • Che bản đồ: Ẩn bản đồ và chỉ hiển thị chú thích máy bay để tạo hiệu ứng radar.
  • Phát hành trên App Store: Hoàn thiện ứng dụng với giao diện radar thể hiện chú thích hình máy bay và hướng của người dùng, rồi chuẩn bị phát hành lên App Store.

  • Ý kiến của GN⁺: Điều quan trọng nhất trong bài viết này là quá trình phát triển ứng dụng sáng tạo dựa trên sự hứng thú của một đứa trẻ, kết hợp giữa niềm vui làm phần mềm và tình yêu thương của một người cha mẹ.

1 bình luận

 
GN⁺ 2023-11-28
Ý kiến Hacker News
  • Thật thú vị khi thiết kế của dự án chịu ảnh hưởng mạnh từ màn hình radar nguyên bản. Đứa trẻ có lẽ sẽ không bao giờ được tiếp xúc với CRT thực hay màn hình PPI ASR-9, nhưng họ đã bỏ ra rất nhiều công sức để mô phỏng điều đó.
  • Đây là một hoạt động lành mạnh để làm cùng con gái: ra cuối đường băng của sân bay quốc tế gần nhất và quan sát máy bay hạ cánh. Đứa trẻ có thể dùng “radar” để kiểm tra các chuyến bay đang đến, và điều này mang lại rất nhiều niềm vui cho trẻ.
  • Tôi không đồng ý với quan điểm cho rằng không nên đi du lịch nước ngoài cùng trẻ nhỏ. Tôi đã cùng con đi Brazil và trải nghiệm rất nhiều thứ như taxi, tàu cướp biển, đường trượt alpine, vườn bách thảo Rio de Janeiro. Dù đứa trẻ có thể không nhớ, những trải nghiệm đó vẫn rất quan trọng.
  • Vài năm nữa sẽ phải giải thích cho đứa trẻ sự khác biệt giữa dữ liệu web dựa trên ADS-B và công nghệ phát hiện radar thực tế. Đứa trẻ rồi sẽ nhớ rằng ứng dụng khác với thực tế.
  • Nếu ở cùng một đứa trẻ dễ thương mê máy bay, tiếp viên đôi khi có thể mời em vào tham quan buồng lái. Bộ đồ bay màu cam của NASA giống như một “hộ chiếu” để vào buồng lái, và phi hành đoàn còn phấn khích hơn cả bọn trẻ.
  • Việc tính năng đổi màu màn hình là bắt buộc ngay từ bản phát hành đầu tiên cho thấy họ hiểu rất rõ nhu cầu của người dùng mục tiêu. Trẻ 3 tuổi rất thích đồ chơi có kèm bộ chọn màu.
  • Với tư cách là một phi công, tôi thấy dự án này thật tuyệt vời.
  • Làm một cuốn nhật ký bay cho trẻ là việc nằm trong danh sách “một ngày nào đó phải làm” của tôi. Phi hành đoàn rất thích những thứ như vậy, và đứa trẻ lúc nào cũng vui khi nhận lại cuốn sổ.
  • Tôi thích thiết kế này, nhưng nếu tiến thêm một bước nữa, không dùng API mà tự thu thập dữ liệu bằng SDR được chỉnh đến tần số ADB trên 1090 Mhz, thì nó sẽ trở thành một radar thực thụ.
  • Trích một bài viết liên quan với ý rằng “ứng dụng có thể là bữa cơm nhà nấu”, có người đã kể trường hợp sao chép Tapstack, một ứng dụng mạng xã hội đã biến mất chỉ dành cho gia đình.