11.09.07
La legge di Hayabusa sulle interfacce
Oggi ho scritto un commento a questo articolo di Simone Brunozzi (ubuntista.it). Mi è venuto talmente bene che ho poi pensato di riportarlo qui. (Si, lo so… i veri_blogger_tm scrivono direttamente il proprio articolo in risposta all’articolo dell’altro, poi mandandosi i trackback l’un con l’altro… come si vede che non sono un vero_blogger_tm…)
L’argomento è “Abbiamo ancora bisogno di una console?”
Il mio parere su queste cose lo riassumo spesso in quella che mi piace pomposamente chiamare la “legge di Hayabusa sulle interfacce”, vale a dire che “la potenza di una interfaccia uomo-macchina è inversamente proporzionale alla sua semplicità”.
La più semplice interfaccia a cui si possa pensare è uno switch on-off: è azionabile anche da uno scimpanzè nemmeno troppo furbo, ma ti permette di fare una sola operazione di base.
Più una interfaccia pretende di dare risposta ad ogni task, più essa diventerà complessa e la sua curva di apprendimento più difficoltosa.La linea di comando è, in assoluto, l’interfaccia più “potente” a cui si possa pensare in termini di flessibilità, precisione, completezza (permette di far fare ad un programma qualsiasi cosa quel programma possa fare, in qualsiasi termini) ma paga questo con la necessità di conoscerne il linguaggio (quanti conoscono a memoria tutte le opzioni del comando “ls”?)
Il corollario a tutto ciò è che è tecnicamente impossibile fare una interfaccia semplice e che faccia tutto. Più è semplice l’interfaccia, più sarà facile trovare funzioni od operazioni che non sono permesse da quella interfaccia.
Il tutto sta nel trovare un giusto compromesso tra le cose che si vogliono fare mediante l’interfaccia considerata e la sua difficoltà.
Ad esempio: è veramente necessario impostare tramite interfaccia grafica il proxy ai repository? O magari questa, per tipologia di operazione (per chi la fa e per quanto sovente la fa) è più che sufficiente demandare al terminale?
Ho poi pensato ad un esempio più trendy: misurate la semplicità e la scarsità di funzioni dell’applet “effetti desktop” contro la completezza e la complessità di CompizConfigSettingManager. Il primo fa il minimo indispensabile (attiva e disattiva compiz), il secondo invece permette di metter mano a quasi qualsiasi opzione di CompizFusion, ma occorre già saperci mettere le mani…
Se CCSM non basta, si può sempre mettere le mani direttamente in gconf (o nei file di testo, se preferite questo sistema), dove veramente potete fare di tutto, ma le capacità richieste per far questo aumentano ancora…