Leggero, elegante, piacevolissimo da utilizzare. Economico, sviluppato da una leggenda: Michael Gibson, al quale si attribuisce la paternità del progetto originale di Rhinoceros.
La bella avventura nel mondo CAD di Michael inizia nei primi anni 90. Ma facciamocela raccontare da lui: ecco una intervista che Michael mi aveva rilasciato all’epoca della prima presentazione di MoI beta:
Michael, puoi raccontarci qualcosa di te e della tua società?
Hmmmm, sono stato interessato alla computer grafica per molto tempo. Il primo programma di modellazione che ho scritto si chiamava Sculptura, ed era un progetto che avevo avviato durante le vacanze estive al college.
Poco tempo dopo ho iniziato a lavorare per Robert McNeel & Associates, ed ho creato un programma che ho chiamato Rhino, un nuovo sistema CAD basato sul kernel Applied Geometry. Ho lavorato prevalentemente da solo su questo prodotto, mentre i colleghi della RMA stavano progettando un plug-in per AutoCAD basato sul kernel AG. Il mio progetto sembrava più promettente del plug-in, e quindi l’idea di sviluppare quest’ultimo fu abbandonata, in favore dello sviluppo di Rhino come prodotto stand alone. Negli anni, questo software è divenuto molto popolare, e costituisce tutt’ora il prodotto di punta della RMA.
Dopo qualche tempo, decisi di abbandonare temporaneamente il mondo CAD, e trascorsi circa 5 anni in Microsoft MSN. Questo periodo fu particolarmente ricco di esperienze. Ma decisi di tornare al CAD, e sperimentare alcune nuove idee per il mio modellatore di terza generazione. Per seguire questo progetto ho aperto una mia società, Triple Squid Software, ed avviato lo sviluppo di MoI, al quale ho lavorato nel corso degli ultimi quattro anni.
Cosa rende MoI speciale e diverso dagli altri modellatori?
Attualmente, MoI contiene alcune nuove funzionalità. E’ un effetto collaterale, dovuto alla mia scelta di sperimentare in nuove aree piuttosto che clonare funzioni da programmi esistenti. All’inizio dello sviluppo di MoI avevo esaminato con attenzione diversi programmi CAD, ma ad eccezione di SketchUP (un valido prodotto per l’architettura, ma non troppo orientato verso l’Industrial Design), non mi è sembrato di vedere cambiamenti fondamentali o nuove idee. Molte delle funzioni apparivano come revisioni delle funzionalità di programmi ben consolidati. Questa filosofia tende a generare prodotti sempre più complessi e difficili da utilizzare, specialmente per i nuovi utenti. Mi è sembrato che gli utenti novizi e casuali (per casuali, intendo quegli utenti che non hanno troppo tempo da dedicare all’apprendimento di un programma) fossero “lasciati indietro” dall’industria del software CAD. Così, ho pensato che una buona area sulla quale focalizzare gli sforzi fosse quella di semplificare e velocizzare la realizzazione di semplici progetti. Questo approccio avrebbe potuto rendere accessibile il mondo del CAD a quegli utenti – artisti, artigiani – che non potevano prenderlo in considerazione a causa degli elevati costi e della lunga curva di apprendimento.
Così, ho decisamente focalizzato il mio progetto sulla semplicità d’uso.
Per realizzare un programma “orientato agli artisti”, ho basato l’interfaccia di MoI sull’uso della tavoletta grafica, controllabile con una penna. Le interfacce standard dei CAD richiedono un grande uso del clic di destra e complicate combinazioni di tasti, manovre che possono essere evitate con l’uso di una penna elettronica. Uno degli aspetti caratteristici di MoI è che può essere utilizzato senza mai toccare la tastiera – e questo rende l’utilizzo del programma molto più fluido con una tavoletta grafica. Alcune altre caratteristiche esclusive di MoI sono l’elevata qualità dell’interfaccia grafica (antialiasing delle curve anche con schede grafiche low cost, estrema velocità nella visualizzazione delle mesh), e la grande qualità con la quale vengono esportate le mesh poligonali, che supportano la creazione di n-gons con un wireframe particolarmente pulito, anzichè la creazione di una grande quantità di triangoli.
Chi sono i clienti target? Chi trae maggior beneficio dalle caratteristiche di MoI?
Più che focalizzare lo sviluppo verso un particolare tipo di cliente, cerco di orientarmi verso un particolare tipo di task (ad esempio, semplificare la realizzazione di una superficie sweep, etc…) che può essere utile a molti utenti. Ma se dovessi scegliere una categoria, direi che l’utente di riferimento è un artista o un artigiano, che ha bisogno di alcuni solidi strumenti di modellazione nel proprio lavoro, ma che non è mai riuscito ad utilizzare i programmi in commercio a causa della loro complessità d’uso. Qualcuno che non è mai riuscito a sfruttare a sufficienza il computer nel proprio lavoro, a causa della sua difficoltà di impiego.Con questo, non intendo incasellare MoI come un prodotto “solo per novizi”. Un fattore che mi spinge verso la ricerca della semplicità d’uso è anche la volontà di ridurre il numero di passaggi necessari a compiere un’operazione. Questo comporta indirettamente una generale “velocizzazione della modellazione”, che può risultare interessante anche e soprattutto per i professionisti della modellazione 3D.
Nonostante la popolarità di prodotti come Rhino, i sistemi CAD di modellazione di superfici sono ancora piuttosto complessi da usare, con poche eccezione tra cui MoI. I base alla sua esperienza, qual’è il motivo di un progresso così lento nelle interfacce?
Penso sia semplicemente dovuto alla adozione di “percorsi più comodi” di sviluppo del software e delle interfacce, per cui si tende ad adottare una soluzione esistente piuttosto che sviluppare qualcosa di nuovo. E’ infatti piuttosto rischioso progettare qualcosa di veramente innovativo in questo campo. La progettazione di un’interfaccia non si basa su una “scienza” precisa”. In molti casi non è possibile semplicemente eseguire un certo numero di passaggi da un’elenco, ed ottenere automaticamente maggiore facilità d’uso. Così, piuttosto che rischiare un gran disastro, è più normale che uno sviluppatore semplicemente si dica “facciamolo come X (MsOffice, AutoCAD etc.)”, e finisce la preoccupazione. Questo atteggiamento spesso comporta anche il risparmio di molte risorse di programmazione. Ma nello stesso tempo, questo approccio rallenta l’introduzione di innovazioni rilevanti. Giusto a titolo di riferimento, ho investito più di un anno solo nello sviluppo dell’interfaccia di MoI. Per quanto mi riguarda, è stato più divertente e interessante assumermi il rischio connesso a questo sviluppo, e la scelta della tavoletta grafica come strumento di input preferenziale mi ha condotto verso un percorso di sviluppo meno consueto.
Per quale motivo non è stato adottato un formato proprietario, e quali sono le implicazioni?
Attualmente, per me è strategico poter trasferire facilmente dati ad altri programmi, perché ci sono molte cose – ad esempio il rendering, che non sono incluse in MoI. Piuttosto che cercare di sviluppare un motore di rendering per MoI già nella prima versione, era più pratico focalizzarmi sul programma in se, e trasferire dati ad un altro programma perchè si occupasse di rendering. Molti programmi sono ricchi di centinaia di funzionalità, poche tra le quali eccellenti. Io non ero certamente in condizione di introdurre nel programma centinaia di funzionalità eccellenti, specialmente nella prima release. Così, mi sono concentrato sulle funzioni principali, cercando di svilupparle al meglio. Una volta che il trasferimento dati viene individuato come un’importante funzione, lo sviluppo di un formato proprietario è soltanto un lavoro in più da fare, se possibile da evitare accuratamente.
Steve Jobs e Henry Ford hanno sempre sostenuto che per realizzare un prodotto di successo è necessario ascoltare i clienti, ma non fare quello che chiedono. Qual’è la tua opinione in merito?
Credo che il concetto sia che gli utenti tendono a chiedere cose in fondo simili a quelle che correntemente hanno. Se non ci si addentra nella comprensione del problema, si può rischiare di perdere l’opportunità di compiere un vero passo in avanti, e limitarsi a piccoli miglioramenti dell’esistente. Ma l’intero argomento relativo al feedback degli utenti è più complesso e sottile. Ad oggi, è letteralmente impossibile soddisfare le esigenze manifestate dai clienti, semplicemente perché diversi utenti possono richiedere (e lo fanno) caratteristiche mutualmente esclusive. Nello stesso tempo, il feedback dei clienti è una preziosa risorsa dalla quale “pescare”, una sorta di grande contenitore di idee dalle quali attingere, quantomeno per convalidare i propri orientamenti di sviluppo. Questo è il motivo per il quale spendo molto tempo nel contatto con i miei utenti.
Puoi anticiparci qualche futuro sviluppo di MoI?
Al momento, sto lavorando ad una prima versione beta di MoI 2.0. Il primo gruppo di nuove funzionalità riguardano l’editing di base ed alcuni aspetti del disegno. Ci sarà un nuovo riquadro di editing che verrà visualizzato attorno agli oggetti selezionati, in modo che siano facilitate le operazioni di rotazione e scala, simile a quello usato in molti programmi di grafica 2D, e nuove funzionalità per disegnare facilmente su superfici esistenti. Credo che sia anche molto importante continuare a “rifinire” al meglio le funzionalità di base del programma. In tempi brevi, verrà aggiunto il supporto di alcuni formati aggiuntivi, come SAT e STEP.
Un’altro punto focale della versione 2.0 saranno alcuni strumenti di organizzazione, simili ai meccanismi dei gruppi e layer, che consentiranno di lavorare con maggiore facilità su modelli complessi. Ho alcune interessanti idee su come migliorare le funzionalità legate alle modifiche dello “storico”. Infine, sto progettando di aggiungere una serie di funzionalità orientate alla “comunicazione”, che serviranno a rendere i progetti maggiormente comprensibili a “terzi”. Tra queste funzionalità, ci sarà un rendering di base e funzioni di quotatura.