Giu 18

La sensazione che Microsoft da qualche anno a questa parte sia un po’ a corto di creatività , diventa sempre più forte: Mediaroom é la risposta a AppleTV.

Vorrei ricordare che:

  • Zune era la risposta ad iPod,
  • con MSN e relativo motore di ricerca hanno cercato di controbattere a Google e ai servizi web 2.0,
  • con Xbox sono entrati nel mondo delle console dominato Sony e Nintendo.

Non voglio alimentare polemiche dicendo che Vista ha copiato a piene mani da Mac Os X, non é vero.

Tutti sappiamo che Microsoft tenta da anni di ridimensionare il fenomeno Linux attraverso gli attacchi su eventuali brevetti violati o con campagne a discredito del sistema operativo open source.

Delle iniziative commerciali di cui sopra nessuna ha avuto grande successo, se non XBox. Il successo di XBox penso sia principalmente dovuto alla immediata disponibilità  di moltissimi titoli grazie all’incredibile somiglianza ad un normale personal computer Windows.

Anche il fenomeno XBox é stato ultimamente ridimensionato da Wii di Nintendo, che ha portato nel mondo delle console innovazioni concrete (in questo momento la console della Nintendo vende quasi tre volte più di quella di MS).

Microsoft non ha mai avuto nel proprio dna innovazione e qualità : fin dai primordi quando vendette ad IBM l’MS-DOS, il QDOS (quick and dirty operating system) acquistato a Tim Patterson per 50.000 dollari (prima del colpaccio MS era agonizzante).

Onore al merito commerciale di Bill Gates, che intuì anche le potenzialità  dell’accordo su licenza non esclusiva e che costituì la fondazione del successo universale della software house.

Ma anche questo slancio sembra perso. Ho la sensazione che Microsoft entri in competizione con altri player in ritardo, senza avere delle idee concrete o una strategia compatta (o é una strategia che proprio non riesco a capire): continua ad essere un’azienda orientata al prodotto piuttosto che dare una svolta e verso servizi di cui hardware e software sono quasi sempre solo veicoli.

Mi spiego con due esempi.

Google ha fatto crescere miriadi di servizi a favore dell’utente intorno al motore di ricerca, tutti estremamente interconnessi: dall’advertising, alla gestione e analisi dei siti e della navigazione, alle mail, la geolocalizzazione. Tutti servizi che prendono forza dal motore di ricerca e hanno feedback positivi importantissimi sul motore di ricerca stesso.

Apple sta diventando sempre più una media company legata al life style, orientata sempre più alla distribuzione di cui punta a completare al filiera. Per farla facile, i contenuti audio/video di iTunes vengono distribuiti attraverso gli iPod, i Mac, AppleTV, a breve iPhone. I settori chiave (produttività , mobilità  ed tempo libero) sono presidiati in modo concreto, omogeneo e riconoscibile.

Non vedo fare altrettando da Microsoft, che mi sembra invece perdere costantemente possibilità  e non essere riuscita ad adattarsi ai sostanziali cambiamenti di mercato degli ultimi anni.

Giu 14

Sono rimasto assolutamente colpito da un’applicazione scoperta per caso: Soulver. E’ una calcolatrice molto particolare, il concetto di base é tanto semplice quanto innovativo.

SoulverTopScreenshot.png

Giu 12

Ho seguito con attenzione il keynote di Steve Jobs al WWDC di San Francisco.

Sto seguendo i commenti degli utenti, che come al solito mettono in piazza una guerra. Su cosa? Sul dock in prospettiva tridimensionale (che ricorda il fallito esperimento di Java Desktop di Sun Looking Glass), su cover flow, sul desktop verdino e la trasparenza della menu bar.

Ma siamo scemi o cosa?

Io vorrei che ci si rendesse conto che Mac OS X non é nato in tre anni dopo il ritorno di Jobs in Apple, ma é il frutto di uno sviluppo continuo dal 1986 quando era ancora NeXT Step: 21 anni per arrivare al sistema operativo odierno. E solo grazie a molti, moltissimi contributi dal mondo BSD lo sviluppo é potuto essere così veloce, perché proprio dal mondo BSD Unix deriva molta della sua stabilità .

