Flash una tecnologia morta?
20 febbraio 2010

Se c’è qualcuno che sta portando ostinatamente avanti questa tesi è sicuramente Apple. La non inclusione di Flash player in tutti i suoi dispositivi mobili ne è una prova schiacciate. Oltretutto, i vertici dell’azienda non lasciano lesinare critiche feroci a riguardo!

Flash è una tecnologia nata ormai 15 anni fa in seno a quella che allora era Macromedia, adesso acquisita da Adobe. Da allora si è sicuramente evoluto sempre più in complessità e potenzialità. All’inizio della diffusione del web, infatti, ogni sito internet non era altro che una pagina di steso, formattato alla meno peggio, nella quale l’unica interazione possibile all’utente erano i link, i collegamenti tra le varie pagine. I browser, allora Internet Explorer 3/4 e Netscape, erano veramente qualcosa di innovativo quanto tremendo! Diverse società allora cominciarono a sviluppare dei plug-in che consentissero di inserire animazioni e veri e propri software interattivi all’interno delle pagine.

Primo a diffondersi fu java che con le sue applet consentiva di programmare software per il web, quasi contemporaneamente macromedia con flash mise a disposizione degli sviluppatori uno strumento più orientato alle animazioni in grafica vettoriale. Proprio quest’ultima tecnologia ha avuto la meglio! Flash consentiva ai grafici di creare animazioni in maniera visuale senza conoscere nessun linguaggio di programmazione. Java, invece, era più orientato agli sviluppatori di software che tuttavia in quel periodo si disinteressavano ad internet. Nel tempo flash è diventato sempre più simile a java senza perdere i suoi punti di forza. E’ stato davvero un successo lasciando a java il desktop ed i dispositivi mobili. Oggi è difficilissimo trovare un sito web che implementi un’applet java.

Ed oggi cosa sta succedendo?

Dal 2001 ad oggi i browser si sono evoluti con lentezza e spesso in maniera disordinata. Il plugin flash, invece, implementava tutte le funzionalità avanzate che in realtà si sarebbero dovute trovare direttamente sotto il cofano di qualsiasi client web! Questo è quello che sta succedendo oggi. I browser si evolvono ad una velocità sconvolgente, diventano sempre più veloci ed implementano tecnologie avanzate e soprattuto standardizzate: javascript, CSS2/3, XHTML e qualcuno anche HTML5.

Con queste tecnologie, in effetti, Flash diviene assolutamente marginale. Il vantaggio inoltre di non usare un plugin è che ogni elemento di una pagina può interagire con gli altri direttamente, senza dover far uso di API complicate e soprattuto fuori standard.

Sì oggi un sito web è davvero all’avanguardia se non utilizza altro che i CSS e Javascript. Sono pochi infatti i siti internet che si basano interamente su Flash, ed anche questi ben presto verrano ridisegnati.

Flash è quindi obsoleto?

Oggi no, ma le tendenza è sicuramente quella di abbandonarlo. Adobe farebbe bene forse ad inserire elementi di progettazione web nel suo splendido Photoshop e cercare di riqualificare flash nel contesto.

Per approfondire:

  • Sito web di Apple nel 1997, bella differenza vero?
  • Cappuccino, framework javascript per applicazioni web/desktop che non hanno nulla da invidiare al Java.
  • Flash, su Wikipedia, un po’ di storia non fa mai male!
Snow Leopard: il ritorno della filosofia Apple?
24 agosto 2009

Il Box di Snow LeopardDal 28 agosto è disponibile Snow Leopard, cosa c’è da aspettarsi da questo sistema operativo e soprattutto, qual è il nuovo assetto che Apple sta seguendo per il settore Mac? Per capirlo dobbiamo fare un piccolo – poi non tanto – passo indietro.

