Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

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.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

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.

Anketa

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

       

Martin Hassman

Martin Hassman

Martin Hassman vymyslel a založil projekt Zdroják. Absolvoval Vysokou školu chemicko-technologickou v Praze. Přednáší, školí. Pracoval jako webový vývojář.

Školení: Návrh a používání MySQL databáze

 

Naučte se používat jednu z nejrozšířenějších databází. Dozvíte se vše potřebné od návrhu až po samotné využití MySQL v projektech.

Školení pro všechny, kteří se chtějí naučit efektivně pracovat s MySQL nebo se v práci s touto databází zlepšit.

Přihláška a podrobné informace

Přehled názorů

Nádhera
Radek 27. 2. 2009 01:09
Nový
└ 
Re: Nádhera
Tomáš Kafka 12. 10. 2010 21:28
Nový
RE: ViolaWWW: nejinovativnější prohlížeč všech dob
danaketh 27. 2. 2009 01:42
Nový
Velice pekny clanek
Martin 27. 2. 2009 01:44
Nový
└ 
Re: Velice pekny clanek
Vaclav Balak 27. 2. 2009 08:55
Nový
dal, dal
stej 27. 2. 2009 06:19
Nový
super
Jan Heřman 27. 2. 2009 07:50
Nový
RE: ViolaWWW: nejinovativnější prohlížeč všech dob
David Majda 27. 2. 2009 08:10
Nový
Vkládání kusů HTML do jiného HTML
anonymní uživatel 27. 2. 2009 08:26
Nový
├ 
Re: Vkládání kusů HTML do jiného HTML
Martin Hassman 27. 2. 2009 08:29
Nový
│
└ 
Re: Vkládání kusů HTML do jiného HTML
Jiří Dobrý 27. 2. 2009 11:13
Nový
│
 
└ 
Re: Vkládání kusů HTML do jiného HTML
anonymní uživatel 27. 2. 2009 13:06
Nový
└ 
Re: Vkládání kusů HTML do jiného HTML
Petr 27. 2. 2009 09:58
Nový
 
└ 
Re: Vkládání kusů HTML do jiného HTML
anonymní uživatel 28. 2. 2009 01:58
Nový
Moc povedený článek
Jakub Dvořák 27. 2. 2009 08:42
Nový
└ 
Re: Moc povedený článek
Martin Hassman 27. 2. 2009 08:44
Nový
RE: ViolaWWW: nejinovativnější prohlížeč všech dob
Seattleman 27. 2. 2009 09:04
Nový
Super clanek
Altar 27. 2. 2009 09:24
Nový
Hezky clanek
rastas 27. 2. 2009 09:34
Nový
jen tak dál
Filosof 27. 2. 2009 11:09
Nový
vyborne
r080 27. 2. 2009 13:13
Nový
skvělé, chceme i další
neutral male doppelganger 27. 2. 2009 18:07
Nový
RE: ViolaWWW: nejinovativnější prohlížeč všech dob
dc 28. 2. 2009 12:25
Nový
drobna korekce
drs 1. 3. 2009 13:09
Nový
RE: ViolaWWW: nejinovativnější prohlížeč všech dob
JardaP 1. 3. 2009 16:46
Nový
Díky
anonymní uživatel 2. 3. 2009 11:52
Nový
Dá se někde stáhnout
cleb 2. 3. 2009 21:08
Nový
└ 
Re: Dá se někde stáhnout
Martin Hassman 2. 3. 2009 22:14
Nový
super
rellix 6. 3. 2009 20:50
Nový
Ted jsem nahodou narazil na dalsi ...
hawran diskuse 7. 3. 2009 21:09
Nový
└ 
Re: Ted jsem nahodou narazil na dalsi ...
Martin Hassman 7. 3. 2009 21:14
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem