ALTI ÜSTÜ TASARIM – Mehmet Doğan

 
yazı arşivi|abonelik|site ve yazar hakkında|teknoloji kimin umurunda|tavsiye ettiklerim|iletişim
 

Form Tasarımı Hakkında Birkaç Tavsiye

19 Ocak 2007

Her kim olursanız olun, nerede yaşarsanız yaşayın, ne iş yaparsanız yapın, hepimizin mutlaka yapmak zorunda olduğu bir şey var: form doldurmak. Askerlik formu, kredi kartı başvuru formu, üyelik formu ve daha bir dolu gerekli/gereksiz form.

İnternet hayatımızdaki birçok kağıt gerektiren işi elektronik hale getirdi. Mektup, e-postaya dönüştü; ansiklopediler, websitesine. Fakat değişmeyen bir şey var ki o da form doldurmak. Elektronik bile olsa. Sıkıcı, uzun, zaman zaman sinir bozucu ve çoğu kez zamanımızı çalan bu işlemi hepimiz bir şekilde, bir yerde gerçekleştiriyoruz.

Formlar bir website için en önemli araçlardan biri. Formlar, kullanıcıların, sitenize geliş amacını gerçekleştirmelerine yardımcı olan bir gereksinim. Buna rağmen hiçbir web ziyaretçisi, bir siteye sırf form doldurmak için gelmiyor. Onlar, kredi kartı almak için geliyor, sitedeki yazıları okumak ya da sitedeki yazılara katkıda bulunmak isteğiyle geliyor, bilgi almak, bilgi vermek, işe girmek için geliyor. Ya da o çok istedikleri bir ürünü, kitabı, hizmeti almak için geliyor. Nedeni ne olursa olsun, bu isteklerini gerçekleştirmek, hedeflerine ulaşmak için o sitede onlara sunulan formu doldurmaları gerekiyor.

Formlar, site sahipleri içinde vazgeçilmez öğeler. Bu formlar sayesinde, ziyaretçilerimizden istediğimiz bilgileri alıyor ve hem onların hem de bizlerin ulaşmak istediği hedeflere ulaşıyoruz. Fakat bütün bunlara rağmen, form tasarımı, belki de bir website içinde en göz ardı edilen, kullanılabilirliğine ve kullanıcı deneyimine en az zaman ve caba harcanan kısımlar. Çoğu kez, formlar, göz korkutucu, sinir bozucu, karmaşık ve kullanıcıdan, onların istediğinden daha fazla çaba sarf etmelerine neden olacak şekilde tasarlanıyor.

"Mikrodalga fırın" bir cağda yaşıyoruz. Herkes, istediği her şeyin çabucak gerçekleşmesini istiyor. Herkes, her şeye çabucak sahip olmak istiyor. Bu özellikle web için çok daha geçerli. Eğer bir şeyleri gerçekleştirmek zamanımızı ve çabamızı sarf ediyorsa, anlam içermiyorsa, o zaman istediğimizi bulmak için, bir başka yere, başka bir siteye bakınmaya başlıyoruz. Bu nedenle, kullanıcılarımıza sunduğumuz formların kullanılabilirliğine zaman harcamak ve kullanıcının hedeflerini gerçekleştirmesine yardım edecek şekilde tasarlamak gerekiyor.

Web içindeki formlar, bilgi ve değer alışverişinin başladığı yerler. Eğer kullanıcınız, sitenizin içindeki formu doldurmak için zaman harcıyorsa, bunun karşılığında siz de ona bir şeyler vermeli, onları bu çabasına karşılık değer katmalısınız. Peki site sahibi olarak neler yapabiliriz?

Kullanıcılar, onlara sunulan formu doldurmanın ne kadar zaman alacağını bilmeli

Geleneksel kağıt formlar içinde, bir formu doldurmak için geçebilecek zamanı tahmin edebiliyoruz ya da formun kaç bölümden oluştuğunu kolayca görebiliyoruz. Fakat birçok web formu, çeşitli bölümlere ayrıldığından, aynı lükse, websitelerinde sahip değiliz. Bu nedenle, kullanıcılara, çeşitli ipuçları ve görsel öğeler ile doldurmakta oldukları formun büyüklüğü, uzunluğu hakkında bilgi vermek gerekiyor. Bunun güzel bir örneğini Sigortam.net sitesinde görebiliyoruz: "En ucuz fiyata ulaşmanız için sadece 3 adım kaldı!"

