Hlavní navigace

WebRTC: online komunikace bez plug-inů v prohlížeči

15. 11. 2012
Doba čtení: 11 minut

Sdílet

WebRTC, chystaný webový standard, jehož podpora pozvolna proniká do prohlížečů, slibuje webové aplikace schopné např. videohovorů zcela nezávisle na plug-inech. Proč se WebRTC přisuzuje taková důležitost a jak to vypadá s podporou WebRTC ze strany nejrozšířenějších prohlížečů a na mobilních platformách?

Doba pokročila a uživatelé se u webových komunikačních služeb již nespokojí jen s textovou komunikací v reálném čase. Očekávají stejný komfort, který jim nabízí nativní klienty služeb jako je Skype a další globálně úspěšné komunikační služby, mezi jejichž primární funkce patří multimediální komunikace. Tedy zejména kombinace přenosu hlasu a videa, tedy videohovory. Jde víceméně o předvídatelný výsledek konvergence webového a desktopového světa. 

Jenže poskytovatelům komunikačních služeb dosud chyběly technologie, které by takovou funkcionalitu dokázaly přenést do webového prostředí. Logicky tedy sáhli po plug-inech. Někteří se vydali cestou tvorby vlastních plug-inů ušitých na míru svým službám, jiní spoléhají na plug-iny se širším zastoupením, kde se snižuje pravděpodobnost, že si uživatel bude muset instalovat něco extra pro využití dané komunikační služby.

Google Talk integrovaný do webového rozhraní populární e-mailové služby Gmail ještě nedávno pro videohovory vyžadoval instalaci vlastního plug-inu. Teď jej nahradily Hangouts ze sociální sítě Google Plus, které ovšem opět využívají vlastní plug-in. Facebook pro videohovory realizované v rámci sítě Skype a za pomoci její technologie rovněž vyžaduje instalaci specifického plug-inu.

Ty jsou nadále potřebné i pro tak primitivní funkce jako je pořízení snímku z webové kamery pro vytvoření profilové fotky na sociálních sítích. Někteří VoIP operátoři sice umožňují zákazníkům rychle telefonovat odkudkoliv přes webový prohlížeč, ovšem bez plug-inu to stále nejde. Nebo spíše dosud nešlo. Karta se totiž obrací s příchodem připravovaného standardu vycházejícího z projektu WebRTC.

S WebRTC přišel Google, ale prospět může všem

WebRTC je projekt z dílny Googlu, který podporují i další tvůrci prohlížečů a v současnosti se v rámci W3C pracuje na jeho standardizaci. Jde de facto o rozšíření HTML 5 v tom nejširším slova smyslu. HTML 5 je plné prvků, které do prohlížečů přináší čistě webové technologie umožňující to, co dříve šlo jen s pomocí plug-inů. Přehráváním multimediálního obsahu počínaje a offline během webových aplikací zdaleka nekonče.

Cílem WebRTC je díky jazykům HTML 5 a JavaScript dát webovým vývojářům do ruky technologie primárně pro tvorbu čistě webových aplikací s podporou online multimediální komunikace (od samotného volání po uživatelsky lákavé videohovory) v reálném čase bez závislosti na jakýchkoliv plug-inech. Umožní ale též i mnohem jednodušší operace, jako je třeba právě zmíněné pořizování fotek z webové kamery.

Budoucnost patří prohlížečům bez plug-inů

WebRTC rozhodně není otázkou nějakého webového fundamentalismu nebo technologického fetiše. Plug-iny se dlouhodobě ukazují jako problém, a proto se postupně na různých frontách hledají způsoby, jak se závislosti na nich zbavit. Například prohlížeče pro Modern UI ve Windows 8 počítají již jen s omezenou podporou plug-inů. Předinstalovaný Internet Explorer 10 standardně podporuje výhradně Flash Player, a to ještě jen na vybraných webových stránkách, byť toto omezení lze obejít.

Google Chrome ve své verzi pro Modern UI (známější pod jménem Metro, od kterého Microsoft kvůli sporu o značku s německou firmou téhož názvu ustoupil) rovněž podporuje pouze Flash Player (ovšem napříč celým webovým světem) a pak vestavěný plug-in po prohlížení PDF dokumentů založený na technologii společnosti Foxit Software, která se jeví bezpečnější než Adobe Reader patřící dnes mezi vůbec nejzneužívanější děravé programy.

Mozilla Firefox bude v prostředí Modern UI též podporovat jen Flash Player a k prohlížení PDF dokumentů využije vlastní prohlížeč založený čistě na webových technologiích. Výhledově Mozilla počítá díky projektu Shumway i s alespoň částečným zbavím se závislosti na Flash Playeru, jelikož Flash bude schopný ve vzdálenějším budoucnu a omezení míře renderovat přímo Firefox opět jen za použití webových technologií.

