1 คะแนน โดย GN⁺ 2024-01-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • แอปเรดาร์ iOS ส่วนตัว Aviator 2.0 เป็นอัปเดตที่กลับมาใช้งานได้อีกครั้งหลังปัญหาขัดข้องของ OpenSky Network ที่ต่อเนื่องมาตั้งแต่ต้นเดือนธันวาคม และปรับแก้ความไม่สะดวกที่พบจากการใช้งานจริงในคราวเดียว
  • เมนูควบคุมใหม่ใช้โครงสร้าง การเปิดเผยแบบค่อยเป็นค่อยไป แยกการควบคุมหลักออกจากเครื่องมือขั้นสูง และใช้ SwiftUI modal detent กับการโต้ตอบกับพื้นหลัง เพื่อให้บังหน้าจอเรดาร์น้อยลง
  • ปัญหาที่จับเครื่องบินที่อยู่ไกลเกินไปถูกลดลงด้วย สวิตช์ซูมแบบไบนารี โดยทำผ่านการเปลี่ยน MapKit camera distance เป็น 70 กม. หรือ 100 กม.
  • ใช้ข้อมูล origin_country, ความสูง และ category จาก OpenSky Network API เพื่อเพิ่ม การแสดงธงชาติ, ตัวกรองความสูงต่ำสำหรับวันที่มีเมฆมาก และการแยกไอคอนสำหรับเฮลิคอปเตอร์ ดาวเทียม และขนาดเครื่องบิน
  • ผู้ใช้สามารถใช้ HTTP Basic authentication ด้วย ข้อมูลล็อกอิน OpenSky Network ได้ แต่ในเวอร์ชัน 2.0 รหัสผ่านจะถูกเก็บใน User Defaults จึงควรหลีกเลี่ยงการใช้รหัสผ่านสำคัญซ้ำ

เบื้องหลังการอัปเดต Aviator 2.0

  • Aviator — Radar on your Phone เป็นแอปเรดาร์ iOS ที่สร้างขึ้นเพื่อค้นหาเครื่องบินร่วมกับลูก
  • หลังจากบทความก่อนหน้า อาจคิดถึงรีลีสใหม่และโอกาสในการหารายได้ได้ แต่แอปกำลังแสดงข้อผิดพลาดให้ผู้ใช้ตั้งแต่ต้นเดือนธันวาคม เนื่องจากปัญหาของ OpenSky Network
  • เมื่อเปิดแอปอีกครั้ง ก็ได้ยินเสียงแจ้งเตือนการตรวจพบเครื่องบินแทนข้อผิดพลาด 502 ที่เห็นมาตลอด จึงยืนยันได้ว่าแอปกลับมาทำงานปกติ
  • จากนั้นใช้เวลาสองช่วงเย็นทำงานกับ Aviator 2.0 โดยนำไอเดียเดิมมาปรับใช้

UI ควบคุมใหม่ที่บังเรดาร์น้อยลง

  • ใน 2.0 ย้ายคอนโทรลไปไว้ในเมนูแยก โดยวางการควบคุมสำคัญไว้ด้านหน้า และวางเครื่องมือขั้นสูงที่ใช้น้อยกว่าไว้ด้านล่าง
  • โครงสร้างนี้ใช้ การเปิดเผยแบบค่อยเป็นค่อยไป (progressive disclosure)
  • เมนูนี้สร้างด้วย SwiftUI modal และมี presentationDetents สองแบบ
    • primary: 0.15 ของความสูงหน้าจอ
    • extended: 0.4 ของความสูงหน้าจอ
  • ใช้ตัวบ่งชี้การลากเพื่อแสดงว่าเมนูขยายได้ และใช้ presentationBackgroundInteraction(.enabled) เพื่อไม่ให้ UI เรดาร์หลักถูกเงาทับ
  • ใน presentationBackground ใช้ เอฟเฟกต์ emboss ของ Paul Hudson เพื่อเพิ่มพื้นผิวโลหะให้เหมือนแผงควบคุมเรดาร์จริง
  • ใน 2.1 มีแผนจะใช้ TipKit เพื่อให้ผู้ใช้ Apple วัยเด็กสังเกตเห็นโครงสร้างการเปิดเผยแบบค่อยเป็นค่อยไปได้

