23 Şubat 2009 Pazartesi

Kullanıcı Arayüzü Üzerine

Kuşkusuz kullanıcı penceresinden baktığımızda, bir programın kullanıp kullanılmayacağını en önemli ölçüde etkileyen etme kullanıcı arayüzünün dizaynıdır. Tıpkı günlük ilişkilerimizde karşımızdaki kişinin görünümünün iletişimimizi ilk olarak ve doğrudan etkilediği gibi, kullanıcı arayüzü de programla kullanıcı iletişimini belirler.

Bembeyaz bir sayfa, renkli 6 adet harf. Milyondolarlar düzeyinde servetin bu kadar basit bir sebebi olduğunu söylemek zor değil. "Google" dan bahsediyorum tahmin ettiğiniz gibi. Kullanıcının kendine dost edindiği bu sempatik profesör, bir arama motoruyken, şimdi hayatımızı her alanda kolaylaştırmakta. Ve hala bembeyaz sayfa üzerinde 6 adet harf, fazla bir şey değil. Rahat, renkli bir tişört giymiş, altında şortu ve sandaletiyle bizimle iletişime geçen bir dost google. Üstelik bütün sorularımıza cevap vermekte. Haliyle kendimizi hep yakın hissediyoruz.

Bir başka örnek şimdi; Adobe Photoshop, kötü çekilmiş hiç bir sanat eseri niteliği taşımayan fotoğrafları bile birer şahasere dönüştürme yeteneğine sahip program ilk açtığımızda korkutucu bir arayüze sahip. Paletlerin çokluğu, yapabiliceğiniz işlem sınırının çok çok uzaklarda olduğunu göstermekte. Takım elbisesini giymiş genç iş adamımız, dinamizmiyle bizim emrimizde. O bir dost değil, o bir iş arkadaşı, o daima yanınızda olduğunu hissedebiliceğiniz bir yardımcı.

Verdiğim örneklerde anlatmaya çalıştığım nokta basit aslında. Her kullanıcı arayüz dizaynının bir ruhu var. Kullanıcı açısından bakıldığında, aslında programla iletişimini ve ilişkisini design birebir etkilemekte. Designer açısından baktığımızda ise, programı veya siteyi ve bunların amaçlarını doğru tesbit etmek sanırım dizayna başlamadan önce ilk analiz edilmesi gerekenler. Doğru bir site analizi, ve doğru bir gerçek hayat simülasyonuyla, gerek site gerekse program kullanıcı arayüzü tasarlamak çok daha kolay olsa gerek.

Dizayn hazırlıkları diyebiliriz sanırım.

22 Şubat 2009 Pazar

Flow: Yaptığınız İle Akmak!

Mutlu bir yaşam çoğumuzun istediği hayatında. Hatta mutlu bir geleceğe dahi tav oluyoruz. Sanırım bunun en vazgeçilemez, en önemli şartlarından biri de, yaparken tatmin olduğumuz işi yapabilmek. House MD'de Taub'un dediği gibi biraz, bize "Bugün önemli bir şey yaptım." dedirticek bir iş. Bizi uyurken rahat ettiricek bir iş.

İşte "Flow" konsepti tam da bu aşamada karşımıza çıkmakta. Flow, türkçesiyle "akmak" insanların yaptıkları işle beraber akmasını sembolize ediyor. Tabii bu noktada bir çok kavram kargaşası da ortaya çıkmakta. Nedir insanların yaptıkları işle beraber akmasını sağlayan etmenler. Tek tek incelemek istiyorum bu etmenleri;

1-) İlk etmenimiz yapıcağımız işin challenging olması. Bu şu demek, yapıcağınız iş yeteneklerinizi sonuna kadar sömürmeli, hatta öyleki yapabilmek için siz kendinize yeni yetenekler eklemelisiniz. Sizi daima zinde tutucak, her görev sonunda kendinizi başarılı addedebiliceğiniz bir iş.

2-) İşinizi yaptığınız anla, işinizi düşündüğünüz an toplamlarını doğru şekilde bir araya getirebildiğiniz bir iş. Bu şu demek, belediye görevlileri kaldırım taşlarını nasıl değiştiriceğini düşünmezler, ya da filozoflar somut olarak iş yapmazlar fazlaca..Burda söylemim sakın ola ki, filozof olmayın!, belediye işçisi olmayın! olarak anlaşılmasın, ama flow'u yaşamak istediğiniz işte, kendiniz için doğru balans ayarını yapın!

3-) İşinizdeki amaçlarınız her zaman net olsun. Kağıdın başına ne çizicem diye değil, bina tasarımı çizicem diye oturun. Yaptığınız işin sonunda ne elde etmek istediğini belli olsun.

4-) Yaptığınız her iş için hemen geribildirim alın. Etrafınızdakilerin yorumuna değer verin, onların söylediklerinden ötürü umutsuzluğa kapılmayın ya da boş hayaller kurmayın ama, kesinlikle gözardı etmeyin. Her aldığınız geribildirimi değerlendirin. Bu sizi her daim ilerletir.

5-) İşinizi parçalara bölün ve o an yaptığını küçük parçaya konsantre olun. Eğer elinizdeki parçaya olan konsantrasyonunuzu kaybederseniz flow dan uzaklaşırsını. Basit.

