Açık kaynağın gücü, tekelin zorbalığı ve aradan sıyrılan Web 2.0!

Konu fena değil mi? Yıllardır tartışılagelen “asp mi döver php mi?” sorusunun merkezi belki de. Open source ve karşısında kapitalizmin dibinde biten Microsoft ürünleri.Şöyle bir bakalım. Bir şirket ile görüşmeye gidiyorsunuz, şahane bir fikriniz ya da ürününüz var. Sunum başlayacakken soruluyor “altyapı ne olacak?”. Eğer linux altyapısı gösterirseniz gülüşmeler fısıldaşmalar duyuluyor. Fakat bir Microsoft ürününü önlerine sunarsanız “şahane” gibi tepkiler gelebiliyor, güven duyuluyor. Sebep? Çünkü biz etiketler ülkesiyiz.

Peki böyle mi? Neden taktın bu kadar Microsoft’a?

Microsoft’a takıldığım düşünülmemeli. Tepkimin sebebi insanların etiket merakı, araştırmadan kaçması, farklı çözümlere yanaşılmaması, kalabalık olan her yerde çözümün olduğuna inanılması. Yoksa Microsoft gerçekten de dünyada en iyi yazılımcılara sahip, oldukça güzel ürünleri, projeleri olan bir firma. Visual Studo serilerini keyifle takip ediyor ve kullanıyoruz. Meseleyi biraz daha açalım.

Mavi Jeans ünlü olmadan önce oldukça düşük fiyatlardan pantalon satıyordu. Fakat ciddi ve kaliteli reklam stratejisi ile markasını tanıttı. Bu da etiketlere doğrudan yansıdı. Aynı kalitede üretim yapan fakat reklamı beceremeyen firmaların pantolonları aynı kalitede görülmedi halk tarafından. Neden? Çünkü herkes Mavi giyiyordu, güveniyordu.
Microsoft da böyle. En azından Türkiye’de hala böyle. Şimdilerde geliştirdiğiniz platformlar ne yazık ki Microsoft altyapısı ile geliştirilmeli gibi bir dayatma var gibi gözüküyor. Onun yazılım ekipmanı ile geliştireceksin, onun altyapısında verileri tutacaksın, onun standartlarına uyacaksın falan filan… Peki biz bu firmaya neden bu kadar bağlıyız? Hiç mi yok alternatifimiz?

İşte burada özgür yazılım olarak ifade edebileceğimiz open source uygulamalar dikkatimizi çekiyor. Bu uygulamalar tekelciliğe haykıran birkaç kişinin ürettiği şeyler. Hedeflerinde ilk sırada para olmadığından yaygın olarak kullanılsa da çok büyük projelerde ne yazık ki hala istenilen seviyede özgür yazılım bulmak zor. En azından Windows uygulamalarında çok çok büyük projeler göremiyorduk, ta ki internet çıkagelene kadar. İnternet ile insanlar mesafelere bakılmadan daha da yakınlaştı, kulaktan kulağa dolaşan şeyler haykırılmaya başlandı ve özgür yazılım oldukça büyüdü.

İnternet ve Özgür Yazılım

Belki de özgür yazılımın en çok kullanıldığı alan İnternet. Programcılık da tıpkı insanlar gibi çok çeşitlidir. İnternet programcılığı bunlardan sadece biri ve belki de günümüze gelene kadar en küçük görülenlerindendir. Sistem programcıları, windows uygulamaları geliştirenler, database yöneticileri böyle kikirdeyerek bu kişilere yaklaşırlar(dı). Günümüzde ise göremedikleri şeyleri bazıları görmeye başladı. Evvelki satırlarda ifade ettiğim şeyi unutuyorlardı. “Mesafe ve insanların insan olduğu”.

İnternet insanları sıra arkadaşı mesafesine indirdi, samimiyeti getirdi. Gelişen teknoloji ile beraber iletişim kolaylaştı. Öyle ki artık insanlar görüntülü, sesli iletişimi yok denecek ücretler ile yapmaya başladı. Elbette internetin bunda yadsınamaz payı vardı. Zira insanlar üstünde koştukları program ile ilgilenmek yerine, kendilerine yön veren, onların çıkarlarını gözeteden yazılımlar ile daha çok ilgilenirlerdi. İnternet onlara pek çok “fayda” sağladı ki fayda kavramının insanoğlu için ne kadar önemli olduğunu tekrar anlatmak dahi istemiyorum.