การปรับระดับซูมและระยะเรดาร์

  • ใน 1.0 เรดาร์ทำงานดีเกินไป จนจับเครื่องบินที่อยู่เลยเส้นขอบฟ้าหรืออยู่หลังภูมิประเทศซึ่งมองไม่เห็นได้ด้วย
  • ในสภาพแวดล้อมอย่างชานกรุงลอนดอนที่มีภูมิประเทศเป็นขั้น ๆ และเชื่อมต่อกันเหมือนเกาะ เรื่องนี้กลายเป็นความไม่สะดวกในการใช้งานจริง
  • ในพื้นที่เปิดโล่ง ยังสามารถมองเห็นเครื่องบินที่อยู่ไกลได้ จึงมองว่าเป็นแค่ปัญหาความไวได้ยาก
  • ทางแก้คือการใส่ ฟังก์ชันซูม
  • ใช้ camera ของ MapKit SDK โดยส่ง distance เป็นหน่วยเมตร เพื่อซูมเข้า-ออกบนพื้นผิวโลก
    • ถ้า zoomed เป็น true จะเป็น 70 * 1_000
    • ถ้าเป็น false จะเป็น 100 * 1_000
  • ระหว่างทำให้เสร็จเร็วเพื่อรีลีสช่วงสุดสัปดาห์ ได้ลบวงเรดาร์ออกหนึ่งวงเพื่อเน้น UI ที่ซูมเข้า
  • ตอนแรกตั้งใจใช้ Slider จัดการระดับซูม แต่แม้บนชิป A17 ก็ยังได้เฟรมเรตไม่เพียงพอ จึงใช้ สวิตช์ซูมแบบไบนารี ในปัจจุบัน

ฟีเจอร์ที่เพิ่มด้วยข้อมูลจาก OpenSky Network

  • การแสดงธงชาติ

    • OpenSky Network API รวบรวมข้อมูลหลากหลายจากทรานสปอนเดอร์ของเครื่องบิน แต่ใน 1.0 ยังไม่ได้ใช้ข้อมูลเหล่านี้อย่างเต็มที่
    • ใน 2.0 เพิ่มสวิตช์สำหรับแสดงประเทศต้นทางเป็น อีโมจิธงชาติ ใต้ไอคอนเครื่องบินแต่ละลำ
    • การใช้งานอิงจากค่า origin_country
    • รับสตริงข้อความประเทศต้นทางที่ API ให้มา
    • แปลงเป็นรหัสประเทศ 2 ตัวอักษรด้วยรายชื่อประเทศที่พบทางออนไลน์
    • แปลงรหัสประเทศเป็น Unicode scalar เพื่อประกอบเป็นอีโมจิธงชาติ
    • เมื่อผู้ใช้เปิดฟีเจอร์ จะแสดง flight.flag เป็นข้อความของ MapKit annotation
  • โหมดวันที่มีเมฆมาก

    • ในวันที่มีเมฆมากในสหราชอาณาจักร เครื่องบินจำนวนมากที่แสดงในแอปถูกเมฆบังจนมองไม่เห็นจริง
    • เพิ่มปุ่มซ่อนเครื่องบินที่บินสูง เพื่อให้สลับระหว่างโหมดท้องฟ้าแจ่มใสกับโหมดฝนตกได้
    • ใช้ข้อมูลความสูงที่ได้รับจาก OpenSky Network และใช้ 2.5 กม. เป็นค่าพื้นฐานของฐานเมฆต่ำ
    • ถ้า geo_altitude < 2500.0 ค่า isLowAltitude จะเป็น true
    • ถ้าเปิดการตั้งค่า cloudy จะแสดงเฉพาะเครื่องบินความสูงต่ำใน MapKit annotation