Quando la comunità  ha urlato all’innovazione alla presentazione di Mac OS X nel 2001, ci si rendeva conto che alle spalle c’erano 15 anni di sviluppo? , diventati visibili praticamente in un colpo solo?? (NeXT e NeXT Step penso la conoscessimo in 10 ai tempi e sicuramente non erano utenti Mac).

Dalla release di Tiger sono passati 21 mesi. Mesi! Non anni.

Ci si aspettava un sistema operativo nuovo? Ma in che mondo? Come era fattibile? Aspettativa un po’ miope. Ci si poteva solo aspettare un update del sistema operativo, così come lo sono state le precendenti.

Inoltre Leopard le maggiori innovazioni le porta a basso livello:

  • 64 bit pieni,
  • ottimizzazione della gestione multicore a livello di sistema (tutte le applicazioni ne traggono vantaggio),
  • nuove librerie (core animation) per gli sviluppatori.

Anche solo queste tre feature “invisibili” fanno fare un salto generazionale al sistema operativo in termini di performance ed efficienza. A tutto vantaggio sia di chi sviluppa applicazioni sia di chi usa ad alto livello un Mac: editing video, fotografico, ambienti server, etc.

E queste tre feature sviluppate in 21 mesi sono un miracolo, da decine di migliaia di ore uomo di lavoro, frutto anche della collaborazione Apple e Intel.

Al WWDC Apple ha portato 1.250 ingegneri per assistere e introdurre alle nuove tecnologie 5.000 sviluppatori accorsi all’evento. I WWDC non si ferma al keynote di Steve Jobs: si faccia una veloce ricerca su YuoTube. Decine di video sui vari approfondimenti tecnici seguiti (e sempre applauditissimi) dagli sviluppatori.

Risultato: le software house tornano a sviluppare su Mac (entertainment in testa con EA e ID) e la comunità  degli sviluppatori aumenta di 200.000 persone. Conseguenza: più software, più possibilità  di scelta, più qualità  per noi utenti finali Mac.

Apple ha ottimizzato le basi del sistema operativo, per adattarlo al massimo al nuovo modo di fare hardware (multi-core e concorrenzialità  dei processi, altrimenti anche gli 8 core del Mac Pro sono poco o niente sfruttati) e per prepararsi alle applicazioni e all’interattività  del futuro.

Questo é il messaggio tra le righe del WWDC: potenzialità .

I fuochi d’artificio? Sono da cercare al MacWorld Expo, non ad una conferenza di sviluppatori.

Apr 14

Da circa 5 anni utilizzo Linux come sistema operativo preferenziale: sul mio portatile Windows é stato prima relegato ad una piccola partizione, poi del tutto eliminato.

Personalmente utilizzo il computer in due modi profondamente diversi.

  • Fede “utente standard” é tutto mail, office, skype, etc.
  • Fede “power user” vuole aver una shell di tutto rispetto per lavorare a basso livello, poter compilare velocemente libreirie e programmi all’occorrenza, non disdegna di utilizzare Photoshop & co, etc.

Quando ho deciso di abbandonare progressivamente Windows come piattaforma personale per approdare a Linux, ho fatto una scelta precisa basata sulle funzionalità .

  • Windows mi consentiva molto facilmente di essere un utente standard, molte meno un power user.
  • Linux mi rendeva la vita leggermente difficile su tutti i fronti, ma potevo avere il controllo completo della macchina da una parte e disinteressarmi completamente dei problemi di sicurezza e virus legati a Windows che ritengo essere solo inutili perdite di tempo.
  • In quel periodo non potevo considerare Mac come alternativa valida: il vecchio System 9 era per me troppo fuori dagli standard, Mac OS X si affacciava come promettente ma m’intimoriva la piattaforma hardware PowerPC.

Scegliendo Linux mi sono detto: nel tempo migliorerà , interverranno anche le grandi aziende affiancando le comunità  di sviluppatori e il gap di facilità  e funzionalità  sulle “cose scontate” verrà  colmato.

Questo é capitato solo in parte. Linux, per facilità  d’uso e installazione, é migliorato moltissimo rispetto a cinque anni fa. Ma resta sempre indietro:

  • il supporto dell’hardware é migliorato moltissimo, ma resta ancora moltissimo da fare sui drivers terze parti;
  • utilizzare device particolari é sempre un problema, come ad esempio connettersi via cellulare o palmare, sincronizzare i dati;
  • banalità  come installare Skype, a volte ti prendono mezza giornata solo per far funzionare l’audio e le chiamate vocali e in ogni caso ti becchi un client di 2 generazioni più vecchio rispetto quello Win.