Sigortam.net'den bir ekran goruntusu

 

Kullanıcıda belirli bir beklenti oluşturmalı ya da beklentileri karşılanmalı

Eğer kullanıcıdan, onların ve sizin hedeflerinize ulaşmak için, belirli bir bilgiyi almak istiyorsanız, onlara bu bilgiyi nasıl kullanacağınızı ve bu bilgi sayesinde ne gibi bir fayda elde edileceğini, onlara anlatmanız gerekiyor. Bilgilere kim sahip olacak ve nerede kullanılacak? bu bilgiler sayesinde ne gibi çıkar elde edilecek? gibi soruları, bu bilgileri istemeden önce ya da isterken cevaplamak, kullanıcıların formu doldurup, bitirmelerine yardımcı olacaktır. Ayrıca bu bilgiler verildikten sonraki oluşacak işlemi kullanıcıya anlatmakta fayda var. Örneğin "Bu formu doldurduktan 24 saat içinde, şirketimizden bir uzman, sizinle temasa geçecek" gibi. Bilgi detayları ile ilgili güzel bir örneği Volvo Türkiye sitesinde bulabilirsiniz.

Beklentiler, formun bulunduğu ortama göre değişebiliyor. Örneğin e-ticaret sitelerinde, kullanıcıların birçok beklentisi var. Bunlardan biri ise, ödeme bilgileri. Birçok web kullanıcısı, bir ürün satın aldığında, bu ürüne ödeyecekleri toplam fiyatı bilmek istiyor. Bundan birkaç sene üzerinde çalıştığımız bir e-Ticaret sitesinde bu hata yapılıyordu. Site istatistiklerine bakınca açıkça görülüyordu ki birçok müşteri, fiyatı pahalı olan mobilyayı alışveriş sepetine koyuyor, adres bilgilerini giriyor fakat kredi kartı bilgilerine gelince, işlemi yarıda bırakıyordu. Kullanıcılara nedenini sorduğumuzda ise, mobilya gibi ağır bir ürününün kargo fiyatını, kredi kart bilgilerini vermeden önce görmek istediklerini söylediler. Böylesine bir beklentiyi karşılamayan şirket sahibi ise birçok müşteriyi ellerinden kaçırmış oldu.

Gereksiz, anlamsız ya da herkese uymayan sorular sorma

İnternet'in en güzel taraflarından birisi, belirli bir ülkeye ya da bölgeye sahip olmaması. Sitemize, dünyanın dört bir köşesinden ziyaretçiler gelmekte. Peki onlara sunduğunuz formlar buna hazır mı? Birçok form tasarımı, lokal mantık ile hazırlandığından, bu gerçeği unutabiliyor. Örneğin yurtdışında yaşayan bir kişiden yaşadığı il ve cep telefonu bilgileri istemek gibi. Ya da birçok e-devlet sitesinde gördüğümüz "bilgi alma" formundan bilgi almak isteyen yabancı uyruklu bir kişiye T.C. Kimlik numarası sormak ve bunu zorunlu kılmak gibi. Bu konuda Erinç, Elma Suyu sitesinin kayıt formu ile ilgili harika bir yazı yazdı. Okumanızı tavsiye ederim.

Formu hazırlarken su soruları kendinize sorun:

  1. Bu soruyu neden soruyorum?
  2. Sorduğum bu soru, kullanıcı ile kurmak istediğim ilişkinin bulunduğu aşamaya uygun mu?
  3. Sorduğum sorunun cevabını daha sonra edinebilir miyim?
  4. Sorduğum sorunun cevabını kullanıcı geneli cevaplayabilir mi?

Ukala, çok bilmiş ve çok akıllı olma. Anlamlı ön-eleme, ön-test ve hata mesajları ver

