İçeriğe atla

GIF

Hareketli GIF'lerin Evrimi: CompuServe'den Modern Memlere

5 min read

Hareketli GIF'lerin Evrimi: CompuServe'den Modern Memlere

Bugün internette herhangi bir zaman geçiriyorsanız, hareketli GIF'lerden kaçınmak neredeyse imkansızdır. Twitter ve Slack'teki tepki (reaction) görsellerinden Reddit ve WhatsApp'taki döngüsel (looping) memlere (meme) kadar GIF (Graphics Interchange Format - Grafik Değiştirme Biçimi), dijital duygunun fiili görsel dili haline gelmiştir.

Ancak kedilerin, ünlülerin ve film sahnelerinin bu dönen kliplerinin arkasında teknolojik olarak çok eski, inanılmaz derecede verimsiz ve bilgisayar bilimlerindeki en uzun süredir devam eden tartışmalardan birine (nasıl telaffuz edilir?) konu olan bir format yatıyor.

Bu kapsamlı rehberde, 1980'lerin sonlarındaki mütevazı başlangıcından itibaren GIF'in evriminin izini sürecek, onu neredeyse öldüren patent savaşlarını inceleyecek, teknik sınırlamalarını anlayacak ve popüler kültür onun ölmesine izin vermezken modern web'in neden onu çaresizce değiştirmeye çalıştığını keşfedeceğiz.

GIF'in Doğuşu (1987)

GIF'i anlamak için 1987 yılına geri dönmeliyiz. Bildiğimiz anlamda internet henüz mevcut değildi. Bunun yerine, insanlar çevirmeli (dial-up) bülten panosu sistemlerini (BBS) ve CompuServe gibi ticari çevrimiçi hizmetleri kullandılar. İnternet bağlantı hızları acı verici derecede yavaştı - genellikle saniyede 300 ila 1200 bit.

O zamanlar, bu yavaş bağlantılar üzerinden görüntü göndermek bir kabustu. Bilgisayar üreticilerinin kendi tescilli görüntü biçimleri vardı, bu da bir Apple bilgisayarına kaydedilen bir görüntünün genellikle bir IBM veya Commodore'da açılamayacağı anlamına geliyordu.

CompuServe'de bir yazılım mühendisi olan Steve Wilhite, iki sorunu çözmekle görevlendirildi:

  1. Tüm bilgisayar markalarında çalışan evrensel bir görüntü formatı oluşturmak.
  2. Dosya boyutunun, yavaş çevirmeli modemler üzerinden hızla indirilebilecek kadar küçük olduğundan emin olmak.

1987'de Wilhite ve ekibi GIF87a'yı piyasaya sürdü. Görüntülerin herhangi bir veri kaybetmeden sıkıştırılmasına (kayıpsız sıkıştırma - lossless compression) olanak tanıyan LZW (Lempel-Ziv-Welch) adlı bir veri sıkıştırma algoritması kullandı. Bu devrim niteliğindeydi. Aniden, kullanıcılar renkli görüntüleri farklı platformlarda verimli bir şekilde paylaşabildiler.

Not: Kayıtlara geçmesi açısından Steve Wilhite, 2013 yılında kesin bir dille fıstık ezmesi markası olan Jif gibi yumuşak bir 'G' ile "JIF" olarak telaffuz edildiğini belirtti, ancak sert 'G' (gift-hediye kelimesindeki gibi) hala çılgınca popülerdir.

Animasyonun Tanıtımı (1989)

İki yıl sonra CompuServe formatın güncellenmiş bir sürümünü yayınladı: GIF89a. Bu güncelleme, interneti sonsuza dek değiştirecek bir özellik içeriyordu: Animasyon gecikmeleri (Animation delays).

GIF89a standardı, birden fazla görüntü karesinin tek bir dosya içinde saklanmasına olanak tanıdı. Geliştiriciler, her bir karenin ne kadar hızlı görüntülenmesi gerektiği arasına bir zaman gecikmesi ekleyerek, esasen bilgisayarlar için flipbook'lar (hareketli sayfalar) yarattılar. Daha sonra 1995'te Netscape Navigator 2.0 (en eski web tarayıcılarından biri) bu animasyonların sonsuz bir şekilde döngüye (loop) girme yeteneğini ekledi.

Bu, Web 1.0 estetiği dönemini doğurdu. 1990'ların sonlarındaki web, animasyonlu "Yapım Aşamasında" tabelaları, dans eden bebekler ve dönen 3 boyutlu yanan kafatasları ile doluydu.

Patent Savaşları ve PNG'nin Doğuşu

1990'ların ortalarında GIF'in başına bir felaket geldi. GIF'i mümkün kılan sıkıştırma algoritmasının (LZW) patenti Unisys adlı bir şirkete aitti. 1994 yılında Unisys, GIF oluşturabilen veya okuyabilen yazılımlar yazan tüm yazılım geliştiricilerinden lisans ücreti almaya başlayacaklarını duyurdu.

Açık kaynak web topluluğu öfkelendi. Ünlü "Tüm GIF'leri Yakma Günü" (Burn All GIFs Day) olarak bilinen bir etkinlikte geliştiriciler formatı aktif olarak boykot etti.

