# Adobe Flash

Adobe Flash Player (in precedenza FutureSplash e poi Macromedia Flash Player) è stato un software per uso prevalentemente grafico, che consentiva di creare o utilizzare animazioni vettoriali principalmente per il web. È stato inoltre utilizzato per creare giochi o interi siti web e grazie alla sua evoluzione nel tempo è divenuto un potente strumento per la creazione di Rich Internet Application e piattaforme di streaming audio/video, anche in virtù della sua capacità di catturare input da mouse, tastiera, microfono e webcam.
A luglio 2017 la Adobe annunciò il fine vita di Flash Player per il 31 dicembre 2020, a favore di HTML5, WebGL e altre piattaforme.
Tra le principali motivazioni del suo declino vi sono l'elevato utilizzo di risorse hardware che alcune animazioni richiedono, e i notevoli rischi per la sicurezza (malware o violazione della privacy) causati indirettamente dal suo funzionamento sostanzialmente isolato rispetto al browser che lo esegue. Contenuti scritti in Flash possono essere ancora presenti e, in questi casi, occorre utilizzare il relativo player (possibilmente nell'ultima versione), tenendo presenti i rischi per la sicurezza qualora i contenuti siano eseguiti attraverso un browser connesso a internet.

## Caratteristiche

Adobe Flash permette di creare animazioni complesse e multimediali. All'interno di esse infatti si possono inserire:
* forme vettoriali, gli oggetti principali con cui Adobe Flash permette di lavorare.
* testo (sia statico sia dinamico) e caselle di input per il testo.
* immagini raster (Bitmap, GIF, JPEG, PNG, TIFF e altri formati) sotto forma di oggetto bitmap.
* audio (MP3, WAV e altri), sia in streaming che per effetti sonori.
* video (AVI, QuickTime, MPEG, FLV).
* altre animazioni create con Flash (tramite ActionScript o interpolazioni).
* simulazione di grafiche in 3D anche interattive.
* incorporazione di qualsiasi font senza che sia presente sul dispositivo dell'utente.
Inoltre permette di creare animazioni interattive, grazie alla presenza di un linguaggio di scripting interno. Tramite questo linguaggio, denominato ActionScript e basato su ECMAScript, è possibile applicare comportamenti agli oggetti o ai fotogrammi dell'animazione. Inizialmente erano presenti solo poche azioni, ma in seguito ActionScript è diventato uno strumento molto potente. Grazie ad esso si possono creare infatti menu, sistemi di navigazione, GUI, siti web completi e giochi anche complessi.
Un'altra caratteristica importante è la possibilità di mantenere simboli riutilizzabili in una libreria. Esistono diverse tipologie di simboli, fra i quali semplici oggetti grafici, clip filmato (sotto-animazioni con una timeline propria e indipendente da quella principale), pulsanti, oggetti bitmap, ecc. Questa caratteristica è importante in quanto permetteva di:
* semplificare il lavoro dello sviluppatore, che può modificare tutte le istanze presenti nell'animazione modificando il simbolo nella libreria;
* ridurre le dimensioni del file SWF prodotto;
* creare comportamenti interattivi complessi applicando del codice agli oggetti.

## Cronologia

* dicembre 1996 - Macromedia acquisisce un software per animazioni vettoriali chiamato FutureSplash e successivamente lo commercializza come Flash 1.
* giugno 1997 - Viene messo in commercio Flash 2, con novità quali il supporto all'audio stereo e una migliore gestione delle bitmap, oltre all'ingresso nel programma della libreria dei simboli.
* maggio 1998 - Flash 3 - Introduzione del simbolo "clip-filmato" e della trasparenza.
* giugno 1999 - Flash 4 - Grande sviluppo di ActionScript, con la possibilità di definire variabili, introduzione dello streaming MP3.
* agosto 2000 - Flash 5 - Nuova evoluzione del linguaggio, che diviene ActionScript 1.0 (basato su ECMAScript - più noto come JavaScript), supporto per l'XML, possibilità di inserire HTML nei campi di testo.
* marzo 2002 - Flash MX - Primo codec video (Sorenson Spark), supporto per Unicode, introduzione dei componenti, possibilità di creare filmati accessibili, API di disegno in ActionScript.
* settembre 2003 - Per la prima volta vengono commercializzate due versioni: Flash MX 2004 e Flash MX Professional 2004. Entrambe comprendono il linguaggio evoluto ActionScript 2.0 (che supporta la programmazione orientata agli oggetti in modo migliore) e un nuovo compilatore ottimizzato, la possibilità di creare plugin con JSAPI ed effetti predefiniti. La versione Professional comprende una nuova modalità di creare animazioni, basata su form e simile a PowerPoint, integrazione con i web services, nuovi componenti per gestire lo streaming audio/video e per accedere ai database, il pannello dei progetti.
* settembre 2005 - Messi in commercio Flash Basic 8 e Flash Professional 8. Integrato il supporto al codec video On2 VP6.
* dicembre 2005 - Adobe acquisisce Macromedia e i suoi prodotti (incluso Flash).
* maggio 2007 - Distribuita la versione inglese di Flash Professional CS3 (Creative Suite 3), nona release dell'ormai celebre Flash. Contemporaneamente Microsoft annuncia una soluzione alternativa, Silverlight, parte del framework Media Foundation.
* novembre 2008 - La suite CS4 è uscita nel novembre 2008 in lingua italiana.
* maggio 2010 - La suite CS5 è uscita nel maggio 2010 in lingua italiana.
* aprile 2012 - Con il rilascio della suite CS6, Flash arriva alla sua dodicesima edizione.
* marzo 2017 - Flash 25.
* dicembre 2020 - Chiusura programma di sviluppo del prodotto.

