Bu yazının sonunda, tüm PHP projelerinde çağırıp kullanabileceğiniz son derece basit bir kod vereceğim, kullanıcı uyarılarının neden gerekli, önemli olduğundan ve bu uyarıların neden sezgisellik gözardı edilmeden tasarlanması gerektiğinden bahsedeceğim. Size göstereceğim PHP kodu hemen bir bakışta anlayabileceğiniz düzeyde basittir, bir çoğunuzun zaten kendi yazdığı kodu ya da üçüncü parti yazılım geliştirme çatılarının hazır fonksiyonlarını kullandığını biliyorum. Fakat asıl vurgulamak istediğim noktayı daha iyi anlatabilmek yazı içerisinde bir yerlerde bulunursa iyi olur diye düşündüm. Ben bu kodu nasıl yazmanız, kullanmanız gerektiğini değil neden kullanmanız gerektiğini anlatmak istiyorum.Öncelikle aşağıdaki soruları kendinize sorup biraz düşünmenizi tavsiye ederim. (Yanıtları hemen altında bulabilirsiniz.)* S: Windows programlarının kullanıcı ile etkileşimi sağlayan genel diyalog kutularında neden öncelikle “Evet” ya da “Tamam” düğmeleri bulunur?
C: Çünkü insan beyni, karar verme anında, olumlu ya da sonuç üreten şeyleri öncelikle uygulama eğilimindedir.* S: Windows program pencerelerini kapamaya yarayan “X” neden sağ üst köşede ve sıranın en sonundadır?
C: Çünkü kapatmak, kapatma isteği oluştuğunda “anında” yapılması istenen “sıkıcı” ve bir eylemdir. (Çoğunuzun pencere kapatma işlemini, imleci sağ üst köşenin son sınırına dayayarak hiç bakmadan yaptığına eminim.)Sizin için, bir program penceresini sınır kabul ettiğinizde sezgisellik; kapama düğmesinin her zamanki yeridir.Örneğin GNU/Linux kullananlar, Ubuntu ya da Debian gibi gelişmiş GNU/Linux dağıtımlarında masaüstü yazılımlarının onlarca farklı pencere kenarlığını desteklediğini hatırlayacaklardır. Hatta öyle garip pencere kenarlıkları vardır ki, bazılarında pencereyi kapatabilmek için 3-4 deneme yapmak gerekebilir. Buna rağmen genel kullanıcı eğilimleri “Windows” tarzı pencere kenarlığı kullanma yönündedir. Buna sezgisel bir seçim diyebilir miyiz? Ya da aslında Microsoft’un yaygınlığının neticesi olan suni bir koşullanma olarak kabul etmek mümkün mü? Her ikisi de olabilir. Ne varki doğal süreçlerin tetiklemediği herşeye artık koşullanma diyebilmemiz gittikçe olanaksızlaşıyor. Zira insanoğlu gün geçtikçe herşeye müdahale imkanına kavuşuyor. Bir müddet sonra doğal olandan tümüyle kopacağımızı ön görürsek, sezgiselliğin aslında doğal bir koşullanma olduğunu, suni koşullanmanın da aslında sezgisellik olarak adlandırılabileceğini kavrayabiliriz. Konuya dönelim…Hata, uyarı, bilgi notları için kullandığımız iletilerin renkleri, kullancıyı durum hakkında bilgilendirme aşamasında çok önemlidir. Bilgisayar okur yazarı seviyesindeki kullanıcıların genel olarak bu notları -anlayamayacağını düşündüğünden- okumama eğiliminde olduğunu ve “son yaptığını tekrar deneme”ye çalışarak çözüm aradığını hemen herkes bilir. Fakat yalnızca bilgisayar okur yazarı olan biri dahi kırmızının, sarının ve turuncunun ona çağrıştırdığı şeyler hakkında doğal olarak fikir sahibidir. Bunun için özel bir bilgisayar dersi alması gerekmez. Öyleyse trafik ışıkları hakkında fikri olan herkesin bu renklerin uygun bir tanesiyle doğru kodlanmış bir uyarı iletisi gördüğünde sezgisel olarak daha uygun bir seçim yapacağını ya da doğru yöntemi uygulamaya çalışacağını öngörebilir miyiz? Neden olmasın.Genellikle bilgisayar okur yazarı kullanıcılar için yazılım geliştirdiğinizi düşünürseniz, sezgisel arabirimler geliştirmenin ve kodun insan sezgilerine uygun hareket etmesini sağlamanın size uzun vadede “yazılımınızı kolayca benimsemiş ve size bağlı kullanıcılar” olarak geri döneceği açıktır.Sezgiselliğin yalnızca renklerden ibaret olmadığı açıktır. Bu konuda daha ayrıntılı ve uzun yazılar için herhangi bir arama motorunda “heuristic evaluation” ya da sadece “heuristic”olarak arama yapabilirsiniz.Okuduğunuz için teşekkür ederim. Size, genel kullanıcı kitlesinin bilinçsizce önem verdiği fakat orta ölçekli büyük yazılım firmalarının dahi farkında olmadığı, araştırma yapmadığı bir konu hakkında kısaca fikir vermeye çalıştım. Umarım düşüncelerimi iletmekte başarılı olmuşumdur.Ve PHP ile basit uyarı kutumuz da burada:http://www.turktron.com/php-cwg/