Başlıkta deyimi İngilizce (freelance) kullandım zira çok da iyi bir Türkçe karşılığı olduğuna inanmıyorum bu sözcüğün. Kabaca bağımsız ve geçici anlamlarında olduğunu söyleyebiliriz. Eski Türkçe’deki muvakkat sözcüğünün ise en güzel Türkçe karşılık olduğunu düşünüyorum. Buna rağmen yazının devamında kullanmam gerektikçe İngilizcesini kullanacağım.

10 yılı aşan iş geçmişimde, uzun dönemler yalnızca freelance çalışarak para kazandım. Bir şirkete bağlı olarak çalıştığım dönemlerde de zaman ve şirketin sınırları uygun oldukça freelance işler yaptım, yapıyorum ve yapacağım. İnternette farklı alanlarda para kazanmaya çalışsam da asıl olarak yaptığım iş arayüz geliştirmedir. Yani web tasarımlarının tarayıcılarda (browser) görüntülenebilir ve kullanılabilir olmasını sağlıyorum.

Benden, kendileri için çalışmamı isteyenlerin bazıları “şunun gibi bir siteyi kaça yaparsın”, “bizim bir proje var, kaç paraya yapıyorsun sen” gibi sorular soruyor. Bazen de “sayfası x lira”dan bu işi üstlenen insanların ilanlarını görüyorum. Ancak her işte olduğu gibi, arayüz geliştirmede de bir takım bütçelendirme kriterleri vardır ve olmalıdır da. Aşağıda, benim için önemli olan kriterleri yorumlarımla listeleyeceğim. Hepsinden önce söylemem gereken, tasarımı görmeden hiçbir şekilde bütçe belirliyemiyor olmam.

– Layout (şablon) sayısı
Tasarımdaki layout sayısı, aynı layout’da farklı sayfasından daha çok etkiler. Aynı layout’da farklı sayfalar oluşturma süresi bazen (tasarıma göre) birkaç dakikaya kadar düşebilir. Ancak aynı site/tasarım içinde yeni bir layout’u kodlamak, kimi zaman yeni bir projeye başlamaya eşdeğer dahi oluyor. Bu nedenle aynı layout’da 3 ya da 10 sayfa olması beni etkilemez. (40-50 olursa etkiler)  Ancak sadece 5 sayfa olup, 3 farklı layout varsa bütçe önemli oranda artacaktır.

– Tasarım öğeleri
Tasarımın statik görsel öğeleri de işin zorluğunu, dolayısı ile bütçesini değiştirir. İşlenmesi zor gölgeler, arkaplanlar, birbiri üzerine binen nesneler, asimetrik dizilimler, çok bölümlü layout’lar, yuvarlak köşeler gibi tasarımı oluşturan öğeler konumlarına ve yoğunluğuna göre işleyişi önemli oranda arttıracaktır. Bu manada çeşitli zorluklara sahip tasarımlarda bütçe elbette yeniden düzenlenecektir.

– JavaScript ve JQuery
Bir sitenin olmazsa olmazı hareketli ve işlevsel alanlardır. En basit haliyle bir slider (son içeriklerin kayarak gösterilmesi mesela), imleç ile üzerine gidince değişen nesneler, tab (kulakçıklı) alanlar, açılır menüler, lightbox’lar (sayfa içinde açılan pencereler) vs. yaratmak için JavaScript‘den yararlanırız. Bu gibi işleri daha az kod ve daha çok performansla yapabilmek için son zamanlarda JQuery adlı JavaScrtipt kütüphanesinden yararlanıyoruz.

Tasarımın bu gibi ihtiyaçları, bazen ücretsiz bazı JQuery eklentileriyle çözülürken, bazen de tamamen kod üretmek gerekebiliyor. Bu bazen 3 satır, bazen birkaç saatte çıkan onlarca satır olabiliyor. Bu süreç eklentilerin uyumluluğu, ihtiyacı karşılayan bir eklentinin varlığı ve arayüz geliştiricisinin JavaScript ve JQuery bilgisine göre değişkendir. Şüphesiz ki 15 dakikada yerleştirilen bir eklenti ile birkaç saatte yazılmış kodun bedeli aynı olamaz.

