
E’ opinione comune ormai che l’assenza di Flash dall’iPhone e in futuro da iPad sia legata in qualche modo ad una “battaglia finale” fra Apple e Adobe. Le motivazioni addotte da Jobs per giustificare il suo odio viscerale verso una “tecnologia morta” come Flash, per quanto siano comunque valide, potrebbero essere utili pretesti per cercare lo scontro a tutti i costi.
Il Flash developer Morgan Adams, in un suo contributo pubblicato su Roughly Drafted di D.E. Dilger ha fornito una nuova visione del problema. L’eccessivo consumo di cicli processore e quindi di batteria, l’instabilità e il gran numero di falle di sicurezza sono problemi reali di Flash, dice lo sviluppatore, ma il vero nocciolo della questione è da ricercarsi nel fatto che la tecnologia di Adobe fa semplicemente a cazzotti con le interfacce touch, soprattutto a causa del massiccio utilizzo del mouseover nelle animazioni sviluppate in Action Script.
Trasformare i video in Flash in video compatibili con iPhone è davvero una procedura banale, come l’ha definita Steve Jobs nella sua conversazione con i dirigenti del Wall Street Journal. Il problema si pone con tutti restanti contenuti Flash che sono un po’ ovunque sul web. Dai menu di navigazione ai giochi, dalle animazioni interattive ai form di varia natura.
La maggior parte di questi contenuti fa uso del mouseover, ovvero è in grado di riconoscere la differenza fra il passaggio del puntatore e il click effettivo. Su un dispositivo touchscreen come iPhone il “mouseover” non è altro che un dito a mezz’aria. Finché Apple non si deciderà di inserire sensori alla Minority Report che sappiano individuare la vostra falangetta a 2 centimetri dallo schermo, gli iDevice non saranno certo in grado di interpretare questa condizione. La condizione di mouseover, in sostanza, non è riproducibile naturalmente sulle interfacce touch.
Il mouseover su Flash è a dir poco pervasivo. Ecco alcuni esempi addotti da Adams:
- Giochi in cui si sterza o si ruota l’inquadratura con il mouse senza cliccare
- Menu che aprono sottomenu al paggio del mouse
- Bottoni che attivano popup esplicativi al passaggio del mouse
- Funzioni che utilizzano il mouseover per fornire un’anteprima del contenuto e il clic effettivo per l’attivazione del collegamento o dell’azione
- Mappe e diagrammi che fornisco informazioni al solo passaggio del mouse
- Molte altre funzioni derivate che possono semplicemente funzionare solo con un mouse e un puntatore
Oltre al mouseover ci sono anche le funzioni attivabili solo con un clic destro, oppure quei giochi che necessitano di un input da tastiera, sia da tasti singoli che da tasti multipli (come quando il personaggio di un gioco di azione si muove in avanti alla pressione della freccia destra e al contempo può sparare se viene premuta la barra spaziatrice).
L’introduzione di una sorta di ActionScript Mobile è possibile, secondo lo sviluppatore, ma non avrebbe certo una valenza automaticamente retroattiva. La stragrande maggioranza dei contenuti Flash sul Web continuerebbe a rimanere incompatibile con le interfacce touch.
Le soluzioni
Alcune soluzioni al problema, dice Adams, esistono, ma sono semplicemente pessime. E’ semplicemente impossibile che Apple possa mai accarezzare l’idea di implementare anche solo la meno peggio.
- Ogni singolo sito in Flash potrebbe essere riprogettato da chi lo ha sviluppato con la nuova versione di Flash touch. Praticamente impossibile, anche perché in molti casi dei cambiamenti al meccanismo del mouseover complicherebbero drasticamente le operazioni più semplici e sconvolgerebbero la natura stessa di interi siti web. In più, riprogettare per riprogettare, tanto vale allora ricostruire tutto con HTML5, CSS animation e Javascript per ottenere una compatibilità totale con i dispositivi mobili.
- Introduzione di nuove gestures o bottoni sostitutivi per il mouseover. Una soluzione totalmente ingelegante che complicherebbe interfacce nate per essere semplici come può esserlo solo il passaggio di un cursore e un clic.
- Rendere più complesso il meccanismo stesso del clic, ovvero l’azione fondamentale per le azioni in Flash, assegnandolo ad una nuova gesture, come il doppio Tap. L’incompatibilità potrebbe però verificarsi sia con le gestures Apple che con altre funzionalità Flash. Basti pensare a quelle animazioni o giochi che già utilizzano un doppio clic per attivare azioni particolari.
- Introdurre un puntatore che viene visualizzato accanto al dito, il che equivale a snaturare la vera essenza dell’interfaccia touch, in cui la manipolazione diretta è semplicemente fondamentale.
- Richiedere una pressione differente per distinguere fra mouseover e clic. Una differenza non intuitiva e potenzialmente in grado di generare parecchia confusione nell’utente.
La conclusione, secondo Adams, è che Apple non sta rifiutando Flash su iPad, è che semplicemente non è possibile implementarlo perché “un dito non è un mouse” e troppi siti e animazioni sono stati sviluppati attorno all’utilizzo di un puntatore e di una tastiera, mattoni fondamentali per lo sviluppo di interfacce con Flash.
“Anche se la cattiva performance, il consumo della batteria e i crash non fossero un problema (ma lo sono eccome)” conclude Adams “niente potrà fornire agli utenti di un touchscreen di qualsiasi azienda un’esperienza accettabile nella fruizione degli attuali siti sviluppati in Flash. Ciò che vorrebbe chi lamenta l’assenza di Flash è semplicemente una cosa impossibile”.
E quindi quale è stata la soluzione di Adams per il suo stesso sito sviluppato in Flash? Semplice, il redesign di una nuova versione mobile in cui tutte le animazioni sono gestite con le CSS animation del WebKit.
Grazie a Giovanni per la segnalazione.