Era il 2005 quando Steve Jobs annuncia la transizione verso i processori Intel. Per chi fosse nuovo del mondo Apple, fino a quell’anno, la casa di Cupertino utilizzava processori di tipo PowerPc che, dal punto di vista dell’architettura e della concezione, erano completamente diversi dai processori Intel. Diventati ormai cpu di nicchia – erano i migliori fino all’arrivo del Pentium IV – con roadmap lunghissime, prestazionalmente nelle applicazioni di tutti i giorni, sarebbero presto diventati non competitivi nei confronti della controparte Intel (per capire meglio a cosa ci stiamo riferendo, l’architettura Power è utilizzata per i processori della XBOX 360 di Microsoft).  Prima che ciò accadesse, la Apple è passata alla collaudata tecnologia di Intel forte delle sue soluzioni software (MacOs X), che hanno reso quasi indolore il passaggio. Indolore? quasi!

Fino ad allora il sistema operativo era ottimizzato per la cpu sulla quale era destinato a girare ed utilizzava quindi tutte le tecnologie che IBM e Freescale (originariamente divisione di Motorola) implementavano nei propri processori. I più navigati ricorderanno come veniva sbandierato l’allora rivoluzionato coprocessore Altivec introdotto con i G4. Bisogna pensare che qualsiasi sia la tecnologia implementata su una cpu, se le applicazioni non sono scritte per utilizzarla, sarà totalmente inutile ed ininfluente in termini di prestazioni. Un esempio attuale? Quasi tutti i processori che utilizziamo attualmente sui nostri PC sono a 64Bit, ma il sistema operativo che è quasi certamente Windows a 32bit, quindi di quei bei 64bit che ci presentao come l’ultima rivoluzione al momento dell’acquisto non ce ne facciamo un bel niente.

Apple_Intel_transition_WWDC

Nella transizione ad Intel, quindi, i mac user si sono ritrovati con un ottimo sistema operativo, ma che tuttavia dovendo girare sia su architettura Power che sui nuovi Intel non era più ottimizzato nè per gli uni, nè per gli altri. Leopard difatti non è considerata una delle migliore incarnazioni di MacOs ed ancora oggi molti rimpiangono il Tiger.

Con Snow Leopard pare – perché ancora nessuno lo ha testato direttamente a pare i beta tester – che le cose stiano cambiando e si stia tornando alla vecchia filosofia che ha contraddistinto la Apple sin dalle origini: la piena integrazione tra hardware e software. Tutti i Mac hanno dotazione hardware praticamente identica – processore core 2 duo e gpu nvidia (9400gm praticamente in quasi tutta la linea) – ed appare quindi credibile che sia stato davvero fatto un fine tuning del sistema operativo. Di contro, come era prevedibile, si è persa la compatibilità con i mac con precessore powerpc. Se si guarda alla pagina delle spacifiche del sito Apple, si scopre come molte caratteristiche sono supportate solo da determinati modelli di Mac o da hardware specifico. Riporto le più interessanti:

  • Mac con processore Intel
  • Accelerazione hardware QuickTime H.264: Richiede un Mac con processore grafico NVIDIA 9400M [Solo questa!!!! ndr.]
  • OpenCL: richiede uno dei seguenti processori grafici o schede grafiche: NVIDIA GeForce 8600M GT, GeForce 8800 GT, GeForce 8800 GTS, GeForce 9400M, GeForce 9600M GT, GeForce GT 120, GeForce GT 130. ATI Radeon 4850, Radeon 4870.
  • Supporto 64 bit: Richiede un Mac con processore a 64 bit.  [Quindi neanche tutti i processori Intel, rimangono fuori i primi Mac con Core Duo (senza il 2!), tra i quali i primi iMac Intel, Macbook e MacMini ndr.]
  • Grand Central Dispatch: Richiede un Mac con processore multicore.

[fonte Apple]

Grazie a Snow Leopard  i Mac che, non prendiamoci ingiro, ormai sono identici ai PC, si dovrebbero finalmente riappropriare della caratteristica che li ha contraddistinti fino ad oggi: un sistema operativo praticamente inscindibile dal suo hardware, pena la drastica caduta delle prestazioni – e non una querela per aver infranto l’EULA.

Dopo il Web 2.0, a quando il Desktop 2.0?
20 agosto 2009

Il Web 2.0 è considerato la rivoluzione del momento. Bè proprio del momento non si può più dire, ormai siamo ad una piena maturazione della tecnologia. Se si guarda un po’ in giro su internet lo stile e le tecniche sono quasi tutte ispirate alla nuova idea di Internet. Ormai il web 2.0 è scontato, praticamente uno standard di design e sviluppo. Non si può più considerarlo come una tecnologia nascente, ma come una tecnologia matura. I Css, i linguaggi server-side e javascript sono utilizzati di fatto da ogni sviluppotare web.

