İyimser arayüz kavramı pek bilinmeyen ve zaman içinde git gide yer bulmaya başlayan bir kavramdır. Bu yazımızda iyimser arayüzü konusunu önemli detaylarıyla ele alacağız.
İyimser arayüz kavramı henüz yerine oturmamış bir kavram. İnternet arayüzleri zaman içinde büyük farklılıklar göstermeye başladı. İlk zamanlarda arayüzler fazla önemsenmiyordu. Bunların birçoğunda iyimser bir özellik bulamazdınız. Bunu ifade etmek için bir düğmenin o zamanlarda nasıl çalıştığına kısaca göz atalım:
Siz bir düğmeye tıkladığınızda o düğme devre dışı bir duruma geçerdi. Ardından gönderdiğiniz talep sunucuya iletilirdi. Sunucu talebi alır ve sayfaya yanıt gönderirdi. Daha sonra içinde bulunduğunuz sayfa aldığı yanıt doğrultusunda yeniden yüklenirdi. Kısacası, o zamanki sayfalarda herhangi bir optimist yaklaşım bulunmamaktaydı.
Günümüzden geçmişe baktığımızda izlenen bu yol çok kullanışlı gelmiyor olsa da bu arayüz anlayışını sürdüren birçok sayfaya hala rastlayabiliyoruz. Bu tür bir yaklaşım genelde daha az bir hata riski taşımaktadır. Bu nedenle günümüzde anlayışını sürdürmesi kaçınılmaz olmaktadır. Düğmenin tıklandıktan sonra devre dışı kalması nedeniyle ziyaretçi gönderdiği isteğin sunucuya iletildiğini anlamaktadır. Sayfa güncellendiğinde bundan emin olunur.
Ancak bu bahsettiğimiz sistemin kendi içinde bazı sorunlara neden olduğunu söyleyebiliriz. Her şeyden önce ziyaretçi sunucuyla olan etkileşim süresini beklemek zorundadır. Eskiye nazaran hız sorunu günümüzde düşük olmasına rağmen beklemeler ziyaretçileri olumsuz etkilemektedir. Bununla birlikte bulunulan sayfa güncellenmeyecek, yeniden yüklenmek zorunda kalınacaktır.
Bir zamanlar ağırlıkla kullanılan bu sistemin üzerine tasarımcılar Web 2.0 sürümüyle tanıştılar. Bu yenilik içerisinde sayfalar içinde yeni etkileşim modelleri kullanılmaya başlandı. Bu etkileşimler temel olarak AJAX ve XMLHttpRequest üzerine kuruluydu. Burada kullanılan yenilikte ziyaretçiye sistemin o sırada bir işlem ile meşgul olduğunu gösteren gösterge kullanımı yer alıyordu.
Artık sunucudan yanıt alırken yeniden yüklemeye gerek duyulmuyor. Bunun yerine mevcut sayfanın içinde yer alan gerekli bölümün güncellendiğini biliyoruz. Böylece ziyaretçiler eski sistemlerdeki gibi beklemek zorunda kalmadan, daha kullanışlı bir sistemin içinde keyifle seyahat edebiliyor. Bu yepyeni bir anlayışla, güzel bir deneyim yakalamak için daha iyi bir yol sayılabilir.
Aradaki farkı anlatmak için tekrar düğmeye tıklama örneğine geri dönelim. Bir düğme ile olan işlemde ziyaretçi düğmeye tıklar. Düğme devre dışı kalır ve aynı zamanda işlemin olup olmadığını gösteren gösterge (dönme işareti gibi) harekete geçer. Talep sunucuya iletilir. Sunucudan gelen yanıt sayfaya iletilir. Sayfa ve düğme gelen yanıta göre yeniden güncellenir.
Bu şekilde kullanıcı bölünme duygusu hissetmeden işlem yapar ve bu onlar için eskiye oranla daha keyifli bir tecrübe olur. Böylesi bir etkileşim modelinin yaygınlaşmasının asıl sebebi budur. Bu modelin eksi tarafı ise ziyaretçilerin sunucudan yanıt bekleme sorunun devam etmesidir. Hızlı etkileşim söz konusu olsa bile ziyaretçilerin bekleme deneyimini yaşamış olması sayfaya veya ürüne olumsuz bakmalarına neden olmaktadır. Yapılan araştırmalara göre yavaşlık ve güvensizlik arasında bir ilişki bulunmaktadır. Yavaş çalışan siteler ziyaretçilerinde olumsuz duygular bırakır ve siteye olan güveni azaltır.
Bekleme sürelerini beklemeyi gösteren yaratıcı süreçlerle halletmeye çalışsanız bile ziyaretçiler bu soruna alışkın olduğundan büyük bir fark hissetmeyeceklerdir. Sistemin ağırlığını gösteren göstergeler artık alışkın olduğumuz şeylerdir. Bazı durumlarda ziyaretçiler ya yanıt beklerler, ya da sistemden çıkış yapmak zorunda kalırlar. Bu sorunlara bir alternatif çözüm olacak olan iyimser arayüz kavramına geri dönelim.
İyimser Arayüz Kavramı
İyimserlik kendinden emin bir şekilde umutlu olma anlamına gelir. Burada iyimserliği, teknoloji ile insan faktörünün olumlu etkileşimi olarak tanımlıyoruz. İyimser arayüz modeli bu ilişkiyi daha iyi hale getirme işlevini yerine getirir. Konuyu daha iyi açıklamak adına önceki örneğimiz olan düğme konusuna daha sonra tekrar döneceğiz.
Bilindiği gibi sunucular defalarca ziyaretçilerin isteği karşısında hata verebilmektedir. Örneğin düğmeye tıkladığınızda genelde uygulanabilir arayüz hataları almaktayız. Böyle örnekleri çoğaltabiliriz. Bir bağlantıya tıklandığında başarısız sonuçlar almak hepimize tanıdık gelen örneklerdir. İşte bu noktada iyimser arayüz kavramı devreye girer. Esasen iyimser arayüzler bir bağlantıya tıkanıldığında başarı oranını %95 – % 99 olarak vadetmektedirler. Şimdi iyimserlik kavramını daha iyi anlıyoruz. Eğer başarı oranı bu kadar yüksekse bu konuda emin ve iyimser olmamak mümkün değil.
Bu durumda bir düğmeye tıkladığınızda bu düğme size görsel açıdan hemen başarılı sonuç verecektir. Ziyaretçiler düğmeye tıkladığında beklemek zorunda kalmayacak, devre dışı olan düğmeler görmeyecek veya beklemeyi işaret eden göstergeler görmeyecektir. İyimser arayüzlerin temelinde devre dışı düğmeler ve bekleme göstergeleri yer almaz. Ziyaretçi düğmeye tıklar ve sonuç anında ortaya çıkar.
Düğmeye tıkladığınızda düğme görüntüsü başarılı sonucu gösterecek şekilde aktif olur. Tıklama çağrısı sunucuya iletilir. Daha sonra sunucudan yanıt gelir ve sayfaya gönderilir. Başarı oranı yüksek olur ve ziyaretçiler açısından sorun yaratmaz. Fakat başarısız sonuç ihtimali doğarsa sistem bunu bildirir. Twitter veya Facebook gibi sosyal paylaşım ortamlarında beğeni yapmaya yarayan düğmenin üzerine geldiğinizi ancak tıklamadığınız halde düğmenin harekete geçtiğini görmüşsünüzdür. Düğmeye tıkladığınızda ise hemen ilgili bölümün güncellendiğini fark ederiz. Düğmeye tıkladığınızda Twitter veya Facebook gibi ortamlarda görsel olarak sonuç belirecektir.
Facebook beğeni düğmesini tıkladığınızda sayaç bölümü hızlı bir şekilde güncellenir. Düğmenin rengi başarılı bir sonuç ortaya çıkarır ve sunucu yanıtını beklemeye gerek duyulmaz. Yanıt süresi 1 saniye ve üzerinde her ne kadar yavaş görülse bile kullanıcı dostu yapısı nedeniyle bu düğme ziyaretçiler tarafından pek olumsuz karşılanmamaktadır.
Hatalar meydana geldiğinde bunlar ekranda ziyaretçiye bildirilecektir. Bildirilen hata ile ziyaretçi bilgilendirilir, onları nedeni sorgulamaya yönlendirir ve bu neden hata mesajında yer alır. Bilgilendirme sayesinde kullanıcıya bilgi akışı sağlanır. İyimser arayüzlerde hatalarla ilgili net ve açık bir yaklaşım sergilenmelidir.
İyimser bir arayüz talep sunucuya iletilmeden önce muhtemel hata ve sorunları tespit edebilme özelliğine sahip olmalıdır. Bunun için önceden tedbir almak daha yararlı olacaktır. uygulama arayüzü kaynaklı hataları henüz gelmeden önce tespit etmek ve mümkün olduğunca sorunları aza indirgemek gerekir. Üzerinde çalıştığımız uygulama arayüzü tutarlı olmalıdır. Bununla beraber uygulanabilir arayüz tahmin edilebilir olmalıdır.
İyimser arayüz ile ilgili temel kavramları özetlemeye çalıştık. İyi bir arayüzün temel özelliklerini bilerek hareket ederken bazı noktaları göz ardı etmemeliyiz:
İyimser arayüzleri ikili sistem temeline oturtun. Yani beklediğiniz yanıtlar başarılı ve başarısız şeklinde olsun. Uygulama arayüzünüzün yanıt sürelerini bilmeniz çok önemlidir. İyi bir arayüz modelinde yanıt genellikle iki saniyenin altında olmalıdır. Daha uzun sürelerin ziyaretçileri olumsuz düşünceye iteceğini aklınızdan çıkarmayın. Bekleme süreleri kullanıcılar için sıkıntılı bir süreçtir.
İyimser arayüzlerimizi düğmelerle sınırlı tutmuyoruz. Sayfa yüklemesinden çeşitli aktivitelere kadar iyimser arayüz birçok alanda uygulanabilir. İyimser arayüzler çok karmaşık teknikler isteyen ve yeni bir model değildir. İyimser arayüz daha çok performans ile ilgili bir durumdur. Bu modeli etkin bir şekilde kullanarak başarılı sonuçlar elde edebilirsiniz.