Teknoloji ve Dijital Dünya, Tüm Yazılar

Internet Explorer hakkında – Zatına değil, sıfatına

90’ların ortalarında piyasada iki büyük tarayıcı vardı. Netscape Navigator ve Internet Explorer (IE). Microsoft, ilk internet sayfamı yaptığım yıl olan 1997’de Internet Explorer’ı Windows’la beraber, ücretsiz olarak dağıtmaya başladı. Bu son derece yerinde bir hamleydi. Netscape’in o zaman %72 olan pazar payını bir anda Internet Explorer’a çekti. Tarayıcı savaşlarının birincisinden galibiyetle ayrıldı. Netscape’i tarihe gömdü.

Ya o, ya ben

Birkaç yıl öncesine kadar, internet sitelerinin girişine “splash screen” denen ve neredeyse hiç işe yaramayan bir sayfa konulurdu. Hatırlayanlar olacaktır, eskiden bu sayfaların aşağılarına doğru, minik harflerle şunlar yazardı:

“Bu site Internet Explorer 4 ve 800×600 çözünürlükte görüntülenmek için hazırlanmıştır.”

İlginç değil mi? Siteyi yapan kişi hem hangi tarayıcıyı kullanacağınızı, hem de çözünürlüğünüzün (aslında ekran boyutlarının) ne olması gerektiğini söylüyor. Büyük cesaret!

Bugünün şartlarında biraz tebessümle hatırladığımız bu ibare, dönemin web kodlayıcılarının yıldırıcı problemlerine buldukları ilk çözümdü. Tarayıcılar arasında uzlaşmaz farklılıklar bulunuyordu ve sektör çalışanları, akıl sağlıklarını korumak zorundaydılar. Bu site ziyaret edilecekse, IE4 kullanılacaktı.

HTML’nin özünde son derece esnek ve evrensel bir dil olmasına karşın, tarayıcılar, özellikle de görüntüleme konusunda çok farklı yollar tutmuşlardı. Bir tarayıcıda çalışan sitenin diğerinde de aynı şekilde çalışmasını sağlamak zaten yeterince zordu. Buna ek olarak müşteriler ve tasarımcılar, basılı medyadan kalan bir alışkanlıkla her monitörde, her tarayıcıda birebir aynı görüntüyü elde etmek istiyorlardı. Camiada ‘pixel perfect’ olarak anılan bu hedefin verimsiz ve gereksiz olması bir yana, imkansız olduğunu anlatmak bile yıllarımızı aldı. Geliştiriciler, müşterinin “neden burada farklı görünüyor?” sorularına bir cevap olarak, giriş sayfasının altına “Internet Explorer için hazırlanmıştır” yazıyorlardı. Ekran boyutlarını vermelerinin sebebi ise, yine bir basılı medya alışkanlığı olan sabit ölçülerle çalışmanın sonucuydu. Bu konuyu ayrıntılandırmak başka bir yazıyı gerektirir. Şimdilik responsive tasarımın çözdüğü problemlerden birinin de bu olduğunu söylemekle yetinelim.

Web 2.0

İnternet sitesi yapanlar, problemlerinin daha köklü bir çözüm gerektirdiğini bir süre sonra fark ettiler. İnternet teknolojilerinde bir standardın olması ve bunun tarayıcı üretenler tarafından uygulanması gerekiyordu. İnternetin mucidi Tim Berners-Lee tarafından, internet standartlarını belirlemek amacıyla 1994’te kurulmuş bulunan W3C’nin sepesifikasyonlarının ciddiye alınması ve uygulanması yönünde dünya çapında bir kampanya başlatıldı. İnternetin manevi babası Jeffery Zeldman’ın 2001 yılında yayınlanan ‘Kötü tarayıcıların canı cehenneme’ (To hell with bad browsers) isimli yazısını heyecanla ve sevinç göz yaşları içinde okuduk. Zeldman, web sitesi yapan bizlerin, web standartlarıyla uyumlu olmayan tarayıcıları desteklemekten vazgeçmemiz gerektiğini anlatıyordu. Müşterilerimizi ve kullanıcılarımızı, tarayıcılarını güncellemeye teşvik etmemiz gerektiğini söylüyordu. Hepimiz, önce başımızla, sonra yazdığımız kodla onu tasdik ettik.