– Cross Browser (tarayıcı uyumluluğu)
Bundan 8-10 yıl önce, bir anlamda tek tarayıcı olan Internet Explorer 6’ya göre yapıyorduk. Bir derdimiz, tasamız da yoktu. Bugün ise durum bambaşla. İnternet Explorer’ın tüm sürümleri (6, 7, 8, 9) hala birer ayrı tarayıcı olarak piyasada. Bununla birlikte Chrome, Firefox, Opera, Safari de oldukça popüler ve Internet Explorer’dan başarılı tarayıcılar. Daha az bilinen tarayıcılar da varken, son yıllarda bu listeye mobil (cep telefonu-tablet) tarayıcılar da ekllendi.

Arayüz gelişticisinin hazırladığı sayfalar yukarıda adı geçen tarayıcılarda (ie6 hariç, açıklayacağım) en az %95, mümkünse tamamen aynı görünmelidir. Normal şartlarda bu basit görünse de w3c‘nin biz geliştiricelere ve tarayıcı üreticilerine sunduğu standartlara uymamaları, kendi standarlarını da geliştirmeleri, eski sürümlerin yeni standartları tanımaması, bazı kodları farklı yorumlaması gibi sebeplerle sonuçlar birbirinden çok farklı olabilir. Herkesin farklı ve bozuk gördüğü bir siteyi kim ister ki?

Tüm tarayıcılarda aynı görünen arayüzler geliştirebilmek için standartları tanımak, hangi tarayıcının nasıl davrandığını bilmek, çalışırken düzenli kontrol etmek ve olası sorunlar için trick’ler (hile-numara) geliştirmek ve öğrenmek gerekiyor. Her tarayıcıda karşılık bulamayan bir arayüz, bedelden yana da karşılık bulamaz.

– Internet Explorer 6
Internet Explorer 6‘yı, “cross browser” maddesinin dışında değerlendiriyorum. IE6 10 yıllık mazisi olan bir tarayıcı. Modern tarayıcılar gibi otomatik güncellenmediği için hala kullanımda. 10 yıllık bir tarayıcı demek, son 10 yılda çıkan hiçbir teknolojiyi, web standartlarını desteklemiyor demektir. Bazı eksiklerini sayfayı yavaşlatacak JavaScript kodlarıyla, bazı eksiklerini CSS trick’leriyle alt etmek mümkünken, bazıları imkansız. Ne kadar iyi olursanız olun, IE6 ile diğer tüm tarayıcılarla aynı görüntüyü alamama ihtimaliniz var.

Bir siteyi IE6 uyumlu hale getirmek (projeye göre) bazen birkaç saat, bazen günlerce ek zaman isteyebiliyor. Yeni teknolojiler kullanılıyorsa da ödün vermek şart. IE6’nın tüm dünyadaki kullanımı %10’un altına kadar gerilemiş durumda. Bu oran Türkiye’de yalnızca %2.1. Tüm dünyada istatistiği yükseltenler ise %30.5 ile Çin ve %16.9 ile Güney Kore. Bu nedenlerle ben projelerimde IE6 desteği vermiyorum. Eğer böyle bir talep alırsam ek bütçe ile birlikte ek zaman da istiyorum.

– Çalışma dosyası
Bir arayüz geliştiriyorsak, PSD, PNG gibi bir çalışma dosyasını muhakkak kullanacağızdır. Bu çalışma dosyasında kullanılan teknikler de genellikle gözardı edilse de çok önemlidir. Projelerde bu dosyalara çoğunlukla anlaşma sağlandıktan sonra ulaştığımız için değerlendirme dışı olsa da, imkan varsa bütçelendirme için önceden incelemekte fayda var. Dağınık dizilmiş Layer’lardan (katman), kullanılan tekniklere (mesela gölge için, çerçeveler için vs.) kadar bir çok nedenle işimiz olması gerekenden zor hale gelebilir.

– Validasyon
Yukarıda da belirttiğim gibi w3c‘nin bize sunduğu bazı standartlar, kriterler var. Bu kriterler bir iletişim dili, tarayıcılar arasında maksimum görüntüleme denkliği, erişilebilirlik gibi önemli hususlar için mevcut. Bununla birlikte, standartlara uygun tasarlanmış siteler SEO (arama motoru optimizasyonu) için de çok önemlidir. Yani arayüz kodlaması standartlara ne kadar uygunsa, Google’da o kadar kolay bulunur olur. Bu doğrudan bir kriter olmasa da bu konuya hakimseniz, sizin fiyatınızı yükseltecektir. Geliştirdiğiniz arayüzlerin ne kadar “valid” olduğunu http://validator.w3.org/ adresinden öğrenebilirsiniz.