Bunu size birkaç örnekle açıklayacağım:

  1. Flickr sitesinin kurucularından biri olan Caterina Fake, Facebook sitesine kayıt olmak için sitede bulunan formu gerçek bilgileriyle dolduruyor. Caterina'nın soyadı Fake. Fake'in anlamı ise "sahte". Facebook, Caterina formu doldurup "gönder" düğmesine basınca, hata mesajı ona soyadının yanlış (ya da sahte) olduğunu ve bunu düzelterek "gerçek" soy isim yazmasını söyleyen "akıllı" bir mesaj veriyor. Ön-eleme yaparken, herkesin kotu niyetli olduğunu düşünmek yerine, herkesin iyi niyetli olduğunu düşünmek ile başlayın.
  2. Cep telefonunu hizmetlerini kullandığım şirketin bir web sitesi var ve geçenlerde bana bir email geldi ve bu emailde bu şirketin, web sitesinde bazı güvenliği geliştiren çalışmalar yaptığını ve benim sitelerine gidip, bu hizmetten yararlanmamı istediklerini yazıyordu ve ayrıca Güvenlik olarak benim şifremi değiştirmemi ve ayrıca güvenlik sorusunu cevaplamamı istiyorlardı. Güvenlik sorusu, hepinizi iyi bildiği şu bir güvenlik sorusu seçip, kendi cevabini yazmaktan oluşan bir çalışma idi. Listeden Annenizin kızlık soyadı, Beğendiniz Renk, Yakın Arkadaşınızı Doğum Tarihi gibi sorular vardı. Ben bu sorulardan "Çocukluk döneminde beslediğiniz ev hayvanının adı?" sorusunu seçip, cevabını sorunun aşağısında bulunan kutuya yazdım: Pisi. Gönder tuşuna bastım ve bir hata mesajı ile karşılaştım: "Güvenlik sorusunun cevabı en az 6 karakter olmalıdır". Nasıl yani? Peki o zaman niye bana bırakıyorsun soruyu ve cevabını? Kedimin ismini mi değiştireyim senin "akıllı" sistemin için?

Sizin yapabileceğiniz işlemi, kullanıcınızdan yapmasını istemeyin! Ya da onlara açık ve detaylı bir şekilde anlatın.

Belirli bir format içinde bir forma sahip olmanız, siz, site sahibinin amacı fakat kullanıcının umurunda bile değil. Bunu en çok, belirli bir bilgiyi, belirli bir kısma girerken görüyoruz. Örneğin telefon numaraları, kredi kartı numaraları, posta kodu gibi bilgiler girerken kullanıcıdan istenen format.

Geçen yıl, HepsiBurada.com'dan birkaç ürün alma teşebbüsünde bulundum. Eğer HepsiBurada.com'da bir şeyleri almak, bırakın almayı, bir ürünü, alışveriş sepetine koymak istiyorsanız, siteye üye olmanız gerekiyor. Grrrr... Ben de tavsiyelerine uyup üyelik linkine tıklayıp, istenilen bilgileri doldurmaya başladım. İstenilen bilgilerden biri benim ev telefon numaramdı. Birçok sitede olduğu gibi, telefon numaramı aşağıda görüldüğü gibi girdim:

Telefon numaram 1. resim

 

Hata mesajı, telefon numaramın yalnızca "rakam"lardan oluşabileceğini belirtti. Halbuki girdiğim telefon numarası rakamlardan oluşuyordu. Belki de numaraların arasında kullandığım "" işaretinin rakam olarak algılanmadığını düşünüp, "" simgesini aşağıda görüldüğü gibi sildim:

Telefon numaram 2. resim

 

Buna rağmen, hata mesajı benim telefon numaramın rakamlardan oluşması konusunda ısrarlı olduğunu gösterdi. Eğer yukarıda ki ekran görüntüsüne göz atarsanız göreceksiniz ki benim numaram yalnızca rakamlardan oluşuyor. Bu sefer, rakamlar arasında ki boşlukları silip, yeniden "kaydet" düğmesine basınca, hata mesajı yok oldu ve her şey yoluna girdi:

Telefon numaram 3. resim

 

