ViolaWWW: nejinovativnější prohlížeč všech dob

Dnes si tak trochu zahrajeme na archeology. Nebudeme ovšem odkrývat základy egyptských pyramid, nýbrž podíváme se na jeden velmi zajímavý prohlížeč. Na webový prohlížeč, na který si dnes již téměř nikdo nepamatuje, ale přesto za připomenutí stojí, vždyť ve své době znamenal opravdovou revoluci.

Představíme vám webový prohlížeč ViolaWWW, který ve svém době přinesl takový pokrok, že si troufáme jej nazvat nejinovativnějším webovým prohlížečem všech dob. Byl prvním prohlížečem, který dokázal např. stylovat vzhled stránek, spouštět v nich skripty a vytvářet animace. Přesto všechno nakonec neuspěl. Než se začneme osudem tohoto prohlížeče zabývat, povězme si něco obecně o průběhu inovací.

Cesty inovací jsou plné padlých u cesty

Následující scénář se v minulosti již mnohokrát opakoval. Nejprve se objeví nová zajímavá technologie, která doširoka pootevře dveře nových možností. Poměrně rychle nato se ukáže řada pionýrů, kteří se ji snaží využít. Každý z nich hledá svou cestu, konkurují si a snaží se jeden druhého předběhnout. Vznikne tak několik větví pomyslného evolučního stromu. Situace může vypadat podobně jako na následujícím obrázku:

Inovace - strom

Strom konkurujících si inovátorů. Převzato z knihy The Myths of innovation, kap. 2.

Na začátku Webu to bylo podobné. Během prvních pěti let od vzniku Webu se objevilo okolo 40 různých webových prohlížečů. Taková situace ovšem jen obtížně setrvá věčně. Časem se objeví jeden nebo několik vítězů a ostatní odpadnou podobně jako na následujícím obrázku:

Inovace - strom s jedním vítězem

Vítěz pokračuje, ostatní odpadávají. Převzato z knihy The Myths of innovation, kap. 2.

Již v průběhu devadesátých let se na poli webových prohlížečů rozhodlo o několika málo vítězích. Ostatní vesměs upadli v zapomnění. Mezi nimi i prohlížeč ViolaWWW, a to i přesto, že začátkem devadesátých let řada věcí nasvědčovala tomu, že oním vítězem by mohl být právě on.

ViolaWWW

Prohlížeč ViolaWWW. Převzato z Viola.org.

Začátky: Od Viola k ViolaWWW

Když Pei-Yuan Wei začal ve svém volném čase na Berkeley pracovat na projektu Viola, Web ještě neexistoval. Aplikace Viola měla původně sloužit ke zcela jiným účelům. Jejím základem byl jazyk Viola, který Pei také vytvořil, určený ke tvorbě aplikací. Název Viola je zkratkou, která znamená Visually Interactive Object-oriented Language and Application.

Viola jako hra

Účel aplikace Viola se v průběhu času měnil. Zprvu měla sloužit ke tvorbě počítačových her. Převzato z Berkeley.edu.

Pei začal v roce 1991 přemýšlet, jak by mohla Viola využít síly Internetu. Koncem roku 1991 se tak dověděl o existenci World Wide Webu, který byl tou dobou v CERNu vytvořen. Navrhl Timu Berns-Leeovi, že vytvoří webový prohlížeč pro X11 (grafický webový prohlížeč pro Unix tehdy ještě neexistoval). TBL potěšeně odpověděl a nabídl Peimu kód tehdejšího terminálového prohlížeče linemode.

O pár dní později Pei odpovídá, že prohlížeč je hotov! „Byl to hack na jednu noc,“ píše. Viola pomocí kódu z linemode dokázala zobrazit HTML a první prohlížeč pro X-ka byl na světě. TBL nad výsledkem žasne, je zejména uchvácen rychlostí Violy. Stala se totiž v té době nejrychlejším prohlížečem.

Pei-Yuan Wei