web2ico

Si attende ormail il web 3.0 che ancora difficilmente si riesce ad immaginare, data anche la lentezza del W3C a definire standard nuovi come l’Html 5 ormai in bozza da diversi anni e previsto forse per il 2050 odissea nello spazio! I browser in tutto questo si evolvono a vista d’occhio, ma di questo parlerò in una articolo successivo.

adobe-airUna cosa però che si riesce ad immaginare del web 3.0 è sicuramente la sua integrazione con il desktop. L’annuncio di Chrome Os, basato sull’omonimo browser, lo sviloppo di Air da parte di Adobe, di Google Gears, lascia intravedere l’utilizzo di tecnologie attualmente utilizzate solo per il web, anche per le tradizionali applicazioni desktop.

Se si guarda anche al mondo dei device portatili, Palm per il suo Pre, ha sviluppato un sistema operativo chiamato propripo WebOs che strizza l’occhio agli sviluppatori Internet, iPhone di Apple, nella sua prima incarnazione, prevedeva solo webapp salvo poi un drastico dietro front che ha dato origine al fortunato AppStore .  Forse i tempi non erano ancora maturi.

Fatto sta che allo stato attuale chi volesse sviluppare applicazioni veramente ricche, al pari di quanto si vede sul web, dal punto di vista dell’iterazione con l’utente, si trova di fronte ad uno scenario variegato, complesso e disordinato. Analizziamo brevemente alcune tra le più importanti tecnologie attualmente disponibili:

  1. Su piattaforma Apple, il problema non si pone: il sistema operativo offre librerie adatte a sviluppare Rich Desktop Application. Tecnologie come CoreImage, e CoreAnimation sapranno semplificare la vita ad ogni sviluppatore. L’ottimo XCode, farà il resto. Il problema di tutta questa agiatezza, è che rimane confinata sui Mac il che è un grosso limite per uno sviluppatore in cerca di notorietà.
  2. Su piattaforma Windows – ma anche Mac e Linux – troviamo la già citata tecnologia Air di Adobe. Ottimi strumenti di sviluppo, grande integrazione e flessibilità. Di contro, si utilizzano tecnologie fortemente proprietarie e legate al poco potente linguaggio Action Script non adatto ad applicazioni scientifiche e comunque non è certo uno standard industriale, almeno non al momento.
  3. Ci sarebbe Silverlight di Microsoft, ma a mio avviso è ancora troppo concentrato sul Web, campo nel quale la casa di Windows, cerca di recuperare agli errori di valutazione degli anni scorsi.
  4. Google Gears, consente nel suo piccolo di eseguire web-app in locale. A mio avviso è ancora allo stato embrionale, ma è sicuramente da tenere d’occhio. Ancora una volta preseta gli stessi difetti, se non più numerosi, di Air.
  5. Infine, vorrei segnalare il buon vecchio Java. La creatura di Sun, ora Oracle, tenta disperatamente di entrare in questa fascia di mercato con JavaFx. Veramente poca cosa e ancora troppo lento per poter competere. Certo è java, quindi cross-platoform e quasi completamente GPL, però la mancanza di un editor in stile Flash, richiede di imparare un nuovo linguaggio di scripting – l’ennesimo…- del quale onestamente non si sentiva la mancanza. Alla Sun piuttosto che sviluppare un nuovo linguaggio, potevano sviluppare un buon editor per Rich Client Application. Un’occasione persa.

Ciò che appare evidente, da questa minimale ed incompleta analisi, è come la partita oggi si giochi maggiormente su due fronti: interoperabilità, apertura e gratuità della tecnologia ed infine l’intuitività degli strumenti di sviluppo. Staremo a vedere chi saprà imporsi, o meglio, chi deciderà davvero di investire in tal senso.

Linux, il Bug numero 1
13 agosto 2009

