Yazılım Geliştiriciler için Kullanıcı Deneyimi Tasarımı

Reengen
reengen
Published in
3 min readMay 21, 2018

Yazılım geliştirenlerin önemli bir kısmı, içinde “tasarım” geçen işlerden pek hoşlanmaz. Yazılım geliştirmede A noktasından B noktasına gitmeye çalışırız. İzlenecek adımlar üç aşağı beş yukarı bellidir; sonuçta yapılan iş ya çalışır ya çalışmaz. Tasarımın ise ucu bucağı açık gibi gelir. Teoride bir uygulama sonsuz sayıda farklı arayüzle tasarlanabilir; ama sadece birkaç kurala uyarak olası arayüz sayısını tek hanelere düşürmek mümkündür.

Fotoğraf: Hal Gatewood

Arayüz en yaygın durumlar için tasarlanmalı
Her kullanıcı farklıdır. Değişik istekleri olabilir. O yüzden arayüz esnek olmalı, kullanıcıdan kullanıcıya değiştirilmelidir gibi gelir bize. Ancak hemen her uygulamanın kullanıcı kitlesi, sadece birkaç gruba bölünebilir ve her grubun bir uygulamada harcadığı zamanın çoğu sadece birkaç özellik üzerinde yoğunlaşır. Bize düşen, en çok kullanılan özellikleri mümkün olduğunca basitleştirmek ve öne çıkarmaktır.

Daha az arayüz öğesi
Bir arayüzü basitleştirmek, söylemesi kolay yapması zor bir iştir. Neyse ki basitliğe ulaşmak için kullanabileceğimiz birkaç yöntem var ve bunlardan en önemlisi; arayüzdeki öge (menü, düğme, form alanı vb.) sayısını en aza indirmektir. Özellikle web uygulamalarında kullanılan ekran boyutları büyük olduğundan ekrandaki her alanı kullanmak doğru gibi gelebilir. Fakat uygulamaları telefon, tablet gibi daha küçük ekranlı cihazlarda görüntülemek arayüzleri gereksiz yere karışık hale getirdiğimizi açık bir şekilde gösterecektir. Bu yüzden mümkün olduğunca “önce mobil” felsefesiyle uygulama geliştirmek daha basit arayüzler ortaya çıkarmamıza yardımcı olur.

Anında geri bildirim
Kullanıcılardan yazdığımız uygulamanın nasıl çalıştığını bilmesini bekleyemeyiz. Özellikle de uygulamayı ilk defa kullanıyorlarsa. Örneğin çoğumuzun başına gelmiştir. Bir sitede hesap oluşturmamız gerekmiştir. Bilgiler girilip Gönder’e basıldıktan sonra yanlış veya eksik doldurduğumuz her satırın yanında “Bu alan sadece sayısal değer içerebilir” türünden bir hata çıkmıştır. İki defa girdiğimiz şifre de bu arada muhtemelen silinmiştir. Tüm hatalar düzelinceye kadar o şifreyi kim bilir daha kaç defa girmemiz gerekecektir. Tabi daha önce pes etmezsek. Kullanıcıya zorluk çıkarmak yerine her bir alana giriş yapılırken gerekli uyarılar yapılmış olsaydı süreç göreceli olarak sorunsuz geçecekti. Bu yüzden önemli tüm kullanıcı aksiyonlarından sonra, olumlu veya olumsuz anında geribildirim vermek sıradan uygulamalarla, kullanıcı deneyimine özen gösterilmiş uygulamaları ayıran en önemli özelliklerden biridir.

Performans bir özelliktir
Bir uygulama yavaş çalışıyorsa arayüzü ne kadar iyi tasarlanmış olursa olsun, kullanıcı deneyimi olarak hep eksik kalacaktır. Bir uygulamayı tamamen hızlı yapmak her zaman mümkün olmayabilir; ama en azından en çok kullanılan özelliklerin hızlı çalışmasına özen göstermeliyiz. Örneğin; yüzlerce şubesi olan bir şirket için geliştirilen bir uygulama düşünelim. Şubeler arasında geçiş yapmak için şube isminin birkaç harfini yazınca otomatik tamamlama yapan bir alanımız olsun. Normalde her harf yazıldığında, sunucuya istek çıkmak bu tür durumlarda çok kullanılan bir yöntemdir. Fakat özellikle yavaş internet bağlantılarında sonuçlar çok geç gelebilir. Bunun yerine uygulama ilk açıldığında bütün şube listesini tek seferde yükleyip, sorguları doğrudan bu listeden yaparsak sonuçlar her zaman anında gelecektir. Bu da yazılım geliştirici için biraz daha iş, kullanıcılar içinse hızlı bir arama ekranı demektir. Bence iyi bir değiş tokuş.

Test, test, test
Bir arayüz bütün kurallara uyabilir. Yine de kullanıcıların kafasını karıştırabilir. Neyse ki bunu anlamanın yolu kolay: tasarladığımız arayüzü önceden görmemiş birkaç kişi bulup yardımcı olmadan nerelerde takıldıklarını gözlemlemek yeterli. İnsan bu süreçten birkaç defa geçtikten sonra “kullanıcı hatalarının” çoğunun aslında “tasarım hataları” olduğunu anlıyor.

Author: Aycan Gulez, CTO at Reengen

--

--

Reengen
reengen

Energy IoT Platform is a PaaS Analytics Solution for Global Energy & Utilities Industry