Nicméně trend hledání čistě webových alternativ za dosavadní plug-iny není jen otázkou Windows 8, respektive jejich nového prostředí Modern UI (Metro). Jde o dlouhodobý trend, protože plug-iny jsou obecně problematické hned z různých důvodů: bezpečnost, kompatibilita, spolehlivost, výkon a tak dále. Na příkladu WebRTC si můžeme ukázat, proč otevřené a ideálně standardizované webové technologie jsou moudřejší cestou než proprietární plug-iny.

S WebRTC lze počítat prakticky pro libovolnou platformu

Kouzlo webových technologií tkví v multiplatformnosti, což není doména ani těch nejvýznamnějších plug-inů jako je Flash Player. Jeho vývoj pro Linux a Android byl ukončen. Na iOS se Apple rozhodl tuto technologii vůbec nevpustit. Podpora WebRTC integrovaná do moderních prohlížečů může vše zmíněné jednoduše šmahem vyřešit, tedy z hlediska zajištění funkcionality multimediální komunikace coby součásti sociálních sítí, e-mailových služeb a dalších online projektů.

S WebRTC nebude třeba spoléhat na problematické plug-iny třetích stran v čele s Flash Playerem, natož pouštět se do vývoje vlastních plug-inů s omezenou podporou platforem, který je zbytečně nákladný na lidské i finanční zdroje investované nejen do jeho vývoje, ale i následného servisu. Nebude nutné vyvíjet ani nativní aplikace pro chytrou mobilní elektroniku. Vše vyřeší čistě webová technologie, jejíž podpora je či bude součástí moderních prohlížečů.

Díky podpoře WebRTC v moderních prohlížečích lze nebo v brzké době půjde technologii užívat pro první služby napříč platformami, s nimiž se Flash Player loučí nebo je nikdy nepodporoval. V neposlední řadě umožní vývoj moderních komunikačních aplikací pro Firefox OS, který počítá výhradně s webovými aplikacemi namísto těch nativních, takže pro nějaké plug-iny nebude žádný prostor.

Firefox OS se přitom může brzy stát jednou z těch důležitějších platforem chytrých mobilů. Očekává se totiž, že přinese velmi levné mobily s rysy těch dražších: např. vysoká rychlost nebo kvalitní displej. V tomto ohledu by měly mobily s Firefox OS překonávat low-cost modely se systémem Android, které tvoří významnou část ze tří čtvrtin trhu chytrých mobilů, které nyní platforma Android ovládá.

Plug-iny přinášejí problémy i na mainstreamových platformách

WebRTC není jen záležitostí pro menšinové a proto často přehlížené platformy nebo platformy, kde z různých důvodů plug-inům pšenka nekvete. Problémům s plug-iny totiž čelí i uživatelé MS Windows a OS X, tedy dvou nejrozšířenějších platforem osobních počítačů, kde se plug-iny dlouhé roky běžně ve webových prohlížečích používaly a používají pro rozšíření jejich běžné funkcionality.

Jenže, jak již zaznělo, přináší s sebou řadu problémů. Často způsobují nestabilitu prohlížečů, což uspokojivě nevyřešilo ani jejich oddělování do samostatných procesů. Ty rozšířené jsou pak při výskytu bezpečnostních nedostatků častým předmětem zájmu internetového podsvětí, protože neaktualizovaný plug-in představuje pro útočníky snadnou cestu k provedení útoku.

Stačí jen uživatele přilákat na záškodnický web, není nutné jej přimět ani něco manuálně stahovat. K úspěšnému zahájení útoku postačí načtení webové stránky. Ano, existují různé korekční kroky. Google Chrome se o aktualizaci plug-inu Flash Player stará vlastními silami díky velmi efektivnímu mechanismu tichých aktualizací. Nová Windows 8 jej aktualizují přes Windows Update.

Mozilla Firefox nyní uživatele varuje při používání zastaralé verze některého z nejrozšířenějších plug-inů a brzy přijde s jejich automatickým blokováním, takže zastaralé plug-iny se budou spouštět až na přání uživatele seznámeného s jejich rizikovostí. Jenže jde o opravná řešení, nikoliv koncepční. Navíc pokrývají jen nejkritičtější plug-iny, resp. plug-in. Řada dalších určených právě třeba pro konkrétní komunikační službu není těmito opravnými mechanismy pokryta.

Navíc tu pořád zůstávají problémy, jako jsou výkonnostní nároky plug-inů a potažmo jejich energetická spotřeba, která je při boomu mobilních zařízení stále palčivějším problémem. Tvůrci webových prohlížečů ji ze svého postavení prakticky nemají šanci zásadnějším způsobem ovlivnit. Konkrétně Adobe slibuje výkonnostní optimalizaci v každé významnější aktualizaci Flash Playeru, ale uživatel ji ve výsledku příliš nepozná.