Pei-Yuan Wei, tvůrce Violy. Převzato z Berkeley.edu.
Autora Violy najdeme v seznamu lidí, kteří nejvíce přispěli ke vzniku a rozvoji celého Webu.

Trvalo pak několik měsíců, než Pei prohlížeč přepsal pořádně a vytvořil mu rozumné uživatelské rozhraní. Výsledný prohlížeč se již velmi podobal tomu, jak webové prohlížeče známe dnes. Podporoval např. historii, domovskou stránku nebo bookmarky. Stal se v té době nejlepším prohlížečem (to mu vydrželo déle než jeden rok), nastavil vysokou laťku a CERN jej začal oficiálně doporučovat.

V této podobě vyšel v dubnu roku 1992. Ale to již byl přejmenován na ViolaWWW. Rozhraní prohlížeče bylo napsáno v původním jazyku Viola, pro zájemce tu máme zdrojový kód hlavního okna aplikace.

ViolaWWW

Pei chtěl ovšem něco víc. Jak sám tvrdí: V té době byl Web jako čtení knihy, hodně velké knihy, ale nebyl skutečně interaktivní. Pei chtěl z Webu udělat grafické rozhraní pro aplikace, které by se na něm spouštěly. Jednalo se o historicky první takový pokus, který se později po letech znovu opakoval, ale k jeho skutečné realizaci začíná docházet až v nedávných letech s nástupem RIA.

Novinky ve ViolaWWW

Jelikož ViolaWWW implementovala programovací jazyk (ten, ve kterém bylo napsáno její grafické rozhraní), nebylo nic snazšího, než tento jazyk vložit i do webových stránek. Tím vznikly první dynamické stránky v prohlížeči, ačkoliv svým mechanismem více připomínaly pozdější applety než dnešní JavaScriptem poháněný web. Kód byl umístěný v externím soubor a do stránky se načítal pomocí značky link (ta mohla být umístěna kdekoliv v dokumentu):

<LINK REL="viola" HREF="application.v"> 

Kód napsaný v jazyce Viola vypadal následovně (převzato z Wikipedie):

class {txtDisp}
name {showTime}
script { switch (arg[0]) {
  case "tick":
    set("content"), date());
    after(1000, self(), "tick");
    return; break;
  case "init":
    after(1000, self(), "tick");
    break;
  }
  usual();
}
width {100}
height {50}
 

Studium vlastního jazyka ponechám na vás, nepřehlédněte ale, že za vlastním kódem jsou rozměry prvku, jaké má zabírat ve výsledné HTML stránce. Právě proto spíše připomínal applety, protože kromě této oblasti do zbylé HTML stránky nezasahoval (a neměl k tomu ani příliš prostředků).

Zachovalo se i několik funkčních online ukázek, které zájemcům doporučuji k prozkoumání (byť si je dnes asi stěží opravdu spustíte).

U jednoho příkladu se zastavíme trochu déle. Měl následující výstup (na obrázku vidíte jen výstup samotné aplikace, ale mohl být pochopitelně součástí jakékoliv HTML stránky):

Aplikace Monitor

Aplikace se jmenovala Monitor a na základě dat, která postupně dostávala ze serveru, vykreslovala graf. Ten vidíte v horní části obrázku, naopak v dolní části pak můžete vidět jednotlivé číselné hodnoty, jak je aplikace načítala ze serveru.

Všimněte si dvou zajímavých prvků celé aplikace. Tím prvním je, že aplikace komunikovala se serverem bez obnovování celé stránky (mohli bychom to označit za vzdáleného předchůdce pozdějšího AJAXu). Druhým je fakt vykreslování obrázku do webové stránky, tedy jakýsi předchůdce značky canvas, která se do prohlížečů dostala teprve před několika lety. ViolaWWW tohle vše měla během prvních dvou let od vzniku Webu!

Pro zájemce tu máme i další ukázky:

