Mobilde Çoklu Görev: Asıl Sorun Ekran Değil, Durum Kaybı
Mobilde çoklu görev denince akla önce ekranın darlığı gelir. Oysa kullanıcı testlerinde asıl kaybın yaşandığı an, ikinci uygulamanın açıldığı an değil, birinciye geri dönüldüğü andır. Küçük ekran işi yavaşlatır; kaybolan durum işi baştan başlatır.
Geçiş sırasında sistem ne yapıyor
Kullanıcı uygulamadan çıktığında uygulama durmaz, arka plana alınır. Bellek sıkıştığında sistem arka plandaki süreçleri sırayla sonlandırır ve kullanıcı geri döndüğünde uygulama yeniden başlatılır. Ekranda aynı simgeye dokunulmuştur, ama açılan şey aynı oturum değildir.
Bu noktada iki farklı geri dönüş vardır ve arayüz tasarımı ikisini ayırt etmek zorundadır. Uygulama bellekte kaldıysa kullanıcı bıraktığı yerde bulur kendini. Süreç sonlandırıldıysa geri dönüş, temiz bir açılıştır: form alanları boş, kaydırma konumu başa alınmış, yarım kalan seçim silinmiştir. Kullanıcı bu ayrımı bilmez, tek gördüğü kendi girdiğinin durup durmadığıdır.
Bir e-ticaret projesinde uzun adres formunu doldururken gelen aramayı yanıtlayan kullanıcıların, dönüşte formu baştan doldurmak zorunda kaldığını oturum kayıtlarında gördüm.
Durumu korumak tasarım kararıdır
"Kaldığı yerden devam etsin" cümlesi bir arayüz vaadi gibi yazılır, ama karşılığı koddadır. Girilen değerin geçici olarak saklanması, geri dönüldüğünde okunması ve ekrana yerleştirilmesi gerekir; hiçbiri kendiliğinden olmaz.
Pratikte şu üç şeyi ayırmak yeterli:
- Kullanıcının yazdığı veri: her alan değişikliğinde yerel olarak saklanmalı, oturum bittiğinde temizlenmeli.
- Konum bilgisi: liste kaydırma noktası, açık sekme, seçili filtre. Bunlar küçük veridir, saklanmaması için sebep yok.
- Geçici arayüz durumu: açık bir menü ya da yarım kalan bir animasyon. Bunları geri yüklemeye çalışmak genelde zarar verir, sıfırdan başlaması daha doğru.
Formu üç satır kodla yerel depolamaya bağlarsın, üçüncü parti bir durum yönetimi kütüphanesine gerek kalmaz. Karmaşıklık, veriyi saklamakta değil, ne zaman temizleneceğine karar vermekte.
Bölünmüş ekran neyi çözer
İki uygulamayı yan yana gösteren mod, kopyalama ve karşılaştırma işlerinde gerçekten işe yarar. Ama telefonda her uygulamaya kalan alan, tasarımın hedeflediği genişliğin yarısıdır; kolonlar üst üste biner, sabit üst çubuk içeriğin yarısını yer, dokunma hedefleri birbirine yaklaşır.
Bu yüzden bölünmüş ekranı bir özellik gibi değil, bir dayanıklılık testi gibi ele almak gerekiyor. Arayüz dar alanda okunabilir kalıyorsa iyidir; kullanıcının bu modu ne sıklıkta açtığı ikinci sorudur. Tabletlerde durum farklı, orada iki uygulama gerçekten birlikte kullanılıyor ve tasarımın buna hazır olması beklenir.
Geçişi ucuzlatan arayüz
Kullanıcı uygulamalar arasında gidip gelmeyi bırakmayacak. Yapılabilecek şey, her gidiş dönüşün bedelini düşürmek.
Bilgiyi akılda tutturmayın. Bir doğrulama kodu, sipariş numarası veya adres kullanıcının başka bir uygulamadan taşıyacağı bir şeyse, kopyalanabilir olsun ve kopyalandığı görünsün. Uzun akışları bölün: sekiz alanlık tek bir form yerine üç adımlık bir akış, yarıda kesildiğinde daha az veri kaybeder. Geri dönüşte kullanıcıya nerede kaldığını gösterin; sessizce doğru ekranı açmak, çoğu zaman "hoş geldiniz" ekranından daha iyi karşılamadır.
Son olarak bunu test edin. Formu doldurun, uygulamadan çıkın, birkaç ağır uygulama açın, sonra geri dönün. Geliştirici ayarlarındaki arka plan süreç sınırını en aza çekmek bu senaryoyu birkaç saniyede üretir ve tasarımın vaat ettiği sürekliliğin gerçek olup olmadığını orada görürsünüz.