Böylece insanlar görmeye başladılar. Banka işlemlerini evlerinden halledip, araştırmalarını internet üzerinden yapmaya başladılar. Facebook gibi uygulamalar ile unuttukları yüzleri hatırlayıp internet forumlarında klavye şövalyesi oldular. Böylece “marjinal fayda” doruğa ulaştı, kullanıcı ihtiyacını karşılayıp mutlu oldu, bunun yanında haz da duydu. Zira minimum maliyete maksimum verim aldı.

Peki ya internetin geleceği? Türkiye?

İnsan içinde bulunduğu şeylerin farkında olamıyor. Tıpkı akvaryumda yaşan balıklar gibi. Bundan daha beş sene öncesinde ADSL sadece şirketlerde bulunuyordu. İnsanlar (en azından ben) harıl gürül modem gıcırtılarıyla, 146′larla internete bağlanıp saatlerce bekleyip Led Zeppelin’in Stairway To Heaven şarkısını indirmeye çalışıyorlardı. Şimdi ise beklentiler değişti, gelişti. Peki ya internet?

Tim O’Reilly ki Web standartlarının kaşifi olan O’Reilly Media’nın kurucusu, bunu Web 2.0 ile açıklıyor.

Tim O’Reilly’e göre Web 2.0′ın kısmen tanımı şöyledir: “Web 2.0 bilgisayar endüstrisinde internetin bir düzlem olarak ilerlemesiyle bir işletme devrimi ve bu düzlemin kurallarını başarı için anlamaya çalışmaktır. Bu kurallar arasında başlıcası şudur: Ağ etkilerini daha çok insanın kullanabilmesi için programlar kurmak.”

Bunun anlamı şudur; İnternet kullanıcıları salt bilgi alan kişiler olmanın ötesinde, teknolojinin getirdikleri ile bilgi veren, geliştiren, önüne sunulan seçenekler ile yenilikler yaratan üretken kullanıcı sınıfına dönüşecektir.

Bu bana göre çok heyecan verici. Zira eskiden Google amcaya soru sorar, oradan bir copy/paste ile oluşturulmuş siteye girer, okur, heyo çığlıkları ile kapar giderdi kullanıcı. Fakat bununla artık farklılaşmalar doğdu, kullanıcılar doyuma ulaşmaya başladı. Sanılanın aksine Web 2.0; Ajax, CSS, Div taglarından ibaret bir dil topluluğu değildir. Hala ne yazık ki bu anlaşılamadı.

Peki bunun dışında ne getirecek? Web 2.0 ile Açık kaynaklı yazılımın, Microsoft’un ne alakası var?

Doğrudan kullanıcıyı etkileyecek ve içine çekecek olan Web 2.0 yazılımları ile kullanıcıların her biri artık bir geliştirici olacaktır. Bu da özgür yazılımın insanılmaz bir grafik ile yükselişe geçmesini sağlayacaktır. Öyle ki bu kullanıcılar özgür yazılım projelerinde aktif rol oynayarak internette salt bilgi alan kesimden çıkıp insanlara çözümler sunan bireylere dönüşecektirler. Hatta bundan ekmek yenmeye başlandı bile. Dikkat ederseniz Facebook.com Web 2.0′ın zirvesinde şu an. Fql, Ftml gibi kendi yazılımları tamamen PHP, C ve C++ ile geliştirildi. Bu da özgür yazılım ile oluşturulmuş en büyük sitelerden biri arasında kendisini göstermemizi sağladı. Böylece sessizce olsa da özgür yazılıma güven arttı, bu da doğrudan Microsoft ve benzeri firmaları düşündürüyor olsa gerek. Örneğin İngiltere’de şirketler artık Windows sunucuları yerine Unix sunucuları tercih ediyorlar. Zira Unix sunucuların bir yıllık maliyeti, Microsoft sunucularının bir aylık maliyetine eşdeğer.
Sektörlere getirecekleri

Şunu iyi biliyoruz ki sektörler en çok maliyete ve faydaya önem veriyor. Eğer bir firma, şirket, kobi, holding kendisine fayda sağlayacak, satış yüzdelerini artıracak bir yazılım bulursa dikkat kesiliyor, gerekirse büyük meblağlar ödüyor. Fakat özgür yazılım ile bu meblağlar düşecek, çözümler artacak, tekel yok olacaktır. Zira çözümler artacak, seçenekler çoğalacaktır. İnsanların Linux tabanlı sistemlere güveni, interneti etkin kullanmasıyla yazılım anlayışı değişecektir. Firmalar mağazalarını tek tıkla internet üzerinden kontrol edebilecek, anlık veriler ile en kesin rakamlara ulaşabilecekler ve en önemlisi bu sistemler için milyon dolarlar ödemeyeceklerdir.

