# Ben Shneiderman

Ben Shneiderman (New York, 21 agosto 1947) è un informatico statunitense.
È ricordato come uno dei pionieri della visualizzazione dell'informazione e dell'interazione uomo-computer, avendo contribuito alla definizione delle regole per il design delle interfacce grafiche, alla definizione delle treemap, della schematizzazione del funzionamento di un software, dell'ideazione dell'hyperlink e di molto altro.

## Biografia

Frequentò la Bronx High School of Science da giovane, diplomandosi nel 1968, per poi laurearsi alla Stony Brook University nel 1973 in Ingegneria informatica.
Cominciò la sua carriera accademica già nel 1968 nella college dove aveva appena finito di studiare, per poi diventare nel 1973 un professore associato di ingegneria informatica all'Università dell'Indiana. Nel 1976 si trasferì all'Università del Maryland, dove è rimasto fino ad oggi. Negli anni '70 lavora molto nel campo della ricerca sui diagrammi di flusso.
Specializzandosi in seguito nel campo della visualizzazione dell'informazione e dell'interazione uomo-computer, nel 1982-'83 fonda l'Human–Computer Interaction Lab (HCIL) presso la propria università, che dirigerà personalmente fino al 2000.
Negli anni 2010 Schneiderman si sta dedicando molto anche all'intelligenza artificiale.
Ha ottenuto vari riconoscimenti internazionali di prestigio per i suoi lavori, tra cui lo IEEE Visualization Career Award nel 2012 e molte lauree honoris causa.

### Vita privata

Risiede attualmente a Bethesda. È nipote del fotografo polacco David Seymour morto in Egitto durante la crisi di Suez.

## Il diagramma Nassi–Shneiderman

Già nel 1973 Schneiderman portò a conclusione la sua prima importante opera riguardo alla rappresentazione visuale degli algoritmi nell'ambito della programmazione strutturata, insieme al collega Isaac Nassi: quello che sarebbe stato poi definito il diagramma Nassi-Shneiderman (NSD).
Tale diagramma segue una progettazione top-down per suddividere un procedimento in più semplici azioni atomiche, risultando molto simile ai diagrammi di flusso, ma prevedendo già elementi strutturati (tanto da essere definiti anche "diagrammi strutturati"). Non prevedono una rappresentazione per le istruzioni GOTO e le azioni non sono collegate tra loro da simboli di interconnessioni, ma i blocchi (ciascuno rappresentante un'azione atomica) sono giustapposti.
Il programma software tedesco EasyCODE usa tale tipo di diagramma strutturato in maniera estesa.

## L'interazione uomo-computer
### La Direct Manipulation Interface (DMI)

Nel 1982 Ben Schneider portò a compimento alcuni suoi studi e ricerche nel campo della visualizzazione dell'informazione, elaborando formalmente i principi di quella che sarebbe stata chiamata la Direct Manipulation Interface (DMI). Negli stessi anni in cui la Xerox vedeva i propri principi sulle interfacce grafiche applicati dalle aziende concorrenti, l'appena fondato HCIL introduceva l'importante concetto del 'testo sottolineato cliccabile', che sarebbe stato usato per la prima volta con un certo successo nelle HyperTIES nel 1986-1988 e poi da Tim Berners-Lee nel 1989-1990 per proporre per la prima volta al CERN il suo progetto di un insieme di documenti collegati tra loro attraverso degli hyperlink, cosa che avrebbe portato alla nascita del World Wide Web (all'epoca chiamato da lui semplicemente "mesh").

### Le "Otto regole d'oro del Design dell'interfaccia"

Dopo ulteriori ricerche nel campo dell'interazione uomo-computer, nel 1986 arriva a pubblicare un libro che definì quelle che in seguito sarebbero state etichettate come le "Eight Golden Rules of Interface Design" ("Otto regole d'oro per il design delle interfacce"):
* Coerenza nell'interfaccia, per ogni tipo di azione
* Usabilità universale per tutti
* Riscontri delle azioni eseguite
* Progettare spazi di input e di output per ottenere un risultato preciso
* Prevenire gli errori degli utenti
* Rendere le azioni quanto più reversibili possibili
* Fornire quanto più controllo delle azioni all'utente
* Ridurre il carico di memoria a breve termine

## La treemap

Riprendendo i suoi studi nel campo della visualizzazione dell'informazione, Schneiderman verso fine anni '80 e inizio anni '90 si dedica all'elaborazione di un nuovo modo di rappresentare le informazioni gerarchiche: le "treemap". Ideate nel 1990 originariamente come idea per rappresentare il contenuto dei dischi rigidi all'HCIL (che all'epoca potevano offrire appena 80 megabytes di spazio di archiviazione, da condividere tra 14 utenti diversi contemporaneamente), furono presentate ufficialmente in un paper dell'anno seguente. Il concetto principale è che ogni 'nodo' (solitamente rappresentato con la forma del rettangolo) ha un'area proporzionale al suo valore e alla dimensione generale scelta per rappresentare l'intero insieme; inoltre i rettangoli possono essere colorati in manier adiversa per farli visivamente appartenere a insiemi differenti.
Diversi software sono appositamente dedicati al loro uso (dall'analisi del contenuto dei dischi rigidi fino ad ogni tipo di rappresentazione di dato gerarchico, adottando anche la variante dei grafici a torta suddivisi a fette): TreeSize, WinDirStat, etc.