Bir telefon numarasını yazmanın, 3 hata mesajına mal oldu. Her seferinde, telefon numarasını ve daha önce yazdığım şifreyi yeniden girmek zorunda kaldım ki bu benim için kötü bir sanal deneyimdi. Halbuki, telefon numarasının istendiği yerin hemen yanına "örnek: 50612345 – boşluk ve harf kullanmayınız" yazılsaydı, ben 3 defa aynı telefon numarasını ve şifre bilgilerimi yazmayacaktım ya daha da iyisi birkaç küçük programcılık hilesi ile kullanıcının girdiği çeşitli formatlar, arka planda istenilen şekle dönüştürülebilir ve böylece kullanıcı, telefon numarasını nasıl girerse girsin, hata mesajı vermezsiniz.

Bir başka örnek ise İş Bankası'ndan. Eğer İş Bankası'na, kredi kartı almak için başvuru yapmak isterseniz ve İş Bankası müşterisi değilseniz, banka size çalışmak istediğiniz şubenin kodunu soruyor. Yardım tuşu ise bize bir dolu şehir ve şube ismi veriyor (örneğin İstanbul). Acaba bu işlem daha kolay hale getirilebilir miydi? Ya da bu bilgi, otomatik olarak verdiğim bilgilere göre daha sonra elde edilebilir miydi? Acaba en efektif yol bu mu?

Hata mesajlarına DİKKAT!

Eğer ODTÜ BIDB'ye is başvurusunda bulunuyorsanız ve form içinde "doldurulması zorunludur" diye açıklanmamış olan bölümlerden birinin doldurmaz ve formu gönderirseniz, size anlamsız, yabancı dil ile yazılmış hata mesajı veriyor. Acaba "activities" kısmı nerede benim doldurduğum form içinde?

Form içinde bulunan sorular, kullanıcıya yardım eden küçük ipuçları ve hata mesajlarında kullanılan dil, o formu doldurmak isteyen kullanıcıya yardımcı olurken, sizin, kullanıcıdan almak istediğiniz bilgilere de kolayca ulaşmanızı sağlayacaktır. Yukarıdaki örnek içinde, kullanıcıyı, doldurulan formdan uzak bir başka sayfa hata mesajı görüntülemek için göndermek yerine, istenilen bilgiyi ve ipucunu işaretleyen bir mesaj gösterilebilirdi. Örneğin Kangurum websitesi, benim hangi kısımları bos bıraktığımı açıklıyor ve ne yapmam gerektiğini anlatıyor.

Kangurum websitesinden bir ekran goruntusu

 

Hatayı önlemenin en önemli yolu, bu hataya sebep olacak unsurları ortadan kaldırmaktır. Yani "olasılık tasarımı". Bunun yapmak ise kullanıcıya form doldurma işlemi sırasında yardımcı olmak ile baslar. Citibank, genel başvuru formunda istenen bilgilerin nereden toplanacağı konusunda kullanıcılara yardım bilgileri vermesi buna en güzel örnek sanırım:

Citibank websitesinden bir ekran goruntusu

 

Web form için oluşan standartları bozma!

Web formları içinde oluşmuş belirli bir standart vardır. Örneğin bizler * (asteriks) işaretini gördüğümüzde, bunun doldurulması zorunlu kısım olduğunu biliriz ya da böyle bir model, önceki deneyimlerden dolayı oluşmuş bir kavramdır. Eğer, bizler bu standartları bozarsak, kullanıcının hata yapmasına neden oluruz. Bu konuya bir başka örnek ise AVIS şirketinin rezervasyon sitesinde görülebilir. Bundan birkaç sene önce, AVIS sitesinde bulunan rezervasyon formunda doldurulması zorunlu OLMAYAN kısımlar * ile işaretlenmişti:

AVIS websitesinden bir ekran goruntusu

 

Başka bir standart ise formu dolduran kişinin "gönder" düğmesine basması ile birlikte, bu formun otomatik olarak isleme konması. Eğer Anadolu Cetelem sitesindeki is başvuru formunu doldurup, "gönder" tuşuna basacak olursanız, "gönder" tuşunun bu formu otomatik olarak isleme koyması yerine, size bos bir email ekranı açtığını göreceğiniz. Onca zaman harcayıp, bu formu doldurmuş olan bir kullanıcının o anda hissettiklerini (ya da ağzından çıkanları) tahmin edebiliyor musunuz? Deneyin, siz karar verin!

Başka nelere dikkat etmeli?

