čtvrtek 24. června 2010

Jak funguje geolokace ve Firefoxu - detailní (až vyčerpávající) popis

Často narážím na otázky týkající se geolokace ve webových prohlížečích. Lidé jsou někdy zmateni jejími výsledky. Např. přemýšlí, proč jim jeden počítač vrací jiné údaje než jejich druhý počítač v té samé místnosti apod.

Vysvětlím podrobně, jak funguje geolokace ve Firefoxu. Snad si pak dokážete na vaše otázky odpovědět. Budu se zabývat pouze Firefoxem - ostatní prohlížeče jsem zatím podrobně nezkoumal, ale část zmíněného může být jistě aplikována i na ně.
Pokud chcete komplexní pohled na problematiku, podívejte se na mou přednášku S geolokací by se neztratili ani Jeníček a Mařenka.

Začněme s javascriptovým kódem pro geolokaci

Použít geolokaci na webové stránce je celkem snadné. Stačí na to volání jedné funkce, a sice: navigator.geolocation.getCurrentPosition (viz připravovaný standard W3C).

A pro vyzkoušení: plný funkční příklad (všimněte si panelu hned nahoře, který musíte potvrdit).

Takhle to vypadá snadné. Pojďme se ale podívat, co přesně se odehraje od doby, kdy povolíte vašemu prohlížeči zjištění polohy až do získání výsledných souřadnic. Sami byste si pak měli být schopni odpovědět na otázky typu proč někdy Firefox vrátí polohu přesně (s rozptylem 150 metrů) a jindy ulítne a má rozptyl mnoha kilometrů.

Krok 1. Zjištění geolokačních údajů

Pokud má prohlížeč určit vaši polohu, musí shromáždit údaje potřebné ke geolokaci. Takových údajů je několik. Co je dostupné snad vždy, je vaše IP adresa (resp. veřejná IP brány přes kterou se připojujete k internetu). Srovnáním IP adresy s příslušnou databází je možné odhadnout vaši polohu. Jedná se o geolokační údaj s nejhorší přesností (rozptyl jednotky, desítky, někdy i stovky kilometrů - má pražská IP adresa je lokalizována do centra Prahy s rozptylem 140 km).

Ale lepší něco než nic. S IP adresou téměř vždy určíte správně zemi uživatele, v lepším případě i město, ve kterém se uživatel nachází. (Má to své mouchy. Pokud je např. uživatel z města A připojen k internetu přes VPN v městě B, pak je tímto způsobem jako jeho poloha určeno město B.) Jelikož jakákoliv metoda je lepší než geolokace pomocí IP adresy, použije se IP adresa jen v případě, kdy nic jiného není k dispozici. Jinak se ignoruje.

Má váš počítač Wi-Fi? Pak může být vaše poloha určena mnohem přesněji. Je-li Wi-Fi na vašem počítači zapnutá, načte Firefox všechny přípojné body, které právě vidíte (jejich jména, MAC adresy a sílu signálu) a použije jich k geolokaci (využívá se k tomu celosvětová databáze Wi-Fi přípojných bodů).

Tím možnosti desktopového Firefoxu končí. U mobilních prohlížečů navíc připadá v úvahu ještě využití BTS ve vašem okolí (to funguje na stejném principu jako u Wi-Fi s tím rozdílem, že signál BTS dosáhne dál, tudíž geolokace pomocí BTS bude méně přesná než geolokace pomocí Wi-Fi). A konečně tu je možnost využití GPS zabudované v telefonu.

My počítáme s desktopovým Firefoxem, tudíž známe jen IP adresu a Wi-Fi v okolí.

Krok 2. Dotazujeme se geolokační služby Googlu

Naznačil jsem, že samotná znalost IP adresy ani Wi-Fi bodů nestačí, je potřeba je porovnat s databází, která obsahuje polohu všech (resp. ne všech, ale dostatečného množství) IP adres a Wi-Fi bodů.