Mi fermo qui perché non voglio assolutamente scrivere un articolo a sfavore di Linux e a favore di qualcun’altro. Adoro Linux, ammiro e sottoscrivo in pieno i concetti di base del software libero, stimo tutti gli sviluppatori che si prestano a un così grande, impegnativo progetto comune.

Quello che é mancato a Linux nel corso degli ultimi anni é una visione comune, che potesse concentrare gli sforzi e le immense quantità  di lavoro spese su obiettivi comuni di eccellenza nei tempi necessari a mettersi in pari a Mac OS X e magari, dati i continui rinvii di Vista, a superare Windows.

Non penso che Mac OS X sia il sistema operativo perfetto, ma Apple ha agito (e sta agendo), in modo decisamente più furbo. Hanno scelto di utilizzare le fondazioni BSD, solidissime da 20 anni di sviluppo, e sviluppare in innovazione nell’interazione uomo-macchina.

Linux e tutti i suoi progetti correlati hanno una fortissima caratteristica di dispersività :

  • a differenza di Win e Mac, la comunità  di sviluppo open source mantene non una interfaccia grafica, ma una pletora (Gnome, KDE, XFCE, etc);
  • i subsistem audio di Linux sono almeno due (ALSA e il più vecchio OSS, che comunque fatica a scomparire), non parliamo dei sistemi di gestione audio che sono molti, molti di più;
  • ogni distribuzione ha praticamente il suo package manager, o la customizzazione del package manager di qualcun’altro, il suo installer, etc.;
  • se ti sbagli ad aggiornare il kernel, c’é il rischio di dover ricompilare una pila di driver (ma possibile che nonstante la natura monolitica del kernel Linux aiuti pochino non si sia ancora trovata una soluzione decente?).

Il vantaggio é la liberta di sceltà . Non ti piace Gnome, usi KDE per esempio. Intanto diventi scemo e passi le notti a fare tuning.

Forse ho meno tempo, forse ho meno energie, forse ho meno voglia di passare le notti a capire perché far girare bene VMWare sia sempre un terno al lotto.

Ho bisogno che le cose nella maggioranza dei casi funzionino e basta. E voglio per aprire una bash per farmi i fatti miei quando ne ho bisogno. E non voglio tornare alle crociate contro possibili intrusioni e virus.

Per cui passo a Mac.

Gen 29

Unix.png Nell’ultimo mese mi é capitato di sentire “Mac OS X é basato su Linux”: no, niente di più sbagliato. Mac OS X fa parte della grande famiglia dei sistemi operativi Unix, nel dettaglio del ramo che ha preso vita dallo Unix di Berkley: il BSD.

Le origini di Mac OS X risalgono a metà  degli anni 80 in quanto erede diretto di NeXT Step.

Breve parentesi storica. Nel maggio del 1985 Steve Jobs venne estromesso dalla Apple, l’anno successivo

  • acquisì la “The Graphics Group” che chiamo Pixar (da poco venduta a Walt Disney in cambio di un sostanzioso pacchetto azionario) e
  • fondò la Next Computer, nuovo tentativo di Jobs sul mercato del computing d’avanguardia.

Il progetto Next prevedeva la realizzazione di computer di fascia alta, delle workstation per intenderci. Il progetto hardware assomigliava ai Mac di quel periodo basati su processori Motorola di classe 680×0. Il sistema operativo NextStep venne realizzato a partire:

  • dal kernel Mach, microkernel sviluppato in seno alla Carnegie Mellon University;
  • dalla userland dello Unix BSD.

Su questa base vennero sviluppati i contributi orginali del gruppo di ricerca e sviluppo della Next:

  • il linguaggio di programmazione Objective-C, per un ambiente integrato ad oggetti con forti caratteristiche di modularità  e riusabilità 
  • un’interfaccia grafica basata su un motere di rendering Postscript, quindi vettoriale e indipendente da media.

Entrambe queste due caratteristiche si ritrovano in Mac OS X: Objective-C é tuttora il linguaggio preferenziale per lo sviluppo, l’interfaccia Postscript si é evoluta in Aqua in PDF (variante del PostScript).