– Yazılım bilgisi
Eğer çok özel bir durum yoksa, geliştirilen arayüzler bir yazılımcının elinde” giydirme” işlemine tabi tutulup, yazılım ve kodladığınız arayüz bir araya gelecektir. O çırılçıplak, bastıbacak görünen değerli yazılım kodladığınız arayüzle bir şıklığa kavuşacak. Bu yazılım dili muhtemelen PHP, ASP ya da ASP.Net olacaktır. Hiçbirini bilmenize gerek yok. Ancak yazılımcının işini kolaylaştıracak kadar aşina olmak gerek. Bu da doğrudan bütçelendirme kriteri değildir. Fakat yazılımcı sizi ne kadar az söverse, o kadar değerli olursunuz.

– Yetkinlik & Zaman
Arayüz geliştiricinin kendini daha değerli kılması ve bunu bütçesine yansıtması için en önemli kriterler de zaman ve yetkiliktir. Bir projeyi bütçelendirirken yaptığımız esas şey, yukarıdaki kriterlerle birlikte ne kadar zamanımızı alacağıdır. 1 Günlük iş, 1 haftalık, 1 aylık, 6 aylık… Hepsi ayrı ayrı bütçelendirilir. Ancak müşterinin istediği her iş acildir ve elimizdeki her projenin biran evvel yayında olması gerekir. Bu hem bize daha çok boş zaman ve yeni iş fırsatı kazandırır hem de müşteriyi tatmin eder.

Bu nedenle işi olması gerekenden az sürede, tarayıcı uyumluluğundan validasyona kadar  eksiksiz tamamlamak gerekir. Bunun da tek çıkar yolu tecrübe ile gelen yetkinliktir. Örneğin ben zorluğu ve öngörülen azami süresi sınırlı bir takım işler için çalışma esnasında tarayıcı uyumluluğunu kontrol etmiyorum. Proje sonunda ise ya hiç sorun olmuyor ya da bir-iki ufak düzeltme gerekiyor. Bir çok detayda yetkinlik kazanarak zamandan da, paradan da kar elde edebilirsiniz.

Ne kadar yetkin olduğunuzu ölçmek için, “ellerine sağlık, beklediğimden de iyi olmuş” sözlerini sayabilirsiniz. (:

–  Minimum Ücret
Bu benim kişisel olarak belirlediğim ve olması gerektiğine inandığım ücret. Hatır gönül işleri tabii  ki bir kenarda. Ancak teklif edilen proje 15 dakikada veya yarım günde yapılacak kadar basit olsa da, talep edeceğim bir minimum bütçem var. Bu bedeli yukarıdaki kriterleri düşünmeyeceğim kadar kolay işlerde isterim. Düşük ancak iş ve zaman yüküne göre yüksek bir meblağ belirliyorum. Bu sayı dönem dönem değişmektedir.

Bu şekilde çalışmamın 2 sebebi var. İlki, (sayılar temsilidir) aynı kişi ile bir gün 20 liraya, bir gün 1000 liraya iş yapmamaktır. Bu oldukça dengesiz, tutarsız ve güvensiz bir görüntü oluşturuyor. İkinci sebebi ise, ne olursa olsun yeni bir projeye giriyor olmam (yeni başlangıçlar zordur) ve az ya da çok -belki diğer işlerden tırtıklaayarak) zaman harcıyor olmam.

– Özetle…
Bu işten ekmek yiyecekseniz, mesleğinizi çok iyi, çevrenizdeki meslekleri (tasarım, yazılım) bir miktar tanıyın. Fiyat vermeden önce projeyi iyice inceleyip zorluklarını ve alacağı zamanı iyice hesaplayın. Nasıl olabileceğinden iyi ve hızlı biteceğini anlayın. Ne için fiyat verdiğinizi iyi bilin. Siz fotokopi çekmiyor, “sayfa” üretmiyorsunuz. Siz tasarımcının sanatına kullanılabilirlik katıyorsunuz. Bu yüzden mütevazı olmayın ancak işinizde ehlileşerek bu ukalalığı hak edin.