Sözün özü, katılımcı internet sitelerinin yükselişte olduğu günümüzde şirketler için fantastik çözümler sırada gibi. Alışılagelmiş yazılımların yanında daha etkileşimli, kullanıcısına heyecan veren basit ama kullanışlı, çok daha hızlı sistemler kullanıcılarını bekliyor olacak. Yazılımcılar ise kapalı kutu Microsoft yazılımlarından çıkıp, bağımsız yazılımlar ile programlarını tamamen özgürce, altyapısını bilerek, alınteri ile üretip oldukça özgün sistemler kurabileceklerdir. Web 2.0 standartlarıyla beraber gelen Ajax ve bilimum ekipmanı da kullanarak oldukça hızlı ve oldukça esnetileblir, güvenilirliği yüksek yazılımları oldukça düşük maliyetlere müşterilerine sunarak kar marjlarını yüksek tutacaklardır.

Sanırım tüm bu anlattıklarım bir laf çorbası olmamıştır. Bunlar beni heyecanlandırıyor. Hem de çok. Umarım heyecanımı düzgün paylaşıp sizlere faydalı olabilmişimdir. Yakında yeni projelerim ile beni Web 2.0 içinde göreceksiniz gibi hissediyorum :)

Facebook Application Yapmak?

Her yerde facebook, herkeste facebook

Hatırlıyorum da bir sıralar yonja.com diye bir şey vardı aynen facebook gibi. Fakat bu örnek biraz daha farklı. En azından limitler var (esasında oldukça limit var), en azından İngilizce bilmeyenler pek etkin olamıyor. Bu da (en azından Türk kullanıcıları için) bir eleme demek. Bunun sonucunda da daha farklı bir kullanıcı kitlesi ortaya çıkıyor. Fakat neden bu facebook denen hadise bu kadar popüler oldu? Benzer pek çok komünite hali hazırda vardı? Ama o uygulama (applicationlara uygulama diyeceğim bundan sonra) hazinesi yoktu hiç birinde değil mi?

Evet, facebook garip bir hızla büyüdü. Kulaktan kulağa denebilir belki ama yaratıcıları şahane bir altyapı ile karşılıyorlardı misafirlerini. Uygulamalar ise en çok dikkat çeken şeyler oldu, zira pek çok komünite sisteminde bu denli kullanıcıya panelini yönetebilme imkanı sunan bir platform yoktu.

Peki ya Facebook için uygulama geliştirme?

Nasıl oluyor da bu denli kalabalık bir uygulama arşivi inşaa edilebilmiş demişsinizdir belki siz de içinizden. Ortaya çıkalı ne kadar oldu da 6000 den fazla uygulama geliştirilebildi?

Elbette bu ortak bir inşaanın sonucu. Paylaşımcı içerikten sonra popüler bir sistem de paylaşımcı inşaa olacak gibi gözüküyor. Elbette daha evvelden denenen bu sistemler Facebook’ta zirve yapmış durumda. Dikkat ederseniz ekstra uygulamaları olmadan Facebook klasik bir arkadaşlık sisteminden farksız.

Facebook’un Anatomisi

Alıyoruz neşterimizi elimize ve başlıyoruz Facebook yapısını incelemeye.

Facebook, Left Bar (Sol Menü) ve FaceBook Canvas Pages’ten oluşuyor esasında.

Sol menü eklediğimiz uygulamaların listelendiği güçlü bir menü uygulamasıdır. Facebook Ajax altyapısı kullandığından bu menüde drag and drop özelliği mevcuttur, yani menünüzü kolayca tasarlayabilirsiniz.

Canvas Page kısmı ise uygulamaların koştuğu içerik alanıdır. Bu kısımda bir uygulamaya bağlı tüm işlemler gerçekleştirilir.

Hali hazırda profilinizin detayların listelendiği sayfa da bir canvas sayfadır.

Bunun yanında her uygulamanın bir ana sayfası vardır. Bu kısım sol menüden tıklandığında gelen alandır.

