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.

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.

Giu 4

Di Ajax ormai si parla da tempo e la richiesta di innovazione per le interfacce web si fa sempre più spinta. Anche i maggiori player del mercato sono entrati prepotentemente.

Ora é il turno di Adobe, che pubblica la prerelease di Spry, il suo framework Ajax sotto comoda licenza BSD. Gli effetti che si vedono nelle demo stupiranno poco gli addetti del settore. La vera manna é la libreria di caricamento, manipolazione e binding dell’XML: da leggere assolutamente il “Getting Started”.

Da tempo si cerca di ricreare un ambiente desktop in html dinamico e, negli ultimi tempi, in Ajax. Mai nessuno mi ha stupito come Challenger: ottima qualità  sia nell’interazione che nella definizione del paradigma dell’interfaccia.