Hypertext'in Tarihi ve Tek Yönlü Bağlantının Arayüze Faturası
Hypertext bugün o kadar sıradan ki bağlantıya tıklamayı bir tasarım kararı saymıyoruz. Oysa web'in bağlantı modeli 1960'larda masadaki birkaç seçenekten yalnızca biriydi. Seçilen sürüm olağanüstü bir ölçek getirdi, faturasını da arayüze kesti: kırık bağlantılar, cevabı olmayan "buraya nereden gelinir" sorusu, uzun oturumların sonunda gelen kaybolma hissi.
Sıra karışıyor: önce Memex vardı
Yaygın anlatım, Ted Nelson'ın 1960'larda hypertext'i ortaya attığını ve Vannevar Bush'un Memex'inin bu fikri desteklediğini söyler. Kronoloji tersinden kurulmuş. Bush As We May Think'i 1945'te Atlantic'te yayımladı ve mikrofilm rulolarını birbirine bağlayan, kullanıcının kendi "iz"lerini kaydedip başkasına devredebildiği bir makine tarif etti. Nelson kelimeyi 1965'teki ACM bildirisinde ortaya koyduğunda Bush'un metni yirmi yaşındaydı; Nelson zaten onu kaynak gösteriyordu.
Bu kılı kırk yarmak değil, çünkü Memex'in asıl önerisi bağlantı değil izdi: kullanıcının gezinme yolu, kendi başına bir belge. Web bu kısmı hiç uygulamadı. Tarayıcı geçmişi sende kalır, paylaşılmaz, üzerine not düşülmez, ikinci bir kişiye devredilmez.
Laboratuvardan masaüstüne
1967'de Brown Üniversitesi'nde Andries van Dam ve ekibi Hypertext Editing System'i bir IBM 2250 terminalinde çalıştırdı. Bir yıl sonra Douglas Engelbart NLS'i canlı gösterdi; aynı demoda fare, ekran paylaşımı ve bağlantılı belgeler bir aradaydı.
Ticari dalga yirmi yıl sonra geldi. Apple HyperCard'ı 1987'de her Mac'e ücretsiz koydu, OWL'un Guide'ı masaüstü hypertext'ini satılabilir bir ürüne çevirdi, Xerox PARC NoteCards'ı araştırmacıların not ağı olarak kullandırdı. Üçünün de ortak sınırı aynıydı: bağlantı diskin, en fazla yerel ağın içinde kalıyordu.
Halasz'ın listesi ve web'in verdiği cevap
Frank Halasz 1987'deki ilk uluslararası Hypertext konferansında NoteCards deneyiminden çıkardığı yedi sorunu sıraladı. Üçü hâlâ canlı: büyük ağda arama, düğümleri üst düzey yapılara toplama, kullanıcının kendi kavramsal yapısını sisteme yansıtabilmesi.
Web bunların hiçbirini hypertext'in içinden çözmedi. Aramayı sistemin dışına, ayrı arama motorlarına devretti ve bağlantı yapısını gezinme aracı olarak değil sıralama sinyali olarak kullandı. PageRank, Halasz'ın istediği yapısal aramanın cevabı değil, etrafından dolaşan bir çözüm. Kompozisyon sorunu da içerik yönetim sistemlerinin kategori ve etiket kutularına düştü; yani içeriğin kendi yapısından değil, yazarın elle kurduğu sınıflandırmadan besleniyor.
Tek yönlü bağlantı, web'i ölçekleyen taviz
Nelson'ın Xanadu'sunda bağlantılar çift yönlüydü. Bir belgeye kim bağlandıysa o belge bunu bilirdi ve hedef ortadan kalkarsa bağlantı hiç kurulamazdı. Tutarlı bir tasarım, ama her bağlantı için iki tarafın da haberdar olmasını ve merkezi bir kayıt tutulmasını gerektiriyor. Xanadu'nun on yıllarca tam sürüm çıkaramamasının sebebi büyük ölçüde bu.
Berners-Lee 1989 önerisinde bu tutarlılığı bilerek feda etti. Web'in bağlantısı tek yönlü ve doğrulanmamış: hedefin var olup olmadığını bilmeden yazarsın, hedef silinirse bağlantı kırılır ve sistem çalışmaya devam eder. Ölçek tam olarak buradan geldi, çünkü kimseden izin almadan bağlantı kurulabiliyor.
Arayüzdeki karşılığı da bu. 404'ün bir kullanıcı deneyimi kategorisi hâline gelmesi, tek yönlü bağlantının doğrudan sonucu. "Bu sayfaya hangi sayfalardan gelinir" sorusunun tarayıcıda cevabının olmaması da öyle. Kendi sayfamıza kimin bağlandığını öğrenmek için dışarıdan araç satın alıyoruz; Xanadu'da o bilgi sistemin kendisinde duruyordu.
Kaybolma hâlâ arayüz işi
Literatürün lost in hyperspace dediği sorun 1980'lerden kalma ama emekli olmadı. Doğrusal olmayan bir yapıda okuyucu nerede durduğunu, nereden geldiğini ve neyi atladığını kendi başına takip edemez. Çözüm bağlantı sayısını kısmak değil, konumu görünür kılmak: sayfanın hiyerarşideki yerini gösteren bir iz ve aynı kümedeki içeriğe geçiren tutarlı bir blok işi büyük ölçüde bitirir.
Geriye kırık bağlantı kalıyor ve çoğu site orayı boşa harcıyor. 404 sayfasına bir arama kutusu koyup kullanıcıdan sorguyu baştan yazmasını isteme; aradığı sayfanın adı zaten URL'in içinde duruyor. Slug'ı tirelerinden ayır, kendi arama indeksinde çalıştır, sonuçları doğrudan sayfada göster. Sunucu tarafında birkaç satırlık iş, kullanıcı açısından ise çıkıp gitmekle aradığını bulmak arasındaki fark.