Derken Firefox, Safari, Chrome ve Opera gibi yeni tarayıcılar devreye girdi. Google, arama sonuçlarıyla beraber kendi tarayıcısı olan Chrome’un reklamını yapmaya başladı. Chrome hızlıydı. Firefox saygılıydı. Safari fena değildi ama Mac OS ile birlikte geliyordu ve Mac ortamının yerlisiydi. İnternet sitesi yapanlar tercihlerini, web standartlarını destekleyen bu yeni tarayıcılardan yana kullanmaya başladılar. Yeni, güzel, günceli takip eden siteler, yavaş yavaş Internet Explorer’ı desteklemekten vazgeçtiler. IE hızla kullanıcı kaybediyordu.

Web 2.0 olarak anılan bu akımla birlikte internetin içi ve dışı büyük bir değişim geçirdi. Geliştiriciler artık standartlarla yazmanın tadını almışlardı. CSS kullanıyor, semantik HTML yazıyor, JavaScript”i gerçek bir programlama dili gibi kullanmanın ilk denemelerini yapıyorlardı. Aynı kodu, her tarayıcıyla çalışsın diye, 2-3 farklı şekilde yazmak zorunda oldukları günler geride kalmıştı.

Derken tarayıcı üreticileri, özellikle Google, sürekli gelişen internet teknolojilerine ayak uydurabilmek için otomatik güncelleme yöntemini kullanmaya başladılar. Chrome’un otomatik güncellemesi çok başarılıydı. Tarayıcının arkada sürekli olarak kendini güncellediğini fark bile etmiyorduk. Diğer tarayıcılar da bir şekilde kullanıcıyı uyararak ve kurulumu kolaylaştırarak güncel kalmayı başarıyorlardı. Artık web standartları, tarayıcı üretenler uyguladığı anda kullanıcı ile buluşuyordu. Bir istisna ile: Internet Explorer.

Hadi ama IE

Microsoft’un 2009 yılında büyük bir gururla piyasaya sürdüğü IE8’de otomatik güncelleme yoktu. Ortalama kullanıcı ise tarayıcının işletim sisteminden ayrı bir program olduğunu ve alternatiflerinin bulunduğunu bilmiyordu. Tarayıcıyı güncellemesi çok düşük bir ihtimaldi. Üstelik Microsoft tarayıcısını işletim sistemine o kadar bütünleşik yapmıştı ki, Internet Explorer’ı kaldırmak bile mümkün değildi -en azından biz normal kullanıcılar için.

Fakat asıl önemlisi, IE8 yeni teknolojileri desteklemiyordu! Buna karşın, pazar payını kaybetmiş olsa da, Windows işletim sistemi ile çalışan dünya üzerindeki milyonlarca bilgisayarda bu tarayıcı kuruluydu. IE’yi gözden çıkarmak mümkün değildi.

Bunun site yapanlar için anlamı şuydu: önce standartlarla uyumlu bir site yapılıyor, sonra bu sitenin IE’de makul bir şekilde görüntülenmesi için ayrı bir çalışma daha yapılıyordu. Geliştirici forumları, “Şu şu özelligi IE’de nasıl çalıştırırım” gibi sorularla, bloglar “IE’de şunu şunu yapmanın yolu” gibi yazılarla şenlendi. Geliştiriciler arasında IE’ye karşı bir antipati, hatta bir öfke uyanmaya başladı. İsmini hatırlayamadığım bir yazar, bir yazısında içtenlikle soruyordu: “Internet Explorer, neden benden nefret ediyorsun?

Sessiz azınlığın sesi

Tüm bunlar olup biterken, zamanının önemli bir kısmını internet sitesi yaparak geçiren bendeniz de bizzat yaşayarak gözlem yapma fırsatı buluyordum. Bahsi geçen bloglarda, forumlarda kendi dertlerime derman ararken, IE hakkında okuyup durduğum, hemen hepsi olumsuz yorumlardan bazılarının gerçekten yaratıcı ve komik olduklarını fark ettim. İşim arasında denk geldikçe, beğendiklerimi bir kenara not etmeye başladım. Bu notları sadece kendim için aldığımdan, çoğunda kaynak bilgisi veya tarih gibi ayrıntılara dikkat etmiyor, beğendiğim yorumu kopyalayıp bir metin belgesine yapıştırıyordum. Bu yüzden özensiz ve bilgi değeri düşük bir arşiv oldu. Fakat yine de, biriken yorumlar bir araya geldiklerinde, o dönem web sitesi yapanların konuyla bakışına bir miktar ışık tutmuyor değil. Velhasıl bu notları buraya almanın uygun olacağını sanıyorum.