6-) Kontrolünüzü kayetmeyin. Her ne durumda olursa olsun sakin kalmayı başarabilmelisiniz. Sakin kalabilme sınırı her insan için farklıdır, önce kendinizi keşfedin. Ardından sizi kontrolden çıkarıcak işleri elemek kalıyor geriye.

7-) Yaptığını işte size yaratıcı çözümler üretebiliceğiniz alanlar bulun. Kuralları esnetebilmeyi düşününün, kuralları esnetmekle artırabiliceğiniz verimin ticaretinde doğru kararı verin.

8-) Zamanınızı yaratıcı kullanın. Eğer iş saatlerinizden rahatsızsanız beden saatinizi değiştirin. Unutmayın zaman sizsiniz. Ve zaman sadece diğer değişkenler ölçüsünde değişkendir.

Flow konseptinin temelleri bunlardı. Yazdığım cümleler hep meslek alanına yönelik oldu. Fakat unutmamamız gereken başka bir nokta daha var. Hayatta hemen hemen her konuda bu 8 kuralı denetleyebiliriz doğruyu yanlışı yargılarken. Yazımın fikir babalığını yapmış Jenova Chel'in sözleriyle bitiriyorum:

"Flow can emerge from any kind of activity, whether it's five minute pinball game or a 10 year research project. "

20 Şubat 2009 Cuma

Bilgisayar Mühendisinin Gözünden Matematik

Ne gariptir, son zamanlarda türlü kültürlerden hocalardan ders almaktayım. Sanırım bütün bunlardan da en ilginci Savio Tse. Dönem başladığından bu yana profesörün vurguladığı en önemli konu "matematiğin önemi".

"If you want to be good in computer science, then you should know mathematics. You should know it."

Ardından ufak bir analize giriştim ister istemez. Ortaya çıkan sonuç da tahmin edileceği üzere, Savio'nun dediğinden farklı değil. İyi bir bilgisayar mühendisi olmanın, iyi bir "programmer" olmanın en önemli şartlarından biri kuşkusuz matematik. Türlü şekillerde yükselinebilir elbet, bir fikir ardından piyasada amiyane tabirle köşe dönülebilir, ya da internet üzerinde şansınız yaver giderse cebinizi doldurabilirsiniz. Ama genius mertebesine ulaşmak elbette bu küçük detaylara bakıyor. Nitekim varolan problemlere çözüm geliştirmek artık hemen hemen tüm programcıların yapabildiği bir iş, burda kritik nokta, bu çözümün ne kadar verimli olduğu ve zaman, maliyet dengesinin doğru kurulması. Bu noktada ise iş tamamiyle matematiğe bakmakta. Algoritmaların analizleri, çözümlerin ispatları, doğruluk testleri tümüyle matematik bilgisi gerektiren yetenekler, ve fark yaratan özellikler. Üstelik akademik ortamda ciddiye alınmak ve ya yazdığınız makalelerin ilgi çekmesini, umursanmasını istiyorsanız bu bahsettiğim yeteneklerden fazlasıyla bulunmalı projelerinizde, yoksa ufak bir piyasa işçisi olmaktan ileri düzeylere gidebilmek mucizeler gerektirmeye başlamakta.

Her ne kadar, iyi bir programmer olmak güçlü bir his gerektirse de, sanırım işimizin deterministik ihtiyacı çok daha fazla. Ve bu ihtiyacı karşılamanın en doğru yolu Decartes'ın bahsettiği clear and distinct bilginin yolundan, yani matematikten geçiyor.

Yine Savio'yla bitirmek istiyorum;

"Mathematic is the base of everything. You should know it. You should." :)

19 Şubat 2009 Perşembe

Kar!

"20 Şubat 2009 Ankara'da kar yağması" olsaydı keşke başlık..

Bembeyaz olmuş yine her yer. İçimizde hafiften bi korku, 3-5 gün sonra her yerin çamur olucağına dair. Ama yine de hiç bir şey engellemiyor beyaz örtünün güzelliğini. Yatağınızda nasıl ki yeni çarçafla uykuya daldığınızda yumuşatıcının verdiği kokunun getirdiği rahatlık varsa, şimdi ankara'da her yer yeni çarşaf gibi kokuyor. Cumanın getirdiği tatil heyecanı cabası elbet.

Mevsimler ciddi ciddi kayıyor ama. Gerçi bu kaymanın enteresan bir tarafı var göze batan. 80 li yıllarda Ankara'da, Türkiye'de tıpkı şimdiki gibiydi mevsimler, tıpkı bize ilkokulda öğretildiği gibi Aralık-Ocak-Şubat 'dı kış. Tabi o zamanlar ardı kesilemez bir hava kirliliği vardı. Bütün Ankara'nın kömür koktuğu, is koktuğu her romantiğin şiirlerine kaydedilmiş zaten.

Torunlarımı çok da umursamıyorum yaş daha 20 liyken ama, hoş diil gibi dünyanın gidişatı da. Neyse, beyaz örtü eriyip çamur olana kadar tadını çıkaralım uykunun. Bak, ne güzel kokuyor etraf!..