## Flash Player

Per visualizzare i siti e le applicazioni creati con flash e Flex, Adobe metteva a disposizione un player freeware.
L'ultima versione pubblicata è la 32.0.0.465 (che, di fatto, dal 1º gennaio 2021 è diventata un'applicazione legacy), disponibile per Microsoft Windows XP, Vista, 7, 8, 8.1, 10, Server 2003, Server 2008, Server 2012, Server 2016, macOS e Linux (come parte del browser Google Chrome).
Il player è disponibile in versione stand-alone e come plugin per i browser (o controllo ActiveX per Internet Explorer).
Lo stesso player è disponibile per altre piattaforme quali Pocket PC, Maemo, OS/2, Sun Solaris, Symbian, HP-UX, IRIX. Anche la PlayStation 3 e la console casalinga Nintendo Wii, supportano la visualizzazione del filmati SWF, la prima tramite un plug-in proprietario (alla versione 7), la seconda tramite il plug-in per il browser integrato(alla versione 9), la terza anch'essa tramite il plug-in del browser Opera integrato.
È disponibile anche una versione del Flash player Macromedia per dispositivi mobili, denominato Macromedia Flash Lite e giunto alla versione 3, che permette la visualizzazione di filmati flash .swf direttamente su cellulari e altri dispositivi.
Prima del suo graduale abbandono nel mondo Internet, il formato Flash degli oggetti creati con l'omonimo programma (estensione .swf), rappresentava uno standard per la creazione di contenuti animati e interattivi. La quasi totalità dei browser supportava il plug-in del player che consentiva la visione, appunto, di animazioni di grafica vettoriale così come la visione in streaming di filmati video. Windows XP, ad esempio, includeva di default la versione 5 del controllo ActiveX per Internet Explorer.
Nel 2012 i dispositivi mobili (smartphone e tablet) iniziarono a non supportare più il formato Flash. I primi dispositivi a non avere a bordo un Flash Player furono iPhone e iPad di Apple, Lumia di Nokia, Xperia di Sony, Galaxy di Samsung, dichiarando il pieno supporto al nascente HTML5.
Il sito di Adobe permetteva di controllare la percentuale di utenti raggiunta dalle diverse tecnologie web e la distribuzione globale delle varie versioni del player.
A partire dalla versione 11, il Flash player per Linux richiedeva CPU con supporto alle estensioni SSE2.
Secondo il sito encoding.com nel 2015 solo il 6% dei siti web richiedeva Flash Player per poter visualizzare video, le stime indicavano il 2018 come anno in cui i siti web che richiederanno Flash Player sarebbero risultati inferiori all'1% del totale. Firefox e Chrome da inizio 2018 iniziano a disincentivare l'uso di Flash, disattivandolo di default e costringendo gli utenti a manovre aggiuntive per attivarlo.
Il principale software libero per vedere animazioni Flash è Gnash.

## Rischio per la privacy