Anche le linee guida di licensing erano già  definite sul finire degli anni ottanta: la base del sistema operativo (kernel e userland) sono sempre state open source, l’interfaccia grafica proprietaria della Next. Attualmente il progetto Darwin é il rilascio open della base di Mac OS X, da cui sono nati diversi progetti completamente open source come GNU Darwin.

NextStep vide la luce nel 1988 e girava specificatamente su hardware Next. Nel 1993 erano pronti i porting per le versioni PowerPC e Intel: questo spiega i tempi di migrazioni quasi istantanei dell’ultima evoluzione in Apple (il porting per Intel era sostanzialmente già  pronto da anni).

First_Web_Server.jpgUna curiosità  per gli amanti del web. Quando nel 1991 Tim Berners-Lee, ricercatore del CERN, inventò HTML e sviluppo il primo browser lo fece su una workstation NextCube con sistema operativo NextStep.

A causa di un grosso calo di vendite e di prodotti sbagliati, nel 1996 Steve Jobs venne richiamato in Apple, che acquisì la Next per 402 milioni di dollari: staff e know-how vennerò integrati e si posero le basi per il futuro sistema operativo della mela che venne rilasciato nel 1999 in versione server, nel 2001 la prima é più conosciuta versione desktop (Mac OS X 10.0 Cheetah).

I tentativi precendenti al ritorno di Jobs nel rinnovare il sistema operativo furono fallimentari e abbandonati: Taligent e Copland. Jobs impose l’uso di NextStep come fondazione del nuovo sistema operativo (nome in codice del progetto Rhapsody).

L’evoluzione da NextStep a Mac OS X fu sostanziosa:

  • il nuovo kernel XNU, basato sull’originale Mach, venne integrato di alcune funzionalità  monolitiche dall’ambiente BSD per ridurre i tempi di latenza classici dei micro-kernel;
  • l’interfaccia raffinata dal punto di vista grafico per il palato degli utenti Apple e portata da PostScript a PDF.

Ma la fondazione del sistema operativo resta ancora oggi di chiara derivazione NextStep: la maggior parte delle classi e delle interfacce portano un prefisso NS_ che ne indica chiaramente l’origine.

Mar 3

Quest’anno Apple ha concretizzato la svolta annunciata a metà  2005: i nuovi Mac non sono più basati su architettura PowerPC ma su piattaforma Intel. Ad oggi le linee basate su procesori Intel sono i Mac Book, i Mac Mini e gli iMac. Il fatto stesso che Mac OS X fosse già  pronto a girare sotto x86 non avrebbe dovuto stupire nessuno, in quanto erede di NextStep.

Con questa svolta di Apple si concretizza una nuova importante possibilità  per noi webdesigner, poter avere su un unico computer i sistemi più diffusi tra l’utenza finale: Windows, Mac OS X, Linux, FreeBSD, NetBSD, etc. Si, perché di fatto i nuovi Mac sono pc compatibili a tutti gli effetti assemblati con componentistica standard e estremamente diffusa. L’unica difficoltà  da scavalcare é l’uso del BIOS EFI, che sarà  superata con Windows Vista e dalle prossime distribuzioni di Linux.

Come fare?

Tra qualche mese sarà  possibile acquistare un Mac e partizionare l’hard-disk in modo da avere installati Windows Vista, Mac OS X e Linux contemporaneamente: riavviando il computer si potrà  accedere al sistema operativo di cui si ha bisogno. Ma ancora meglio, con sistemi di virtualizzazione come VMWare o Xen sarà  effettivamente possibile avere i diversi sistemi operativi attivi contemporaneamente.

In questo modo si potrà 

  • sviluppare effettuando i controlli cross-browser e cross-platform in modo molto più snello (pensate ad avere sotto mano contemporaneamente IE, Firefox Win/Linux, Safari),
  • scegliere il sistema operativo e il software più adatto a quanto ci proponiamo di fare,
  • avere la massima libertà  di scelta anche in termini di gusti e abitudini per interfaccia, stile d’uso.

Sicuramente il quadro complessivo ha alcune ombre: un rafforzamento dello strapotere di Intel, Mac OS X non viene venduto disgiunto dall’hardware. Ma i vantaggi di facilità  e accesso alle diverse piattaforme e software per grafica, webdesign e sviluppo potrebbe candidare la piattaforma della Mela come ideale nel nostro lavoro.