05
11
06

Il puzzle di Apollo: dettagli, demo, storia

05:44 Technocracy

Apollo Early Working Logo

Non so se è effettivamente la prima demo di ampia diffusione questa segnalata da Scott Fegette, ma il filmato di Adobe Apollo 1.0 su Google Video mostra molte delle feature che avevo pensato.

Un po’ di storia. Quanti anni sono che dico che “Macromedia ha per le mani un tesoro e non lo apre”? Prima con Flex ci è andata vicino, ora con Apollo potrebbero finalmente realizzare quello che continuo a ripetere. E’ da notare comunque che la prima informazione a riguardo di Apollo che ho trovato riguarda MAX2005 (intorno al 16-19 ottobre 2005).

I tasselli del puzzle che c’erano:

  1. Flash è un potentissimo e leggero motore grafico vettoriale, scalabile per il web
  2. Flash è programmabile
  3. Flash è sul 98% dei computer collegati in rete
  4. Con XHTML+CSS+JavaScript si è dimostrato di poter realizzare applicativi evoluti direttamente sul web.
  5. XHTML, CSS, JavaScript sono tutti linguaggi “facili” da apprendere perché hanno i gradini iniziali che consentono di vedere i progressi anche quando si conosce poco (questo argomento meriterebbe un discorso a sé stante legato alla code usability).
  6. Il web sta replicando quello che c’è già sul desktop: linguaggi di programmazione, facilità di sviluppo, modularità, interfacce idonee.

Ecco cosa poteva fare Macromedia già 3 anni fa se non prima, con un costo davvero minimo:

  1. Prendere Flash (è multipiattaforma).
  2. Creare un IDE per Flash decente per gli sviluppatori (ancora oggi Flash è per i grafici).
  3. Rendere il DOM di Flash decentemente strutturato.
  4. Con l’IDE inserire un set di elementi precostruiti e personalizzabili facilmente (non ho ancora visto la versione 8, ma fino alla 7 personalizzare un controllo è suicida a dir poco). Ovvero, come minimo tutti gli equivalenti Flash dei tag dei form di XHTML.
  5. Gestire efficientemente la scala con la variabilità delle finestre dei browser web.

Con questi passi, Macromedia avrebbe conquistato il web molto più di quanto ha fatto ora: Flash oggi è poco più di un ‘giocattolo per grafici’. Sto minimizzando, ma è evidente che salvo chi capisce le potenzialità reali di Flash – e sono pochi – Flash è questo per tutti. Pensate a cosa sarebbe successo se programmare in Flash fosse stato facile quanto fare un foglio XHTML
Con Flex hanno in parte realizzato questo, ma han fatto l’errore di legarsi al loro framework lillipuziano ColdFusion invece che aprirsi a qualunque linguaggio.

Ed ecco l’altra mia idea, questa più recente e sicuramente già nell’aria in parecchi ambienti (ricordo che ne parlai a Leandro un mattino prima di iniziare a lavorare assieme e un post di Paolo Valdemarin in cui accennava ad una cosa simile):

  1. Spostarsi dall’online a un sistema ibrido offline/online.
  2. XHTML, CSS, JavaScript sono la replicazione web della parte di interfaccia dei programmi desktop.
  3. Python, Ruby, PHP, (et.al.) sono linguaggi rapidi e facili per sviluppare, uno dei motori portanti dell’esplosione della rete, parallelo degli script sul desktop.
  4. Codice + Interfaccia, sono i due componenti essenziali per ogni programma desktop. Sulla rete li abbiamo al punto che alcuni programmi desktop ora si fondano su queste tecnologie (Windows Vista con Avalon, Firefox con XUL… Mac OSX con i Widget ci era così vicino).

Fondamentalmente, manca soltanto una finestrella leggera, ben integrata nel sistema operativo e poi una persona può realizzare un applicativo per il desktop senza la necessità di apprendere nulla di più. Non solo! Alcuni applicativi potrebbero essere esattamente uguali a quelli web. Offline e online, il confine scomparirebbe completamente.

Io stavo tentando di fare una cosa simile: ho qui un progetto XCode incompleto chiamato RubyDotApp che integra il WebKit di Safari e, se funzionasse, potrebbe chiamare un WEBrick di Ruby on Rails ed eseguirlo al suo interno. Ma sembra che non mi servirà più…
Apollo dimostra che io pensavo in piccolo, perché Adobe fonde le due cose:

  1. Apollo usa il motore di Flash.
  2. Apollo funziona sia offline che online.
  3. Apollo è multipiattaforma, Mac OS X e Windows, ma accennano ad ‘altre piattaforme’ in futuro (foto dello stesso applicativo su Mac e Windows).
  4. Apollo renderizza (X)HTML, gestisce JavaScript e CSS. Di fatto, integra il WebKit (di Safari, branch di KHTML), il che significherà “se gira su Safari, gira su Apollo”.
  5. L’integrazione ActionScript < -> JavaScript sarà 1:1 (di fatto sono entrambi ECMAScript, era anche ora).
  6. Apollo potrà integrare PDF.
  7. Apollo non è legato ad un ambiente di sviluppo proprietario: potrà eseguire applicazioni generate tramite applicazioni opensource (Eclipse, …).

Per i dettagli consiglio di consultare l’Apollo Wiki negli Adobe Labs.

Le premesse ci sono tutte. Vedo soltanto un aspetto che forse stanno sottovalutando: Apollo dovrebbe girare almeno su UN Linux, perché è la chiave che potrebbe farli entrare in parecchi sistemi embedded con facilità (il Nokia 770 tanto per citare l’ultimo e più brillante gadget Linux + Gnome based).

Chioso con una nota estetica: mi piace tantissimo l’idea del logo con il puntatore del mouse simile ad un missile, ma il font è davvero orrendo.

P.S. Apollo sembra non integri totalmente i PDF. Esiste un applicativo Adobe recentemente lanciato chiamato Digital Editions che è, solo per Windows, Flash + Acrobat Reader.

1 comment Add yours below

1

Khorne 2006 11 06 at 11:49

Prima o poi un'idea tua diventerà famosa, tu diventerai ricchissimo e ci manterrai tutti. Quando scrivi i miglioramenti che faresti tu, ad orecchio profano, sei... convincente :D


P.s.: a me il font non dispiace :|

Leave your Comment

required

required, hidden, never shared

Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post ~ Subscribe to the comments via RSS Feed