Bu kriz doğrudan PNG (Taşınabilir Ağ Grafikleri - Portable Network Graphics) formatının yaratılmasına yol açtı. PNG, özellikle GIF'in yerini alması için tasarlandı. Patentsizdi, (GIF'in aksine) milyonlarca rengi destekliyordu ve daha iyi sıkıştırma sunuyordu. Ancak, PNG geliştiricileri çok önemli bir karar verdi: animasyon desteği eklemediler. Bu nedenle hareketli GIF hayatta kaldı. (Unisys'in patentlerinin süresi 2004 yılına kadar küresel olarak sona erdi ve GIF'in kullanımı yeniden ücretsiz hale geldi).

Web 2.0 ve Mem (Meme) Kültürünün Yükselişi

2000'lerin sonu ve 2010'ların başında geniş bant (broadband) internet yaygınlaştı. Tumblr ve Reddit gibi sitelerin popülaritesi patladı. İnternet hızları daha yüksek olduğu için, kullanıcılar sessiz, döngüsel kısa video klipler oluşturmak için TV şovlarından ve filmlerden yüzlerce kareyi birbirine bağlamaya başladılar.

GIF, basit bir kullanıcı arayüzü öğesinden (yükleme çarkı gibi) güçlü bir hikaye anlatım aracına dönüştü. Kelimelerin yetersiz kaldığı metin tabanlı ortamlarda tonu, iğnelemeyi ve tepkiyi iletmenin bir yolu haline geldi. Giphy ve Tenor gibi arama motorlarının piyasaya sürülmesi, GIF'leri doğrudan klavyelerimize entegre ederek modern iletişimdeki yerlerini sağlamlaştırdı.

Teknik Gerçeklik: Geliştiriciler Neden GIF'lerden Nefret Eder?

Kültürel olarak muazzam popülerliklerine rağmen, web geliştiricileri genel olarak GIF formatını sevmezler. Teknik açıdan bakıldığında, GIF modern video ihtiyaçları için temelden bozuktur.

1. Korkunç Renk Sınırlamaları

Bir GIF kare başına yalnızca 256 renk görüntüleyebilir. Modern ekranlar milyonlarca rengi görüntüleyebilir. Yüksek çözünürlüklü bir videoyu GIF'e dönüştürdüğünüzde, yazılım binlerce rengi çöpe atmak zorunda kalır ve bu da çirkin, pikselli ve "bantlanmış" (banded) renk geçişleriyle sonuçlanır.

2. Devasa Dosya Boyutları

GIF hiçbir zaman bir video codec bileşeni olarak tasarlanmamıştır. Sadece her kareyi ayrı bir resim olarak kaydeder. Saniyede 30 kare hızında çalışan 3 saniyelik bir animasyonunuz varsa, GIF dosyası 90 ayrı görüntü saklamak zorundadır. Kısa, düşük kaliteli animasyonlu bir GIF kolayca 10 Megabayt veya daha büyük olabilir, bu da devasa miktarda mobil veri tüketir ve web sayfası yükleme sürelerini yavaşlatır.

3. İşlemci (CPU) Yoğunluğu

Tarayıcılar büyük GIF'leri çözmekte zorlanır. Tek bir web sayfasında birden fazla GIF olması tarayıcının donmasına, dizüstü bilgisayarın pilinin hızla tükenmesine ve telefonun aşırı ısınmasına neden olabilir.

Modern Çözüm: Sahte GIF'ler (MP4, WebM, WebP)

GIF'ler o kadar verimsizdir ki, modern teknoloji endüstrisi, öyle görünse bile bunları kullanmayı büyük ölçüde bıraktı.

X (eski adıyla Twitter), Discord veya Imgur'da bir "GIF" yayınladığınızda, bu platformlar izleyicilere aslında bir GIF dosyası sunmaz. Arka planda sunucuları, GIF'i anında sessiz, otomatik oynatılan, döngüsel bir MP4 veya WebM video dosyasına dönüştürür.

HTML5 video etiketlerini (<video autoplay loop muted playsinline>) kullanarak geliştiriciler bir GIF'in tam deneyimini ancak devasa avantajlarla kopyalayabilirler:

  • Dosya boyutu küçültme: Bir MP4 videosu genellikle eşdeğer bir GIF'ten %80 ila %95 daha küçüktür.
  • Milyonlarca renk: Video codec bileşenlerinde 256 renk sınırı yoktur.
  • Donanım ivmesi (Hardware acceleration): Telefonlarda ve bilgisayarlarda, MP4'leri zahmetsizce çözmeye adanmış özel çipler bulunur ve bu da pil ömründen tasarruf sağlar.

Alternatif olarak, gerçek görüntü formatları için Hareketli WebP (Animated WebP) ve Hareketli AVIF (Animated AVIF) ortaya çıkmıştır. Bu modern formatlar, geleneksel bir GIF'in çok küçük bir bölümü kadar dosya boyutunu korurken animasyonu, alfa kanalı saydamlığını ve milyonlarca rengi destekler.

GIF Hiç Ölecek mi?

Teknolojik olarak GIF, 1987'den kalma bir kalıntıdır. Şişkin, çirkin ve verimsizdir. Web geliştirme topluluğu şimdiden MP4, WebP ve AVIF'e geçmiştir.

Ancak kültürel olarak "GIF" asla ölmeyecek. Terim, dosya uzantısını (.gif) aşarak jenerik bir isme, yani altta yatan teknolojiye bakılmaksızın kısa, sessiz, döngüsel videoları tanımlamak için kullanılan bir kelimeye dönüştü. Gönderdiğimiz dosyalar aslında son derece optimize edilmiş MP4 videoları olsa bile, önümüzdeki on yıllar boyunca arkadaşlarımıza "GIF" göndermeye devam edeceğiz.

Buy me a coffee