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

Kullanıcının Zamanını Harcamayan Arayüz İçin Beş Kural

Arayüzde Zaman Kaybı Nerede Başlıyor?

Bir arayüzün kullanıcıya maliyeti çoğu zaman tıklama sayısıyla değil, bekleme süresiyle ölçülür. Yavaş açılan sayfa, gereksiz doğrulama adımı, ikinci kez istenen aynı bilgi: hepsi kullanıcının kendi zamanından ödediği bir bedel. Bu bedelin büyük kısmı beş yerde toplanır ve beşi de teknik olarak çözülebilir.

Sayfa neden yavaş açılır?

Tarayıcı bir adresi açtığında önce HTML'i indirir, sonra o HTML'in içinde gördüğü stil dosyalarını sırayla bekler. CSS gelene kadar ekrana hiçbir şey çizilmez, çünkü tarayıcı yazının hangi boyutta olacağını bilmeden çizerse sayfa gözünüzün önünde zıplar. Yani ilk görüntüye kadar geçen süre, indirdiğiniz toplam veriden çok, kaç dosyanın birbirini beklediğiyle ilgilidir.

Bunun pratik karşılığı sade: ilk ekranda görünmeyen görselleri loading="lazy" ile ertele, görsellere width ve height ver ki yer tutsunlar, sayfanın altına koyabileceğin script'i başa koyma. Üç dosyayı birleştirmek, bir dosyayı sıkıştırmaktan çoğu zaman daha çok kazandırır.

Doğrulamanın faturasını kullanıcıya kesmeyin

Görsel bulmaca, botu değil insanı yorar. Bot zaten bulmacayı bir servise çözdürüp geçer; formu doldurmaya çalışan kullanıcı ise bisikletleri seçerken vazgeçer.

Spam'e karşı ilk savunma olarak iki basit yöntem çoğu siteye yeter. Birincisi, forma gözle görünmeyen boş bir alan koymak: gerçek kullanıcı onu doldurmaz, otomatik script her alanı doldurduğu için ele verir. İkincisi, IP ya da oturum başına istek sınırı. Görsel bulmaca ancak bu ikisi düzenli olarak delindiğinde masaya gelmeli, açılış hamlesi olarak değil.

Tarih, saat ve para birimi kullanıcıya göre

03/04/2024 yazan bir alan, kullanıcının nerede yaşadığına göre iki farklı gün demektir. Bu belirsizlik forma girilen veriyi de bozar, sonradan bakan insanı da yanıltır.

Çözüm, kullanıcıya biçim öğretmek değil. Ay adını açık yaz, takvim seçici sun, saatleri veritabanında UTC olarak sakla ve ekrana basarken kullanıcının saat dilimine çevir. Aynı mantık para birimi ve ondalık ayracı için de geçerli; veri tek biçimde durur, gösterim değişir.

Şifre kuralları güvenliği artırmayabilir

Şifre alanına "en az bir büyük harf, bir rakam, bir özel karakter" kuralını koymam. Sebebi ideolojik değil: bu kural insanları tahmin edilebilir davranışa itiyor. Büyük harf isteyince baş harf büyür, rakam isteyince sona 1 gelir, özel karakter isteyince arkasına ünlem eklenir. Ortaya çıkan şifre kurala uyar, saldırganın deneme listesinde de ilk sıralarda yer alır.

NIST'in kimlik doğrulama rehberi tam da bu yüzden karakter kompozisyonu zorunluluğunu önermeyi bıraktı. Yerine önerdiği şey daha az sürtünmeli: uzunluğa izin ver (12 karakter alt sınır, üst sınırı 64'e kadar aç), yapıştırmayı engelleme çünkü engellenince parola yöneticisi çalışmaz, ve girilen şifreyi bilinen sızıntı listelerine karşı kontrol et. Kullanıcıdan istediğin tek şey uzunluk olur, kalanını sistem halleder.

Aynı bilgiyi ikinci kez sormayın

Kullanıcı adresini bir kez girmişse, ikinci siparişte aynı formu boş göstermek onun zamanını değil, sizin dikkatinizi ölçer. Kayıtlı veriyi getirin, düzenlenebilir bırakın, doğrulamayı arka planda yapın.

Tarayıcının kendi otomatik doldurmasını da kapatmayın. Alanlara autocomplete="email", autocomplete="street-address" gibi doğru değerleri verirseniz kullanıcı üç alanı tek dokunuşla doldurur. Bu, geliştirici tarafında birkaç satırlık iş; kullanıcı tarafında formun yarısı demek.

Kaynaklar