mercoledì 9 marzo 2011

GUI: Il buono, il brutto e il cattivo Programmatore


Oggi voglio parlare di un tema tanto odiato dai Programmatori puri e duri: le interfacce grafiche, GUI (Graphical User Interface).
Per un programmatore puro e duro (il Brutto) l'interfaccia è la naturale e superflua conseguenza del suo lavoro; il codice si agglomera “da solo” in una struttura di pulsanti, menu, frame, dialog... e a lavoro concluso si da, tuttalpiù, una pennellata di colore. Purtroppo è cosa nota il pessimo gusto estetico del Programmatore, ma, invece, non è noto ai più il motivo di questa “incapacità”.



Inizio con il precisare che non è un'incapacità ma è semplicemente una razionale impostazione mentale che si scontra con il buon senso estetico e funzionale.
Il Programmatore ideale, puro e duro cerca l'idillio nel codice in modo più assillante di una massaia che pulisce casa. Le righe devono essere pulite, chiare, essenziali; le risorse devono essere ottimizzate, le prestazioni devono essere enfatizzate, gli errori devono essere annullati e la continua sfida con la legge di Murphy potrà, idealmente, esser vinta stando nell'essenziale e contenendo l'entropia. Parimenti, l'estetica del lavoro è sottoposta alle stesse regole, così la GUI più contorta e meno funzionale, per l'utilizzo dell'utente, potrebbe essere la soluzione più snella, pulita, lineare, veloce e funzionale a livello di codice.
Idealmente, al Programmatore puro e duro, piacerebbe far interfacciare il proprio software con l'utente nel modo più asettico possibile, il che si traduce più o meno così: senza un'interfaccia grafica ma tramite l'invio di dati scritti dall'utente su vecchie schede preforate. Ricordatevi che, per il Programmatore, il BUG più grande e difficile da gestire è dato dall'imprevedibilità e dalle assurde realtà che riesce a compiere l'utente.

Ovviamente nel corso degli anni, di fronte alla scrivania di questi Programmatori puri e duri, hanno aggiunto una sedia per il Programmatore Designer (il Buono).

"The difference between a Designer and Developer, when it comes to design skills, is the difference between shooting a bullet and throwing it." - Scott Hanselman with apologies to Larry Miller

Il suo compito è esattamente l'opposto: deve inquinare il codice con futili, pesanti e caotiche righe per dare all'utente la sensazione contraria: elegante, veloce, moderno, funzionale... a quello che era in origine il prodotto di quel Programmatore puro e duro.
Ed ecco che aggravando la CPU e l'entropia con, ad esempio, un'inutile animazione di minimizzazione della finestra, l'utente, ironia della sorte, percepisce l'esatto contrario: velocità e reattività.



E alla fine, come in ogni film il buono fa la parte del bello, allo stesso modo il Programmatore Designer è diventato, da quello con le scarpe griffate che portava il caffè ai colleghi puri e duri, una figura determinante per l'esito di un software.
Tanto che un Programmatore Designer può illuderci di darci un software nuovo, più moderno e più veloce, utilizzando il codice dello stesso per anni: questa è la sua abilità, ma i suoi meriti sono (dovrebbero essere) ben altri: l'ergonomia in primis!
L'importante è che il Programmatore Designer non sia soltanto Designer ;-)


Questo articolo è una doverosa premessa per quello successivo.







Ehi, vi starete chiedendo “il Cattivo chi è?”. Il Cattivo è il Programmatore come me: colui che non indossa scarpe griffate, ama criticare gli altri e persevera nelle “incapacità” appena criticate.

Nessun commento:

Posta un commento