Firefox k tomu používá databázi Googlu. (Takových databází je řada, ale Google má asi jednu z největších = nejlepších.) Google sestavil Geolocation API Network Protocol, pomocí kterého může Firefox (nebo i vaše vlastní aplikace, jak si ještě ukážeme) s jeho databází komunikovat.

V about:prefs předvolbách Firefoxu najdete klíč geo.wifi.uri s hodnotou https://www.google.com/loc/json.

To je URL, se kterou Firefox komunikuje pomocí Geolocation API Network Protocolu. Jak taková komunikace vypadá?

Řekněme, že můj počítač "vidí" jednu Wi-Fi s názvem "default" a adresou "00-0e-2e-7d-7d-0e". Požadavek vypadá takto:
{
"version": "1.1.0",
"wifi_towers": [
{
"mac_address": "00-0e-2e-7d-7d-0e",
"signal_strength": -49,
"ssid": "default"
}
]
}
Všimněte si, že protokol kromě hlavičky s číslem verze obsahuje pouze údaje o daném Wi-Fi bodu, nikde v něm nefiguruje údaj o vaší IP adrese. Tu nepotřebuje. Google k tomu použije IP adresu, ze které mu požadavek dorazí.

Pozn.: Pokud byste chtěli komunikaci mezi Googlem a prohlížečem odposlouchávat a máte problém s HTTPS, můžete změnit hodnotu geo.wifi.uri na http://www.google.com/loc/json (všimněte si změny protokolu z HTTPS na HTTP). Pro pouhé zalogování dat, která Firefox odeslal geolokačním protokolem, se mi osvědčila služba http://www.postbin.org/ nastavte geo.wifi.uri na vygenerovaný postbin a sledujte, co Firefox odesílá. (Po otestování vraťte geo.wifi.uri na původní hodnotu.)

K soukromí: Geolokační požadavky neobsahují cookies. To z důvodu ochrany soukromí. Můžete být právě ke Googlu přihlášeni, ale Firefox cookies přihlášeného uživatele na adresu https://www.google.com/loc/json prostě nepošle. Asi namítnete, že kdyby Google opravdu chtěl, může si propojit identitu uživatele pomocí IP adresy a sledovat jej tak. To jistě může.

Na druhou stranu odfiltrováním cookies udělal Google, co bylo jednoduše možné. Vaši IP adresu už odfiltrovat nemůže (pokud bychom do toho nezapojili nějakou třetí stranu, která by prováděla anonymizaci IP adresy, a této straně bychom bezvýhradně věřili...).

Uživateli je ovšem přidělen identifikátor, který si prohlížeč po nějakou dobu drží. Google tak může sledovat pohyb konkrétního uživatele, byť tento uživatel není reprezentován svým cookies (tj. svým googlím účtem, tj. svou identitou), ale náhodně vygenerovaným identifikátorem. Předpokládám, že toto sledování Google využívá pro budování a opravování své celosvětové databáze Wi-Fi bodů a BTS (při geolokaci se totiž jednak určuje vaše poloha, ovšem současně se tak i buduje databáze u Googlu - nádherné inženýrské vyřešení úlohy).

Souhrn: Při geolokaci tedy k jisté rozumné ochraně soukromí dochází, byť je to teoreticky ze strany Googlu překonatelné (kdyby chtěl, tak si vás najde a basta!).


Krok 3. Jak Google určí polohu

Skončili jsme odesláním požadavku na URL https://www.google.com/loc/json.

Google odpoví takto:
{"location":
{
"latitude":50.1001961,
"longitude":14.4228038,
"accuracy":150.0
},
access_token":"2:Ta5Y_rSUZbO4rpJD:_FXkzUcxD1OWG-YM"
}
Výsledek si můžeme zobrazit na mapě. Návštěvníci pražských Ruby srazů a Posledních sobot jistě poznali, že se jedná o známý podnik zvaný Fraktál.

Položka access_token je onem zmíněný identifikátor, který vám Google tímto přidělil a kterým budou označeny další požadavky Firefoxu o geolokaci.