Flash Player può essere un rischio per la privacy dell'utilizzatore poiché può immagazzinare sul suo hard disk file .sol che funzionano come cookie, e che potrebbero non essere riconosciuti dai più comuni software anti-malware qualora il loro uso sia maligno. Per proteggersi si possono cercare i file .sol con le funzioni di ricerca, e poi cancellarli manualmente, ma è necessario conoscere il loro uso effettivo per evitare inconvenienti. È comunque possibile modificare (ed eventualmente disattivare) questa caratteristica dal pannello impostazioni generali della memorizzazione. URL consultato il 4 febbraio 2018 (archiviato dall'url originale l'11 ottobre 2007). di Flash Player.
È importante sapere che, dopo aver disattivato questa funzione, non sarà possibile utilizzare applicativi flash che memorizzano risorse localmente, come alcuni giochi online, se l'autore degli stessi non ha previsto questa evenienza.

## Instabilità e sicurezza

Flash Player è stato oggetto di critica da molti studiosi in quanto rende la navigazione web instabile, portando al blocco delle pagine web; inoltre è soggetto a numerosi problemi di sicurezza che via via vengono risolti con le nuove versioni di Flash Player.

## Critiche su usabilità e SEO dei siti web in Flash

Flash è stato anche oggetto delle seguenti critiche soprattutto da uno dei maggiori esperti di usabilità, Jakob Nielsen:
* Il pulsante "indietro" e "avanti" del browser non funzionavano. Cioè l'utente, cliccando questi tasti, si ritrovava la pagina precedente o successiva visitata nella cronologia, non la pagina precedente o successiva dello stesso sito web.
* I colori dei collegamenti non cambiavano una volta visitati come succede in HTML. L'utente non poteva vedere facilmente dove era stato e quali link doveva ancora visitare.
* Nelle prime versioni di Flash il pulsante "Rendi il testo più grande / più piccolo" dei browser non funzionava. Alcuni problemi sono stati parzialmente risolti dalla versione 6 di Flash Player: la dimensione del testo poteva essere controllata utilizzando lo zoom della pagina intera ed è stato possibile per gli autori includere testo alternativo (l'equivalente del tag ALT di HTML).
* Era obbligatorio l'uso di un plugin per visualizzare Flash.
* Riduceva l'accessibilità per gli utenti che usavano uno screen reader e di coloro che hanno difficoltà ad interagire con grafiche in 3D.
* La funzione "Trova nella pagina" dei browser non funzionava.
* Il testo non poteva essere tradotto automaticamente con il tasto per Google Translate presente su Chrome.
* Il testo e le immagini non potevano essere selezionati dall'utente ne quindi copiati.
* Un sito web creato in Flash non poteva adattarsi ai dispositivi mobili come può fare invece un sito web creato con HTML5 e CSS3 (attraverso le media queries).
* Non si poteva creare un sito web dinamico con Flash. Non poteva quindi interagire direttamente con i social media, non poteva diventare un e-commerce, né un portale, né un blog, né avere utenti registrati con il login, né interagire con gli utenti attraverso commenti, chat e feedback.
* Era meno indicizzabile dai motori di ricerca rispetto ad HTML. Ad esempio i motori in un sito Flash non distinguevano una lista da un paragrafo o un titolo da un sottotitolo, come invece accade per HTML.
* In caso di aggiunte e aggiornamenti del sito web il cliente doveva spesso rivolgersi al produttore del sito stesso poiché un sito in Flash richiedeva maggiori competenze specifiche e sforzi per essere aggiornato rispetto ad HTML e CMS come Wordpress.
* In caso di aggiunte corpose (un lungo testo, molte immagini,...) non si allungava e non si adattava in modo elastico al nuovo contenuto come HTML e il file swf aumentava di diversi MB rispetto ad HTML che con le stesse aggiunte aumenta di pochi KB.
* Richard Stallman ha dichiarato in un discorso del 2004 che: "L'uso di Flash nei siti web è un grave problema per la nostra comunità".
* Se ad un utente interessava una pagina particolare di un sito web in Flash non poteva salvarla nei preferiti del browser ne salvarne l'indirizzo specifico poiché tutte le pagine avevano sempre lo stesso URL. Sempre per questo motivo le diverse pagine visitate non apparivano nella cronologia del browser.
* Il codice sorgente del file .swf non era visibile con il tasto "ispeziona" o "visualizza sorgente" del browser come invece succede con HTML.
* Flash ha fatto nascere la moda di indirizzare l'utente alle pagine di benvenuto anziché alla homepage e di puntare su effetti, audio e animazioni anziché sui contenuti, metodi considerati controproducenti da Nielsen.
* I Black Hat SEO potevano inserire un file .swf in una pagina HTML fuori tema con il contenuto della pagina per fare in modo che l'utente visualizzasse un prodotto o servizio anche se aveva cercato tutt'altro e i motori di ricerca facevano fatica ad accorgersi di tale pratica scorretta.