İşte Internet Explorer hakkında muhtemelen 2005-2013 yılları arasında yapılan yorumlardan bazı örnekler:

Internet Explorer’ı suçlamayı bırakmanın zamanı geldi. http://www.smashingmagazine.com/2012/07/12/its-time-to-stop-blaming-internet-explorer/

matchMedia tüm tarayıcılar tarafından mükemmel bir şekilde destekleniyor. Tek bir istisna hariç – tahmin edin – Internet Explorer. thenewcode.com

Eğer Internet Explorer varsayılan tarayıcınız olmayı talep edecek cesareti buluyorsa, siz de müşterinize sitesini responsive olarak kodlattırması gerektiğini söyleyecek cesareti bulabilirsiniz. http://24ways.org/2014/what-it-takes-to-build-a-website/

… çünkü bunca yılın ardından, IE hala beş para etmiyor. blesscss.com.

Bu, tüm tarayıcılar, hatta sürüm 9’dan itibaren Internet Explorer tarafından bile desteklenen bir özellik. Yalnız tabii ki IE’de bir bug var.

(Bu fazla teknik olduğu için çevirmeyeceğim) A note on delegation: you can easily set this up with a single event listener on the document node and use event delegation to handle multiple expanding text areas efficiently, but only if you’re not supporting IE8 or below, as Microsoft, in their infinite wisdom, did not make the onpropertychange event bubble. Expanding Text Areas Made Elegant by NEIL JENKINS – alist apart

Doğru duydunuz: ne gösterişli JavaScript, ne katmanlar, ne de sürekli güncel tutulması gereken gezinim sayfaları -yalnızca sayfa sonuna işaret eden bir bağlantı. Sanırım buna HTML 0 diyebiliriz (ki duyduğuma göre hemen tüm tarayıcılarda çalışıyormuş -Internet Explorer hariç). Mobile First. Luke Wroblewski (A Book Apart, 2011).

Internet Explorer, her toplantının neşesi, kendine has bir yöntem kullanarak event örneğini genel bir nitelikmiş gibi (yani window nesnesine ait bir nitelikmiş gibi) ele alıyor.

Internet Explorer burnunun dikine gitmeye devam ederek bu işlevi, kendine has bir arayüz kullanma pahasına, DOM seviye 2 olay modelinde ele alıyor.

Bu sayfayı standartlarla uyumlu (yani Internet Explorer haricinde) bir tarayıcıya yüklersek ve resme tıklarsak figürde gösterilen sonucu elde ediyoruz.

Tüm event handler’ları bir dizi ‘eğer’ ifadesi içinde yazmak -standart tarayıcılar için bir tane, Internet Explorer için bir tane- erken bunamaya doğru gitmenin en garantili yollarından biridir.

Sonunda bugün, web’in ilerlemesine mani olan son tarayıcıyı da gömme sürecine girdik (Huzur içinde yat, Internet Explorer 8). Mathias Bilmann Christensen

Bitti mi?

Microsoft’un tekel olmanın verdiği kibir ve körlükten sıyrılması çok zamanını aldı. O kadar ki, 2016 yılında, hala şanına yakışır bir tarayıcı yapabilmiş değil. Yeni tarayıcısı Edge ile web camiasından bazı olumlu yorumlar almış olsa da, geçmişin acı hatıraları henüz tazeliğini koruyor. IE İnternet sitesi yapımıyla uğraşan insanlara çok zaman kaybettirdi. Onların saygısını ve güvenini kazanmak da, eğer bu mümkünse, zaman alacak.

Yine de, en azından artık doğru yönde ilerlediğini söyleyebiliriz.

Etiketler: Web tasarım

Bunlar da ilginizi çekebilir