Saha senaryosu: kamera, GPS ve çevrimdışı gerçekleri
Saha ekibinin uygulama seçimi, “siteye girince ekran açılıyor mu”dan ibaret değil. Kamera çekimi, OCR/etiket okuma, konum kaydı ve teslimat fişi gibi işler genelde alan koşullarında çalışır: zayıf çekim, anlık kopma, cihaz yeniden başlatma. PWA tarafında Service Worker ile önbellekleme yapılır; ancak kamera verisini işleme ve çevrimdışı senaryoların sınırları tarayıcıya ve izinlere bağlıdır. Mobil uygulama ise platform API’lerine daha doğrudan erişir, offline veri kuyruğunu daha kontrollü yönetir. Karar vermeden önce saha akışlarınızı “kamera + konum + offline saklama + senkron” şeklinde yazın.
PWA ne zaman daha doğru? Kurulum ve güncelleme avantajı
PWA; Play Store/App Store yükleme sürecini azaltır, güncellemeyi tek URL üzerinden yaymayı kolaylaştırır. Saha ekibi için pratik karşılığı şudur: cihaz yeni olduğunda kullanıcı sadece tarayıcıdan erişir, oturum ve izinler verilir. Arayüz tutarlılığı da yüksektir; web ekibi hızlı değişiklik yayınlar. Ancak PWA’nın GPS ve arka plan konumlandırma davranışı, tarayıcının sunduğu izin modeline göre değişebilir. Çevrimdışı kullanımda “önbellek stratejisi” kritiktir: hangi ekran, hangi veri seti, hangi dosyalar offline kalacak? Uygulama mantığını “offline kayıt üret, senkronu geciktir” prensibiyle kurmazsanız, kopma anında iş kaybedebilirsiniz.
Mobil uygulama ne zaman daha doğru? Kamera ve offline kuyruğu
Mobil uygulama, saha görevlerini daha yüksek kontrolle yönetir. Kamera çekimi, fotoğrafın anında sıkıştırılması, dosya boyutunun sınırlandırılması ve offline kuyruğa alınması genellikle daha stabil ilerler. GPS tarafında arka plan konum gereksinimi varsa, native uygulama bu işi OS izinleri ve arka plan servisleriyle daha uyumlu yapar. Çevrimdışı senaryoda “yerel veritabanı + iş kuyruğu” mimarisi şarttır: görev formu, fotoğraf, ölçüm ve konum kayıtları yerel saklanır; bağlantı geldiğinde tek tek veya batch şekilde senkron yapılır. Saha cihazları sık form doldurur; uygulama bu hacmi tarayıcı tabanlı çözümlere göre daha düzgün ölçekleyebilir.
Karar matrisi: 10 soruda PWA mı native mı seçin
Aşağıdaki sorulara net “ev/hayır” deyin: 1) Kamera çekimleri çevrimdışıyken de zorunlu mu? 2) Çekim sonrası hemen metadata (tarih, konum, kullanıcı) zorunlu mu? 3) GPS loglamayı periyodik mi yapıyoruz, anlık mı? 4) Arka planda konum gerekiyor mu? 5) Ortalama fotoğraf sayısı ve dosya boyutu nedir? 6) Offline süresi kaç saat/gün olabilir? 7) Kullanıcılar yeni cihazda yükleme yapmadan erişmeli mi? 8) Ekip sayısı artışı hızlı mı ve güncelleme sık mı? 9) Kimlik doğrulama (OTP, SSO) saha koşullarında nasıl çalışacak? 10) Analitik ve hata kaydı için hangi veri toplanacak? En kritik eşik genelde 1-4 ve 6-7’dir. PWA; düşük yük + hızlı erişim + offline form kaydı ile iyi uyum sağlar. Kamera/konum ağırlığı ve arka plan gereksinimi artıyorsa native lehine döner.
Doğru mimari: offline-first tasarım için adım adım plan
Seçim ne olursa olsun mimariyi önce offline-first düşünün. Adım 1: İş birimlerini tanımlayın (Görev Formu, Fotoğraf, Konum Kaydı, Durum). Adım 2: Yerel saklama modelini kurun (ör. cihaz içinde IndexedDB/SQLite benzeri alan; PWA’da IndexedDB, native’de SQLite tercih edilebilir). Adım 3: Senkron kuyruğu tasarlayın: her kayıt için “durum: beklemede/başarılı/hatalı” alanı olsun. Adım 4: GPS verisini snapshot olarak bağlayın; “form gönderildi” anındaki konumu kaydedin. Adım 5: Fotoğraf işleme adımını planlayın: EXIF temizliği, boyut sınırı, yeniden deneme. Adım 6: Service Worker veya native download mekanizmasıyla gerekli ekranları ve şablonları önceden hazırlayın. Bu plan yoksa, saha kopmalarında veri bütünlüğü bozulur.
Ekran ve izin kontrol listesi: kurulum sürecinde görünmeyen riskler
Kurulumdan önce izin akışlarını test edin: kamera erişimi, konum izni (foreground/background), dosya/mart ek izinleri ve kapalı ağ senaryosu. PWA için “Uygulama ekle” davranışı, farklı tarayıcılarda aynı çalışmayabilir; kullanıcıya açık talimat verin: hangi ekrandan yükleme yapılacak, nasıl offline çalışacak. Mobil uygulama için ilk kurulum paketini ve güncelleme kanallarını netleştirin: MDM ile zorunlu güncelleme gerekebilir. Ayrıca kullanıcıya şu ekranları mutlaka ekleyin: “Offline modda kayıt alındı”, “Senkron bekleniyor”, “Başarısız kayıtları yeniden dene”. Saha ekibinin hatayı gördüğünde tek yapacağı aksiyon olmalı; belirsizlik operasyonu yavaşlatır.
Yanlış kurulumun bedeli: kopmada veri kaybı ve GPS sapması
En sık hata, “offline yok varsayımı”dır. Kullanıcı kamera çekip kaydettiğini düşünür ama veri sadece RAM’de kalır ve senkron başarısız olduğunda kaybolur. GPS tarafında da benzer risk vardır: konum isteği gecikir veya izin geri çevrilir; formda “null” değer gönderilir ve raporlama bozulur. Bir diğer hata, önbelleğe yanlış içerik almaktır: kritik şablonlar ve referans verileri cache’e girmeyince kullanıcı offlineyken boş ekran görür. Ayrıca fotoğraf boyutu kontrol edilmezse senkron sırasında zaman aşımı olur. Bunlar için senkron kuyruğu, yeniden deneme ve kullanıcıya durum bildirimi zorunludur.
Neptün Medya karar akışı: saha pilotu ve ölçümle netleştirme
Gerçek karar için küçük bir pilot kurun. Önce iki görev tipi seçin: kamera + form (ör. hasar fotoğrafı) ve konum + durum (ör. ziyaret kaydı). PWA adayında: Service Worker önbellek listesi, IndexedDB şema, senkron kuyruğu ve offline durum ekranlarını aynı sprintte bitirin. Native adayında: yerel veritabanı, fotoğraf sıkıştırma, konum izinleri ve senkron retry stratejisini uygulayın. Pilot sırasında ağ şartlarını taklit edin (uçak modu + yavaş 2G). Sonuçları şu metriklerle karşılaştırın: offline başarım oranı, senkron tamamlanma süresi, kullanıcı aksiyonu sayısı, hata türleri. Pilot sonunda “kamera çevrimdışı zorunlu mu” ve “arka plan GPS şart mı” sorularının cevabı zaten seçim yönünü netleştirir. Neptün Medya bu değerlendirmeyi ekran bazında ve veri bazında yürütür.
Uygulama sonrası kontrol listesi
- Mobil görünüm, form ve WhatsApp yönlendirmeleri test edilir.
- Title, description, canonical ve sitemap kayıtları kontrol edilir.
- Kırık link, hatalı görsel ve boş CTA alanı bırakılmaz.
- İçerikler gerçek hizmet kapsamıyla uyumlu kalır.