“Je váš program tak špatný, že ho uživatelé nechtějí ani když je zadarmo? Obraťte se na Evropskou unii. Ta může přikázat výrobci jiného, úspěšnějšího programu, aby distribuoval i ten váš.” Těmito slovy jsem před více než jedenácti lety zahájil video, které ukazovalo, jak vypadala tehdejší horká novinka, totiž “Browser Choice” nebo “Ballot Screen” ve Windows 7.

Jednalo se o jeden z posledních záchvěvů války prohlížečů, nepříliš povznášejícího období v historii výpočetní techniky. Jak to vlastně s prohlížeči a jejich jádry tenkrát bylo? A jaké ponaučení si z toho můžeme vzít pro dnešek?

WorldWideWeb

Dnes je “web” v podstatě synonymem pro Internet a webový prohlížeč (browser) najdete v každém běžném operačním systému, na počítačích, mobilech, tabletech, v televizích, ledničkách a v podstatě čemkoliv co má displej. Téměř doslova – i některá univerzální dálková ovládání vykreslují své uživatelské rozhraní v prohlížeči, protože je to nejsnazší.

Nicméně Internet je starší než web a ještě v devadesátých letech byl králem komunikace na internetu e-mail (kterému se u nás tehdy ještě říkalo starosvětsky “elektronická pošta”) a USENET News, diskusní skupiny přístupné pomocí speciálního NNTP protokolu a klienta. Komunikace po Internetu byla tehdy téměř výhradně textová a asynchronní. Ostatně, trvalé připojení k Internetu bylo spíše vzácností. Standardní bylo časově omezené připojení přes vytáčenou telefonní linku, kdy jste se jednou za čas připojili, stáhli si elektronickou poštu a newsy a zase se odpojili.

Za předchůdce dnešního webu je často pokládán dnes již zapomenutý systém Gopher, který umožňoval on-demand přístup k textovým dokumentům (a později i obrázkům a dalším obecným souborům) a jehož rozhraní připomínalo něco jako hodně jednoduchou webovou stránku s textovými odkazy na podstránky. Ve skutečnosti ale Gopher přišel o pár měsíců později než web a HTML. Sice měl zpočátku rychlejší nástup než WWW, ale dlouho mu to nevydrželo. Na druhou stranu ale nikdy úplně neumřel. Dodnes najdete asi 360 serverů a můžete si je prohlédnout pomocí webového rozhraní.

World-Wide Web, alias WWW vymyslel sir Tim Berners-Lee v březnu 1991, takže letos jsme bez valného zájmu veřejnosti oslavili třicet let jeho existence. První webový prohlížeč se jmenoval WorldWideWeb a do dnešního dne se z něj dochovalo jenom pár screenshotů. WWW byl navržen pro prezentaci sémanticky organizovaných dokumentů. Sir Tim vytvořil také jazyk HTML, který sloužil k jejich zápisu a samozřejmě také protokol HTTP, sloužící k přenosu dokumentů mezi serverem (asi nepřekvapí, že byl i autorem prvního HTTP serveru).

Jazyk HTML se ve svých prvních verzích nezabýval vzhledem dokumentu, ale jeho logickou, sémantickou strukturou. Obsahoval tedy značky, pomocí kterých bylo možné říct “toto je odstavec”, “toto je nadpis první úrovně” nebo “toto je kousek zdrojového kódu” a podobně. Jak konkrétně bude dokument zobrazen (barvy, písma atd.), záleželo na prohlížeči a jeho nastavení. 

Vzniklo pár jednoduchých prohlížečů, ale WWW se pořádně uchytil až když v roce 1993 Národní centrum pro superpočítačové aplikace (NCSA, National Center for Supercomputing Applications) při univerzitě v Illinois vytvořilo NCSA Mosaic, první webový prohlížeč připomínající ty dnešní. Jedním z vývojářů byl jistý Marc Andreessen. Jeho jméno si zapamatujte, bude se vám později hodit. Mosaic měl typickou adresní řádku a dokonce uměl zobrazovat obrázky přímo v textu. To předchozí prohlížeče neuměly, obrázku chápaly jako přílohy, které jste si museli stáhnout a zobrazit jiným programem. Ovšem zatímco ty byly určeny pro odborné publikum, Mosaic cílil na širší veřejnost.

Mosaic byl komerční software. Pro osobní nekomerční použití byl zdarma, ale firmy si musely koupit placenou licenci.  NCSA také licencovalo zdrojový kód. Založilo také společnost Spyglass, inc., která na bázi Mosaicu vyvíjela webový prohlížeč, který licencovala ne přímo uživatelům, ale velkým výrobcům software.

Netscape

Marc Andreessen opustil svůj částečný úvazek v NCSA a začal spolu s dalšími pracovat na konkurenčním webovém prohlížeči. Jmenoval se Netscape Navigator, jeho první verze vyšla v roce 1994 a zažil raketový nárůst uživatelské základny (spolu s rozvojem WWW jako takového). V roce 1996 měl téměř 80 % rostoucího trhu a jeho pozice se zdála být neotřesitelnou.