Všimněte si, že pomocí Wi-Fi lze zaměřit opravdu přesně. Stačila jediná Wi-Fi a získali jsme naši polohu s rozptylem 150 metrů!!! Tak to skutečně je. Stejnou zkušenost jsem učinil na řade dalších míst ať již v Praze, Plzni nebo Brně. Geolokace pomocí Wi-Fi je neuvěřitelně přesná.

Ve Fraktálu je ve skutečnosti 3-5 Wi-Fi bodů. V požadavku budou Googlu zaslány všechny, ale jemu stačí jediná z nich (je jedno která).

Výjimky: I v městech existují místa, která nemá Google zaměřena přesně. Na výjimky ale narazíte zřídka a nemívají dlouhého trvání. Databáze Google je samoopravující.

Sledoval jsem několik špatně zaměřených bodů a za několik týdnů až měsíců se jejich poloha upřesnila. Podobně tomu je, když se nějaký Wi-Fi bod přemístí (když se někdo přestěhuje do jiného města vezme si s sebou Wi-Fi router), i v takovém případě, se poloha časem ustálí na novém místě.

(Pozorný čtenář právě objevil možnost, jak snadno vysledovat, kam se odstěhovali jeho sousedé. Pokud s sebou vzali Wi-Fi router, je možné po čase určit jejich nové bydliště s přesností na 150 metrů. A to prakticky v kterékoliv civilizované části Zeměkoule!!!)

V případě, že si pořídíte nový Wi-Fi router, pak se za několik týdnů až měsíců také do databáze dostane. (Pokud přemýšlíte jak, pročtěte si, co znamená wardriving či warwalking.)

Je váš Wi-Fi router v databázi Googlu?

To snadno zjistíte. Připravil jsem k tomu jednoduchý nástroj (jedná se jednoduchou aplikaci, která se přímo dotazuje geolokační databáze Googlu). Stačí, když do textového pole zadáte MAC adresu vaší Wi-Fi ve formátu, který používá geolokační protokol, např. takto:
{"version":"1.1.0","wifi_towers":
[{"mac_address":"00-0e-2e-7d-7d-0e"}]}
a odešlete.

V 90% případů získáte vaši přesnou polohu (na 150m). Pokud ovšem získáte tento obrázek, tak jste jeden z mála případů, které v databázi Googlu nejsou. Pak Google použije IP adresu (jelikož moje aplikace hostuje u Googlu má IP adresu lokalizovanou do jakéhosi městečka v Americe).

Pokud máte nový Wi-Fi router, který Google ještě nezná, nebo pokud jste ze samoty, kterou Google databáze ještě nezná, schválně sledujte, jak dlouho bude trvat, než se v databázi objevíte.

Teď byste měli vědět o průběhu geolokace vše. Nebo ne? Ujasněme si ještě pár faktů.

Wi-Fi je základ

Pokud máte v jedné místnosti dva počítače a jeden z nich má zapnutou Wi-Fi, tak ten s Wi-Fi by vás měl lokalizovat naprosto přesně (na oněch 150m). Zkuste si to na maps.google.com (modré tlačítko vlevo nahoře) nebo na mé javascriptové ukázce na začátku článku. Počítač bez Wi-Fi naopak zcela ulítne a hodí vás nejspíš někam do středu nejbližšího velkého města. Můžete si to vyzkoušet i na tom samém počítači se zapnutou a vypnutou Wi-Fi (někdy je nutné mezitím restartovat Firefox, aby se změna projevila).

Co když Googlu pošlu nekonzistentní data?

I to jsem během svých experimentů zkoušel 8-) Ve standardním požadavku Firefox zasílá seznam Wi-Fi bodů z okolí, Google si najde v databázi jejich polohy a následně z nich stanoví polohu uživatele (pravděpodobně jako střed bodů všech Wi-Fi připojení - v tuto chvíli ignoruje velikost signálu a bere v úvahu pouze polohu bodů).