Bu konuda yazılmış birçok makale var. İşte size bunlardan birkaçı:

   
 
Bu yazı Mehmet Doğan tarafından saat 20:25 civarı yazılıp Kullanıcı Deneyimi, Kullanılabilirlik, Tasarım, Web Stratejileri dosyası içine işlendi.

Bu konuyu/yazıyı tartışan diğer websiteler diğer bloglar
Bu yazıyı okuyup beğenenler şu yazıyı da okudular.
Bu yazıdaki anahtar kelimeleri diger bloglar icinde ara ve bul: | | |
 

Bu yazıya ait 12 yorum var.

Bu yazı yorumlara kapatılmıştır.
1. | 19 Ocak 2007 20:59 tarihinde, Gürkan OLUÇ [grkn] demiş ki:

çok aydınlatıcı ve olayı tam manasıyla açıklayan bir yazı olmuş mehmet bey.. özellikle ben bir yere üye olurken aynı formu sırf 1 - hatası yüzünden tekrar tekrar doldurmaya çok sinirleniyorum.. birde belirtmediğiniz bir nokta var ki; oda flood saldırıları engellemek için konulmuş ama neredeyse okunması imkansız güvenlik kodları... bu tür kodlarda bence; başlangıçta bu kod olmamalı eğer ben şifremi 1 kere yanlış girersem bu kod çıkmalı :)

2. | 19 Ocak 2007 22:36 tarihinde, aylin demiş ki:

Mehmet Bey merhaba,
Ufacık bilgilere ulaşmak veya ufacık şeyler elde edebilmek için bile birçok form doldurmamız gerekiyor gün içinde. Gerçekten büyük vakit kaybı... Bu formlar insanın ömründen ömrür tüketir. Bunun yerine üyelik sistemi bana mantıklı görünüyor. Sisteme kendinizi bir kere tanıttıktan sonra kendi kişisel kullanıcı şifreniz ile girip işlem yapabilmek çok daha pratik bir yol. Sistem bilgilerinizi tanır ve tekrar tekrar girişlerden kurtarır. Veya bu sizin kullandığınız bu formdaki gibi, kullanıcı bilgilerinin hatırlanması opsiyonel olabilir.
Bu arada yazılarınızı severek takip ediyorum, ama her zaman böyle yorum bırakabilme fırsaatı bulamıyorum.
Sevgiler...

3. | 19 Ocak 2007 22:38 tarihinde, can demiş ki:

Uzun zamandır bu siteyi bu kadar keyifle okumamıştım.Teşekkürler,gene form ve kullanıcı memnuniyeti hakkında güzel bir yazını okuma fırsatı bulduk,üstadım.Açıkcası bu akşam siteye öylesine girip baktığımda yazınla karşılaştım.Sanırım "beni haberdar et" bölümü tatilde.Bilgine,

4. | 20 Ocak 2007 0:32 tarihinde, Fatih Murat Eyioğlu demiş ki:

Mehmet ellerine sağlık. bir solukta keyifle okunan biir makale dah aktarmışsın bizlere. Aslında bunların hepsi bizim tüm web site işlemleri sırasında yaşadıgımız sorunlar fakat bazen bizlerde bu tür ayrıntıları maalesef gözden kaçırarak aynı hatalara düşüyoruz. Gerek programcıların javascript yazma eyilimden kaçmalarından dolayı gerekse acileyet durumlarından dolayı oluşan sorunlar.

beni haberdar et bende çalışıyor :) tatilden kurtulmuş olabilir.

5. | 20 Ocak 2007 9:58 tarihinde, Özgür COŞAR demiş ki:

Form doldurmak ve ardından doldurduğunuz formda hata olması nedeniyle girdiğiniz tüm bilgileri yenilemek zorunda kalmak çok can sıkıcı olurdu. Neyse ki artık bir çok formda, doğru girdiğiniz bilgiler korunuyor.

6. | 20 Ocak 2007 13:56 tarihinde, Serdar İstek demiş ki:

