Fitts Yasası: Arayüzde Boyut ve Mesafenin Gerçek Karşılığı
Bir butonu iki katına çıkardığınızda tıklama süresinden ne kazanırsınız? Fitts Yasası bu soruya 1954'ten beri sayısal bir cevap veriyor ve cevap sezgiye pek uymuyor: kazanç her katlamada aynı kalırken, ödediğiniz piksel maliyeti her seferinde ikiye katlanıyor. Yasanın pratikteki değeri de burada duruyor, "butonları büyütün" tavsiyesinde değil.
Formül ne diyor
Paul Fitts 1954'te ölçtüğü şey basitti: bir hedefe uzanma süresi, hedefin genişliği ve ona olan mesafe tarafından belirleniyordu. Modern haliyle:
T = a + b × log2(2D / W)
D mesafe, W hedefin hareket yönündeki genişliği. a ve b ise giriş aracına ve kullanıcıya göre değişen sabitler. Logaritmanın içindeki orana zorluk indeksi deniyor ve birimi bit. Bu ayrıntı teknik bir süs gibi görünür, oysa bütün pratik sonuçlar oradan çıkıyor.
Hedefi büyütmenin bir durma noktası var
400 piksel uzaktaki 24 piksellik bir hedefin zorluk indeksi log2(800/24), yani yaklaşık 5,06 bit. Hedefi 48 piksele çıkarın, 4,06 bit. 96 piksele çıkarın, 3,06 bit. Her ikiye katlama tam olarak 1 bit indiriyor; b katsayısını ne alırsanız alın kazanç her adımda aynı.
Maliyet aynı ritimde ilerlemiyor. 24'ten 48'e çıkarken 24 piksel harcadınız, 48'den 96'ya çıkarken 48 piksel, sonraki adımda 96. Sabit kazanç, katlanan yer işgali. Birkaç adımdan sonra büyütmeye devam etmenin bedeli, ekrandan çıkardığınız diğer içerikle ödeniyor ve o hesap Fitts'in formülünde hiç görünmüyor.
Aynı aritmetik mesafe için de geçerli: mesafeyi yarıya indirmek de tam 1 bit kazandırıyor. İki kaldıraç eşit güçte, ama biri düzeni bozmadan uygulanabiliyor. Tıklama alanını büyütmeyi genelde görünen kutuyu şişirerek değil, bağlantıya padding vererek çözerim; görsel ritim yerinde kalır, hedef yine büyür.
Kenar avantajı imlece ait, ekrana değil
Ekran kenarları klasik örnektir: imleç kenarda durduğu için hedefin etkin genişliği pratikte sonsuza gidiyor, fareyi o yöne fırlatıp bırakmak yetiyor. macOS'un menü çubuğunun en üste yapışması, Windows'ta Başlat düğmesinin köşede oturması bu yüzden.
Peki imleç yoksa? Dokunmatik ekranda parmağı durduran bir kenar yok; cam bitiyor ve dokunuş boşluğa gidiyor. Sonsuz genişlik avantajı ortadan kalkıyor. Üstelik tek elle tutulan bir telefonda üst köşeler başparmağın en zor ulaştığı bölge, yani masaüstünde en ucuz olan nokta mobilde en pahalısına dönüşüyor. Kenar kuralını cihazdan bağımsız bir tasarım ilkesi diye aktaran metinler, farkında olmadan fare için yazılmış bir kuralı taşıyor.
Mesafe her zaman piksel değil
Bir aksiyonu açılır menünün içine gizlediğinizde formüldeki D'yi büyütmüş olmuyorsunuz, hareketi ikiye bölüyorsunuz. Önce menüyü açmak için bir Fitts hareketi, sonra öğeye ulaşmak için bir tane daha. Araya da formülde karşılığı olmayan bir şey giriyor: kullanıcının aradığı şeyin hangi menüde olduğunu hatırlaması gerekiyor.
Dairesel menülerin cazibesi buradan geliyor. Tüm seçenekler açılış noktasından eşit ve kısa mesafede duruyor, sıralı bir listede aşağıdaki maddeyi bekleyen mesafe cezası ortadan kalkıyor. Buna karşılık öğe sayısı arttıkça dilimler daralıyor, yani W küçülüyor ve her seçenek kendi Fitts problemine dönüşüyor. Dairesel menü mesafe sorununu çözerken boyut sorununu satın alıyor.
Ölçmek
Fitts Yasası bir tasarımı doğrulamak için değil, iki tasarım arasında tahmin yürütmek için işe yarıyor. İki yerleşim arasında kararsızsanız ikisinin de zorluk indeksini hesaplayın; aradaki fark yarım bitin altında kalıyorsa o tartışmayı kapatın, kullanıcı testinde o farkı zaten göremezsiniz.
Gerçek ölçüm de karmaşık değil. Tıklama olaylarında temas noktası ile hedefin sınırları arasındaki sapmayı kaydetmek, hangi hedefin dar kaldığını ankete sormaktan çok daha hızlı gösteriyor. En okunaklı sinyal ıskalanan ilk tıklamalar, yani hedefin birkaç piksel dışına düşenler. Onlar birikiyorsa sorun yerleşimde değil, boyutta.