Co když by dostal požadavek, který by obsahoval současně Wi-Fi body z Prahy i Brna? Co udělá? Hloupý není. Ví, že tak velký signál Wi-Fi nemá. Rozhodne se dle jednotlivých bodů. Pokud mu v požadavku zašlu jeden bod z Prahy a jeden z Brna, nemá dle čeho se chytit a Wi-Fi ke geolokaci nepoužije (stále mu zbývá IP adresa, po které může sáhnout).

Pokud bych zaslal 1 bod z Prahy a 2 body z Brna, pak bude bod z Prahy považován za chybný a Google použije ke geolokaci ony dva Brněnské body (stejnou logikou to funguje i při vyšším počtu bodů).

Všimněte si, že jsme si právě ukázali mechanismus, jaký by Google mohl používat k samoopravování své databáze. Pokud se totiž i se svým Wi-Fi routerem přestěhuji z Prahy do Brna, tak nastane přesně ona výše zmíněná situace. Spustím si geolokaci a můj počítač pravděpodobně uvidí několik brněnských Wi-Fi bodů a jeden (můj) pražský. Pokud by se takový dotaz opakoval dostatečně často, mohl by být můj pražský router považován za přestěhovaný do Brna a jeho poloha v DB by se zaktualizovala.

Jsou to dohady, Google veřejně nespecifikoval, jak přesně svou databázi udržuje. Což asi nikdy neudělá, protože jinak bychom ho mohli správně zvolenými požadavky dokonale zblbnout a celou databázi mu rozházet.

Závěr

To jde ode mě vše. Čím víc jsem tenhle mechanismus zkoumal, tím víc se mi líbilo, jak je navržen. A na závěr mám malou prosbu. Pokud jste někdo zkoumal, jak funguje geolokace v dalším prohlížečích, dejte mi vědět (stačí mi i informace, zda používají také databázi Googlu nebo jinou).

Na úplný závěr děkuji Davidu Majdovi, Pavlu Cvrčkovi a Marušce Grafové, kteří mě byli nápomocni při testování geolokace v Praze a dalších městech.

Internet Explorer 9 podporuje canvas. I s akcelerací

BREAKING NEWS - Když jsem na podzim psal "investigativní" článek o tom, co vše se nejspíš objeví v Internet Exploreru 9, dávalo mi mé okolí najevo svou velkou skepsi. Uplynulo půl roku, nějakých 80% z něj se již splnilo a já pomalu přemýšlím, zda jsem neměl být na podzim nakonec odvážnější.

Dnes je již jasné, že IE9 bude obsahovat canvas. A jelikož je výstup IE9 hardwarově akcelerovaný, bude i tento canvas akcelerovaný (a tedy možná i pekelně rychlý).

Oznámil to Microsoft v posledním blogpostu.



Canvas - všechno, co umí (třeba i Wolfenstein v JavaScriptu a další), co bylo v IE6 - IE8 nutné emulovat JavaScriptem a tudiž bylo pekelně pomalé, bude v IE9 pekelně rychlé.

Další velký skok ve vývoji webu!! Mnohem větší než třeba lepší podpora selektorů nebo vyřešení CSS renderovacích chyb. Ty totiž byly sice nadmíru otravné, ale dalo se s nimi žít (a dlouhé roky jsme s nimi žili), zato canvas otevírá webovým aplikacím celou novou dimenzi.

A nejedná se zdaleka jen o hrátky typu Doom v prohlížeči, ale i takové plnohodnotné vývojářské IDE v prohlížeči nebo o nástroje, které zásadně překročují omezení dnešního boxmodelu v prohlížečích - co třeba takové "zaoblené" obtékání obrázků? A miliony dalších použití, které nás zatím vůbec nenapadly.

Jasně na rozšíření IE9 si ještě pár let počkáme, ale přesto dnešním dnem nastala změna. Do teď řada lidí k canvasu přistupovala jako k něčemu, co IE nikdy nebude podporovat, tudíž to v něm nikdy nebude pořádně fungovat a když, tak děsně pomalu pomocí JS emulace. Dnes lze k canvasu přistupovat jako k něčemu, co v fungovat bude a pořádně a stejně rychle jako v jiných prohlížečích a je jen otázkou času, kdy k tomu dojde. Pokud jste dosud canvas striktně ignorovali, možná stojí za to o něm od teď začít aspoň lehce uvažovat.

