İçeriğe geç
Tüm projeler
Akıllı TVAçık kaynak

Smart TV Coğrafi Konum Uyumlu Hava Durumu Paneli

Android TV için geliştirilmiş native bir Flutter uygulaması. Donanım kumandaları için özel olarak tasarlanmış uzamsal bir D-Pad navigasyon matrisi kullanır ve lokalize meteorolojik verileri anında sunmak için IP tabanlı otomatik coğrafi çözümlemeden (geo-resolution) yararlanır.

Teknoloji yığını

Diller
Çatılar & kütüphaneler

Performans & metrikler

  • Hızlı D-Pad navigasyonu sırasında widget yeniden oluşturmalarını (rebuilds) en aza indirerek elde edilen sıfır gecikmeli odak geçişleri
  • Katı zaman aşımı kısıtlamaları sayesinde, zayıf veya çevrimdışı ağ bağlantılarında sonsuz açılış ekranı (splash-screen) donmalarını engeller
  • Farklı 1080p ve 4K televizyon panelleri arasında tutarlı ve piksel kusursuz ölçeklendirme garanti eden FittedBox ve Flex kısıtlamalarıyla optimize edilmiş layout render işlemi

Neden geliştirdim?

Smart TV'lerdeki standart hava durumu uygulamaları genellikle D-Pad navigasyonunu düzgün kullanamayan hantal mobil portlardır ve ekran klavyesi ile can sıkıcı manuel şehir aramaları gerektirir. Kullanıcı zorluğunu (friction) tamamen ortadan kaldırmak için bu native uygulamayı geliştirdim. Açılış (splash) aşamasında agresif bir IP tabanlı coğrafi konumlandırma dizisi uygulayarak, uygulama kullanıcının bulunduğu Türkiye bölgesini ve şehrini anında çözer. Bu sayede TV, kurulum ekranlarını atlar ve tek bir kumanda tıklamasına bile gerek kalmadan ilgili hava durumu verilerini anında gösterir.

Mimari & kararlar

Flutter ile inşa edilmiş ve TV ekranları için kesin olarak yatay (landscape) oryantasyona kilitlenmiştir. Mimari, donanım D-Pad'leri için uzamsal odak yönetiminin (spatial focus management) InkWell.onFocusChange ve örtük (implicit) FocusNode ağaçları üzerinden açıkça ele alındığı, duruma dayalı (state-driven) bir arayüze dayanır. Ağ hatları (http) asenkron olarak gönderilir ve ham OpenWeatherMap JSON verilerini doğrudan arayüz durumlarına ayrıştırır. Önyükleme (boot) sekansı, IP çözümlemesi için geo.json adresine katı bir 4 saniyelik zaman aşımı (timeout) sınırına sahip HTTP isteği içerir; bu sayede ağ kesilirse arayüz kilitlenmez, sistem güvenli bir şekilde varsayılan duruma (Marmara/İstanbul) geri döner.

Temel özellikler

  1. 01IP'den Bölgeye otomatik coğrafi çözümleme ile sıfır tıklamalı (zero-click) başlangıç deneyimi
  2. 02Android TV kumandaları için optimize edilmiş uzamsal D-Pad navigasyon matrisi
  3. 03OpenWeatherMap 5 günlük tahmin API'si ile asenkron entegrasyon
  4. 04Katı asenkron zaman aşımı sınırlarıyla korunan, güvenli ağ geri dönüş (fallback) mekanizmaları
  5. 05Donanım odak durumlarına (focus states) doğrudan bağlı, donanım hızlandırmalı UI animasyonları (AnimatedContainer, FadePageRoute)

Teknik değerlendirme

Bu proje, oturma odası için akıcı, dokunmatik olmayan arayüzlerin (non-touch interfaces) nasıl oluşturulacağını kusursuz bir şekilde göstermektedir. Android TV ile etkileşim kurmak, mobil dokunmatik algılarını (paradigms) terk etmeyi gerektirir; bu nedenle tüm arayüz dokunma (tap) olayları yerine odak (focus) durumları etrafında inşa edilmiştir. Bu özelleşmiş donanım navigasyonunu, anında API destekli coğrafi çözümleme ile birleştiren uygulama, büyük ekranlarda anında veri tüketimi için kesin olarak uyarlanmış, kurumsal düzeyde ve sıfır konfigürasyonlu bir kullanıcı deneyimi sunar.