Kafli 2: Sagan hingað til

2.1 Texti & upplýsingar 

Frá örófi alda höfum við sagt hvort öðru sögur: fyrst geymdar í minni einstaklinga, seinna skrifaðar á skinn eða pappír, síðan prentaðar með prentvél Gutenbergs, og fjölfaldaðar í prentsmiðjum.

Prentaður texti er í eðli sínu fastur. Við höfum blaðsíður í ákveðinni stærð sem textinn er prentaður á og eftir það eru engar breytingar mögulegar. En hvað ef svo væri ekki?

Árið 1941 gaf Jorge Luis Borges út smásöguna „The Garden of Forking Paths“ sem segir frá höfundi sem ætlar að skrifa stóra og flókna bók ásamt því að búa til stórt og flókið völundarhús. Síðar kemur í ljós að bókin og völundarhúsið er sami hluturinn, en sagan lýsir heim þar sem allar mögulegar niðurstöður atburða eiga sér stað samtímis. Þessi smásaga er talin kynna fyrst hugmyndina um HyperText.

I had questioned myself about the ways in which a book can be infinite. I could think of nothing other than a cyclical volume, a circular one. A book whose last page was identical with the first, a book which had the possibility of continuing indefinitely.

—Jorge Luis Borges, The Garden of Forking Paths, 1941

Við lok seinna stríðs skrifaði Vennevar Bush greinina „As We May Think“ í Atlantic Monthly þar sem hann lýsir Memex. Þetta Memex tæki leyfir einstakling að halda utan um sitt eigið safn af upplýsingum. Það leyfir flokkun, athugasemdir og tengingar við annað efni svo hægt sé að fletta upp og leita ásamt því að deila með öðrum á einfaldan hátt. Sannkallað töfratæki sem Bush gerði ráð fyrir að myndi gjörbreyta heiminum.

Consider a future device … in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory.

—Vannevar Bush, How We May Think, 1945

2.1.1 HyperText & HyperMedia 

Þessar hugmyndir, ásamt öðrum, höfðu mikil áhrif á þróun upplýsingatækninnar. Ted Nelson skilgreindi árið 1963 hugtakið HyperText: texti á stafrænu formi sem inniheldur vísanir þannig að lesandi getur strax fengið aðgang að þeim. Textinn er ekki lengur fastur, heldur teygir hann anga sína út og leyfir lesandanum að stýra sinni eigin leið í gegnum hann. Í raunheimum mætti líkja þessu við „veldu þitt eigið ævintýri“ bækur.

Mynd 1: Ted Nelson

Ted Nelson.

Í „Mother of all Demos“ árið 1968 kynnti Douglas Engelbart til sögunnar NLS („oN Line System“) sem inniheldur meðal annars mús, hypertext, útgáfustýringu (revision control), ritvinnsluforrit, fjarfundarbúnað og fleira sem í dag væri talið til nútímatækni.

Douglas Engelbart kynnir HyperText virkni í NLS, vídeó á YouTube.

Mynd frá YouTube.

The future is already here — it's just not very evenly distributed.

—William Gibson11 William Gibson er rithöfundur sem talinn er hafa skrifað fyrstu (og skilgreint þar með bókmenntagreinina) „cyberpunk“ bókina: Neuromancer.

Til þess að geta útfært í raun hugtakið um HyperText þurfum við einhverja leið til að ljá texta aukna dýpt og skilgreina tengingar, auk lýsingar á textanum sem er setningarfræðilega aðgreind frá textanum sjálfum. Umbrotsmál (e. markup language) leyfir okkur að gera það.

HyperMedia er það hugtak þegar við takmörum efnið okkar ekki aðeins við texta, heldur við fleiri miðla, t.d. myndir og myndbönd. Með fyrstu vinsælu stafrænu kerfunum til að útfæra HyperMedia var HyperCard sem kom út fyrir Machintosh tölvur árið 1987.

2.2 Markup mál 

Við höfum mál sem skilgreinir snið (markup) á textanum. Hægt er að skipta þessum málum í almenna flokka:

2.2.1 Markdown 