BTW Možnosti canvasu si můžete sami vyzkoušet v nové ukázkové verzi IE9. Já si to nemám teď, kde vyzkoušet, ale pokud budete mít tu možnost vy, zkuste, jak v něm ty nejznámější canvasové projekty a dejte mi prosím vědět.

Související

úterý 22. června 2010

Google spouští HTML5Rocks

Google dnes spustil nový web s názvem HTML5Rocks. Najdete na něm tutoriály pro základní stavební kameny HTML5. Bude se jednat o skvělý doplněk již dříve existujícího webu HTML5 Doctor.

A mimo jiné právě teď vychází kniha HTML5 for Web Designers. Pokud vím, tak vůbec první kniha zaměřená na HTML5. Její autor Jeremy Keith je poměrně známý (a má za sebou již pár knih). Jsem zvědav na první recenze.

úterý 16. března 2010

Jaká byla XMLPrague 2010 z pohledu webaře

XML Prague je jedna z těch mezinárodních konferencí, o kterých se ví víc ve světě než u nás. Předpokládám, že většina čtenářů tohoto blogu na XML Prague nikdy nebyla a možná o ní ani neslyšela. Ovšem vzhledem k tomu, jakou má XML Prague dlouhou tradici a jací významní lidé z oboru na ni jezdí, jedná se o jednu z nejvýznamnějších (možná vůbec nejvýznamnější) takových konferencí v ČR.

O XML se sice nezajímám moc do hloubky, přesto mě XML Prague zlákala, a tak jsem se nenápadně vetřel mezi všechny ty XML experty, kteří si o tomto víkendu dali v Praze sraz. Byli tu lidé ovlivňující budoucnost XML, ať již pod křídly W3C nebo ISO či OASIS.

Program byl silně odborný a úzce zaměřený. Z témat mě zaujalo např.:

Streaming in XSLT 2.1 - takové průtokové použití XSLT bez nutnosti načtení celého dokumentu do paměti

A Time Machine for XML - neboli časoprostorové procházení XML dokumentem. Klasický XML je de facto dvourozměrný (můžeme jím procházet svisle po ose rodič-potomek nebo vodorovně po ose sourozenců), pokud vezmeme v úvahu časovou historii dokumentu (čili jeho starší verze budeme uchovávat), není problém přidat osu třetí - časovou a procházet jí stejnými prostředky, jakými procházíme zmíněné dvě osy. Je to moc hezký nápad, zájemcům přikládám podrobnější článek.

XQuery in the Browser - je projekt, který přidává do prohlížečů prostřednictvím pluginu podporu XQuery jakožto skriptovacího jazyka. Můžete v něm pak programovat stejně jako v JavaScriptu (ukázka). Ač je to zajímavá myšlenka, mě se ten zápis vůbec nelíbí. Na druhou stranu autorovi projektu se zase vůbec nelíbí JavaScript (resp. přiznal, že ho vlastně moc neumí) - ale to mu nemůžu zazlívat, jsme holt oba z "opačné polokoule". (Ostatně jakási nechuť k dnešnímu webařskému světu byla cítit snad z celé konference.)

Future of XML at W3C - byla řeč zaměstnance W3C, jejíž základní myšlenkou bylo "Future is mutable" a "nebojte se zapojit do W3C a spoluovlivňovat další vývoj".

Multimedia XML - byla vlastně jediná webařská přednáška celé konference. Robin Berjon na ní ukazoval některé pěkné možnosti CSS3 a HTML5. Z publika byla ovšem cítit tak trochu nechuť. Svět prohlížečů ve světě XML moc neletí.

O rozevření nůžek mezi světem XML a světem webu vím léta, ale tady jsem si ho prvně pořádně vychutnal. Do budoucna se budu držet předsevzetí "Nikomu, kdo pracuje s XML nevěř." Což je docela praktické a člověk si tím ušetří problémy.

