Goodbye Adobe
Scrivo un nuovo post dopo moltissimo tempo e anche questa volta (probabilmente l’ultima) l’argomento è la creazione di applicazioni AIR e giochi in HTML5 con Adobe Animate. Anni fa ho aperto mediadoper per parlare di quegli aspetti dell’informatica non necessariamente legati al lavoro di freelance. E l’ambiente che più di tutti mi divertiva usare in ambito extralavorativo era Animate. Ed ecco spiegata la lunga assenza: il mio giocattolo preferito non mi diverte più. Nel precedente articolo avevo accolto l’avvento di Harman con un moderato ottimismo. Purtroppo le cose hanno preso una brutta piega. Ma andiamo con ordine.
L’HTML5 di Animate è in coma
Riepilogando, qualche annetto fa, prima di affidare AIR ad Harman, Adobe aveva stipulato un accordo con la GSkinner per la gestione di createJS. Quindi non c’è un team interno che si occupa del linguaggio usato nei progetti multimediali basati su HTML5 e canvas. Semplicemente Adobe adatta e riutilizza una tecnologia altrui. Non sarebbe un problema se non fosse per il fatto che da anni la parte legata allo sviluppo in HTML5 vive una situazione di semi abbandono. Sono assenti strumenti mirati allo sviluppo gaming, non sono previste procedure di pubblicazione per smartphone, Microsoft Store e Steam. Analogo discorso per la documentazione. Se fai un gioco in HTML5 con Animate, sarai tu a dover sbattere la testa per capire come collocare il lavoro in ambito professionale. Questo perché le guide ufficiali non esistono.
Non a caso i giochi in HTML5 targati Animate hanno una diffusione pari allo zero virgola qualcosa periodico. Mancano risorse, libri, tutorial o anche solo comuni utenti che ne parlano sui social. E Adobe non spende una virgola per promuovere questa tecnologia in modo da invertire la tendenza. Esiste, ma è come se non ci fosse. Coma profondo irreversibile.
AIR è morto
Era tanto un bravo ragazzo. Salutava sempre…
Esagero? Cominciamo dall’ultimo incidente di percorso. Dal mese di agosto 2021, il formato richiesto per esportare su Android è diventato l’Android App Bundle (aab). Tuttavia l’azienda madre di Animate, tanto per cambiare, si è lasciata cogliere del tutto impreparata. Quindi il programma, che pag(av)o tramite un piano annuale, non prevede una procedura di pubblicazione automatica per questo nuovo standard.
Harman che in base ai contratti non si occupa del tool, ma solo dell’SDK, fatta la sua parte è fuori dai giochi. Di conseguenza i developer che usano AIR con Animate sono rimasti con il cerino in mano. Ci sono in rete fumosi suggerimenti per riuscire a generare il formato richiesto pasticciando con vari tipi di file, ma sono poco documentati e poco testati. Uno potrebbe dire: “ok ma non esiste solo Adobe Animate, le app AIR per Android si possono sviluppare a riga di comando o con FlashDevelop”. Tutto vero. Peccato per quel piccolissimo problemino legato agli ANE. Di cosa parlo?
Ma ‘ndo vai (se l’ANE non ce l’hai)?
Quando si vuole realizzare con AIR qualsiasi cosa vada oltre l’aspetto meramente grafico-interattivo, ci vuole un ANE, ovvero un AIR Native Extension realizzato in linguaggi come C++, Java e Objective-C.
Vuoi monetizzare con acquisti in app? Vuoi generare notifiche push? Vuoi inserire un banner adsense? Vuoi accedere a funzioni speciali del dispositivo? La risposta è sempre la stessa: ti serve un ANE che faccia al caso tuo. Se sei capace di realizzare il tuo ANE da solo, non ci sono problemi, ma se invece gli ANE li devi comprare, la situazione diventa un tantino complicata.
Inizialmente i primi ANE li realizzava Adobe, ma da molti anni sono sviluppati solo da società esterne. Fino a qualche tempo fa erano tre: Milkman, MyFlashLabs e Distriqt. Il primo non è aggiornato dal 2018, il secondo ha chiuso ufficialmente i battenti un paio di mesi fa e il terzo è diventato un animale raro in via di estinzione.
In altri termini: poiché senza gli ANE non puoi fare NULLA, oggi un AIR developer è nelle mani di Distriqt. Tralasciando le politiche ricattatorie che potrebbero nascere sui prezzi o la qualità del servizio, se chiude i battenti anche l’ultimo fornitore dei Mohicani, tutte le app che hai sullo store non le potrai più aggiornare e quelle in fase di progettazione diventeranno istantaneamente spazzatura. Possiamo mai affidarci al lavoro di una società esterna in subappalto (HARMAN) che interagisce con i possibili capricci di un’altra società esterna (Distriqt), mentre la casa madre (Adobe) si limita a contare i soldi degli abbonati?
Senza considerare il fatto che le community sono tutte morte o agonizzanti. Per fare un esempio, se hai un dubbio su AS3 e fai delle ricerche su google, trovi delle risposte datate 2009 o 2012 (se ti va bene).
Uno potrebbe dire: “ok, ma chi se ne frega della community! Uso FlashDevelop e imparo a farmi gli ANE da solo, oppure pago qualcuno che li fa al posto mio (ammesso di trovarlo)”. Ma conviene fare tutto sto casino?
Cosa farò
Con l’ambiente di sviluppo messo a disposizione da Adobe mi fermo qui. Non pubblicherò i giochi che avevo preparato (uno era finito) e non proseguirò quelli in preparazione. Allo stesso tempo lascerò morire tutti i game sullo store google. Da circa un mesetto sto studiando Unity. Se tutto va come spero, al più presto inizierò a pubblicare i miei nuovi games tramite questo nuovo mirabolante giocattolone.
Postilla per ex-flashari
Nel corso degli anni diversi irriducibili mi hanno scritto in privato per chiedermi qualche consiglio o per scambiare due chiacchiere. Ragazzi, questo post è rivolto anche a voi. Se persino una testa dura come me si arrende, la situazione è davvero irrecuperabile. Ammesso che non lo abbiate ancora fatto, vi consiglio di mollare subito AIR e tutto l’armamentario multimediale di Animate. Lasciate perdere l’affetto, il divertimento o l’abitudine. Se volete creare app ludiche procuratevi un manuale di Unity, studiate Construct, acquistate GameMaker, va bene qualsiasi cosa. Da un momento all’altro crolleranno anche le ultime macerie. Al massimo potrete continuare ad usare “il figlio di Flash” per fare grafica. Ma lasciate perdere il resto. Stavolta è davvero finita.
Infine avrei voluto condividere alcune riflessioni sulla dirigenza di Adobe, ma preferisco soprassedere. Non vorrei scadere nel turpiloquio proprio alla fine del post. Ho schivato almeno 6-7 insulti e 4-5 commenti sprezzanti con uno slalom degno di uno sciatore professionista.
trace("Addio, Animate.");
Debug.Log("Ciao, Unity!");
Super Bruno,
ti seguo sempre e leggo i tuoi articoli con grande interesse, sono preziosi per me che sono un semiprofano di programmazione però non lo sono di creazione di corsi learning e mi permetto di dirti che il tono del tuo post è scorretto. Anzi è strano.
Ti assicuro che lavorandoci tutti i giorni Animate è uno strumento ottimo per la creazione di pagine html singole che contengono interazioni semplici e a tutt’oggi non vedo rivali! Certo non sarà adatto per giochi articolati ma lo è per tantissime altre situazioni di gamificazione semplice (ad esempio all’interno di un contesto formativo online) sempre se non si desidera arpionarsi a Storyline che crea modelli standard e di un suo visore abbastanza rigido. Io credo che invece Animate sia uno strumento ben fatto, migliorabile sicuramente ma valido.
Cari saluti
Gabrio 😉
Ciao, Gabrio. Mi dispiace se hai trovato il tono del mio articolo scorretto e strano. Ma forse non hai colto il bersaglio delle mie critiche. Se ragioni da webdesigner (o da animatore) il cui scopo è realizzare pagine web di un certo tipo, cartoni animati o interazioni didattiche free, è chiaro che vedi le cose da un’altra prospettiva.
Il mio è il punto di vista di un developer che vorrebbe sviluppare app/game professionali per il mobile. Grazie ad Animate, solo su Android, mi sono tolto parecchie soddisfazioni: ho pubblicato giochi con migliaia scaricamenti e mi stavo apprestando a realizzarne altri (ancora più accurati) con all’interno meccanismi di monetizzazione. Stavo anche pensando di portarli su iOS. L’ultimo game l’ho finito a luglio e mi resterà sul groppone a causa del formato aab non supportato da Animate. Forse avrei potuto aggirare il problema sbattendomi un po’, ma mi sono davvero rotto le palle di essere io ad adattarmi alle loro politiche incomprensibili (scusa il francese). Se pago un programma che esporta per Android, tu Adobe mi metti le opzioni di esportazione COMPLETE. Non è che ti fotti i miei soldi e poi te ne sbatti.
Quello che mi manda al manicomio è sapere che Animate ha un potenziale enorme anche nel settore dei giochi. Con un qualche ritocco potrebbe diventare il numero 2 al mondo nel giro di pochi mesi e sfidare il numero 1 in meno di un anno. Ma l’azienda non è interessata, ormai me ne sono fatto una ragione. Per farti un esempio, quando MyFlashLabs è fallita, ha contattato Adobe e Harman per sapere se volevano acquistare tutto l’archivio di ANE con i sorgenti. La risposta secca è stata: “Non ci interessa”. L’ennesimo goal a porta vuota mancato.
Personalmente, per chi continua ad usare il programma per creare app, intravedo delle brutte nuvole all’orizzonte: visto l’andazzo, tutti i game sugli store iOS e Android sono a rischio. Basta che chiuda i battenti anche Distriqt e sono tutti morti con uno schiocco di dita in stile Thanos. Tu mi potresti rispondere: eh, ma le mie pagine web animate funzionano ancora bene! Oppure, eh ma il mio cartone animato gira che è un amore! Buon per te. Intanto io developer lo prendo nel culo (riscusami per il francese).
Oggettivamente, se vuoi fare giochi o app di un certo tipo, la situazione è diventata insostenibile. Per quanto riguarda Unity, sto studiano l’ambiente in questi giorni e ti assicuro che se sai programmare, hai grande libertà creativa. I modelli precotti fatti con lo stampino li realizzano quelli che non sanno padroneggiare adeguatamente C#.
Infine, come scrivi, Animate è un valido strumento sicuramente migliorabile. Ed è vero, ma solo se parliamo di grafica. Non so se hai notato le novità che sono strombazzate nei vari aggiornamenti dell’abbonamento (che tra parentesi ho disdetto da poco): nuovo strumento per disegnare questo! Nuovo pannello per animare quello! Nuova opzione per gestire la timeline! E AIR? E createJS? E le opzioni per pubblicare sulle varie piattaforme? ZERO. Semplicemente quel lato del programma non interessa e nel giro di un paio di anni sarà del tutto eliminato. Del resto non si chiama Adobe GameMaker o Adobe AppDevelop, si chiama Adobe Animate, un tool che è competitivo per fare grafica animata o interazioni semplici, il resto viene promesso ma non mantenuto. A mio avviso non sono per niente corretti con la loro utenza. Anzi, aggiungo, sono pericolosi. Se sei un application developer ed investi tempo e denaro usando quel programma, rischi di essere danneggiato dalla loro politica scalcagnata. Quindi non sono io che me ne vado, sono loro che mi mettono nelle condizioni di andarmene (incazzato nero e sbattendo la porta in uscita).
Assolutamente d’accordo su tutto ma l’elasticità e l’intelligenza che servirebbero per progredire e/o migliorare un programma (o quasi QUALSIASI ALTRA COSA DEL MONDO) io ne vedo pochissima e sono una merce molto rara. Poi piangono se uno crakka un prodotto Adobe :-))
Comunque, giusto per farci due risate, io avevo un piano annuale con pagamento mensile.
Quando ho avviato la proceduta per disdire l’abbonamento, ho avuto qualche strano intoppo. Al penultimo passaggio si bloccava. Ho dovuto ripetere la procedura tre volte. Infine mi hanno offerto uno sconto. Se restavo, invece di 25 euro ne avrei pagati 19 e rotti. Proprio all’ultimissimo step: ultima schermata all’ultimo secondo. Della serie non te ne andareee! Parliamoneee! Ovviamente sono andato avanti lo stesso.
Comunque, a cose fatte c’era una data oltre la quale Animate non sarebbe stato più accessibile. Ho aspettato il giorno in questione e l’ho lanciato per verificare che la disdetta fosse andata a buon fine. Messaggio: Il tuo abbonamento a Photoshop è terminato, se vuoi rinnovare bla, bla, bla. Mi sono detto Cosa? Non ho avuto la prontezza di fare uno screenshot. Comunque il mio abbonamento ad Animante esiste da quando è stato lanciato il piano cloud. Mai acquistato un abbonamento a Photoshop. Forse manco sanno più come si chiama Animate.
Intanto su uno degli ultimi gruppi fb dedicati allo sviluppo di app AIR con Animate (poco frequentato come tutte le community dedicate) stanno letteralmente impazzendo su come convertire in “aab”. È tutto un domandarsi a vicenda: sei riuscito ad esportare? Hai provato quel tutorial? Hai letto quella guida? Tutti bloccati. Sicuramente prima o poi Adobe aggiungerà l’opzione di esportazione. Ma resta il fatto che non si può sviluppare app in queste condizioni. Il programma resta ottimo per creare solo grafica animata e non. Per il resto condivido le tue considerazioni… 😉
Io non credo nemmeno che ci sia una qualche figura aziendale che verifichi e proponga soluzioni a queste questioni. Adobe è un mostro che fattura fantastilioni e di ascoltare le problematiche degli utenti non credo gli freghi una beata mazza. In questo sono davvero indecenti.
Primo o poi migrerò anche io dai loro prodotti.
Andrò a fare il falegname :-))