Netscape Navigator byl také formálně vzato komerční software, ale se spoustou výjimek pro osobní a akademické použití. Licenční podmínky se průběžně a nepříliš přehledně měnily a většina uživatelů za prohlížeč stejně neplatila.

Společnost Netscape se s tím snažila bojovat například tím, že uvedla Netscape Communicator, což byl Navigator s e-mailovým klientem a dalším přídavným softwarem. Nejdřív byl za peníze, potom zdarma. Netscape ale čekal tvrdý pád.

Microsoft Internet Explorer

Na konci roku 1994 se Microsoft rozhodl od společnosti Spyglass licencovat Mosaic, za pravidelnou pevnou částku a podíl z budoucího zisku. Na jeho základě vznikl Microsoft Internet Explorer 1.0, který byl distribuován v rámci balíčku Microsoft Plus! pro Windows 95. To byla první a poslední verze IE, která se prodávala.

O několik měsíců později byl vydán IE verze 1.5 pro Windows NT a byl k dispozici zdarma, pro tento operační systém i pro všechny jeho následovníky. Microsoft tím obešel licenční klauzuli o podílu na zisku a v roce 1997 musel společnosti Spyglass zaplatit osm miliónů dolarů v rámci smíru. Nebyl to ovšem zdaleka poslední právní problém, který Microsoft s IE měl.

Války prohlížečů

Ve druhé polovině devadesátých let byli na trhu dva dominantní hráči: Netscape se svým Navigatorem a Microsoft s Internet Explorerem. Bitvy se vedly na linii obchodní, právní a technické.

Toto období bylo časem velkých technických inovací, některých pravda smysluplných více, některých méně. Standard HTML byl zpočátku dosti skoupý a výrobci prohlížečů do něj nesystematicky přidávali různé elementy a funkcionality. Největším zářezem Microsoftu byla technologie ActiveX, která umožnila do HTML dokumentů vkládat různé aktivní prvky, komponenty a pluginy (později se stala noční můrou z hlediska bezpečnosti). Netscape ze začátku bodoval lepší implementací nové technologie CSS (Cascading Style Sheets), která umožnila lépe ovlivňovat vzhled webových stránek. Později také dodal technologii LiveScript, která ovšem byla velmi rychle přejmenována na JavaScript ve snaze trochu se přiživit na tehdejším boomu jazyka Java (a to přesto, že Java a JavaScript mají technicky společného asi tolik jako akt a pietní akt).

Pro autory webů (včetně autora tohoto článku) se jednalo o dosti temné časy, protože napsat netriviální web, který by fungoval v obou hlavních prohlížečích a pokud možno vypadal aspoň podobně když ne stejně, bylo dosti složité. Jeden prohlížeč podporoval to, druhý ono, a když se náhodou shodli a něco podporovaly oba, tak každý jinak.

Po stránce obchodní tahal za silnější konec Microsoft, neboť zatímco Netscape se snažil svůj prohlížeč prodávat, Microsoft dával Internet Explorer zdarma. Netscape se tomu bez větších úspěchů snažil bránit právně, ale marně. V letech 2002-2003 měl Microsoft mezi 95 a 99 % trhu (podle toho, jak to počítáte) a jeho pozice se zdála být neotřesitelnou.

Postupem času mu přibyla konkurence, zejména v podobě prohlížeče Firefox, který vznikl z Netscape Navigatoru, který byl v posledním zoufalém činu uvolněn jako open source.

PRVNÍ DÍL SERIÁLU ČTĚTE ZDE:

Michal Valášek: SAPO. První československý počítač, v němž se o výsledku hlasovalo

Název prvního československého počítače je velmi přímočarý: SAPO je zkratka ze “SAmočinný POčítač”. Jeho konstrukce ovšem zdaleka tak přímočará nebyla a některými jejími aspekty se inspirujeme dodnes.

BrowserChoice.eu

Na začátku roku 2010 byla situace následující: pohodlnou polovinu trhu držel Internet Explorer, tehdy s aktuální verzí 8. Jeho největším konkurentem byla Mozilla se zhruba třiceti procenty trhu. Začínající Chrome od společnosti Google měl nějakých sedm procent, Safari od Apple něco přes čtyři a Opera norské společnosti Opera Software se plácala někde kolem dvou tří procent, ostatně jako téměř po celou dobu své existence.

Na základě stížnosti Opery se EU rozhodla vložit do konkurenčního boje a výsledkem byla Ballot Screen, resp. web BrowserChoice.eu. Microsoft byl donucen prostřednictvím aktualizace do Windows 7 vecpat software, který uživatelům nabízel možnost instalace alternativních prohlížečů, přičemž tato funkcionalita tam musela zůstat až do roku 2014.