Tím nemyslím, že by ve světě XML nebyly zajímavě věci. Jsou a moc! Viz třeba témata výše. Ale tvoří je lidé, kteří dnešnímu webu a jeho filosofii nejenže nerozumí, ale často s ní bytostně nesouhlasí a nemají ji moc rádi. Proto ne každý jejich výtvor půjde ve světě dnešního webu elegantně a lehce aplikovat (ačkoliv v "jejich" XML světě bude samozřejmě skvělý). Ale to by bylo na dlouhou debatu, vraťme se ke XMLPrague.

Konference se mi moc líbila. Je pěkné jednou za čas vedle konferencí, na které jsme v Praze zvyklí, navštívit pro změnu konferenci, kde jsou lidé světového formátu, kteří ovlivnili minulost nebo ovlivňující budoucnost svého oboru.

Bylo skvělé, že konference šla sledovat online v přímém přenosu. Navíc kromě sledování #xmlprague na Twitteru bylo možné si sednout do virtuální twitter posluchárny (obrázek níže) a vidět, kdo další konferenci také právě sleduje. (Mohli jste i pomocí smajlíku vyjadřovat svou aktuální náladu, ale to prakticky nikdo nepoužíval.)

Twitter visitors room

Dobrým nápadem byla i soutěž o nejlepší tweet se značkou #xmlprague, za který byla udělena poukázka na nějakých 300 dolarů do prodejen Applu. (A že se během konference twitterující skutečně snažili!)

Díky organizátorům za pěknou konferenci. A čtenářům, kteří se o XML tak trochu také zajímají doporučuji se příště na XML Prague podívat, když ne jinak, tak aspoň pomocí online přenosu.

A na závěr fotky z konference, do kterých jsem také trošku přispěl:

pátek 5. března 2010

Vyšla další verze HTML5 - tentokrát přehlednější

Včera vydalo W3C další pracovní verzi specifikace HTML5. Je rozdělena do několika dokumentů a na své si tentorkát přijdou i ti, kdo se v předchozích dokumentech nevyznali.

  • HTML: The Markup Language - přehled značek HTML5 se zdůrazněním změn oproti HTML4 (novinka - asi první dokument, po kterém sáhne běžný kodér)
  • HTML5 differences from HTML4 - podrobný soupis rozdílů HTML4 a 5
  • HTML5 - vlastní specifikace (nejdelší dokument)
  • HTML Canvas 2D Context - původně součást HTML5 spec. o značce canvas, vyčleněná do separátního dokumentu
  • HTML Microdata - separátní dokument o mikrodatech (vyčleněný podobně jako canvas)
  • HTML+RDFa - separátní dokument o používání RDFa v HTML5
Dodatek Additional Requirements for Bidi in HTML v našich končinách již tolik zajímavý není.

Jak se pracovní skupině pro HTML daří?

Já myslím, že docela dobře. Od roku 2007, kdy byla založena a kdy vznikl i tento blog, se udělalo hodně práce. HTML5 za tu dobu přestalo být suchou teorií, které nikdo nevěří. Začíná být používáno a skloňováno ve všech pádech, není snad prohlížeče, který by nějakou rozumnou část HTML5 neimplementoval. Snad všichni si dnes již uvědomili, že HTML5 je budoucnost (a de facto už i přítomnost).

Věci, které se od začátku jevily jako nesmyslné, se ukázaly jako nesmyslné. Pracovní skupina byla např. založena s plánem do prosince roku 2010 (to už je za dveřmi), do kterého mělo být HTML5 kompletně hotovo (i s referenčními implementacemi v prohlížečích!!). Nevěřil tomu snad nikdo (ani členové HTML WG), ale v zakládací listině to tak stálo. Do konce roku bude proto muset W3C nějak schválit pokračování činnosti HTML WG a stanovit další termíny. To jsou ale spíš byrokratické věci, které nás tolik nezajímají. Vlastnímu HTML5 se daří.