การปรับปรุงไอคอนเครื่องบิน

  • ระหว่างทดสอบในสวนสาธารณะ มีเฮลิคอปเตอร์บินผ่านเหนือศีรษะ แต่ Aviator แสดงเป็นไอคอนเครื่องบินทั่วไป
  • OpenSky Network API จะให้พร็อพเพอร์ตี category ที่ระบุประเภทของอากาศยานที่ทรานสปอนเดอร์สังกัดอยู่ หากเพิ่ม query parameter
  • หมวดหมู่นี้อาจมีรายการเช่น
    • อากาศยานเบาที่มีน้ำหนักต่ำกว่า 15,500 ปอนด์
    • อากาศยานหนักที่มีน้ำหนักมากกว่า 300,000 ปอนด์
    • อากาศยานปีกหมุน เช่น เฮลิคอปเตอร์
    • ยานพาหนะอวกาศ/ผ่านชั้นบรรยากาศ
    • ร่มชูชีพหรือสกายไดเวอร์
  • อัปเดตล่าสุดแยก ระดับขนาดของอากาศยาน และแสดงดาวเทียมกับเฮลิคอปเตอร์ด้วยไอคอนแยกต่างหาก
  • ใน enum AircraftCategory แยกค่ารูปภาพ อีโมจิ และสเกลออกจากกัน
    • rotorcraft ใช้ SFSymbol xmark.circle.fill
    • spaceTransatmospheric ใช้อีโมจิ 🛰️
    • small, large, heavy ใช้สเกล 0.6, 1, 1.5 ตามลำดับ
  • อีโมจิเฮลิคอปเตอร์เมื่อแปลงเป็นระนาบสีเดียวแล้วดูโค้งมนเกินไป จึงเลือก SFSymbol รูปกากบาทในวงกลมที่เป็นนามธรรมกว่า
  • เพื่อจัดการอีโมจิเหมือนรูปภาพ จะสเกล Text แล้วใช้เป็นมาสก์ของ Rectangle จากนั้นใส่สีและเอฟเฟกต์หน้าจอ CRT

การล็อกอิน OpenSky Network ของผู้ใช้

  • เพิ่มฟีเจอร์ให้ผู้ใช้ป้อน ข้อมูลรับรอง OpenSky Network ของตนเองได้
  • ฟีเจอร์นี้เป็นหนึ่งในฟีเจอร์ที่มีคนขอมากที่สุดรองจากเวอร์ชัน Android และมีเป้าหมายเพื่อหลีกเลี่ยง rate limiting ของการใช้งาน API แบบไม่ยืนยันตัวตน
  • สามารถป้อนบัญชีได้ในเมนูควบคุมแบบเต็ม และมีลิงก์ไปยังหน้าลงทะเบียนให้ด้วย
  • สร้างด้วย TextField และ SecureField ของ SwiftUI
    • @AppStorage("username")
    • @AppStorage("password")
  • ใน 2.0 ระหว่างเร่งนำขึ้นโปรดักชัน รหัสผ่านถูกเก็บไว้ใน User Defaults
  • รีลีสถัดไปมีแผนจะเก็บใน Keychain และในตอนนี้ไม่ควรใช้รหัสผ่านสำคัญซ้ำ
  • ชื่อผู้ใช้และรหัสผ่านที่ป้อนจะถูกเข้ารหัสเป็น Base64 แล้วแนบเป็นการยืนยันตัวตนแบบ Basic ในเฮดเดอร์ Authorization ของคำขอ API