Bir web sitesinde herhangi bir formu açtığınızda bir kaç saniye içerisinde bu formu doldurup dolduramayacağınıza karar veriyorsunuz (yada ben öyle yapıyorum). Bu kararı verirken zorunlu alanların çokluğuna ve niteliğine (ne kadar kişisel bilgi istiyor) bakıyorsunuz, diyelimki doldurmaya karar verdiniz iki defa hata mesajı aldığınızda vazgeçiyorsunuz.
Düşünülmeden hazırlanmış bu formlar yüzünden sitelerin kayıplarının çok fazla olduğuna eminim ve gerçekten çok önemli bir konuya değinmişsiniz buna anlatımınızdaki güzel uslubunuzda eklenince çok güzel bir yazı olmuş.

7. | 20 Ocak 2007 14:28 tarihinde, Erhan demiş ki:

Son aylarda bu sitede okuduğum en keyifli yazı. Çok güzel bir noktaya temas etmişsiniz. Kendi adıma teşekkür ederim.

Fakat ben Kangurum'un sitesinde olduğu gibi formun nasıl doldurulacağının örneklendirilmesini çok da doğru bulmuyorum. Formda 10 adet kutucuk var diyelim. Bunların her biri için kutuların yanına örnek yazmak o formu kalabalıklaştıracaktır. Bence bir form alanı ne kadar sade, temiz ve text'lerden arınmış bir şekilde sunulursa o kadar başarılıdır.

Peki form doğrulamalarını nasıl yapacağız o zaman? JavaScript'ten ziyade sunucu tarafından çalışan php, jsp gibi dillerle doğrulama yapılmalı. Fakat sayfa yeniden yüklenmeden! Yani AJAX ile... Kullanıcı tab tuşu ile o kutudan ayrılır ayrılmaz AJAX ile arkaplanda doğrulama işlemini yaptırmalıyız. Eğer hatalı bir şey varsa kutunun yanına hata mesajı vermeli ve aynı zamanda "şöyle doldurmanız gerekiyor" şeklinde bir örnek verilmeli. Bana en mantıklı yol buymuş gibi geliyor.

8. | 21 Ocak 2007 16:43 tarihinde, Ümit Kurt demiş ki:

Faydalı ve keyifli bir yazıydı... Özellikle Anadolu Cetelem örneğini bir benzerini daha önce yaşamış biri olarak böyle bir durumda insanın neler hissettiğini (ağzından neler çıkabileceğini :) gayet iyi biliyorum... Web formları tasarlarken dikkat edilmesi gerekli diğer şeylerde olduğu gibi olasılık tasarımı kesinlikle. Kullanıcının yapabileceği hataları ve bilmesi gerekenleri önceden düşünüp yorum yapan arkadaşlardan birinin dediği gibi AJAX ile örneğin gerekli uyarıları zamanında yapmak.

9 22 Ocak 2007 19:35 tarihinde, Mehmet Doğan demiş ki:

Yaziya yorum birakan herkese tesekkurler. Bunlar esasinda ilk aklima gelenler. Form tasarimi konusunda aslinda soylenecek cok sey var. Gorsel tasarimda dahil olmak uzere

@Can: sanirim tasinma sirasinda bir aksaklik nedeniyle email gelmedi. Umarim sorun duzelmistir.

10. | 23 Ocak 2007 6:24 tarihinde, can demiş ki:

Şimdi düzeldi.Teşekkürler.

Bu arada tarzına ender rastlanan bir form tipini görmek için acele edin.

http://www.meteor.gov.tr/2006/zirai/zirai-iletisim.aspx

11. | 14 Eylül 2007 20:36 tarihinde, ozcan demiş ki:

facebookta bu özelliğe hiç dikkat etmemiştim. ilginç ve araştırma dolu bir yazı olmuş. iyi örneklerlede süslenmiş. teşekkür ederiz defalarca.

12. | 16 Ekim 2007 14:39 tarihinde, Cemal Öktemer demiş ki:

Formlar hakkında gerçekten güzel bilgilendirmişsiniz, teşekkür ve tebrik ediyorum. Bazılarına zaten dikkat ediyordum ancak örnekli açıklamalarınız sayesinde daha dikkatli olmam gerektiğine karar verdim.


Bu yazı yorumlara kapatılmıştır.

Kitabımı satın almak ister misiniz?

Teknoloji Kimin Umurunda adlı kitabımı satın almak ister misiniz?