Sanal Kuyruk Tasarımı: Bekleyene Ne Söylenmeli
Sanal kuyruk, kapasite talebin altında kaldığında sırayı dijital olarak tutan sistemdir; bilet satışında da hastane randevusunda da aynı işi yapar. Beklemeyi kısaltmaz, öngörülebilir kılar. Bu yüzden asıl tasarım konusu sıra algoritması değil, bekleyene ne söylendiği ve söylenenin ne kadarının doğru çıktığıdır.
Belirsizlik, beklemenin kendisinden yorucu
Yirmi dakika bekleyeceğini bilen kullanıcı yirmi dakika bekler. Ne kadar bekleyeceğini bilmeyen kullanıcı beş dakikada bir sayfayı yeniler, sonra sekmeyi kapatır. Kuyruk ekranının ilk işi bu yüzden konum ve süre bilgisi vermek: kaçıncı sıradasınız, tahminen ne zaman gelecek, bu tahmin en son ne zaman güncellendi.
Peki tahmin tutmazsa? Tutmayacak. Kuyruğun hızı öndeki işlemlerin süresine bağlı, o süre de sabit değil. Tek bir sayı yerine aralık vermek (12-18 dakika) hem daha dürüst hem de saptığında daha az yıkıcı. Aralığın genişliği belirsizliği zaten anlatır, ayrıca açıklamaya gerek kalmaz.
“Sayfayı açık tutun” ile “haber veririz” aynı anda olmaz
Çoğu kuyruk ekranı ikisini birden söyler: beklerken başka işinize bakabilirsiniz, ama sayfayı kapatmayın. Kullanıcı tarafında bunun tek bir anlamı var, sayfayı kapatmayın. Bir tarafı seçmek gerekiyor.
Seçim de zor değil: sıra, tarayıcı sekmesinde değil sunucuda tutulmalı. Kullanıcının yerini açık bir sayfaya bağlamak, kuyruğu bilgisayarını açık bırakabilenlerin lehine çevirir ki sanal kuyruk tam da bu haksızlığı ortadan kaldırmak için var. Yer sunucuda durduğunda SMS ya da e-posta gerçek bir seçenek olur, süslü bir ek özellik değil.
Aynı nedenle, bekleme ekranını oyunla ve içerikle doldurma önerisi genelde ters teper. Ekranda tutmaya çalıştığınız kullanıcı sırası geldiğinde onu kaçırma riskini de taşır; bekleyene verilecek en iyi şey, ekrana bakmak zorunda olmadığını bilmesidir.
Yoklamanın faturası kuyruk uzadıkça büyüyor
Sıra ekranları çoğunlukla beş saniyede bir sunucuya “ben neredeyim” diye sorar. Kuyrukta bin kişi varsa bu saniyede iki yüz istek demek. On bin kişilik bir kuyrukta saniyede iki bin. Üstelik bu yük tam da sistemin zaten yetişemediği anda biniyor, yani kuyruğun var olma sebebini büyütüyor.
Sıradaki yeri her yoklamada baştan hesaplamayın. Sunucu kullanıcıya “tahminen 14:35” gibi bir zaman ve bir sonraki kontrol aralığını versin, geri sayım tarayıcıda dönsün. Yoklama sıklığı da konuma göre kademelensin: sırası yaklaşan beş saniyede bir sorabilir, dokuz yüzüncü sıradakinin dakikada bir sorması yeter. Beş saniyeden bir dakikaya çıkan istemci on iki kat az istek üretir, arayüzde ise hiçbir şey değişmez.
Kuyruğa girmeden önce söylenmesi gerekenler
Bekleme sırasında öğrenilen her şart, bekleyen kişinin zamanını çöpe atar. Kimlik numarası gerekiyorsa, kart hazır olmalıysa, işlem kesintisiz on dakika istiyorsa bu bilgi kuyruk ekranında değil, kuyruğa giriş düğmesinin yanında durmalı.
- Katılım şartları ve gereken belgeler
- Kuyruk kapalıysa nedeni ve açılış saati
- Sıra geldiğinde işlemi tamamlamak için tanınan süre
- Sıra kaçırılırsa ne olacağı
En çok atlanan sonuncusu. Sırası gelip cevap vermeyen kullanıcı kuyruğun sonuna mı düşüyor, kısa bir ek süre mi alıyor, tamamen mi çıkıyor? Bunu önceden yazmayan sistemler aynı soruyu destek ekibine yüzlerce kez sordurur.
Kuyruk kapandığında
Kontenjan dolduğunda ya da sistem kapandığında yapılabilecek en kötü şey sessiz kalmak. Neden kapandığı, tekrar açılıp açılmayacağı ve açılacaksa ne zaman açılacağı yazılmadığında kullanıcı sayfayı yenilemeye devam eder. O yenilemeler de sistemin toparlanmaya çalıştığı ana denk gelir.