, 03/12/2007 14:17
Il cosiddetto "2.0" ha portato spazi sempre crescenti per il multimedia; è una evoluzione pressocché inarrestabile che sta favorendo spunti di riflessione piuttosto vivaci ed interessanti. Qualche tempo fa, in occasione dell'evento "Web Masterminds" ho avuto il piacere di scambiare alcune impressioni con diversi Google specialists (in primis l'ottimo Kristof Kaiser) relativamente all'embedding di elementi audio e video all'interno di API Google, ipotesi che mi è sembrata in fase di studio e non necessariamente legata all'utilizzo di oggetti Flash. Lo sviluppo attuale delle specifiche HTML5 da parte del gruppo di lavoro W3C, capitanato proprio da Google, sta confermando un evidente interesse verso il multimedia e anche una grande "fretta" realizzativa: non è un caso che gli elementi <audio> e <video> siano stati presi in prestito da SMIL per orientarli ad una "user customization", come da questo esempio (visibile con plugin VLC). Per cui appare chiaro l'intento di svincolare l'interfaccia di controllo audio/video dai molti players Flash presenti in rete: potenti, versatili ed ormai irrinunciabili per la fruizione dei contenuti multimediali. Va da sé che senza questo vincolo cadrebbe anche la dipendenza da un formato proprietario come l'FLV (anche se Adobe sta aprendo all'esterno, vedi il recente supporto a MPEG-4) a favore di soluzioni open come ad esempio OGG Theora. In questo scenario a perderci sarebbe soprattutto l'elemento <object>, decurtato della gestione di oggetti multimediali e della sua tanto auspicata "universalità"; perciò nella lista pubblica dell'XHTML2 WG ho provato a formulare una ipotesi di "semantizzazione" basata su attributi attualmente in uso e con l'obiettivo di definire il vero "ruolo" dell'oggetto embeddato proprio grazie all'attributo role, favorendone quindi anche l'accessibilità. Tale approccio porterebbe ad uno scenario simile a quello prospettato in HTML5 ma affidando direttamente all'oggetto (e non a script lato client e gestori di eventi) la chiave della creazione/customizzazione dell'interfaccia di controllo, ad esempio scegliendo di affidare ad un'immagine il ruolo di tasto di riproduzione o stop. Ecco il possibile risultato in XHTML2:
<object role="video" srctype="video/ogg" src="file.ogg">
<div role="controls">
<object role="playButton" type="x-image/png" data="play.png" alt="Play current movie" />
<object role="stopButton" type="x-image/png" data="stop.png" alt="Stop current movie" />
</div>
</object>
Insomma, siamo solo all'inizio e sarà davvero interessante vedere gli sviluppi confrontandosi con un mercato in "perpetual beta"... ;)