Home
Contrordine, amici: si torna alla linea di comando

03 Settembre 2007

Contrordine, amici: si torna alla linea di comando

di

Spesso immaginiamo le future interfacce dei dispositivi informatici come affascinanti esperienze di immersività a cavallo tra reale e virtuale. Ma la realtà è meno cinematografica ed è sotto gli occhi di tutti: usiamo sempre più la tastiera, sebbene in un contesto innovativo. Parola di Donald Norman

Vi siete mai chiesti come cambieranno in futuro le interfacce con cui usiamo i nostri dispositivi informatici? Negli ultimi anni abbiamo sognato e visto prototipi e progetti i più fantasiosi. Quasi tutti giravano attorno al tema dell’immersività, cioè della compresenza sempre più stretta fra reale e virtuale, dove il virtuale simulava sempre più fedelmente il nostro mondo, a partire dalla sua tridimensionalità. Quanti film abbiamo visto in cui i protagonisti, addobbati da cavi e spinotti che spuntano da tute aderentissime e appesi come galletti sullo spiedo di giroscopi giganti, si astraevano dalla realtà fisica che li circondava per entrare in una realtà totalmente riprodotta in digitale, mentre il loro corrispettivo fisico provava sensazioni indotte da stimoli prossimali artificiali comandati dalla macchina?

Dimenticatevi tutto questo. Be’, okay, dimenticarle forse no: queste tecnologie si svilupperanno, certo, e ne vedremo nuovi esempi, sempre più vicini al recupero della fisicità nell’interazione uomo-macchina, specialmente in alcuni settori (simulazione, training). La simulazione immersiva rimane un settore di grande interesse, ma l’informatica consumer batterà anche (pare) un’altra strada, meno vistosa, meno cinematografica, ma non per questo meno importante. Almeno secondo alcuni dei più importanti guru internazionali.

Donald Norman (nella foto in alto), autore di uno dei più importanti libri sulla progettazione dell’interazione (La caffettiera del masochista) e del recente Emotional Design ha fatto la sua previsione: secondo lui molte delle interfacce del futuro saranno… a linea di comando! I più anzianotti (o i più geek) di voi capiranno di cosa parlo.

Per gli altri basti dire che si chiamano “a linea di comando” le modalità di interazione uomo-computer in voga dagli anni ’50 alla metà degli anni ’80, prima dell’avvento delle cosiddette Graphic User Interfaces (Gui). Cioè di scrivanie, icone, finestre, drag&drop, menu e doppio clic. Prima dell’imporsi di interfacce grafiche, chi voleva usare un computer si trovava di fronte un monitor solitamente monocromatico (bianco, nero, talvolta verde e più raramente arancione…) con del testo incomprensibile presentato dalla macchina, e una riga vuota dove lampeggiava un cursore, in attesa delle nostre istruzioni. Che avevano la forma poco comprensibile di cose come cd /d c:windowssystem32, e chiedevano spesso la pressione di combinazioni di tasti che solo la scimmia che scriverebbe tutto shakespeare battendo a caso sulla tastiera sarebbe riuscita a indovinare: Control+C, Control+P, Control+Q

Ebbene, usare comandi scritti, ancorché incomprensibili ai più, era l’unico modo per comunicare con il computer. Il quale rispondeva invariabilmente per iscritto, riempiendo righe e colonne di caratteri monospaziati e senza alcun ordine apparente per il neofita. Queste erano le interfacce a linea di comando, sostituite poco dopo dalle interfacce testuali (variante della linea di comando, ma con maggior facoltà di spostarsi in una griglia di righe e colonne anche con il mouse, da poco introdotto, o con i tasti freccia). Le interfacce testuali hanno convissuto per un po’ con le prime interfacce grafiche, prima di essere spazzate via del tutto dall’esplosione dell’informatica di massa e dei vari sistemi a finestre.

Pare impossibile, ma alcuni hanno continuato a rimpiangerle a lungo. Tra questi, i più duri e puri continuano ad usarle, in varie forme, anche oggi. Le interfacce a linea di comando tradizionali richiedevano conoscenze quasi esoteriche sul funzionamento della macchina. Richiedevano all’uomo di imparare una lingua nuova, quella del computer, con sintassi astruse, e però consentivano rapidità di esecuzione e controllo totale. Chi padroneggia i segreti della linea di comando detiene il potere sulla macchina. Nelle grandi organizzazioni è ancora lui che decide cosa si può e non si può fare. È lui che viene chiamato a risolvere i problemi irrisolvibili. È il sacerdote del computer. (per un confronto fra interfacce a linea di comando e interfacce grafiche si può partire da Wikipedia, mentre per una discussione più ampia si può vedere Interaction Styles)