Pomocí skriptů mohli uživatelé komunikovat i mezi sebou. Existovala chatovací aplikace, pomocí které si mohli uživatelé vyměňovat nejen texty, ale třeba nakreslit obrázek a ten poslat ostatním. (Dnes nám to přijde normální, ale opět si uvědomte, v jaké době se nacházíme.)

V roce 1993 za Peim přišla návštěva pánů ze Sun Microsystems, kteří byli na tyto tzv. miniaplikace v prohlížeči velmi zvědavi. Těžko říct, do jaké míry je právě ViolaWWW inspirovala k vytvoření technologie Java appletů.

Ikona Violy

Ikona Violy

Rozšíření HTML

Ve ViolaWWW byl rozšířen i vlastní jazyk HTML. Získal např. předchůdce dnešních rámců. Pokud jste chtěli vložit jeden HTML dokument do druhého (což bylo do té doby nemožné), stačilo použít konstrukci (viz ukázka):

<INSERT SRC="soubor.html"> 

K seznamům, které již v té době HTML obsahovalo, přibyl ve VioleWWW atribut FOLD (viz ukázka a zobrazený výsledek), který umožnil jejich sbalování a rozbalování. (Ty jsou vhodné např. pro rozbalovací navigaci po webu. O několik let později se pro stejnou činnost začaly používat Java applety. Ještě o pár let později pak skripty fungující pouze v IE. Trvalo několik dalších let, než se kodéři naučili vytvářet javascriptová řešení pro rozbalování seznamů fungující bez problému ve všech prohlížečích.)

Ve ViolaWWW se časem objevila i podpora tabulek (zobrazený výsledek), obrázků, více sloupců (zobrazený výsledek) a formulářů (včetně speciálních inputboxů pro zadávání čísel, procent atd.). Některé z těchto novinek měly svůj původ v tehdy připravované, ale nikdy nedokončené, specifikaci HTML+.

Předchůdce kaskádových stylů

ViolaWWW také obsahovala stylovací jazyk, kterým šlo určit vzhled výsledného dokumentu. Nebyl sice na úrovni pozdějších CSS1, ale na tehdejší dobu, ve které vypadal jeden HTML dokument nachlup stejně jako druhý, se jednalo o revoluci. V nastylovaném dokumentu bylo možné měnit např. barvu písma, pozadí, rámeček nebo zarovnání:

Ukázka nastylovaného dokumentu

Ukázku na obrázku, která obsahuje tři stylopisy, si můžete prohlédnout online. Neuvidíte ji samozřejmě barevně, protože dnešní prohlížeče těmto starým stylopisům ukládaným s příponou *.stg nerozumí.

Stylopis mohl vypadat kupříkladu takto (jedná se o třetí stylopis ukázky, který formátuje poslední odstavec, e-mailovou adresu a podpis):

(P                    FGColor=black
                    BGColor=grey70
                    BDColor=grey70
                    align=left

  (ADDRESS                align=right
    (P                     fontSlant=italic))
) 

Syntaxe velmi vzdáleně připomíná kaskádové styly, jak je známe dnes.

Příchod Mosaicu a neúspěch ViolaWWW

Pei-Yuan Wei mezitím začal pracovat u společnosti O’Reilly, která jej v tvorbě prohlížeče podporovala. Spatřovala v něm totiž budoucnost a možnost publikovat tištěné knihy online. V té době skutečně vše hrálo v prospěch Violy.

Jenže 23. března roku 1993 se objevuje první veřejný X-Mosaic 0.5. Ten sice neobsahuje ani skriptování, ani jazyk pro stylování (zato krátce nato zavede značky center a font, které potřebě stylování vyhoví), ale má jednoduchou instalaci (stačilo stáhnout a spustit jeden soubor, což se s komplikovanou instalací ViolaWWW prostě nedalo srovnat) a má velmi ambiciózní tvůrce.

