Arama Filtreleme (Refined Search) Deseni Nasıl Kurulur
Bir arama kutusu tek başına büyük bir içerik havuzunu yönetmeye yetmez. Kullanıcı ilk sayfada binlerce kayıt görünce aramayı bırakır, sorgusunu daraltmaya çalışmaz. Refined search, yani filtrelemeli arama, o havuzu kullanıcının kendi eliyle budamasına izin veren desendir. Deseni kurmak kolaydır; zor olan kısım sayaçlar ve boş sonuçlardır.
Filtrelemeli arama tam olarak ne yapar
Klasik arama bir metin alır, sonucu sıralamayla verir. Kullanıcı istediğini bulamazsa tek çaresi kelimeyi değiştirmektir, yani sistemin hangi adlandırmayı beklediğini tahmin etmektir. Filtrelemeli arama bu tahmin işini ortadan kaldırır: sonuç kümesinin üstüne kategori, tarih aralığı, fiyat, marka gibi daraltıcı bir katman koyar. Kullanıcı yazdığı kelimeye dokunmadan listeyi küçültür.
Fark küçük görünür, davranış olarak değildir. Desen en çok kullanıcının ne aradığını bildiği ama o şeyin sitede nasıl adlandırıldığını bilmediği yerlerde işe yarar. Ürün katalogları, kurumsal arşivler, dokümantasyon siteleri.
Kurulum sırası
Sıra önemli, çünkü sonraki her adım bir öncekinin verdiği yapıya dayanıyor:
- İçeriği gruplara ayır. Bu bir arayüz kararı değil, veri kararı; hangi alanlar üzerinden filtreleneceğine burada karar verilir.
- Her grup için değer kümesini çıkar. Kapalı kümeler (kategori, marka) ile açık aralıklar (tarih, fiyat) farklı arayüz ister.
- Filtreleri arayüze yerleştir. Masaüstünde sol sütun, mobilde ayrı bir ekran.
- Seçili filtreleri sonuçların üstünde, tek tek kaldırılabilir biçimde göster.
- Filtre durumunu adrese yaz. Kullanıcı daralttığı sonucu paylaşamıyorsa filtreleme yarım kalmıştır.
Son maddeyi atlayan çok site var. Filtre durumu adres çubuğunda tutulmadığında geri tuşu da bozulur; kullanıcı bir sonuca tıklayıp geri döndüğünde filtrelerini sıfırlanmış bulur.
Sayaçlar en pahalı kısım
Filtrelerin yanında sonuç sayısı göstermek ("Ayakkabı 214") kullanıcıya nereye gideceğini söyler, tıklamadan önce sonucu tahmin ettirir. Faydası açık, maliyeti genelde hafife alınıyor.
Hesap şöyle işler: k tane filtre grubun varsa, bir grubun sayaçları o grup hariç diğer k-1 grubun uygulandığı küme üzerinden çıkar. Yani ekranı doldurmak için tek bir sorgu değil, k ayrı toplama sorgusu gerekir, üstelik her filtre değişiminde yeniden. Bu noktada akla gelen ilk fikir sonuçları önbelleğe almaktır ve tam da burada tutmaz: n tane ikili filtre seçeneği 2 üzeri n kombinasyon üretir. On seçenekte 1024 varyant, yirmi seçenekte bir milyonun üstü. Önbellek bu yönde büyümez, sorgunun kendisini ucuzlatman gerekir.
Sayaçları her seçimde güncel tutamayacaksan hiç gösterme. Yanlış sayaç kullanıcıyı sıfır sonuca yollar, bu da arayüzün en hızlı güven kaybettiren anıdır.
Boş sonuç bir çıkmaz sokaktır
Filtreler serbest bırakıldığında kullanıcı er geç hiçbir kaydın karşılamadığı bir kombinasyon seçer. Boş bir ekran ve "sonuç bulunamadı" cümlesi burada işe yaramaz, çünkü kullanıcı hangi filtrenin kümeyi boşalttığını bilmiyor.
İki çözüm var. Ya sıfır sonuç verecek seçenekleri baştan tıklanamaz yaparsın, ya da boş ekranda hangi filtreyi kaldırmanın kaç sonuç geri getireceğini gösterirsin. Birincisi ucuz, ikincisi daha iyi. Üçüncü bir yol olarak filtreyi sessizce gevşetip "şu filtreyi kaldırdık" demek yaygınlaştı; bu, kullanıcının seçimini ondan habersiz değiştirmek anlamına geliyor ve desenin bütün amacı olan kontrol duygusunu bozuyor.
Kaç filtre çok fazla
Filtre eklemek ucuz göründüğü için listeler zamanla şişer. Ölçü şu: bir filtre grubu sonuç kümesini anlamlı biçimde bölmüyorsa oradan çıkar. Değerlerin yüzde doksanı tek bir seçenekte toplanıyorsa o filtre kullanıcıya seçim sunmuyor, sadece göz yoruyor.
Sık kullanılan üç dört grubu açık bırak, kalanını katlanmış tut. Hangilerinin sık kullanıldığını tahmin etmek yerine ölçmek daha isabetli oluyor, çünkü kullanılan filtreler çoğu zaman tasarım aşamasında öne çıkarılanlar olmuyor.