← Blog · Tasarım
Çevrimdışı çalışan uygulama tasarlamanın faydaları
Geliştirdiğim oyunların ve araçların büyük kısmı internet bağlantısı olmadan çalışır. Bu bilinçli bir tasarım kararı. "Her şey buluta bağlı olsun" çağında neden tersi yönde ilerlediğimi ve bunun kullanıcıya neler kazandırdığını anlatmak istiyorum.
1. Gizlilik en baştan gelir
Bir uygulama veriyi sunucuya göndermiyorsa, o veri sızdırılamaz. Çevrimdışı tasarımın en güçlü yanı bu. Notlarınız, tasbih sayacınız, harcama kayıtlarınız ya da oyun skorlarınız cihazınızda kalır. Kullanıcıya "verinizi topluyoruz ama merak etmeyin, koruyoruz" demek yerine, "veriniz zaten bizde değil" diyebilmek çok daha güçlü bir gizlilik vaadidir.
2. Anında açılır, anında çalışır
Çevrimdışı bir uygulama, ağ isteği beklemez. Açtığınız an kullanıma hazırdır. Yükleniyor çarkı, "bağlantı hatası" ekranı veya yavaş ağda donan arayüzler yoktur. Özellikle sık açılıp kapatılan küçük araçlarda (bir not almak, hızlı bir sayım yapmak) bu hız farkı kullanıcı deneyimini doğrudan belirler.
En iyi yükleme ekranı, hiç görünmeyen yükleme ekranıdır.
3. Her yerde güvenilir
Uçakta, metroda, asansörde, sinyalin zayıf olduğu bir kırsalda ya da yurt dışında veri paketi olmadan... Çevrimdışı uygulama bu durumların hepsinde aynı şekilde çalışır. Kullanıcı uygulamanıza güvenir çünkü onu hayal kırıklığına uğratmaz. Bir oyunun tam heyecanlı anında "bağlantı koptu" yazısıyla karşılaşmak kadar can sıkıcı az şey vardır.
4. Pil ve veri dostu
Sürekli ağ isteği yapan uygulamalar hem pili hem de mobil veriyi tüketir. Çevrimdışı çalışan bir uygulama, telefonun radyosunu boş yere meşgul etmez. Bu, kullanıcının farkında olmadan takdir ettiği bir incelik: telefonun şarjı daha uzun dayanır, veri paketi boşa gitmez.
5. Daha basit, daha sağlam kod
Geliştirici tarafında da büyük bir avantaj var. Sunucu olmadığında; kimlik doğrulama, senkronizasyon, çevrimdışı/çevrimiçi durum yönetimi ve sunucu maliyeti gibi koca bir karmaşık katman ortadan kalkar. Bu, daha az hata, daha hızlı geliştirme ve sürdürmesi daha kolay bir uygulama demektir. Tek başına çalışan bir geliştirici için bu sadeleşme paha biçilemez.
Peki her şey çevrimdışı mı olmalı?
Hayır. Bazı uygulamaların doğası gereği internete ihtiyacı var: namaz vakitlerini konuma göre hesaplamak, döviz kurunu almak, haberleri getirmek ya da arkadaşınızla görüntülü konuşmak gibi. Bu durumlarda da bir denge kuruyorum: mümkün olan veriyi cihazda önbelleğe alıyorum ki bağlantı kesildiğinde uygulama tamamen kullanılmaz hale gelmesin. Yani soru "çevrimdışı mı, çevrimiçi mi" değil; "bu özellik gerçekten internet gerektiriyor mu?" sorusu.
Sonuç
Çevrimdışı tasarım, kullanıcıya saygının somut bir göstergesi: hızını, gizliliğini, pilini ve verisini düşünmek. Bir özelliği eklemeden önce kendime hep şunu soruyorum: "Bunun gerçekten sunucuya ihtiyacı var mı?" Cevap çoğu zaman hayır oluyor ve uygulama bu sayede daha iyi bir hale geliyor.
Çevrimdışı çalışan oyun ve araçlarımı ana sayfadan inceleyebilir; teknoloji tercihlerimi Flutter yazımda okuyabilirsiniz.