Přitom zrovna u komunikačních služeb je otázka nároků na systémové prostředky a energetické spotřeby obzvlášť klíčová. Je zajisté nepříjemné, když se kvůli dočasnému přetížení procesoru videohovor uprostřed komunikace „sekne“ a prohlížeč jen suše oznámí, že plug-in přestal reagovat. Pokud tedy rovnou nespadne celý prohlížeč, což se i po oddělení plug-inů do samostatného procesu už v nedávné minulosti například u Firefoxu hromadně dělo.

WebRTC a podpora webových prohlížečů

Jakákoliv webová technologie potřebuje podporu ze strany nejrozšířenějších prohlížečů, aby se měla šanci prosadit. Jak je na tom v tomto ohledu WebRTC? Dobře i špatně zároveň. Dobře z toho úhlu pohledu, že o technologii jako takovou mají zájem tvůrci tři v současnosti nejrozšířenějších prohlížečů (Internet Explorer, Google Chrome, Mozilla Firefox), k nimž se přidávají tvůrci dalších prohlížečů (jako je mj. Opera či SeaMonkey).

Špatně je na tom WebRTC v tom smyslu, že implementace jeho podpory je zatím jedním slovem divočina. Jistě není překvapením, že Google Chrome už technologii podporuje, když jde o projekt vzešlý z dílny samotného Googlu. Již Google Chrome 21, který vyšel v půlce letošních letních prázdnin, začal podporovat první webové aplikace využívající ještě nestandardizovanou verzi WebRTC.

Mozilla Firefox skládá postupně střípky technologie. Přespříští Mozilla Firefox 18, který přijde počátkem ledna 2013, pak přinese už plnou podporu prvních webových aplikací využívajících WebRTC, ovšem Mozilla ji správně označuje za počáteční. Technologie totiž má do standardizace ještě daleko a Mozilla a Google implementují do svých prohlížečů WebRTC podle různých verzí specifikace.

Například videohovor mezi těmito dvěma prohlížeči z nejrozšířenější trojky prozatím nebude možný. Zdá se, že WebRTC narazí svým způsobem na stejné problémy jako značky audio a video z HTML 5, jejichž masovému používání dlouho bránila odlišnost prohlížečů v podpoře kodeků pro video a audio. Konsensus na používaných kodecích se našel až nedávno se silně zaťatými zuby ze strany Mozilly. Situaci by mohla vyřešit standardizace WebRTC ze strany W3C. Jenže ta nebude vůbec jednoduchá.

Cesta ke standardizaci bude ještě trnitá

Různí hráči, jejichž hlas má svou váhu, si WebRTC představují po svém. Microsoft má o standardizované podobě WebRTC zcela odlišnou představu než Google a Mozilla. Mozilla zase vyvíjí snahy, aby technologie počítala s otevřenými kodeky WebM (resp. VP8), OGG Theora a OGG Vorbis, na něž ve svých plánech Google nemyslí, přestože WebM je jeho vlastním projektem, kterým ještě před pár lety chtěl spasit video na webu.

Microsoft odmítá s technologií WebRTC pracovat na úrovni ostrého nasazení do produktů pro koncové uživatele, dokud W3C neprovede standardizaci. Do té doby prý podpora WebRTC v Internet Exploreru nebo čistě webová verze klienta komunikační služby Skype není aktuálním tématem. Je to do určité míry kuriózní, protože v minulosti byl Microsoft často kritizován, že jeho prohlížeč podporuje kdejaký vlastní výmysl a webové standardy přehlíží.

Po této masové kritice, která byla součástí i antimonopolní stížnosti u Evropské komise, se ovšem nynějšímu postoji Microsoftu nelze divit. Jde o zástupný argument pro obstrukce? Spíše ne. Microsoft nemá zájem obstrukce dělat. Vlastní technologii Silverlight de facto vystavil úmrtní list. Jiný podložený důvod pro případné obstrukce neexistuje. Spíše naopak. Pro svůj Skype potřebuje podobnou technologii jako sůl, takže se nelze ani moc divit, že do standardizace WebRTC mluví více, než se některým líbí.

Co se týče dalších prohlížečů, tak Opera začala WebRTC podporovat částečně již od dvanáctkové verze, která umožnila webovým vývojářům přístup k webové kameře. Podle společnosti Opera Software je to jen první krůček. Další ale v nejnovější Opeře 12.10 nepřišel, a jak to bude v tomto ohledu s Operou 12.50, zatím není stoprocentně jasné.

