Konu Başlıkları
Yükleniyor...

Çalışma Belleği ve Dış Bellek: Arayüz Neyi Hatırlamalı

Dış Bellek Olarak Arayüz: Çalışma Belleği Sınırları ve Tasarım

Çok adımlı bir formun üçüncü ekranında kullanıcı, birinci ekranda ne yazdığını hatırlamak zorunda kalıyorsa tasarım işini yapmıyor demektir. Çalışma belleği o kadar geniş değil, üstelik tasarım tartışmalarında varsayıldığından belirgin biçimde dar. Arayüzün işi bu darlığı kapatmak; sınamak değil.

7±2 yanlış yerden alıntılanıyor

George Miller'ın 1956 tarihli yazısından gelen yedi artı eksi iki rakamı, menü uzunluğu ve form alanı sayısı tartışmalarına bir çeşit üst sınır olarak yerleşti. Oysa Miller bağlantısız öğelerin sırayla geri çağrılmasını ölçüyordu, eşzamanlı işleme kapasitesini değil. Nelson Cowan'ın 2001'de yaptığı derleme, aktif olarak tutulup üzerinde işlem yapılabilen parça sayısını dörde yakın bir yere çekti.

Baddeley ve Hitch'in çalışma belleği modeli de aynı yöne bakıyor: depolama ile işleme aynı bütçeden harcanır. Kullanıcı bir bilgiyi akılda tutarken aynı anda onunla karşılaştırma yapıyorsa iki iş birbirini yer. Yani yedi maddelik bir liste, maddeler yalnızca okunacaksa sorun değil; ama kullanıcı maddeleri birbirine karşı tartacaksa yedi çoktan fazladır. Doğru soru kaç öğe sığdığı değil, o öğelerle ne yapılacağı.

Yükü kullanıcıya geri devreden kalıplar

Bilişsel yük soyut bir şikâyet gibi duruyor, ama arayüzde çok somut yerlerden giriyor. Hepsi de aynı şeyi yapıyor: ekranda durabilecek bir bilgiyi kullanıcının kafasına yüklüyor.

  • Ödeme adımında daha önce girilen adresi göstermemek.
  • Onay ekranını tek satır başlıkla geçip ne onaylandığını yazmamak.
  • Birden fazla filtre uygulandıktan sonra hangilerinin aktif olduğunu listelemeden sadece sonuçları tazelemek.
  • Doğrulama hatasını formun tepesinde toplayıp hangi alana ait olduğunu söylememek.

Son maddeyi ayrıca bir uygulama sorunu olarak da görmek gerekiyor. Hata mesajını alanın yanına basmak için sunucudan dönen hatanın alan adını taşıması lazım; bunu taşımayan bir doğrulama katmanı kurulduysa, arayüz tarafında yapılacak hiçbir iyileştirme mesajı doğru yere koyamaz. Bilişsel yük kararı burada tasarımdan önce veri yapısında veriliyor.

Dış bellek sayılan her şey dış bellek değil

Dış bellek, kullanıcının bir bilgiyi kendi kafası yerine ekranda, kâğıtta ya da başka bir araçta tutması. Karşılaştırma tabloları bunun en net örneği: beş ürünün dört özelliğini yan yana koyduğunuzda kullanıcı hiçbirini hatırlamak zorunda kalmaz, bakar. Sepet de benzer işi görür, ama oturum süresi kısa tutulduğunda veya misafir kullanıcının sepeti saklanmadığında dış bellek olmaktan çıkar ve kullanıcıyı başa döndürür.

Çoklu sekme ise listelere alışkanlıkla giriyor, karşılığı yok. On iki sekme açık bir tarayıcıda sekme şeridi sadece favicon gösterir; kullanıcı hangi sekmede hangi ürün olduğunu hatırlamak ya da tek tek gezip bulmak zorundadır. Dış belleğin tüm amacı hatırlamayı tanımaya çevirmekti, sekme yığını bunu tersine çeviriyor. Aynı şey kullanıcıya verilen ekran görüntüsü alma tavsiyesi için de geçerli: işe yarar, fakat kullanıcı ekran görüntüsü alıyorsa arayüz o bilgiyi geri getiremediğini kabul etmiş oluyor. Tavsiye edilecek bir alışkanlık değil, kapatılacak bir açık.

Pratikte ne yapılır

Önce tekrar girişi bitirin. Kullanıcının bir kez yazdığı veri, aynı akış içinde ikinci kez sorulmamalı; sorulacaksa dolu gelmeli. Çok adımlı formlarda ara durumu genelde sessionStorage'da tutarım, her adımda sunucuya yazmak yerine: hem gidiş dönüş azalıyor hem de yarım kalan kayıtlar veritabanında birikmiyor.

Sonra özeti geri verin. Uzun bir akışın son adımında toplanan bilginin tamamı, düzenleme bağlantılarıyla birlikte ekranda olsun. Adım göstergesi tek başına bunu karşılamaz, çünkü nerede olduğunuzu söyler, ne girdiğinizi söylemez.

Karşılaştırmayı da kullanıcıya bırakmayın. İki plan arasındaki farkı metin içinde anlatmak yerine yan yana koymak, aynı bilgiyi hafızadan ekrana taşır. Fark sayısı arttıkça metin anlatımı hızla kullanılamaz hale gelir, tablo ise aynı kalır.