สรุป

  • Aviator 2.0 เป็นอัปเดตที่ปรับปรุงแอปให้เล่นกับลูกได้ต่อไป
  • ขอไอเดียฟีเจอร์หรือทิป ASO ในคอมเมนต์ และขอให้ดาวน์โหลดพร้อมรีวิว Aviator — Radar on your Phone 2.0

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

 
GN⁺ 2024-01-23
ความคิดเห็นจาก Hacker News
  • นี่เป็นภาคต่อของโพสต์ที่ค่อนข้างได้รับความนิยมเมื่อสองเดือนก่อน
    0: https://news.ycombinator.com/item?id=38435908 My toddler loves planes, so I built her a radar (1304 points, 56 days ago)

  • พอเห็นแอปนี้ก็ทำให้นึกถึงปัญหาที่เคยเจอสมัยเขียนโปรแกรม DVD ขึ้นมาได้ ปัญหาคือ ปุ่มสลับ ทำให้ไม่ชัดเจนว่าโหมดไหนกำลังเปิดใช้อยู่
    ไอคอนธงหรือเมฆกำลังบอกโหมดปัจจุบันอยู่ หรือเป็นปุ่มที่ต้องกดเพื่อเปลี่ยนไปโหมดนั้นกันแน่ มันชวนสับสน แม้แต่ตัวสลับสภาพอากาศก็ยังทำให้รู้สึกกลับกัน ว่าต้องกดเมฆเพื่อดูโหมดครึ้มหรือกดเพื่อเปลี่ยนกลับไปหน้าจอฟ้าใส
    ในโปรเจกต์ที่กำลังทำอยู่ตอนนี้ ปุ่ม +/- ใช้ปรับขนาดช่วงเวลา โดยที่เวลาเริ่มต้น ปุ่ม + จะลดค่าหน่วยวินาที และปุ่ม - จะเพิ่มค่า แต่ที่เวลาสิ้นสุดกลับตรงกันข้าม เมื่อมองจากมุมของขนาดหน้าต่าง ทั้งสองแบบก็ถือว่าทำงานตามคาด ดังนั้นสุดท้ายต้องทำให้ มุมมองของผู้ใช้ ชัดเจน

    • นี่แหละคือสิ่งที่เกลียดที่สุดใน UX สมัยใหม่ โดยเฉพาะในแอปทีวี ถ้ามีเมนูสองรายการแล้วอันหนึ่งเป็นตัวหนาสีขาว อีกอันเป็นตัวหนาสีดำ ก็ไม่รู้เลยว่าตอนนี้กำลังจะกดอะไร
      ปุ่มสลับคำบรรยายของ YouTube ก็เหมือนกัน มันสลับไปมาระหว่างพื้นดำตัวอักษรขาวกับพื้นขาวตัวอักษรดำ สุดท้ายต้องกดดูก่อน แล้วถ้าปากขยับแต่ไม่มีซับ ก็ต้องลองอีกโหมดของไอคอน
      พอโลกย้ายมาใช้หน้าจอสัมผัสกันหมด ก็เหมือนสามัญสำนึกเรื่อง การตอบสนองของตำแหน่งอินพุตที่มีสถานะ หายไป
    • เป็นข้อสังเกตที่ถูกต้อง แทนที่จะโฟกัสกับการทำ UX ให้ดี ผมน่าจะไปหมกมุ่นกับการทำให้มัน ดูเหมือนแผงควบคุม มากไปหน่อย
      แล้วมันก็สับสนจริง ๆ ด้วย ตอนแก้บั๊กนาทีสุดท้ายก่อนปล่อย ผมดันใส่ไอคอนเมฆกลับด้านจากตัวอื่นทั้งหมด
  • ถ้าตอนเรดาร์กวาดผ่านเครื่องบินแล้วมีการ กระพริบแสดงผล จากนั้นตำแหน่งคงที่ไว้และค่อย ๆ จางหายจนกว่าจะถึงรอบกวาดถัดไป น่าจะเท่มาก
    อีกอย่าง ถ้าดูความสูงและตำแหน่ง GPS ปัจจุบันของอุปกรณ์ แล้วใช้ข้อมูลอาคาร เนินเขา และความสูงบริเวณรอบ ๆ จาก OpenStreetMap เพื่อคำนวณเส้นขอบฟ้าที่มองเห็นได้ตามแต่ละมุมทิศ ก็น่าจะดีมาก แบบนั้นจะสามารถแสดงบนแผนที่เป็นเหมือน การบดบังของเรดาร์ ได้ ให้อารมณ์เหมือนโซนาร์ตรวจปลาเวลามีท่อนไม้ขวาง หรือเรดาร์เรือที่มีเรือลำอื่นบังอยู่
    ถ้าทำแบบนั้นได้ คนในวงการคงเกาหัวกันว่ามือถือสแกนแบบรัศมีได้ยังไง
    [1] https://www.researchgate.net/figure/Occlusion-percentage-for...

    • ไอเดียพวกนี้ดีทั้งหมดเลย ตอนนี้แอปนี้น่าจะใกล้เคียงกับเวอร์ชันแบบ Pareto ของของจริงที่สมบูรณ์ 100% มากกว่า
  • ผมเคยเขียนความเห็นนี้ไว้ในบล็อก และในฐานะพ่อแม่ของเด็กเล็กก็เห็นด้วยว่าการเลือกสีนั้นสำคัญที่สุด
    เพราะนี่เป็นไซด์โปรเจกต์ที่สนุก เลยมีไอเดียฟีเจอร์บางอย่างที่อาจยังไม่ได้ทำ อย่างแรกคือ มุมมองสด ที่ใช้กล้องมือถือกับความสามารถ AR ของ iPhone เพื่อแสดงจุดในตำแหน่งคร่าว ๆ ที่เครื่องบินอยู่ ผมเคยลองเขียนโค้ดคำนวณจากตำแหน่งผู้ใช้กับข้อมูล ADS-B ไว้นิดหน่อย
    อย่างที่สองคือให้ทำเครื่องหมายว่าเห็นเครื่องบินแล้วหรือพลาดไปแล้ว และอาจเอาฟีดแบ็กนั้นไปใช้ปรับสิ่งที่แสดงผลได้
    อย่างที่สามคือแบดจ์กับสถิติ ถ้าลูกสาวของคุณคล้ายลูกผม เธอน่าจะชอบการได้แบดจ์ในแอป สามารถเก็บประวัติการสังเกตย้อนหลังไว้ในฐานข้อมูลภายในเครื่อง เพื่อให้ติดตามอย่างเช่น “จำนวนสายการบินที่เคยเห็น”, “จำนวนรุ่นเครื่องบินที่เคยเห็น”, “เวลาบินที่ไกลที่สุด”, “เวลาบินที่สั้นที่สุด” ได้ แต่ก็เข้าใจดีถึงปัญหาที่ตามมากับการทำแอปสำหรับเด็กให้เป็นเกม

    • อาจฟังดูหัวโบราณไปหน่อย แต่ผมพยายามย้ำกับลูกเสมอว่าอยากให้เขาเป็น ผู้สร้างเทคโนโลยี ไม่ใช่แค่ผู้บริโภคเทคโนโลยี
      ผมพูดบ่อยว่าทำไมถึงไม่ควรเอาเงิน 30 ดอลลาร์ไปซื้อสกุลเงินดิจิทัลอย่าง Robux มันไม่เหมือนแร็กเก็ตเทนนิสหรือรองเท้าที่มีคุณค่าในโลกจริง
      เพราะแบบนั้นผมเลยต่อต้านการทำให้เป็นเกม และอยากมอบเครื่องมือให้เขาเพื่อไม่ให้ถูกดูดเวลาไปกับการทำอะไรซ้ำ ๆ เป็นชั่วโมงเพียงเพื่อได้แบดจ์หรือของดิจิทัลไร้ค่า
      ถ้าเป็นแอปสำหรับเด็ก ผมคิดว่าไม่ควรใส่ฟีเจอร์แบบนั้นเลย มันควรเป็นแอปที่ไม่มีโฆษณา ไม่มีการทำให้เป็นเกม แต่เพิ่มคุณค่าจริงให้ชีวิต และแสดงให้เห็นว่าแอปแบบนั้นมีอยู่จริง
    • ขอบคุณมากสำหรับไอเดียเหล่านี้ ผมสงสัยว่าจะหายืม Vision Pro มาใช้ทำข้อ 1 ได้ไหม
  • มีใครใน HN อยากลองทำโปรเจกต์โอเพนซอร์สแบบคราวด์ซอร์สเพื่อ พอร์ตลง Android ไหม?
    เรื่องไลเซนส์ผมก็เดาเอา แต่คนที่สร้าง GitHub repository แรกอาจใส่คำพูดของผู้เขียนนี้ไว้ได้ว่า “ผมกำลังรอ Android engineer ที่มีความมุ่งมั่นพอร์ตมันด้วยตัวเองอยู่ ผมใส่รายละเอียดไว้ในบทความมากพอแล้ว จะทำก็ได้ตราบใดที่ปล่อยให้ทุกคนใช้ฟรีเท่านั้น”

    • ขอบคุณสำหรับข้อเสนอแบบนี้ ผมไม่เคยทำแอปมือถือมาก่อน แต่ก็อยากลองเรียนรู้ดู
      ถึงจะไม่ได้มีส่วนช่วยกับแอปเรดาร์นี้จนกลายเป็นแอป Android คุณภาพสูง แต่ก็น่าจะคุ้มที่จะใช้เวลาไปกับการพอร์ตอะไรบางอย่างที่เข้ากับแนวคิด “An app can be a home-cooked meal”[0] เพราะมันน่าจะมีวิสัยทัศน์และกระบวนทัศน์ที่เป็นหนึ่งเดียว ไม่มีความเทอะทะ ไม่มีโฆษณา ไม่มีการติดตาม และจึงน่าจะทำความเข้าใจโค้ดได้ง่ายกว่า
      ข้อเสนอนี้อาจพาให้ผมกลับไปพบความสนุกของการเขียนโปรแกรมอีกครั้งก็ได้
      0: https://news.ycombinator.com/item?id=38877423
    • ผมคงไม่มีแรงพอสำหรับดูแลระยะยาว แต่พอจะช่วยลงแรงได้บ้าง อีเมลอยู่ในโปรไฟล์
  • พูดนอกเรื่องนิดหน่อย แต่ในฐานะคนที่มีเซนส์เรื่องทิศทางไม่ค่อยดี ฟีเจอร์ที่สำคัญที่สุดในมือถือสำหรับฉันคือ ลูกศรเล็ก ๆ บนแผนที่บอกได้แม่นแค่ไหนว่าฉันกำลังหันไปทางไหน
    ฉันใช้ Android แล้วเวลามันไม่มั่นใจ มันจะแสดง กรวยความไม่แน่นอน สีฟ้า และบางทีก็บอกให้ขยับมือถือเป็นรูปเลข 8 หรือชี้ไปที่อาคารรอบ ๆ เพื่อคาลิเบรต
    ในทางเทคนิค ข้อจำกัดตรงนี้คืออะไร? iPhone ดีกว่า Android ไหม? ปัญหาอยู่ที่ฮาร์ดแวร์, accelerometer, เข็มทิศ, สัญญาณ GPS หรือซอฟต์แวร์กันแน่? ฉันยังสับสนอยู่ค่อนข้างบ่อย และมันก็แสดงกรวยไปผิดทิศผิดทางอยู่เรื่อย ๆ ถ้า iPhone ดีกว่าอย่างชัดเจน เรื่องนี้สำคัญพอที่ฉันจะย้ายค่ายเลย

    • ดีใจที่มีคนพูดเรื่องนี้ ฉันก็สังเกตเหมือนกันในโพสต์ต้นฉบับ
      ตอนแรกคิดว่าน่าจะเป็นข้อจำกัดฝั่ง GPS แต่ direction delegate ของ CoreLocation อย่างน้อยบนอุปกรณ์ของฉันก็คืนค่าทิศทางได้สมบูรณ์แบบที่เฟรมเรต 120Hz
      อาจเป็นไปได้ว่า Google Maps แค่ไม่ค่อยดี
    • จากมุมคนที่ใช้ทั้งสองอย่างบ่อยพอ ๆ กัน Android ดูเหมือนจะปล่อยค่าดิบจากเซ็นเซอร์ผ่านออกมาตรง ๆ มากกว่า ส่วน iOS เหมือนจะใส่ ดีเลย์แบบ debounce และการคาดประมาณบางอย่างเข้าไป
      ทั้งคู่พลาดเรื่องค่าทิศทางบ่อยพอ ๆ กัน เพียงแต่สิ่งนี้เป็นการคาดเดาจากประสบการณ์ใช้งาน ไม่ใช่ข้อเท็จจริงที่ยืนยันได้
    • ผลิตภัณฑ์ของ Apple และแอนิเมชันโดยทั่วไปมักใส่การทำให้เรียบและ hysteresis มากกว่า ดูเหมือนจะซ่อนความไม่แม่นยำจากผู้ใช้เพื่อไม่ให้ลูกศรสั่นหนักเกินไป ขณะที่ UI ของ Android ดูจะเผยอาร์ติแฟกต์จากการผสาน GPS/IMU ที่มีสัญญาณรบกวนและความไม่แม่นยำโดยเนื้อแท้ของ magnetometer ออกมาตรงกว่า
      ใน iOS สมัยก่อน ลูกศรที่หน่วงช้า น่ารำคาญพอสมควร แต่ตอนนี้พอฮาร์ดแวร์เร็วขึ้น ลูกศรที่กระโดดไปมา บนแพลตฟอร์มอื่นกลับเด่นชัดกว่า
      สรุปคือ ฮาร์ดแวร์รุ่นใหม่ส่วนใหญ่มีความสามารถใกล้เคียงกันในการระบุตำแหน่งของตัวเองในอวกาศและเวลาได้ค่อนข้างแม่นยำ แต่ความเก่งในการทำ dead reckoning และการประเมินท่าทางจากข้อมูลปัจจุบัน รวมถึงวิธีจัดการการกรองสัญญาณรบกวนให้ตรงกับความคาดหวังของผู้ใช้เวลาถืออยู่ในมือ แตกต่างกันไปตามซอฟต์แวร์นำทางแต่ละตัว
  • ฉันติดเฮฟวีเมทัลเพราะเกม Tony Hawk ทั้งหลาย Motörhead “Ace of Spades” ใน THPS3 กับ Iron Maiden “Number of the Beast” ใน THPS4 คือจุดเริ่มต้น ดังนั้นอาจมี เส้นทางเศษขนมปังจากเกมแพลตฟอร์มไปสู่เฮฟวีเมทัล อยู่ก็ได้

  • ทำได้ดีในแง่ที่ทำให้ผู้ใช้ที่สำคัญที่สุดมีความสุขอย่างชัดเจน

  • เจ๋งมาก แถมยังทำให้อยากตั้ง !remindme ไว้เพื่อกลับมาดูอีก 18 ปีว่าลูกสาวสอบผ่าน การสอบควบคุมการจราจรทางอากาศ หรือยัง

    • ตอนนี้เธออายุ 2 ขวบ และใบอนุญาตนักบินนักเรียนสอบได้ตั้งแต่อายุ 16 เพราะงั้นควรตั้งเตือนไว้ อีก 14 ปี
    • ถ้าลูกสาวกลายเป็นนักบิน จะได้บินฟรีไหม? อาจกำลังพลาดโอกาสเนียน ๆ ในการชี้นำไปทาง STEM อยู่ก็ได้
  • สงสัยว่าในโลกหลัง 9/11 เด็ก ๆ ยังถูกชวนเข้าไปดู ห้องนักบิน ได้อยู่ไหม

    • พ่อของฉันเป็นนักบิน และเรามักจัดทริปครอบครัวตามตารางบินของพ่อ ตอนเป็นเด็กเล็ก ไม่มีอะไรที่ทำให้ภูมิใจเท่ากับตอนที่ถูกชวนเข้าไปในห้องนักบินหลัง pushback แล้วได้ “สตาร์ตเครื่องยนต์”
      จำได้ลาง ๆ ว่ากดปุ่ม แล้วพ่อก็ชี้ให้ดูมาตรวัดที่ขยับ ความรู้สึกตอนเดินกลับไปที่นั่งเหมือนตัวเองเป็นเด็กที่ยิ่งใหญ่ที่สุดในโลกยังจำได้ชัด
      หลัง 9/11 เรื่องแบบนั้นคงเกิดขึ้นได้ยากแน่นอน
    • ฉันเคยเห็นทิปบนอินเทอร์เน็ตว่า ถ้าเด็กอยากดูห้องนักบิน อย่าไปถามก่อนเครื่องขึ้น ตอนนั้นนักบินมีเช็กลิสต์และการเตรียมตัวต้องทำเยอะ
      กลับกัน ถ้าถามหลังลงจอดว่าเด็กขอดูห้องนักบินได้ไหม โอกาสสำเร็จจะสูงกว่ามาก
    • ลูก ๆ ของเราก็เคยเข้าไปดูห้องนักบินหลัง 9/11 นะ แต่ต้องเป็น ก่อนเครื่องขึ้น
      ระหว่างบิน แม้แต่ลูกเรือก็แทบไม่ได้เข้าไป และบางครั้งมีแค่หัวหน้าพนักงานต้อนรับที่เข้าได้ เด็ก ๆ จะถามตอนขึ้นเครื่องถ้าประตูห้องนักบินยังเปิดอยู่
    • วันที่ 1 มกราคม 2024 ลูกวัยหกขวบของฉันถูกชวนเข้าห้องนักบินเป็นครั้งแรก จนถึงตอนนั้นฉันก็สงสัยเรื่องเดียวกันนี่แหละ
      เป็นเที่ยวบินภายในประเทศของ JetBlue ในสหรัฐฯ
    • ฉันเคยเห็นเรื่องแบบนี้เกิดขึ้นตอนยืนอยู่ที่เกต นักบินมักเปิดประตูไว้ ก็เลยเดินเข้าไปคุยได้ อย่างแย่ที่สุดก็แค่ถูกปฏิเสธ เพราะงั้นก็น่าลองถาม
      ตอนเด็ก ๆ ฉันยังมีเข็มรูปปีกของ Delta ที่ได้มาตอนเดินทางและได้ดูห้องนักบินระหว่างบินอยู่ที่ไหนสักแห่ง มันเป็นประสบการณ์ที่ยอดเยี่ยมและยังจำได้จนทุกวันนี้ และหวังว่าเด็กคนอื่น ๆ จะได้สัมผัสอย่างน้อยสักส่วนหนึ่งของมัน