Markdown er dæmi um létt umbrotsmál, búið til af John Gruber (í samstarfi við Aaron Swartz22 Aaron Swartz var einnig viðriðinn stöðlun á RSS, einn af stofnendum Reddit, og þáttakandi í gerð Creative Commons. Hann lést fyrir aldur fram, fjallað er um ævi hans í heimildarmyndinni „The Internet's Own Boy: The Story of Aaron Swartz) árið 2004. Markmið þess er að leyfa fólki að skrifa texta með einföldum skipunum sem hægt er að þýða yfir í önnur form (t.d. HTML). Þessi bók er til dæmis skrifuð í Markdown.

Helsti kostur Markdown er að auðvelt er fyrir manneskjur og vélar að vinna með textann. Hægt er að smíða forrit sem þýða úr Markdown yfir í eitthvað annað, t.d. HTML.

# Markdown fyrirsögn
Texti sem inniheldur **feitletraðan** og _skáletraðan_ texta
með [tengli](http://example.org).
* Listi
* af
* orðum

2.3 HTML verður til 

Í kringum 1990 var Sir Tim Berners-Lee (TBL) að vinna hjá CERN sem eðlisfræðingur. Hann skrifaði minnisblað um kerfi sem hann sá fyrir sér að myndi auka möguleika á samvinnu með því að deila skjölum á einfaldan hátt. Í framhaldinu skilgreindi hann HTML: HyperText Markup Language. Sem grunn nýtti hann SGML (Standard Generalized Markup Language , umbrotsmál frá 1986 staðlað hjá ISO) en bætti við það (sjá t.d. í skjalinu „HTML Tags)“ og skrifaði fyrsta vafrann og vefþjóninn sem túlkuðu og birtu HTML (skrifað í Objective-C á NeXT tölvu). Fyrsta vefsíðan varð síðan aðgengileg 23. ágúst 199133 og er enn aðgengileg á sömu slóð í dag, því eins og TBL skrifaði: „Cool URIs don't change.

NeXT tölvan sem Tim Berners-Lee notaði til að skrifa fyrsta vefþjóninn og vafrann. Á tölvu er skrifað „This machine is a server DO NOT POWER DOWN!!

NeXT tölvan sem Tim Berners-Lee notaði til að skrifa fyrsta vefþjóninn og vafrann, nú til sýnis á safni hjá CERN. Á tölvuna er skrifað „This machine is a server DO NOT POWER DOWN!!“.

Uppbygging og þróun fór fram á póstlistum þar sem þeir einstaklingar sem höfðu áhuga gátu tekið þátt og haft áhrif, t.d. stakk Marc Andreessen upp á <IMG> árið 1993 til að geta birt myndir á vefnum og er það ennþá notað í dag. Í kjölfarið komu fleiri vafrar fram á sjónarsviðið, t.d.:

Skjáskot af Mosaic 3.0 á Windows XP.

Skjáskot af Mosaic 3.0 á Windows XP.

2.4 Staðlar 

Um leið og fleiri einn vafri voru komnir á sjónarsviðið þurfti að skilgreina hvernig HTML virki. Hver vafri um sig getur ekki útfært hlut á annan hátt en aðrir vafrar, eða bætt við sinni eigin, sérstöðluðu virkni.

Stöðlun á HTML 1.0 var fyrst reynd hjá IETF (Internet Engineering Task Force) en komst ekki úr því að vera drög. Útgáfa 2.0 var síðar stöðluð af IETF í RFC 1866 árið 1995. Tim Berners-Lee stofnaði W3C (World Wide Web Consortium) hjá MIT árið 1994 með stuðning frá Evrópusambandinu og DARPA. CERN dró sig þá til hliðar, enda stofnun sem sérhæfir sig í rannsóknum á sviði eðlisfræði, ekki því að vera leiðandi í upplýsingatækni. Allur kóði vafrans og vefþjónsins sem Tim Berners-Lee vann að hjá CERN var settur í almenningseign af CERN árið 1993.

The primary design principle underlying the Web’s usefulness and growth is universality. […] And it should be accessible from any kind of hardware that can connect to the Internet: stationary or mobile, small screen or large.

Frá byrjun hefur víðsýni og frelsi einkennt vefinn. Umferð á netinu hefur að mestu verið hlutlaus, henni er ekki mismunað eftir því hvaðan hún kemur eða hvert hún fer. Ef netið væri ekki hlutlaust gætu þjónustuaðilar farið að gera greinarmun á umferð og skipt henni í hópa. Eftir því í hvaða hóp þú ert getur það t.d. haft í för með sér takmarkanir eða aukinn kostnað.

Tim Berners-Lee á opnunarhátið sumarólympíuleikanna 2012 þar sem hann sendi skilaboðin „This is for everyone“ í sambandi við vefinn.

Frekar má lesa um sögu vefsins í History of the Web og vert er að endurtaka það sem kemur fram þar: „Understanding how an activity started and developed frequently gives a much greater insight into why things are as they are.“

2.5 W3C 

Hlutverk W3C var—og er—að vinna að framþróun vefsins. Það er gert í gegnum vinnuhópa (e. working groups) sem taka að sér ákveðna staðla fyrir tækni vinna að því að staðla þær óstöðluðu hugmyndir eða óstaðlaða virkni sem er til staðar í dag.

Til að vinna þessa staðla eru útbúin forskrift (e. specification eða spec) sem segja til um hvernig hegðun á að vera. Hver sem er getur komið sér í þessa vinnu þar sem W3C eru opin félagasamtök. Flest þau sem vinna að stöðlunum eru þó í vinnu hjá vafrafyrirtækjunum en geta unnið saman á (tiltölulega) óháðum vettvangi að framþróun vefsins. W3C staðlar t.d. HTML, CSS, XML og SVG, en margt annað er þó einnig í stöðlun og vinnslu þar. Ferli stöðlunar er langt (tekur ár eða áratugi!) og strangt hjá W3C en í grófum dráttum er það:

Oft þegar unnið er með staðlaða hluti getur verið gott að lesa yfir staðalinn til að fá nákvæmari tilfinningu fyrir því hvernig hlutir eigi að virka. Þó ber að hafa í huga að staðlar eru skrifaðir fyrir þau sem útfæra vafrana (eða tækin sem birta vefsíður) en ekki höfunda efnis fyrir vafrana eða tækin.

Þetta verður sérstaklega áhugavert þegar unnið er með nýja tækni sem ennþá inniheldur villur, óskilgreinda hluti eða álíka.

2.6 Vafrastríðin 

2.6.1 Fyrra vafrastríðið 

Netscape Navigator 4.0 sem kom út árið 1997 (með stuðning við CSS, JavaScript og DOM) varð gífurlega vinsæll vafri. Uppi voru plön um að næstu útgáfur yrðu ekki ókeypis. Þegar Microsoft fór að dreifa Internet Explorer (IE) ókeypis með Windows í kringum 199755 sem síðar varð kveikja að stórri anti trust lögsókn á hendur Microsoft fór markaðshlutdeild Netscape að dala og hugmyndir um að græða pening á vafranum urðu að engu. Á frekar stuttum tíma tók IE alveg yfir markaðinn á meðan Netscape fór þá leið að endurskrifa Navigator 6.0 að öllu leiti, sem varð þeim kostnaðarsamt. Þetta tímabil er oft nefnt fyrra vafrastríðið.

Markaðshlutdeildir vafra í „Fyrra vafrastríðinu“.

Markaðshlutdeildir vafra í „Fyrra vafrastríðinu“.

Eftir að Netscape tapaði stöðu sinni var fyrirtækið selt AOL en áður en það gerðist var Netscape Navigator gerður open source og Mozilla stofnað sem umsjónaraðili þess verkefnis. Mozilla nafnið er talið vera komið frá Jamie Zawinksi, jwz, og standa fyrir mosaic killer66 PBS gerði heimildarmyndina Coderush um þetta tímabil.

Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.

Í dag lifir Netscape Navigator að einhverju leyti í Firefox, en fyrsta útgáfan kom út árið 2002, þá undir nafninu Phoenix. Útgáfa 1.0 af Firefox kom út 2004.

2.6.2 Vefstaðlar 

Eftir fyrsta vafrastríðið var CSS orðið nógu vel skilgreint til að hægt væri að nota það í vefforritun en illa gekk að fá fólk til að skipta úr því að nota töflur til að setja upp vefi. Mikið var gert úr því að fólk myndi nýta sér töflulausa vefhönnun: að nota CSS til að setja upp vefi en ekki töflur.

Það varð þó breyting á með A List Apart sem varð til sem póstlisti 1997 en varð fljótlega að helsta veftímariti vefbransans og hefur verið það alla tíð síðan. Web Standards Project (WaSP) var stofnað 1998 með það að markmiði að þrýsta á vafra framleiðendur að auka stuðning við staðla og tókst það með útgáfum Netscape Navigator 6 árið 2000 og IE6 árið 2001. Zeldman, áhrifamikill vefmógúll, skrifaði grein í A List Apart 2001, „To Hell with Bad Browsers“, þar sem hann hvatti forritara og fólk sem vann á vefnum til að byrja að nota staðla. Þó svo að margir væru enn að nota gamla vafra sem ekki styddu staðlana þá væri ekki endalaust hægt að halda í þá og nóg væri nóg.

Það var samt ekki fyrr en árið 2003 sem töflulaus vefhönnun varð að alvöru með endurhönnun íþróttamiðilsins ESPN með XHTML og CSS, fyrsti stóri vefurinn til að vera gerður þannig. Vefur tæknitímaritsins Wired hafði þó verið endurhannaður árinu áður en útgáfa hans hafði ekki jafn mikil áhrif. Árið 2003 var CSS Zen Garden einnig stofnað, en það er vefur sem sýnir hvað var/er hægt að gera með CSS. Gefið var HTML skjal og máttu þeir aðilar sem sendu inn hönnun aðeins nota CSS en breyta neinu HTML. Þetta gekk vel og margar mjög framúrstefnulegar og nýtískulegar hannanir voru til sýnis. Árið 2013 var WaSP líka lagt niður með skilaboðunum, „our work here is done“.

ESPN, fyrsti stóri vefurinn til að vera gerður töflulaust.

ESPN, fyrsti stóri vefurinn til að vera gerður töflulaust.

2.6.3 Annað vafrastríðið 

Eftir að hætt var að gera vefi með töflum kom nokkur ládeyða yfir vafraframleiðendur og varð hún svo mikil að Microsoft tilkynnti árið 2003 að IE6SP1 yrði seinasti vafrinn þeirra. Það, ásamt því að hugtakið Web 2.0 var gert vinsælt af Tim O'Reilly, hleypti nýju lífi í markaðinn um 2004. Apple gaf út Safari fyrir Mac OSX, byggðan á KTHML árið 2003. WebKit, „vafravélin“ (e. browser engine) sem keyrir áfram Safari, var árið 2005 gerð open source af Apple.

Fyrsta alvöru vefþróunartólið, Firebug fyrir Firefox, kom út árið 2006 og gjörbreytti því hvernig vefir voru unnir. Í fyrsta skipti var hægt að breyta á einfaldan hátt, beint í vafranum, hvernig vefir höguðu sér. Þetta flýtti fyrir og einfaldaði vinnu vefforritara. IE 7.0 kom einnig út árið 2006, fimm árum eftir IE 6.0.

Hlutdeild vafra 2009-2015.

Hlutdeild vafra 2009-2015.

Með tilkomu iPhone árið 2007 og útgáfu Safari 3.0 á Mac OSX, Windows og iOS, varð vefurinn í fyrsta skipti fyrir alvöru aðgengilegur í símum í „almennilegum“ vafra. Tilraunir til að gera sérstakar vefsíður fyrir iPhone byrjuðu snemma, sérstaklega í ljósi þess að ekki var strax hægt að búa til öpp fyrir iOS.

Google gaf út Chrome vafrann árið 2008, byggðum á Chromium, open source vafra. Chromium var síðan aftur byggður á WebKit. Árið 2013 var Webkit verkefnið forkað77 talað er um fork þegar hugbúnaðarverkefni er tekið og afritað af (yfirleitt) nýjum aðilum sem vilja fara með verkefnið í nýja átt og til varð ný vafravél, Blink sem Chrome notar í dag.

Eitt af því sem hamlaði verulega útbreiðslu nýrrar virkni í vöfrum á fyrstu árum vefsins var það að notendur vafra þurftu stanslaust að sækja nýjar útgáfur af vöfrum. Það gat valdið því að fólk keyrði óuppfærðan vafra í mörg ár og notaði hann til að sinna öllu því sem það þurfti á vefnum, sem aftur gerði það að verkum að flestir stærri vefir urðu að styðja gamla vafra lengur en æskilegt hefði verið. Í dag er þetta minna vandamál þar sem allir vafrar dreifa uppfærslum mjög ört og (í flestum tilfellum) án þess að brjóta neitt á milli uppfærsla. Chrome var fyrsti vafrinn til að gera þetta og er í dag hægt að sækja Chrome Canary eða Firefox nightly sem eru útgáfur af vöfrunum með því allra nýjasta, uppfærð næstum daglega.

Ættartré þeirra vafra sem við notum í dag er orðið frekar flókið og margþætt, en hægt er að skoða það á „evolution of the web“ fyrir vafra frá 1992–2013.