Cos’è l’innovazione

Cos’è l’innovazione? Questa è una domanda a cui è difficile dare una risposta. La mia è la seguente:

  • un concetto o invenzione che produce un cambiamento dello status quo
  • il cambiamento dovrebbe portare dei benefici a tutti, al genere umano, società, gruppo di persone, entità che partecipano al cambiamento

Il primo punto parla di cambiamento ma non di rivoluzione. Un piccolo cambiamento può essere innovativo così come un grande cambiamento o una rivoluzione. Un cambiamento deve essere contestualizzato nell’ambiente in cui si trova ad operare. Ad esempio un PC (inteso come erede di quel famoso IBM PC) può sicuramente contenere innovazioni ma queste devono essere contestualizzate nel sistema più ampio di cui fa parte, sistema che impone forti vincoli. E’ abilità essere in grado di innovare nel rispetto dei vincoli.  

Il secondo punto è importante: utilizzare la farina al posto del cemento nella costruzione di case può essere un cambiamento ma non porta certo benefici. Non è innovativo ma solo sciocco! Notare poi l’uso della forma “dovrebbe portare”: non è detto che l’innovazione abbia successo. Anche il secondo punto deve essere contestualizzato. E questo è un terreno controverso. Un cambiamento può portare benefici a pochi a spese di molti. Questo magari non è etico ma è innovativo.

Altro aspetto da considerare è il fatto che a volte l’innovazione non è il cambiamento di per sè ma il fatto di rendere disponibile i benefici di questo cambiamento.

Detto questo vorrei pensare a cosa c’è di innovativo negli attuali sistemi operativi: sembra molto poco (ma non è così). Se accettassimo di buttare via tutto il pregresso probabilmente avremo molte più possibilità. Questo però non è possibile perchè la quantità di risorse impegnata è enorme.

Prendiamo Windows Vista (dato che questo è un blog dedicato a Vista): questo sistema è interessante perchè è innovativo grazie al fatto che introduce molte nuove funzionalità utili (soprattutto ai produttori di applicazioni ma anche agli utenti). Ed è un sistema integrato nell’ambiente dei produttori di hardware e di software (l’ecosistema come lo chiama Microsoft). Ad esempio certi benefici del sistema sono disponibili solo se è disponibile l’hardware adeguato: si pensi a SideShow, ai contenuti ad alta definizione, a ReadyBoost o, più semplicemente, ad Aero. 

Però introduce anche cose storicamente presenti su altri sistemi o prodotti e li rende disponibili alla grande platea degli utenti. E ce ne sono molte di queste cose. Per esempio, io che ho una storia di programmatore alle spalle, noto il file system transazionale: è la prima volta che una funzione del genere è presente in un sistema destinato al grande pubblico senza aggiunte di software dedicato. Ed è anche un sistema operativo per PC destinato al grande pubblico che viene fornito con una virtual machine (la CLR di .NET) che è parte integrante dello stesso (in questo mi ricorda un po’ l’iSeries). E’ vero che OS/2 o altri sistemi dopo di lui sono stati forniti di virtual machine Java ma Vista espone delle API di programmazione disponibili solo via .NET (Java invece astrae il sistema rendendolo di fatto irrilevante).

In realtà tutto questo ciarlare è per evidenziare un semplice concetto. L’innovazione nel campo dei sistemi operativi per personal computer segue certe regole:

  • deve essere soprattutto evolutiva (il pregresso non può essere completamente dimenticato)
  • si basa sulle innovazioni precedenti
  • a volte non è la caratteristica specifica ad essere innovativa, ma il fatto di renderla disponibile

Se si analizzano gli altri due grandi sistemi operativi per personal computer si nota che seguono esattamente le stesse regole. Ogni sistema ha la sua peculiarità (si contraddistinguono soprattutto nel modo di “vendere” il sistema stesso) ma le regole sono soddisfatte. 

Questi concetti si possono estendere anche ad altri “ambienti di esecuzione” come Lotus Notes, la piattaforma Rich Client basata su Eclipse, Office (inteso come parte dello SmartClient), Web 2.0.

E lo stesso può essere fatto su piattaforme diverse come gli smartphone.

Sarebbe interessante creare una tassonomia dell’innovazione nei sistemi operativi (e degli ambienti) in questo modo: si fattorizzano le caratteristiche e si cerca di tracciare la loro storia, la loro comparsa nei vari sistemi, la loro origine (che a volte non è in un sistema operativo) e la loro trasmigrazione da un sistema all’altro. Anche i fallimenti contano. Per giocare ho cercato di farlo con un paio di caratteristiche sui sistemi che conosco meglio: OS/2, UNIX/Linux e Windows. E’ molto divertente. Argomenti interessanti da tracciare sono: funzionalità di ricerca integrata nel sistema e nel file system, multi-threading, networking. Se siete affascinati da una caratteristica di un sistema provate a tracciarlo in questo modo: potrete evidenziare dei trend. Ad esempio un argomento affascinante da tenere presente nel prossimo futuro è la virtualizzazione.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: