Zobrazují se příspěvky se štítkemcamera. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemcamera. Zobrazit všechny příspěvky

úterý 19. ledna 2010

K čemu bude magická značka device

Bez přístupu webových stránek k webkameře a mikrofonu si budoucnost webu dnes už asi nemůžeme představit. Byl by třeba i bez rostoucích trendů typu rozšířená realita (augmented reality), s nimi je zapotřebí dvojnásob.

Nápady, jak takový přístup zařídit, nejsou nové, ovšem teprve nedávno se začalo pracovat na standardním řešení pod hlavičkou HTML5.

A proto vznikla značka <device>. Jedná se o abstraktní rozhraní pro přístup k lokálním zařízením. Takovým zařízením může být webkamera (ale nejen ona). Značka device zajistí jen přístup k datům, nikoliv jejich výstup ani zpracování, k tomu využije napojení na některou další technologii. Takový zápis:

<device type="media" onchange="update(this.data)">

umožní uživateli zapnout kameru (jedná se o akci, kterou musí uživatel potvrdit), přičemž vlastní výstup v tomto případě směřuje do značky video:

<video autoplay></video>
<script>
function update(stream) {
document.getElementsByTagName('video')[0].src = stream.URL;
}
</script>

(Příklad pochází ze specifikace.)

To není vše, obsah kamery by nemusel být jen vykreslován, mohl by být zpracováván a pomocí canvasu upravován (např. pro vytvoření zmíněné rozšířené reality) a v případě napojení streamu na technologii Web Sockets může být stream videa zasílán do internetu (např. pro tvorbu videokonferencí - příklad pochází z blogu WHATWG).

Celý návrh je zatím jen první myšlenkový draft a jak to u podobných případů bývá, může před svou realizací projít velkými změnami nebo být zcela zrušen.

Mé poznámky:
  1. Nejsem si jist, zda potřebujeme mít HTML značku <device>, nepostačilo by pouze javascriptové rozhraní? Ale je možné, že značka má vytvořit nějaké UI pro výzvu uživateli (podobně jako ji tvoří třeba <input type="file">), pak by dávalo umístění do dokumentu smysl.
  2. Ptám se samozřejmě i sám sebe, zda potřebujeme <device>, když lze podobný výsledek dosáhnout ve Flashi. A hned si odpovídám, že potřebujeme. Protože zapsání značky <device> spolu s několika řádky JavaScriptu bude pro klasického webového vývojáře prostě neporovnatelně jednodušší, než projít kompilačním procesem Flashe, resp. se jej vůbec naučit. V tomhle Flashi trochu ujíždí vlak. Obsahuje sice zajímavé technologie, ale nedokáže je rozumně zpřístupnit webovým vývojářům formou, na jakou jsou zvyklí. Pokud Web dokáže nabídnout technologie stejného kalibru (to se mu zatím nedaří, ale směřuje k tomu poměrně dobře), bude muset Flash nabídnout něco jiného, čím by zaujal.

středa 24. září 2008

Budou HTML formulář přímo přistupovat ke kameře?

Brad Lassey ve svých úvahách o mobilní verzi Firefoxu dospěl k zajímavému nápadu:

<input type=”camera” />

Posílání videí (nebo i fotek) pořízených z kamer připojených k počítači roste. (A to už vůbec nemluvím o mobilních telefonech!) Proč celý proces neusnadnit a neintegrovat do webového prohlížeče? Potřebujete nahrát do svého profilu na Facebooku fotografii? Stačí kliknout na input, vyfotit se a prohlížeč výsledek odešle. Když prohlížeče dokážou přehrávat <video>, proč by jej neměli umět také vytvářet?

Daniel Glazman zdůrazňuje několik bezpečnostních aspektů, ale s nápadem souhlasí a navrhuje začlenit ho do HTML5.

V HTML5 konferenci (resp. ani v jedné z těch dvou konferencí) se návrh zatím neobjevil. Jsem zvědav. Já bych pro něj hlasoval všemi deseti. Bylo by nutné zajistit, aby mohl být ve starších prohlížečích emulován klasickým <input type="file">, ale to je tak všechno.

BTW Jistě není náhodou, že se tento nápad objevil krátce po virální akci blogerů Mozilly.