2 คะแนน โดย GN⁺ 2023-11-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

สรุป: บันทึกการพัฒนาแอปเรดาร์สำหรับเด็ก

  • ความรักในเครื่องบินของเด็ก: ลูกสาววัย 2 ขวบของผู้เขียนหลงใหลเครื่องบิน และสนุกกับการเล่นตามหาเครื่องบินบนท้องฟ้า

  • การมองเห็นปัญหา: แอป FlightRadar24 ที่มีอยู่ใช้งานไม่สะดวก และแผนที่แบบ 2 มิติก็ทำให้ระบุตำแหน่งเครื่องบินจริงได้ยาก

  • ไอเดียของแอป: วางแผนทำแอปที่แสดงเครื่องบินรอบตัวเหมือนเรดาร์ หมุนตามทิศทางของผู้ใช้ ขนาดเปลี่ยนตามความสูงของเครื่องบิน และต้องมีดีไซน์ที่เด็กใช้งานได้ง่าย

  • การพิสูจน์แนวคิด:

    • การคงทิศทาง: ใช้ iOS Core Location API เพื่อตรวจจับการเปลี่ยนแปลงทิศทางของผู้ใช้
    • API ข้อมูลการบิน: ใช้ REST API ของ OpenSky Network เพื่อรับข้อมูลการบินแบบเรียลไทม์
    • ข้อมูลตำแหน่ง: ใช้ Core Location เพื่อรับข้อมูลตำแหน่งของผู้ใช้
    • การคำนวณพิกัดสามเหลี่ยม: เปรียบเทียบข้อมูลตำแหน่งของเครื่องบินกับตำแหน่งของผู้ใช้ เพื่อแสดงเครื่องบินในตำแหน่งที่ถูกต้องบนหน้าจอ
  • การพัฒนา MVP:

    • ชื่อเรดาร์: ตัดสินใจตั้งชื่อแอปว่า 'Aviator'
    • คำอธิบายประกอบบนแผนที่: ใน iOS 17 สามารถเพิ่มคำอธิบายประกอบรูปเครื่องบินบนแผนที่ได้ง่าย
    • การปรับขนาดเครื่องบิน: ปรับขนาดเครื่องบินตามระดับความสูงก่อนแสดงบนหน้าจอ
  • การทดสอบผู้ใช้: ทดสอบโดยเปรียบเทียบเครื่องบินจริงกับเครื่องบินที่พบผ่านแอปร่วมกับลูกสาว

  • การสร้างเรดาร์:

    • ความเสถียรของ API: คำนึงถึงความไม่เสถียรของ OpenSky API และเพิ่มตรรกะ retry ไว้ฝั่งไคลเอนต์
    • การซ่อนแผนที่: ซ่อนแผนที่และแสดงเฉพาะคำอธิบายประกอบของเครื่องบิน เพื่อสร้างเอฟเฟกต์แบบเรดาร์
  • การเปิดตัวบน App Store: พัฒนาแอปและเตรียมปล่อยบน App Store โดยทำแอปให้สมบูรณ์ด้วย UI แบบเรดาร์ที่แสดงคำอธิบายประกอบรูปเครื่องบินและทิศทางของผู้ใช้

  • ความเห็นของ GN⁺: สิ่งสำคัญที่สุดของบทความนี้คือกระบวนการพัฒนาแอปอย่างสร้างสรรค์ที่เริ่มจากความสนใจของเด็ก และความน่าสนใจที่ความสนุกของการพัฒนาซอฟต์แวร์ผสานเข้ากับความรักของการเป็นพ่อแม่

1 ความคิดเห็น

 
GN⁺ 2023-11-28
ความคิดเห็นจาก Hacker News
  • รู้สึกว่าน่าสนใจที่ดีไซน์ของโปรเจ็กต์นี้ได้รับอิทธิพลอย่างมากจากจอแสดงผลเรดาร์แบบดั้งเดิม แม้ว่าเด็กคงไม่มีโอกาสได้เห็นจอ CRT หรือจอ ASR-9 PPI ของจริง แต่ก็ยังทุ่มเทอย่างมากเพื่อจำลองสิ่งนั้นขึ้นมา
  • ขอเสนอให้ทำกิจกรรมดี ๆ ร่วมกับลูกสาว โดยไปที่ปลายรันเวย์ของสนามบินนานาชาติใกล้บ้านเพื่อดูเครื่องบินลงจอด เด็กสามารถใช้ 'เรดาร์' เพื่อตรวจดูเครื่องบินที่กำลังมาได้ ซึ่งเป็นความสนุกอย่างมากสำหรับเด็ก ๆ
  • ไม่เห็นด้วยกับคำพูดที่ว่าไม่ควรพาเด็กเล็กไปเที่ยวต่างประเทศ เคยพาลูกไปเที่ยวบราซิลและได้สัมผัสประสบการณ์หลากหลาย ทั้งแท็กซี่ เรือโจรสลัด อัลไพน์สไลด์ และสวนพฤกษศาสตร์รีโอเดจาเนโร แม้เด็กอาจจำไม่ได้ แต่ประสบการณ์เหล่านั้นก็สำคัญ
  • อีกไม่กี่ปีคงต้องอธิบายให้ลูกฟังถึงความแตกต่างระหว่างข้อมูลเว็บที่อิง ADS-B กับเทคโนโลยีตรวจจับเรดาร์จริง เด็กน่าจะจำได้ว่าแอปไม่เหมือนของจริง
  • ถ้าอยู่กับเด็กน่ารักที่ชอบเครื่องบิน ลูกเรืออาจชวนให้เข้าไปชมในห้องนักบินได้ด้วย ชุดจัมป์สูทสีส้มของ NASA ก็เหมือน 'พาสปอร์ต' สำหรับการเข้าห้องนักบิน และลูกเรือมักตื่นเต้นยิ่งกว่าเด็กเสียอีก
  • การที่ฟีเจอร์เปลี่ยนสีหน้าจอเป็นสิ่งจำเป็นตั้งแต่รีลีสแรก แสดงให้เห็นว่าเข้าใจความต้องการของผู้ใช้เป้าหมายเป็นอย่างดี เด็กวัย 3 ขวบชอบของเล่นที่มีตัวเลือกสี
  • ในฐานะนักบิน มองว่าโปรเจ็กต์นี้น่าทึ่งมาก
  • การทำสมุดบันทึกการบินสำหรับลูกเป็นสิ่งที่อยู่ในรายการ 'ต้องทำสักวัน' ของตัวเอง ลูกเรือชอบอะไรแบบนี้ และเด็กก็มักดีใจทุกครั้งที่ได้สมุดบันทึกคืน
  • ชอบดีไซน์นี้ แต่ถ้าจะไปให้สุดอีกขั้น แทนที่จะใช้ API ก็ควรเก็บข้อมูลเองโดยใช้ SDR ที่จูนกับความถี่ ADB บน 1090 Mhz แล้วมันจะกลายเป็นเรดาร์ที่แท้จริง
  • มีการอ้างถึงบทความที่เกี่ยวข้องว่า "แอปสามารถเป็นเหมือนอาหารทำเองที่บ้านได้" พร้อมยกตัวอย่างกรณีที่มีคนโคลนแอปโซเชียลเน็ตเวิร์ก Tapstack ที่เลิกไปแล้วขึ้นมาใช้สำหรับครอบครัวตัวเองเท่านั้น