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

Jest Tabanlı Navigasyon ve Görünmez Kontrolün Bedeli

iPhone X Sonrası Jestler: Keşfedilebilirlik Sorunu

iPhone X'in Ev düğmesini kaldırması ekranı büyüttü, kontrolü görünmez yaptı. Jest tabanlı navigasyonun asıl maliyeti hızda ya da estetikte değil, keşfedilebilirlikte: bir düğmeyi görürsün, bir jesti ya biri sana gösterir ya kazara bulursun. Bu maliyet ödenebilir bir maliyet, ama ödendiğinin farkında olmak gerekiyor.

Kenar bütçesi diye bir şey var

Ekranın alt kenarı tek bir kaynak ve iPhone X onu ikiye böldü. Kısa yukarı kaydırma ana ekrana gidiyor, uzun kaydırma uygulama geçişini açıyor. Aynı kenara üçüncü bir işlev eklemek istediğinde elinde yön kalmıyor, uzunluk zaten harcanmış, geriye tek ayırt edici olarak süre kalıyor. Süre görünmez bir boyut; kullanıcı parmağını ne kadar beklettiğini bilmez, deneme yanılmayla bulur.

Pratik sonuç: bir kenara en fazla iki jest ata. Üçüncüsü gerçekten gerekiyorsa onu kenara değil, ekranda görünür bir hedefe bağla. Aksi halde kullanıcı yanlış işlevi tetiklemeye başlar ve bir süre sonra jesti bırakıp güvendiği uzun yolu seçer, yani jest hiç yokmuş gibi davranır.

Görünür bir yedek yol bırak

Alt kenardaki ince çizgi tek başına ne yapılacağını söylemiyor, sadece burada bir şey olduğunu söylüyor. Bu kadarı bile keşfi kolaylaştırıyor, çünkü kullanıcı denemeye doğru bölgeden başlıyor. Kendi arayüzünde jest tanımlıyorsan aynı mantığı kur: hareketin başlayacağı yeri işaretle, ama işlevi yalnızca oraya bağlama. Aynı işi yapan görünür bir düğme kalsın. Jesti keşfetmeyen kullanıcı ürünü kullanmaya devam eder, keşfeden hızlanır, ikisi de kaybetmez.

Web'de kenar jesti ayrı bir iş

İşletim sistemi jesti tasarlarken rakibin yok. Web'de var. iOS Safari'de sol kenardan sağa kaydırma tarayıcının geri hareketi, Android Chrome tarafında benzer davranış sistem seviyesinde çalışıyor. O kenarlara kendi jestini koyduğunda çakışma yaşarsın ve çakışmayı genelde tarayıcı kazanır.

Kod tarafında bu bir tercih değil, kısıt. touch-action ve overscroll-behavior ile ne kadar müdahale edebileceğin sınırlı, davranış da her platform sürümünde aynı kalmıyor. Bir arayüz kararının kodda karşılığı yoksa o karar toplantı notunda kalır. Kenar jestini şartnameye yazmadan önce hedef tarayıcılarda denenmesi gerekiyor, tahmin etmek yerine on dakika ayırıp bakmak yeterli.

Tutarlılık, cihaz çeşitliliğiyle birlikte bozuldu

iPhone X öncesinde iOS tarafında tek bir fiziksel model vardı; tasarımcı da geliştirici de ona göre düşünüyordu. Düğmeli ve düğmesiz cihazların bir arada bulunduğu dönemde aynı uygulamanın iki farklı navigasyon zihniyetiyle çalışması gerekti. O geçiş dönemi bitti sayılır ama bıraktığı sorun duruyor: alt kenara yapıştırılmış arayüz öğeleri, düğmesiz cihazlarda sistemin kendi jest alanıyla çakışıyor. Alt bardaki bir düğmeyi ekranın en dibine oturtursan, kullanıcı ona basmaya çalışırken ana ekrana çıkar.

Bunun çözümü tek satır: env(safe-area-inset-bottom) ile alt kenarda güvenli boşluk bırak. Üçüncü parti bir kütüphaneye gerek yok, ama bu boşluğu atlayan arayüz hâlâ çok.

Ne zaman jest, ne zaman düğme

Jest, sık tekrarlanan ve kullanıcının kısa sürede ezberleyeceği işlemler için doğru araç: ana ekrana dönmek, listede öğe silmek, açılan görseli kapatmak. Nadiren yapılan ya da geri alınması zor işlemler için yanlış araç, çünkü kullanıcı o hareketi hatırlayacak kadar tekrar etmiyor ve yanlışlıkla tetiklediğinde ne olduğunu anlamıyor. Kalıcı silmeyi onaysız bir jeste bağlamak bu yüzden kötü fikir; kazanılan yarım saniyenin karşılığı, geri getirilemeyen bir kayıt.