úterý 26. ledna 2010

DailyMotion je další videoserver používající HTML5 a má zajímavé efekty

DailyMotion je videoserver, kterému se občas přezdívá francouzský YouTube. (Uhodli jste jste správně - DailyMotion sídlí v Paříži.)

Když jsem zmínil nedávné spuštění HTML5 verze YouTube a HTML5 verze Vimea, nesmím zapomenout zmínit HTML5 verzi DailyMotion.

DailyMotion je u nás málo známý, o to víc je ale jeho HTML5 verze zajímavější.

Tou první zajímavostí je, že ačkoliv HTML5 verze YouTube a Vimea běží od letošního ledna, DailyMotion přináší HTML5 verzi již od května loňského roku (oficiální oznámení).

Tou druhou zajímavostí je, že zatímco YouTube a Vimeo používají H.264 (což dává smysl, protože v tomto formátu mají - dle dostupných informací - videa uložena), tak DailyMotion nabízí videa ve formátu Ogg Theora a můžete si je tudíž pouštět ve Firefoxu 3.5+.

Do HTML5 verze není třeba DailyMotion nijak přepínat. Pouze místo na www.dailymotion.com stačí zajít na openvideo.dailymotion.com.

Ovšem to nejzajímavější jsou experimenty, které DailyMotion na videech provádí. Zatím je můžete vidět jen na demo stránce - najdete je v menu vlevo od videa.

Kromě otáčení videa nebo vytváření fotogalerie z běžícího videa, najdete i klasické filtry jako je rozmazání nebo edge-detection (za běhu videa pomocí JavaScriptu v prohlížeči). V téhle podobě nemají velký praktický smysl, jsou zde jako ukázka možností a možná že i předzvěst budoucnosti.

Video na webu často chápeme jako neměnné a pevně dané, jenže ono je součástí stránky a lze s ním manipulovat. DailyMotion to svým experimentem dobře ukazuje. Navíc ukazuje, že manipulace s videem pomocí JavaScriptu nejsou nereálné. Vzpomeňte, že ještě takové dva, tři roky zpátky bychom tomu asi nikdo nevěřili. Dnes už věřit můžeme. Možná to ještě neběží tak rychle, jak bychom si přáli, ale je to hodně blízko.

Uvidíme, zda jednou nějaký videoserver přijde na to, jak takových možností využít i pro normálního uživatele.

BTW Problém s kodekem stále zůstává. DailyMotion si v HTML5 podobě pustíte jen ve Firefoxu 3.5. Údajně si ho snad můžete pustit i v Safari, pokud máte do QuickTime plugin přidávající podporu OGG (pokud byste s tím někdo měli zkušenost, dejte mi prosím vědět).

UPDATE: Daily Motion si navíc spustíte nejen ve Firefox 3.5, ale i v Chrome nebo Safari (pro něj posílají speciálně překódovanou verzi videa).

pátek 22. ledna 2010

Už i Vimeo experimentuje s HTML5 videem

Včera jsem psal o spuštění HTML5 verze YouTube, dnes můžu přidat další videoserver.

Vimeo neváhalo a krátce po oznámení HTML5 na YouTube přišlo s vlastním oznámením. I videa na Vimeu si nyní můžete přehrávat bez Flashe, jen za pomoci technologie HTML5 (značka <video>). Stačí otevřít jakékoliv video a zvolit odkaz "Switch to HTML5 player" napravo dole od něj.

Omezení jsou stejná jako na YouTube, musíte mít prohlížeč Google Chrome nebo Safari a nefunguje přehrávání videa ve fullscreenu.

Autoři Vimea zdůrazňují, že se zatím jedná jen o beta test. Přesto obsahuje jednu výhodu, kterou základní Flash přehrávač Vimea nemá. V HTML5 verzi můžete ve videu bez problému a celkem plynule přeskakovat dopředu i do dosud nestažených částí videa. To Flash přehrávač Vimea neumí, u něj je vždy nutné počkat na postupné stažení videa.