Çoğu uygulama facebook kullanıcılarının profillerinde gözükür. Bu kısım belki de uygulama geliştiricilerinin en fazla üstünde yoğunlaşması gereken alanlardan biridir. Zira bir uygulamanın hızla yayılması profiller vasıtası ile olur. Bu sebeple bu alan tasarlanırken karışık olmayan fakat ilgi çekici uygulamalar düşünülmelidir.

Elbette bunların yanında pek çok özellik de mevcut. Fakat şimdilik bunları biliyor olmamız yeterli.

Şimdi geçelim uygulamamızın içine dalmaya. Öncelikle http://developers.facebook.com/step_by_step.php adresinde oldukça pratik bir uygulama geliştirme aparatı bulunmakta. İngilizce bilen arkadaşlar muhakkak onu da incelemeliler.

Bir Uygulama Geliştirelim

Öncelikle http://developers.facebook.com/ adresinden Get Started kısmına ulaşıp Add Facebook Developer Application diyerek uygulama geliştiricileri için tasarlanan uygulamayı profilimize yüklemeliyiz. Bundan sonra developer uygulamamıza girip Setup New Application diyerek ilk uygulamamızı listemize alabiliriz.

Bu adımdan sonra yapılacak şeyler hayalimizdeki uygulamanın bilgilerini içermektedir. En önemlileri olan Application Name uygulamamızın ismi, Callback Url uygulamamızın yer alacağı dizinimizdir. Unutulmamalıdır ki facebook kullanıcılarına bir alan vermemektedir. Bu sebeple çalışmalarımızı kendi hostingimiz üzerinden yapmalıyız. Canvas Page URL ise uygulamamızın kısa yolu olacaktır. Akılda kaılıcı ve uygulamamızın ismi ile alakalı bir kısayol olmasına dikkat edilebilir, edilmeyebilir de.

Bir şekilde bu aşamaları geçtikten sonra uygulamanızı listenize ekleyebileceksiniz. Fakat elbette iş çok daha farklı.

Facebook bildiğimiz mantıkların ötesine geçmiş durumda. Bizlere FBML (Facebook Markup Language), FQL gibi alışık olmadığımız bir çalışma örneği sunuyor. Hatta “oha adamlar kendi dillerini yazmışlar” diyorsunuzdur içinizden sanırım.

Bu denli derin bir konuya girip darmadağın olmak istemediğimden kısa kısa özetliyorum. Belki ileride daha ayrıntılı bir döküman hazırlayabiliriz.

Şimdi bu facebook ile çalışabilmek için iki önemli anahtara ihtiyacımız var. İlki API Key, diğeri ise Secret Key. Bunlar API geçişlerinde Facebook’un uygulamanızı güvenli bir şekilde tanımasına olanak sağlayan köprü anahtarcıklarıdır. Uygulamanızın config dosyasında muhakkak tanımlanmalıdırlar.

$appapikey = '[your api_key]‘;
$appsecret = ‘[your secret]‘;
$facebook = new Facebook($appapikey, $appsecret);
$user = $facebook->require_login();

Şeklinde facebook uygulamamızı çalıştırabiliriz.

Fakat öncelikle bu classları tanıyacak altyapıyı elde etmemiz gerekli. Eğer ki PHP kullanıcısı iseniz Client Library’niz hazır. http://developers.facebook.com/resources.php adresinden edinebilirsiniz. Bundan sonra tek yapmanız gereken ilgili dosyaları include ederek tasarımınızı yapmanız.

http://developers.facebook.com/step_by_step.php#downloads adresinden facebook’un developer adaylarına yardım olması amacı ile sunduğu örnek uygulamayı keşfedebilirsiniz.

Şimdilik bu kadar.

Beş dakika

Başla!,

Beş dakikalık hayat..,

Su gibi geçiyor. Su gibi duru değil. Boşluk ve ıssızlık. Karanlık ve aydınlık. Para ve çamur, kir ve koku. Zaman avlanıyor.

İnsan.

Gösteriyor aydınlığını. Karanlığı o kadar aydınlık ki. Aldanıyor insan. Zaman avlanıyor.

İnsan.

Düşünüyor düşünemediğinde. Ağlıyor kahkahalarıyla. İçi parçalanıyor. Zaman avlanıyor.

Hayat.

An. Ona ulaşmak, onu yakalamak yok. Ona dokunmak zor. Kovalamaca yoruyor ademi. Âdem olmak zor.

Beş dakikada bitiyor hayat.

Son.