Tvůrci SeaMonkey vlastní výraznější aktivitu ve věci WebRTC, kromě vyjadřování podpory, nepodnikají. Jako tradičně spíše čekají, co budou moci převzít od Mozilly. Lze tedy očekávat, že po vydání Firefoxu 18 s tzv. počáteční podporou WebRTC se objeví SeaMonkey nabízející tutéž úroveň podpory. Nemusí to být ale hned vzápětí, protože některé novinky SeaMonkey přebírá s menším časovým odstupem v řádu přinejmenším týdnů.

Důležité je, že WebRTC je tématem pro tvůrce převážné většiny významnějších webových prohlížečů. Výjimkou je Safari z dílny Applu. Ten svůj postoj k WebRTC nikterak nekomentuje. Ovšem to není až tak moc důležité. Pro OS X jsou dostupné jiné prohlížeče, které s podporou WebRTC počítají nebo ji už v nějaké fázi nabízejí (Google Chrome, Mozilla  Firefox či Opera) a z platformy MS Windows se Apple se svým Safari, zřejmě pro nezájem uživatelů, letos v létě stáhl. Opět samozřejmě za přísného mlčení.

Jak to ale bude s mobilními platformami? Mozilla Firefox pro Android se na podporu WebRTC připravuje. Google Chrome ji jistě také nabídne jak pro mateřský Android, tak velmi pravděpodobně i pro chytrou elektroniku značky Apple, kterou mobilní Google Chrome od léta též podporuje. Nicméně vůbec první prohlížeč s aktivní podporou WebRTC pro Android a iOS vzešel z Ericsson Labs.

Bowser (nejde o překlep) od výzkumníků společnosti Ericsson, významného globálního hráče na telekomunikačním poli, však používá vlastní implementaci WebRTC, čili ať žije zmatek. Konkrétně jde o kombinaci frameworku GStreamer a kodeků H.264 (pro video) a G.711 (pro audio). S WebRTC dle představ Googlu tedy má výsledek práce výzkumníků společnosti Ericsson hodně málo společného.

Nyní bude extrémně důležité, aby se podpora WebRTC začala slaďovat napříč prohlížeči, což zřejmě bez standardizace nepůjde. Jenže čím více stran přichází s vlastní představou o WebRTC, tím více vypadá standardizační proces komplikovanější. Je totiž potřeba seriózně vyslechnout všechny strany a jejich námitky, připomínky či nápady, aby přijatý standard byl skutečně kvalitní a dostalo se mu patřičného respektu.

Ovšem existuje ještě jedna cesta WebRTC na výsluní. Google má tržní sílu, aby prorazil nestandardizovanou technologii a donutil konkurenci tancovat, jak bude sám pískat. Jeho Google Chrome je již dnes označován za „jediný správný prohlížeč“ (JESPR), jak se dříve hanlivě říkalo Internet Exploreru. Googlu totiž příliš nevadí, že některé funkce jeho služeb využijí jen uživatelé jeho vlastního prohlížeče Google Chrome.

Vzhledem k počtu uživatelů prohlížeče (po necelých čtyřech letech se letos na jaře stal jedničkou na trhu) a oblíbenosti různých služeb Googlu (např. Gmail je čerstvě nejpoužívanější e-mailovou službou na světě) a produktů (systém Android, zařízení Nexus) může WebRTC prosadit dle svých představ i „bez štemplu“ od W3C. V zájmu ostatních tvůrců prohlížečů, chtě nechtě, bude podporu WebRTC v podobě dané Googlem implementovat i přes více či méně oprávněné výtky.

CS24_early

Jinak by totiž podpora WebRTC a kompatibilita s uživatelsky atraktivními a žádanými službami Googlu mohla být velkou killer-feature browseru Google Chrome. Ostatní prohlížeče se už podle řadit statistik dívají prohlížeči od Googlu na záda, takže jakékoliv jeho získávání větší atraktivnosti pro uživatele je ze strany tvůrců konkurenčních prohlížečů palčivým problémem, na který je nutné adekvátně reagovat.

Samozřejmě by bylo prospěšnější, kdyby se technologie WebRTC nasazovala jako všeobecně uznávaný standard. Pokud by ale silové prosazení vedlo k používání dobré technologie nahrazující ty problematické a uzavřené jako je Flash či Silverlight s omezenou podporou platforem, z uživatelského hlediska by to nebylo zase tak velké zlo. Ale nepředbíhejme. Přestože WebRTC je velmi atraktivním tématem, pořád jde o relativně čerstvou záležitost, takže vše je otevřené…

Věříte, že se WebRTC prosadí?

Byl pro vás článek přínosný?

Autor článku

Autor je nezávislý novinář a publicista věnující se informatice, elektronice a telekomunikacím. V těchto oborech i podniká, přičemž mezi open source projekty nachází atraktivní řešení pro své zákazníky. Pro Root.cz pravidelně píše od roku 2012.