Mosaic je časem nahrazen prohlížečem Netscape, který je již vyvíjen společností s velkým zázemím a Pei kapituluje. Poslední verze prohlížeče ViolaWWW vyšla v březnu 1994. Pei vzpomíná: Hodil jsem ručník do ringu a vzdal další vývoj webových prohlížečů, protože, víte, oni měli celou společnost a odváděli dobrou práci, tak jsem je nechal, ať ji dělají dál. Zároveň si ale povzdychne: Škoda, že jsem tehdy neznal nějaké investory.

ViolaWWW neuspěla. Existovala jen ve verzi pro Unix. Mosaic se časem dočkal i verze pro Mac a Windows a nikdo tehdy nemohl ohrozit jeho prvenství. Kdyby ViolaWWW uspěla, nejspíš by Web dnes vypadal mnohem jinak, těžko říct, zda lépe nebo hůř. Přesto vtiskla ViolaWWW Webu řadu zajímavých myšlenek. Některé byly (znovu) realizovány později během dalších let, některé jsou realizovány dnes a na realizaci dalších si možná ještě počkáme. Jedno je ale jisté, pravděpodobně již nikdy se neobjeví další prohlížeč, který by dokázal během tak krátké doby posunout Web technologicky o tolik dál.

ViolaWWW a patent Eolas

Zajímavá historická poznámka na konec. Před lety jste o ViolaWWW mohli slyšet, někteří z vás si možná ještě vzpomenou, a sice v souvislosti se soudní pří Microsoftu a Eolas Technologies. Microsoft se snažil ukázat na nesmyslnost patentu týkajícího se plug-inů, který byl příčinou sporu mj. tím, že vzpomenul prohlížeč ViolaWWW (viz také vyjádření autora prohlížeče), který analogickou technologii implementoval již před podáním zmíněného patentu (patent byl později zrušen).

Závěr

Zbývá už jen otázka na vás, na čtenáře. Měli byste zájem i o další podobné „archeologické“ články zabývající se počátky Webu a webových prohlížečů tady na Zdrojáku?

Zdroje

Většina obrázků v článku byla převzata z webů viola.org a berkeley.edu.

Máte zájem o podobné články?

Vystudoval jsem biochemii. Vymyslel a založil Zdroják. Aktuálně ho vedu. Nejsem váš hodný tatínek, který vás bude brát za ručičku, ale zlý moderátor diskusí. Smiřte se s tím!

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 31

Přehled komentářů

Radek Nádhera
keff Re: Nádhera
danaketh RE: ViolaWWW: nejinovativnější prohlížeč všech dob
Martin Velice pekny clanek
shMoula Re: Velice pekny clanek
stej dal, dal
72ka super
David Majda RE: ViolaWWW: nejinovativnější prohlížeč všech dob
Anonym Vkládání kusů HTML do jiného HTML
Martin Hassman Re: Vkládání kusů HTML do jiného HTML
jiridobry Re: Vkládání kusů HTML do jiného HTML
Anonym Re: Vkládání kusů HTML do jiného HTML
Petr Re: Vkládání kusů HTML do jiného HTML
Anonym Re: Vkládání kusů HTML do jiného HTML
Jakub Dvořák Moc povedený článek
Martin Hassman Re: Moc povedený článek
Seattleman RE: ViolaWWW: nejinovativnější prohlížeč všech dob
Altar Super clanek
rastas Hezky clanek
Filosof jen tak dál
r080 vyborne
neutral male doppelganger skvělé, chceme i další
dc RE: ViolaWWW: nejinovativnější prohlížeč všech dob
drs drobna korekce
JardaP RE: ViolaWWW: nejinovativnější prohlížeč všech dob
Anonym Díky
cleb Dá se někde stáhnout
Martin Hassman Re: Dá se někde stáhnout
rellix super
hawran.diskuse Ted jsem nahodou narazil na dalsi ...
Martin Hassman Re: Ted jsem nahodou narazil na dalsi ...
Zdroj: https://www.zdrojak.cz/?p=2951