2 puan yazan GN⁺ 2023-11-28 | 1 yorum | WhatsApp'ta paylaş

Özet: Çocuk için bir radar uygulaması geliştirme hikâyesi

  • Çocuğun uçak sevgisi: Yazarın 2 yaşındaki kızı uçaklara hayran ve gökyüzündeki uçakları bulma oyununa ilgi duyuyor.

  • Sorunun fark edilmesi: Mevcut FlightRadar24 uygulamasının kullanışlılığı düşük ve 2 boyutlu harita üzerinden gerçek uçakların konumunu anlamak zor.

  • Uygulama fikri: Yakındaki uçakları radar gibi gösteren bir uygulama tasarlama fikri. Uygulamanın kullanıcının yönüne göre dönmesi, uçakların irtifasına göre boyutlarının değişmesi ve çocuğun kolayca kullanabileceği bir tasarıma sahip olması gerekiyor.

  • Kavram kanıtı:

    • Yön takibi: iOS Core Location API kullanılarak kullanıcının yön değişimleri algılandı.
    • Uçuş verisi API'si: Gerçek zamanlı uçuş verilerini almak için OpenSky Network'ün REST API'si kullanıldı.
    • Konum verisi: Kullanıcının konum verileri Core Location ile alındı.
    • Triangülasyon: Uçağın konum verileriyle kullanıcının konumu karşılaştırılarak uçak ekranda doğru konuma yerleştirildi.
  • MVP geliştirme:

    • Radar adı: Uygulama adı olarak 'Aviator' seçildi.
    • Harita açıklamaları: iOS 17'de harita üzerine uçak şeklinde açıklamalar eklemek kolaylaştı.
    • Uçak boyutlandırma: Uçaklar ekranda, irtifalarına göre boyutlandırılarak gösterildi.
  • Kullanıcı testi: Kızıyla birlikte gerçek uçaklarla uygulamada bulunan uçakları karşılaştırarak test yaptı.

  • Radarın oluşturulması:

    • API kararlılığı: OpenSky API'nin kararsızlığı dikkate alınarak istemci tarafında yeniden deneme mantığı uygulandı.
    • Haritayı gizleme: Harita gizlenip yalnızca uçak açıklamaları gösterilerek radar etkisi oluşturuldu.
  • App Store çıkışı: Uygulama geliştirildi ve App Store'da yayıma hazırlanıldı. Uçak şeklindeki açıklamalar ve kullanıcının yönünü gösteren radar arayüzüyle uygulama tamamlandı.

  • GN⁺ görüşü: Bu yazıda en önemli nokta, çocuğun ilgisinden yola çıkan yaratıcı uygulama geliştirme süreci; yazılım geliştirmenin keyfiyle ebeveyn sevgisinin birleşmesi özellikle dikkat çekici.

1 yorum

 
GN⁺ 2023-11-28
Hacker News görüşleri
  • Projenin tasarımının özgün radar ekranlarından güçlü biçimde etkilenmiş olmasını ilginç buluyorum. Çocuk muhtemelen gerçek bir CRT ya da ASR-9 PPI ekranıyla hiç karşılaşmayacak olsa da, bunu simüle etmek için büyük emek verilmiş.
  • Kızınızla yapabileceğiniz sağlıklı bir etkinlik olarak, yakınınızdaki uluslararası havalimanında pist sonuna gidip uçakların inişini izlemeyi öneriyorum. Çocuk gelen uçakları "radar" ile kontrol edebilir ve bu çocuklar için büyük keyif veriyor.
  • Küçük çocuklarla yurt dışı seyahate çıkılmaması gerektiği fikrine katılmıyorum. Çocuğumla birlikte Brezilya'ya gittim; taksiye bindik, korsan gemisine çıktık, alpine slide'a bindik, Rio de Janeiro Botanik Bahçesi'ni gezdik ve daha pek çok şey yaptık. Hatırlamayacak olsa bile bu deneyimler önemli.
  • Birkaç yıl sonra çocuğa ADS-B tabanlı web verisi ile gerçek radar algılama teknolojisi arasındaki farkı açıklamanız gerekecek. Uygulamanın gerçeği yansıtmadığını hatırlayacaktır.
  • Uçakları seven sevimli bir çocukla birlikteyseniz, kabin ekibi sizi kokpite göz atmanız için davet edebilir. NASA turuncu tulumu, kokpite giriş için adeta bir "pasaport" gibidir ve ekip çocuklardan bile daha çok heyecanlanır.
  • İlk sürümde ekran rengini değiştirme özelliğinin zorunlu olması, hedef kullanıcının ihtiyaçlarının çok iyi anlaşıldığını gösteriyor. 3 yaşındaki çocuklar renk seçici bulunan oyuncakları sever.
  • Bir pilot olarak bu projeye hayran kaldım.
  • Bir çocuk için uçuş logbook'u hazırlamak, "bir gün yapılacaklar" listemde yer alıyor. Mürettebat bunu seviyor ve çocuk da logbook'u geri aldığında her zaman mutlu oluyor.
  • Tasarımı beğendim ama bir adım ileri gidip API kullanmak yerine 1090 Mhz'de ADB frekansına ayarlanmış bir SDR ile veriyi doğrudan toplarsa gerçekten radar olur.
  • "Uygulama ev yapımı bir yemek olabilir" diyen ilgili yazıdan alıntıyla, yalnızca aile için tasarlanmış ve sonra ortadan kaybolmuş sosyal ağ uygulaması Tapstack'in kopyalanması örneği veriliyor.