Mondi su mondi, sistemi di sistemi.

Astrazioni

Cerchiamo astra­zioni, pos­si­bi­lità per sem­pli­fi­care, sin­te­tiz­zare e ridurre a prin­cípi primi ad ogni angolo. La ricerca dell’astrazione è tal­mente pre­sente che in Java, ad esem­pio, abstract è una parola chiave del lin­guag­gio e indica classi o metodi privi, in parte o com­ple­ta­mente, di imple­men­ta­zione: indi­cano che cosa ci si aspetta che fac­cia il codice senza dire nulla sul come; in astratto, appunto. Secondo alcuni un ter­mine più adatto è gene­ra­liz­za­zione ma sto diva­gando: il punto che voglio evi­den­ziare è l’atteggiamento di fondo nella programmazione.

Parte di que­sta ricerca è legata ai ter­mini. L’utilità dei pat­tern, ad esem­pio, sta anche nel tro­vare il nome adatto: “qui ho usato un visi­tor”, “i sin­gle­ton sono da evi­tare” e così via. E in molti libri sul design del soft­ware si enfa­tizza (troppo, secondo me) l’importanza della nome­cla­tura per i metodi e le classi

Non dob­biamo però dimen­ti­care che gli utenti spesso la vedono nel senso esat­ta­mente oppo­sto, usano il ter­mine più spe­ci­fico e più con­creto. Soprattutto a livello di inter­fac­cia, usano le parole che meglio descri­vono azioni e oggetti che hanno sott’occhio in quel momento. Certo, parte della dif­fi­coltà del design del soft­ware con­si­ste pro­prio nell’allineare le pro­prie astra­zioni con quelle dell’utente, ma non dob­biamo dimen­ti­care che sono solo que­ste ultime (le astra­zioni dell’utente) quelle che alla fin fine contano.

Prendiamo ad esem­pio Get Satisfaction. Si nota lo sforzo di usare una ter­mi­no­lo­gia il più pos­si­bile adatta all’utente: il form prin­ci­pale fa di tutto per non sem­brare tale e usa un approc­cio gra­duale per non sco­rag­giare gli utenti. 

All’inizio, quando ho comin­ciato a dare un’occhiata al sito qua e là, ho tro­vato i ter­mini e le frasi un po’ ridon­danti, ansiosi di essere friendly, ma la dire­zione è quella giusta.

Viceversa, mi ricordo di un pro­to­tipo di un’applicazione di qual­che tempo fa, in cui l’azione per creare dei record, qual­siasi record, era chia­mata, indi­stin­ta­mente, “Nuovo oggetto”. È un’astrazione? Certo, ed è quella del tipo giu­sto: l’azione è sem­pre la stessa ed è sem­pli­ce­mente appli­cata ad oggetti diversi; tut­ta­via, non è un’astrazione che dev’essere espo­sta all’utente.

Se si lavora in squa­dra e ci occu­piamo solo di una parte di un’applicazione tutta que­sta tirata non ha molta impor­tanza, ma se abbiamo a che fare con diverse parti, soprat­tutto se sono vicine all’interfaccia, la que­stione cam­bia e richiede un certo sforzo per adot­tare due atteg­gia­menti men­tali che vanno conciliati.

Per proseguire

Commenti e trackback sono disabilitati.