Prohlížeče byly rozděleny do dvou skupin. Prvních pět pozic (viditelných ve výchozím zobrazení) obsadil IE, Firefox, Chrome, Opera a Safari (v roce 2012, kdy jej Apple přestal pro Windows vydávat, ho nahradil Maxthon). Prohlížeče byly zobrazeny v náhodném pořadí, aby nebyl nikdo zvýhodňován.

Druhou ligu, po odscrollování doprava, hrálo pět až sedm prohlížečů, které vesměs odvál čas do hlubin zapomění. Jenom opravdoví fandové si vzpomenou na jména jako Flock, GreenBrowser, Lunascape nebo Sleipnir.

Na stránkách projektu StatCounter můžete sledovat vývoj podílů prohlížečů v čase. Žádný zlom ale v roce 2010 nenajdete, reálný dopad aktivita EU neměla (nabízí se říct “naštěstí”, protože u této instituce je nutné ocenit to, když aspoň aktivně neškodí). Křivky tržních podílů postupovaly nerušeně původními směry: Chrome nahoru, všichni ostatní dolů.

K jádru věci

Při debatě o webových prohlížečích je nutné věnovat pozornost jejich jádru. To je klíčová komponenta, která se stará o komunikaci s webovým serverem, zpracování (parsování) HTML a JavaScriptu a vykreslování výsledku. Nad existujícím jádrem (browser engine) lze jednoduchý browser zbastlit poměrně rychle – důkazem je třeba “vlastní” prohlížeč od Seznam.cz.

V dobách největší diverzity těchto jader spolu bojovaly čtyři:

  • Trident – Microsoft Internet Explorer
  • WebKit – Chrome
  • Gecko – Mozilla, Firefox
  • Presto – Opera

Z pohledu tvůrce webu noční můra, protože každé jádro funguje trochu jinak a chová se trochu jinak. A to prosím zcela v souladu se standardem HTML, který na mnoha místech sice definuje jak by se měly prohlížeče chovat, ale zároveň obsahuje formulace jako “ale klient může použít i jiný algoritmus, a to i když dává odlišné výsledky”.

Blink první, zbytek nikde

Nejslavnější dostihový kůň světa se jmenoval Eclipse a zapsal se do dějin mimo jiné tím, že v Epsom, Downs 3. května 1769 zaběhl s výsledkem, který díky obrovskému náskoku před zbytkem pole dostihová komise zapsala jako “Eclipse first and the rest nowhere” (Eclipse první, zbytek nikde). Beze studu ho můžeme použít pro popis postavení jádra Blink. To se zrodilo v roce 2013 jako fork WebKitu zásluhou Google. Jak vypadá market share prohlížečů dneska?

Celých 64 % drží Google Chrome s jádrem Blink. Dalších 19 % má Apple Safari s jádrem WebKit (ze kterého se zrodil Blink). Za tento podíl může především iPhone, protože Apple neumožňuje na iOS platformě používat jakékoliv jiné jádro, než svoje vlastní. No, a zbytek je “nikde”. Mozilla Firefox, Microsoft Edge a Samsung Internet (výchozí prohlížeč na mobilech Samsung) oscilují okolo třech procent, Opera si drží svá dvě procenta. S výjimkou Firefoxu (které se drží jádra Gecko) jsou ovšem všechny tyto browsery postaveny na jádře Blink od Google.

Googlovské jádro Blink tedy se započtením dalších drobných prohlížečů, které jsou na něm založeny, drží zhruba 77 % trhu a pokud k němu připočítáme i příbuzný WebKit v Safari, dostaneme se na 97% podíl a jeho dominantní pozice se zdá být neotřesitelná. Zbylá tři procenta jako poslední alternativu drží open source browser Firefox a jeho jádro Gecko. Poněkud absurdně, naprostá většina příjmů Mozilla Foundation, která financuje vývoj Firefoxu, nepochází od nikoho jiného, než od Google, který platí za to, že je jeho vyhledávač ve Firefoxu nastaven jako výchozí.

Z hlediska okamžitého prospěchu autorů webu a vlastně i uživatelů je všechno v nejlepším pořádku. Všechny prohlížeče fungují v podstatě stejně, na jednom engine, a psaní webů pro více prohlížečů nikdy nebylo tak snadné jako dneska. Hrozba se ale skrývá v nedostatečné diverzitě ekosystému. Nedostatek konkurence škodí a stejně jako v přírodě, i v případě software může jedna nemoc – nebo bezpečnostní zranitelnost – zasáhnout prakticky celou populaci. Konce však nevidět, protože napsat vlastní jádro prohlížeče je extrémně náročné, je to srovnatelné s napsáním vlastního operačního systému. S původní verzí Edge se o to pokusil Microsoft (jádro EdgeHTML), ale neuspěl a rychle adoptoval Blink.

A Evropská unie? Ta se zabývá dominantním postavením Google na trhu vyhledávačů v Androidu. Prý je ve hře i nějaký ballot screen.