Significa dunque che le interfacce del futuro saranno, ancora, a linea di comando? Donald Norman è impazzito? Crede forse che tutti noi ci adopereremo per imparare nuovi linguaggi impronunciabili per comunicare con le macchine? E che fine faranno icone e finestre?

Le parole che ti ho (sempre) detto

In realtà quel di cui non ci siamo ancora resi conto del tutto è che quasi tutto il nostro interagire con le macchine è, a tutt’oggi, basato sullo scrivere. Passiamo molto più tempo a digitare sulla nostra tastiera che a produrre o interpretare icone. Le relazioni, i fogli di calcolo, la posta elettronica, sono tutti esempi di uso intensivo del testo. In questo caso, però, il testo è il contenuto che produciamo e che manipoliamo. Non è ancora (non è più) il comando che diamo alla macchina. Quasi mai. Alcuni di noi usano ancora combinazioni di tasti per chiudere applicazioni e finestre, o per aprirne di nuove. Ma siamo una minoranza.

Quello che invece facciamo proprio tutti, probabilmente senza accorgercene, è usare un’interfaccia a linea di comando vera e propria, in un mondo ormai talmente popolato di interfacce grafiche da non rendercene quasi conto. Una riga sola, un comando preciso. Ma usato spessissimo: è la casella degli indirizzi del browser. http:// (ma possiamo ometterlo) www qualche cosa, punto qualcos’altro, slash qualcosa. E dopo aver dato invio, il computer ci restituisce il risultato del nostro comando, sotto forma di pagina web. La linea di comando non è mai morta, ma vive e lotta insieme a noi da un sacco di tempo, solo che aveva indossato una maschera, si era fatta la ceretta e non l’avevamo riconosciuta. Una splendida cinquantenne, altroché.

Non vi basta? Vi sembra un esempio debole? Eccone un altro: che cosa fate (o che credete di fare) quando usate il motore di ricerca? Ebbene sì: impartite un comando, in forma di riga di testo. Cioè usate un’interfaccia a linea di comando. Ma aspettate un momento: non lo fate (più) solo sul web. I sistemi operativi più recenti hanno tutti introdotto un nuovo modo per trovare file, cartelle, documenti di vario tipo. Il metodo tradizionale era basato sul filesystem, ovvero su un’organizzazione gerarchica ad albero, in qualche maniera spaziale, in cui le informazioni avevano una locazione precisa all’interno della struttura rigidamente costruita (direi imposta) dalla macchina. Per oltre quindici anni questo è stato il modo di organizzare i documenti sul disco rigido. Ma quante volte vi è capitato di non trovare più un file che avevate prodotto perché non ricordavate più in quale cartella lo avevate messo?

Con l’aumentare del numero e del tipo di informazioni nel disco rigido, questa struttura gerarchica, in cui un oggetto poteva stare in uno e un solo posto, si è rivelata non più adeguata. Qualunque oggetto ha proprietà, attributi, riguarda un argomento, sì, ma può riguardare anche altri argomenti correlati; lo possiamo mettere qui, sì, ma anche lì. Forse l’idea di qui o lì, com’è concepita nei nostri hard-disk, non è proprio la cosa più adatta a come pensiamo, e soprattutto a come ricordiamo. Così ecco comparire un nuovo modo di cercare i file: digitando dei comandi (mascherati) in una casella di testo. Ad esempio in Windows Vista Donald Norman ci rivela di digitare Command line folder:interactions type:doc per trovare tutti i documenti Word nelle cartelle che hanno la parola interactions nel nome e command line nel titolo o nel testo.

Ehi, molto più semplice. Non serve più ricordare dove avevamo messo cosa. Noi sappiamo cosa vogliamo trovare, lo diciamo al sistema, e questo ci riporta i risultati. Mac OsX Tiger fa lo stesso, e prima era un’applicazione aggiuntiva che consentiva di farlo (quicksilver). Anche i motori di ricerca online, in realtà, fanno ben più che trovare pagine web. Come ci ricorda anche Norman, possono fornirci definizioni di parole, orari, dati statistici demografici e industriali semplicemente digitando le parole giuste in una casellina piccolissima. È il ritorno in grande stile della linea di comando.

La scomparsa delle applicazioni