Chi segue la scena informatica da più tempo ricorderà Steve Ballmer, ai tempi numero due di Microsoft che ad una developer conference si è esisbito in uno spettacolo umanamente inquietante ed imbarazzante, destinato a rimanere per sempre nella memoria di tutti! Per chi volesse rivedere quel momento, o capire a cosa ci stiamo riferendo, basta fare un giro sul tradizionale youtube. Il “povero” Ballmer nella sua totale assenza di pudore, sta promuovendo il suo sistema operativo avendo ben chiaro qual è la feature più importante: gli sviluppatori.

oss

La guerra degli OS... sembra lontana, ma poi non così tanto!

Ballmer grida “sviluppatori, sviluppatori”, ed ha ragione! Ciò che determina davvero l’utilizzabilità e l’importanza di un sistema operativo sono gli sviluppatori che, con le loro applicazioni, rendono un ammasso di ferraglia uno strumento utile  a qualcosa. Se si guarda alla storia dell’informatica, non è raro trovare casi in cui un sistema obsoleto, lento e talvolta instabile, venga utilizzato per via delle sue applicazioni. Tra gli esempi che possiamo ricordare vi è Mac Os 9, il così detto Classic, che praticamente invariato dal 1984 ha vissuto sino al 2000. Ancora più eclatante è l’utilizzo in ambiente bancario di Os2/Warp di IBM oppure ancora di Windows 3.11 su sistemi embedded delle compagnie aeree.

Le applicazioni che girano su di un sistema operativo lo rendono realmente utile ed utilizzabile oltre che popolare ed efficiente. La scelta di un sistema operativo piuttosto che un altro si determina in virtù delle applicazioni che vi girano, quelle che vengono chiamate in gergo killer application applicazioni, cioè che per la loro importanza ed essenzialità riescono a portare successo all’intera architettura su cui girano.

Fatta questa premessa, rientrando in tema, parliamo di Linux e del suo bug numero uno. Linux, il sistema operativo libero per eccellenza di cui tanto si parla negli ultimi tempi, è da considerarsi ormai abbastanza maturo per tutti gli usi: il supporto hardware è soddisfacente, la stabilità è uno dei suoi cavalli di battaglia, la semplicità di utilizzo grazie a distribuzioni come Ubuntu o Mandrake è garantita. Ciò che manca davvero sono appunto le killer application, cioè quelle applicazioni per cui Linux è essenziale. In realtà ne esistono alcune, tuttavia sono rivolte a sviluppatori, ingegneri e progettisti embedded. Per l’utente desktop oppure ancora per i designer ed i web developer, il nulla.

Sì, è vero, gimp è una gran bella applicazione, sofisticata e potente, ma ben pochi designer professionisti lasceranno l’accoppiata Photoshop+Illustrator per Gimp+Xara. Chi manca realmente al mondo linux, sono proprio gli sviluppatori. Questo problema talvolta è congenito. Spesso la così detta filosofia della fsf ha portato a boicottare tutti gli sviluppatori che hanno sviluppato software per linux e che non hanno abbracciato la filosofia Open Source. Per quale motivo uno sviluppatore non dovrebbe scegliere un modello di business tradizionale come quello della vendita di licenze di software proprietario?

gimp-screen

Gimp, l'unica vera alternativa a Photoshop per Linux

E’ un problema vecchio quanto linux: la piattaforma volendo essere aperta, in realtà spesso è chiusa in ideologie che ne decretano l’insuccesso in ambiente desktop e workstation. Cosa sarebbe Linux, ad esempio, se Adobe sviluppasse la sua creative suite per questo sistema operativo? Infatti, se Openoffice.org può degnamente sostituire Microsoft Office (e comunque mica tanto…), la stessa cosa non si può dire per i succedanei della suite adobe.

gnome-kde

Gnome o Kde, questo è il problema?

La disponibilità di questo set di programmi, renderebbe Linux il miglior sistema operativo in assoluto soprattutto per il suo rapporto prezzo-prestazioni!
In conclusione, è inutile che si continui a litigare per faccende stupide tipo gnome o kde, oppure sulle gui dei diversi file manager, oppure ancora se i driver delle schede video debbano essere open o no… il problema è uno ed uno solo, tornando a Ballmer: developers, developers, developers, developers.