Faust - Flash incontra i webstandards
Lunedì 22 Gennaio 2007 - 08:30
di Alessandro Fulciniti

Difficilmente mi sbilancio, ma credo (e spero) che d’ora in poi sentiremo
spesso la parola Faust. Oltre ad essere il titolo di uno dei miei libri preferiti è un acronimo coniato di recente dalla web-agency Space 150 e presentato
in Faust: Flash Augmenting Standards. Di cosa si tratta? Cercherò di tradurre i passaggi chiave dell’articolo:
Bisognerebbe realizzare due siti separati? Uno fatto in Flash e uno con i web standards? […] Non sarebbe bello se si potesse realizzare il sito una volta sola, raggiungere il 100% dell’audience, aderire ai web standards, ottimizzare il sito per i motori di ricerca e usare Flash?[..]
Faust - Flash Augmenting Standards è un processo
per realizzare siti accessibili in cui le pagine viste da utenti con Flash installato usano lo stesso HTML delle pagine viste dagli utenti senza Flash. Di fatto, il filmato Flash parsa il contenuto direttamente dalla pagina HTML. [..]
I web standards sono come una deliziosa torta a strati:
- HTML per struttura e contenuto
- CSS per la presentazione
- Javascript per il comportamento
Abbiamo aggiunto un quarto strato in cima alla torta: Flash, per caratteristiche di User Interaction che il browser non possiede e per contenuti multimediali. [..]
Abbiamo lanciato diversi siti che usano Faust e riteniamo che sia in grado di offrire diversi vantaggi:
- Faust è search engine friendly
- C’è bisogno di una sola sorgente di dati: l’HTML
- È compatibile con il tuo CMS
- È possibile aggiungere contenuti multimediali senza compromettere l’accessibilità di base
Devo dire che è da molto che non mi capita di leggere un articolo così ben scritto e documentato, che prosegue poi presentando come esempio il sito Ivy Hotel e l’esempio base: uno slideshow che usa Faust visto con Flash e senza.
Due parole sull’implementazione e poi vi lascio alla lettura, che davvero
merita. In sostanza, Faust si serve di una piccolo script di circa 1,5 Kb in grado di
catturare l’innerHTML e trasformarlo in XML che Flash può ricevere e manipolare. “Si, ma come avviene il passaggio?” vi starete
chiedendo. Semplice. Attraverso SWFObject di Geoff Stearns, uno script in grado di incorporare filmati Flash mediante Javascript.
Non voglio esagerare dicendo che siamo di fronte una rivoluzione pari ad Ajax, ma senza dubbio ci troviamo davanti a un’idea geniale e ad un momento storico del web design. Un momento in cui programmatori, appassionati di web standards e sviluppatori Flash trovano un punto di incontro verso orizzonti nuovi.
Categoria: XML/RSS | Permalink
sponsor
Commenti
1
Decisamente interessante! Era da un pò di tempo che aspettavo una notizia del genere.
Io non amo moltissimo utilizzare Flash per la creazione dei miei lavori, proprio a causa del fattore standards 0 in Flash. Ma sono certo che questo Faust porterà notevoli miglioramenti al Flash “standardizzato”.
Quindi quoto al volo l’articolo ad un mio amico grafico, e assiduo utilizzatore di Flash. Forse finalmente sarà per il giunto il momento di seguire gli standard anche con il suo amato Flash. eheheh ;-)# - postato da Davide Espertini - 22 Gennaio 2007 - 09:45
2
Molto interessante, vorrei testare la tecnica a fondo prima di lasciarmi andare a commenti entusiastici, ma le premesse per ottimi risultati ci sono tutte.
Bella segnalazione :)
3
L’unica nota potrebbe essere, perchè l’innerHTML anzichè il DOM? Non voglio assolutamente generare una polemica, solo una riflessione anche perchè la cosa, ma la vorrei prima provare, mi sembra ottima!
# - postato da Simone Onofri - 22 Gennaio 2007 - 11:02
4
wow!
E’ una cosa grandiosa!
5
Mi sembra davvero molto interessante questo “Faust”, almeno da quanto ho potuto leggere. Così anche chi non ama molto usare flash, per il problema degli standards, può ogni tanto lasciarsi andare e sbizzarrirsi un pò nell’uso di animazioni flash.
Questo post è arrivato proprio nel momento giusto, per un lavoro che dovrei fare.
6
http://sourceforge.net/project.....s/dengmx
# - postato da alessandro - 22 Gennaio 2007 - 11:24
7
è uno scherzo vero ? … devi scrivere comunque sia l’(x)HTML che il CSS e creare un SWF dedicato per mostrare le informazioni (stessa identica cosa che fanno da sempre tutti i siti versione Flash e non) … usare un parser discutibile come il loro innerXHTML per capitalizzare i tag al fine di permettere a Flash di prendere le informazioni dallo pseudo XML restituito … a voi questa sembra una novità ? Una rivoluzione ?
1 - un sito dinamico è da sempre stato generato in questo modo, (x)HTML per chi non ha flash, dati caricati dinamicamente per chi ce l’ha
2 - un sito non dinamico può essere creato allo stesso modo basandosi su una sola funzione javascript ed un parser creato interamente in Flash
Il secondo punto significa che chi non ha supporto javascript e/o flash non dovrà scaricarsi ne la loro “fantastica” funzione ne il filmato flash.
In poche parole, che cosa è Faust ? Qualcosa tipo:
function innerXHTML(str){
// normalizza stringa …
}
var xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.parseXML(innerXHTML(getURL(”javascript:document.getElementById(’slides’)”)));e si può usare da Flash 6 … forse anche 5 … e non è ne più semplice, ne fa risparmiare tempo, ne è più compatibile … ne altro … banalmente più lento e/o prolisso per chi ha Flash che deve scaricarsi sia il contenuto della pagina, che i css, che tutto il resto oltre il file SWF che poteva prendere informazioni in tanti altri modi diversi …
Della serie “quando la distratta analisi dei pro rende cechi sull’aumentare dei contro” (Alessandro non parlo di te quanto della loro forviante presentazione) :incupito:
8
Grazie Andr3a per la tua puntigliosa analisi sui contro.
Hai spento in un attimo una possibile euforia di fronte a quella che, poi da quanto detto nella tua analisi, non è che sia un’idea così geniale alla fine.
9
@Simone Onofri
innerHTML perchè è notoriamente più compatibile e più veloce … dato che usano anche prototype o codice JS non compatibile con IE5 ed altri avrebbero anche potuto usare il DOM ma siccome lo scopo della funzione è normalizzare l’output per l’import in Flash di un contenuto testuale XML (non puoi ancora passare un nodo DOM al Flash) sarebbe stato poco sensato scorrere tutto l’emeneto scelto via DOM per poi comunque ricreare l’output pseudo XML (Object.XML friendly).Riguardo il tuo “ottimo” invece ti consiglio di approfondire meglio nel loro stesso post … non hanno fatto veramente niente di di diverso dal solito, non è un modo per automatizzare la trasformazione HTML = > FLASH e non è un modo per far risparmiare banda ne tempo agli sviluppatori attenti a creare “le due solite versioni”.
Tutto come prima, con aggiunta di overload per chi ha sia flash che javascript.
P.S. … come va con lo Skills Group ? …
10
@Hamlet75
io credevo fosse un sistema basato su XML esterno sfruttato diversamente tramite un linguaggio server per creare un output (x)HTML o un’interfaccia vera e propria (comprensiva di direttive per effetti) tramite l’oggetto XML di Flash … ma poi ho pensato che anche questa non sarebbe stata alcuna novità/rivoluzione … alchè mi son letto il source ed ho dato una letta al post … annunciato come “miracolo”, tecnicamente “una fagianata” utile solo per chi non ha possibilità di usare un linguaggio server, un database o un sistema basato su files … ma anche in questa circostanza, l’utente con Flash rischierebbe solo di scaricare più contenuti (css e documento) invece delle sole informazioni oltre la grafica (e se la cache è satura o disabilitata si caricano 2 volte anche tutte le immagini) mentre dall’alta parte bisogna comunque sviluppare un filmato SWF per intero col solo vantaggio di avere le informazioni contenute in un albero XML derivato dall’output precedentemente normalizzato non si sa perchè fuori dall’swf (l’innerXHTML è assolutamente superflua per tutti, flash compreso dove il codice non potrà vantare di pseudo-compilazione, ergo minor peso, ne di velocità di esecuzione, ergo si sfrutta il potenziale vecchio e non compatibile core JS contro il sicuro, ottimizzato e cross-platform bytecode per la “Virtual Player Machine”).Non dico che l’idea in rari casi sarebbe stata simpatica, dico solo che non è ne tutta questa genialata ne è stata sviluppata al meglio.
Per concludere con la mia analisi “distruttiva”, non potevamo aspettarci di più dato che il sito di esempio fa schizzare la CPU sui tre RollOver in fondo che una volta partiti non fermano più gli onEnterFrames di ogni clip (gli intervalli stavano brutto) … quindi è evidente che con le ottimizzazioni clients non sono ancora troppo esperti, io diffideri in partenza :tolleranza-zero: :bastardo-dentro:
ah … ovviamente tutto secondo me :P
11
sinceramente dagli esempi vedo cose che con mootools si possono fare molto tranquillamente…
http://smoothgallery.jondesign......net/
# - postato da NoWhereMan - 22 Gennaio 2007 - 15:39
12
non vedo la genialità della soluzione… mi sembra un normale content-replacement (o una specia di SIFR se vogliamo).
Se javascript è disattivato carico normale xhtml e css. Se javascript è attivo attraverso swfobject controllo l’eventuale presenza del plugin flash (e la sua versione) e rimpiazzo il codice xhtml.
Apro una riflessione: sapendo che dentro un tag object posso inserire del codice html (che viene interpretato solo se l’inclusione dell’oggetto fallisce) non sarebbe stato meglio usare questa soluzione? (il javascript non sarebbe servito affatto e si sarebbe forse evitato di duplicare i contenuti in cache)
# - postato da Fabrizio Calderan - 22 Gennaio 2007 - 17:13
13
Fabrizio quello che dici non è sbagliato ma a livello di download è la stessa cosa nel senso che duplichi i dati per chi ha flash facendogli scaricare anche il CSS del sito contenuto nell’object nonchè tutto il layout.
Il fatto è che se si vuole tutelare gli utenti (o perchè no … far loro banalmente scegliere) resto convinto che la soluzione a spash, purchè leggera, sia la migliore … anche se resto altrettanto convinto che oggi come oggi Flash può essere sostituito per l’80% delle caratteristiche dal JavaScript salvo rare eccezioni, ovvero tutte le parti multimediali, dove non teme ancora confronti :-)
Certo se una persona non si interessa di quanto deve scaricare oltre un filmato un utente … allora una soluzione vale l’altra ma quella di questo post non porta alcun vantaggio concreto per nessuno.
14
La soluzione che avevo proposto non voleva eliminare la ridondanza, ma solamente semplificare il metodo proposto. La duplicazione resta comunque
# - postato da Fabrizio Calderan - 22 Gennaio 2007 - 17:57
15
@andr3a
Ciao Andrea, spero vada tutto bene :)
Riguardo la questione dell’innerHTML in particolare leggendo anche i test su quirksmode si vede come ci sia una netta differenza di performance rispetto l’utilizzo di scripting DOM. Fatto sta che se pubblicizzano una cosa come ‘Arrivano gli Standard’ e poi usano altro… mmm… la cosa fa un pò pensare :) Come è stato detto gli standards non sono solo XHTML, ci sono anche CSS, XML e così via… dunque prima mi parlano di XHTML (e lo trattano così come lo trattano) e non usano ECMAScript…
Riguardo l’ottimo mi riferivo all’idea, poi la sua implementazione, come si nota nel loro post (letto con la dovuta calma) mi sembra che lasci un pò a desiderare.
Non c’è bisogno di riscrivere tutte le note gia dette, ma Flash Augmenting Standards, in conclusione, mi sembra sia un incontro più ‘di immagine’.
Non è male l’idea di fare un parsing di un documento XHTML per inserirlo e aggiungere funzioni con flash, ma dipende anche come lo si fa.
Riguardo l’idea di un XML come origine è ottima, e considera che XUL/XAML dovrebbero essere il futuro: dato un linguaggio XML che descrive un interfaccia con un bel XSLT lo trasformi come vuoi :)
Per lo Skills WG procede bene, grazie per la domanda :)
# - postato da Simone Onofri - 23 Gennaio 2007 - 00:19
16
infatti, con XSLT ed un’origine XML hai già la doppia interfaccia o informazione disponibile a seconda che ci sia Player o meno, per questo trovo alquanto discutibile quella pseudo funzione per trasformare l’(x)HTML … si vede che questi lavorano “solo su DreamWeaver” poichè di metodi per avere dati in Flash come in browser ce ne sono a bizzeffe.
Riguardo lo Skills WG mi fa piacere proceda bene ma dal sito mi sembra non ci siano ancora informazioni sugli incontri o sulle decisioni, dobbiamo aspettare ancora molto ? :P
17
Concordo con Andr3a (messaggio 7)…..
Faccio notare ad Alessandro che il link a SourceForge da lui indicato non contiene materiale per OS X (sarebbe meglio che ci fosse, anche chi usa quel S.O. ha dei diritti….)…..
Ringrazio NoWhereMan per il link (già segnato…..)…..
Aggiungo alcune osservazione a quelle del succitato Andr3a:il sito è troppo scuro…..non fa una buona impressione, quell’hotel: sembra un posto cupo ( magari solo per il portafogli); quel colore scuro danneggia l’immagine, ottima, delle camere, e del personale ……. Sembra che in quella webqualcosa non sappiano cosa sia la psicologia dei colori, non vogliono saperlo o non ne sono minimamente interessati……
D’accordo che nella società moderna bisogna prima avere, poi sembrare, infine apparire e, se avanza tempo, essere….. Ma qui si esagera….
E’ un’ottimo esempio di tecnologia web (nel bene come nel male) ma nulla di più……# - postato da Ratamusa - 29 Gennaio 2007 - 12:43
18
L’unica nota potrebbe essere, perchè l’innerHTML anzichè il DOM? Non voglio assolutamente generare una polemica, solo una riflessione anche perchè la cosa, ma la vorrei prima provare, mi sembra ottima!