Ma perché dovremmo credere che le interfacce del futuro saranno di questo tipo? Be’, d’accordo, diciamolo, non solo di questo tipo. Ma il punto è che la ricerca a stringhe, se si conosce la sintassi, è certamente il metodo più efficiente per trovare cose. Per interagire. Proprio come sostengono (unanimemente) tutti i geek ancora oggi. E come ci ricorda Jef Raskin, uno che, prima di morire prematuramente nel 2005, ha lasciato in eredità a noi, oltre a molte delle idee che hanno dato vita al Macintos,h anche molte geniali intuizioni sull’interazione fra uomo e computer (riassunte nell’unico libro da lui pubblicato, che coincide con l’unico libro fondamentale sull’interazione uomo-macchina che sia mai uscito: Interfacce a misura d’uomo).

Fra le altre cose, è stato Raskin a predire il ritorno alla linea di comando, all’istruzione verbale. Semplicemente, il modo in cui sono organizzati i nostri computer non è adeguato a un mondo con decine di milioni di documenti, sia locali che in rete. Trovarli è impossibile contando solo sulla locazione (logica o fisica). La linea di comando è molto più efficiente, flessibile, modellata sul metodo di interazione che usiamo di più nella nostra vita: il linguaggio. La differenza con le linee di comando originali è però rimarchevole: le nuove interfacce a linea di comando parlano la lingua dell’uomo, e non è più l’uomo a dover imparare quella della macchina. Niente più codici esoterici e sequenze impronunciabili e senza senso, ma chiaro orientamento al supporto (e persino alla correzione) del linguaggio naturale, anche se semplificato.

Così, oramai si può scrivere define:interfaccia e trovare varie definizioni della parola grazie al motore di ricerca. Un tempo avremmo dovuto scrivere cose come c: glsry search def word(‘interfaccia), se ci andava bene. E ringraziare se il messaggio di errore riportava almeno un codice numerico rintracciabile sul manuale…

Le linee di comando hanno imparato la lezione di decenni di studi sull’interazione fra l’uomo e la macchina. Ne sono una prova anche vari nuovi prodotti che consentono di espandere le funzionalità naturali del sistema operativo, come Enso, prodotto dall’azienda di Aza Raskin, il figlio dello scomparso Jef, che mette a frutto il lavoro iniziato dal padre. Il prodotto è un add-on per Windows che consente di lanciare programmi, visitare pagine web, eseguire calcoli, controllare l’ortografia, e compiere una serie di altri compiti comuni semplicemente digitando, da qualunque applicazione ci si trovi, delle semplici parole (per ora in inglese). Aza Raskin ne offre una dimostrazione in questo video dove si possono apprezzare anche molte altre innovative idee per le interfacce del futuro, in gran parte le idee del padre.

L’uso della linea di comando si dovrebbe accompagnare, nelle intenzioni di Raskin, all’unificazione di comandi e funzioni in tutta la macchina, portando alla virtuale scomparsa delle applicazioni così come le intendiamo. A che serve infatti poter compiere una certa azione (come il controllo ortografico) solo dall’interno di una e una sola applicazione? Perché non possiamo farlo dappertutto? La funzionalità dovrebbe essere implementata nel sistema operativo, ed essere disponibile, attraverso opportune Api, in tutte le applicazioni. Anzi, è il concetto stesso di applicazione che cambia, anche stavolta grazie al web (che ha esteso il concetto di Api e generato servizi che utilizzano Api di altri siti per ottenere mescolamenti di dati da fonti diverse in applicazioni del tutto nuove, diffondendo così il concetto di mash-up).

Non più un oggetto monolitico che si traduce in un’unica interfaccia, ma un corpo di funzioni, un back-end, con una serie di “agganci” per qualunque programma cliente volesse utilizzarlo. Avremo interfacce multiple per funzioni comuni, e viceversa. Almeno finché non digiteremo qualcosa che, in linguaggio pseudonaturale, ci consentirà di cambiare attività o di trovare qualcosa che ci serve al momento, ovunque esso sia.

Certo, non tutto è ancora certo e definitivo. Non tutte le lingue sono paratattiche come l’inglese. Non sempre si possono tradurre le stesse funzioni con la stessa facilità in lingue diverse, soprattutto in quelle ideogrammatiche. Ma i problemi sono noti e, in grande misura, affrontabili. E le linee di comando si diffondono sempre di più sotto i nostri occhi, nei nostri computer. Un computer che torna sempre più ad essere una “macchina letteraria”, anche se in un senso diverso da quello che aveva immaginato Ted Nelson.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.