Pensieri e parole su HCI, home computing, tecnologie desktop e sul Progetto Lobotomy

lunedì 31 maggio 2010

Belli e Brutti

1 commenti
Poco tempo addietro ho avuto la pessima idea di iniziare a seguire per mezzo dell'apposito feed RSS le mie sottoscrizioni su del.icio.us, per vedere cosa gli altri reputano interessante nei contesti da me scelti. L'idea e' "pessima" perche' provoca una quantita' immensa di traffico (almeno 200 items al giorno, che solo in minima parte posso ovviamente consultare), il feed non viene epurato dai doppioni e dunque spesso e volentieri la consultazione risulta complicata dalla necessita' di scartare a mente i links che sono gia' stati visitati, e quel che e' peggio un singolo tag ("UI") su tre ("UI", "HCI" e "filesystem") ha il monopolio dello stream.
Dati 100 elementi in totale, 90 sono taggati come "UI". Di questi, 85 parlano di design espressamente rivolto al web. Un quarto del totale (25) sono riferimenti a plugins ed estensioni per jQuery. Circa 10 sono elenchi di soluzioni grafiche da cui prendere spunto ed ispirazione, e molte sono anche le liste in stile "i 20 migliori stili CSS" o "i 10 migliori set di icone" (buona parte di queste enumerazioni arrivano da Smashing Magazine). Un'altra fetta importante e' rappresentata da tools e suggerimenti per fare mockups e wireframes, e non faccio mistero di aver iniziato io stesso a prototipare le mie interfacce leggendo piu' e piu' volte al giorno questi temi nel mio feed reader.
Par proprio che ad oggi l'unico contesto apprezzato dai designer sia il web. Un po' per moda ("cloud computing" e' a tutt'ora una buzzword estremamente diffusa ed apprezzata), ma anche (e soprattutto?) perche' HTML, CSS e JavaScript forniscono strumenti immensamente piu' flessibili in termini di formattazione e decorazione che non i classici widgets per lo sviluppo sul desktop, piattaforma in cui l'evoluzione dell'interfaccia utente si e' fermata poco dopo la sua stessa nascita. E laddove si possono facilmente aggiungere animazioni, sfumature, sfondi e inserti di ogni genere, li' trova ristoro il creativo sinora relegato a pulsanti tutti uguali tra loro da incasellare sullo schermo.
Ma la situazione attuale implica uno stallo.
Da una parte, appunto, i migliori designer si lanciano gioiosi sul web, plasmabile a proprio piacimento, bistrattando il classico desktop, e ben pochi si curano piu' dell'aspetto delle applicazioni native, lasciate a marcire in previsione di una imminente (?!) decentralizzazione di ogni attivita' digitale sull'Internet. Dall'altra, nessuno e' realmente pronto per questa migrazione di massa: i produttori di software perche' molti fondamenti tecnici per diversi generi di implementazioni mancano (ad esempio: solo adesso qualcuno inizia a pensare alle notifiche), e gli utenti per l'innata resistenza a cambiamenti radicali. Risultato: il web e' bellissimo ma vuoto di funzioni, il desktop fa tutto ma e' brutto come un debito.
Uscire da questo imbarazzo e' impossibile, se non attendendo pazientemente una risoluzione portata o dall'implementazione degli standard mancanti per una piena funzionalita' della cloud (per sfruttare webcam e microfono via HTML5, ad esempio) o viceversa da una esplosione delle tecnologie grafiche per il desktop (come ad esempio il Clutter Toolkit o la gestione avanzata di CSS in QT, giusto per menzionare quanto disponibile almeno su Linux e che suppongo abbiano analoghi su altri sistemi). La prima opzione e' piu' probabile, considerando gli ampi sforzi che da ogni direzione si muovono verso la Rete, ma non pongo limiti alla provvidenza.
Quando questo accadra', nessuno lo sa.

lunedì 24 maggio 2010

Pennello alla Mano

0 commenti
Lo confesso, anche se chi mi conosce come programmatore gia' lo sa: io rientro in quella (nutrita) categoria di developers che dedicano pochissimo tempo alla progettazione ed ogni volta che iniziano un nuovo software o ne modificano un'altro pesantemente aprono l'editor di testo ancor prima di avere ben chiaro cosa fare. L'unico passo intermedio tra la decisione di fare qualcosa ed iniziare a farla sta nella scelta del nome: ogni progetto che si rispetti deve avere un nome!
So perfettamente che si tratta di una pratica malsana, e piu' e piu' volte ne ho pagato le conseguenze, ma d'altro canto sono convinto che l'eccessivo grado di "ingegnerizzazione" oggi in uso nel mondo dello sviluppo sia ugualmente dannoso: una dettagliata pianificazione trasmette un senso di eccessiva sicurezza, e quando le cose sono troppo ben incastrate tra loro si rischia di non avere spazio sufficiente per aggiungere quelle correzioni e quelle modifiche che, nel mondo reale, accadono sempre e comunque in qualsiasi circostanza.
Detto cio', nell'ultimo periodo ho iniziato quantomeno a progettare le interfacce delle mie applicazioni. Direi che e' gia' un passo avanti.
Ho sempre considerato il wireframing alla stregua di qualsiasi altra forma di progettazione, ma mi sono dovuto ricredere: laddove una architettura software e' oggettivamente qualcosa di completamente fumoso e dunque imperfetto finche' non la si traspone in qualcosa in esecuzione sullo stack (per poi immancabilmente fallire perche' non era stata presa in considerazione una data situazione), una interfaccia grafica e' qualcosa di concreto, in quanto anche se cliccando sul tasto non succede nulla il tasto e' comunque li' invece di essere da un'altra parte, occupa un determinato spazio e riporta una data etichetta o icona invece che un'altra.
Il primo esperimento quasi serio l'ho fatto usando MockFlow, strumento online (in Flash) per mettere insieme mockups di pagine destinate al web: la versione gratuita ha una limitazione sul numero di progetti e pagine che si possono creare, ma poiche' quelle poche pagine hanno altezza infinita si possono aggregare insieme piu' contenuti e con un poco di pazienza il paletto viene facilmente aggirato. Il secondo tentativo, rivolto ad un programma desktop (di cui scrivero' dettagliatamente in un'altra occasione), l'ho fatto con Gazpacho: progetto ad oggi leggermente defunto, nel concetto simile a Glade (che dovro' a sua volta provare, essendo pure aggiornato alle ultime evoluzioni di GTK+), funge da editor completo "a la Visual Studio" ma essendo io un programmatore vecchio stile lo ho usato solo per farmi una idea di dove posizionare i widgets che sono andato poi ad implementare a mano.
Entrambe le esperienze si sono rivelate inaspettatamente produttive: disegnare la propria interfaccia prima di riportarla sul codice permette di avere subito una idea di cosa ci si trovera' dinnanzi e, meglio ancora, di cosa ci si vorrebbe trovare; vengono subito identificate e corrette falle estetiche e funzionali nel design, si possono sopprimere o ridefinire aggregati di elementi che nella realta' appaiono molto peggio di quanto ci si era immaginati, e ci si capacita in fretta se nel concetto originale e puramente astratto mancava un qualche dettaglio che, ai fatti, sarebbe determinante ed indispensabile. Tutto questo con un costo estremamente basso, in quanto in un paio d'ore di cliccate si ottengono risultati piu' che sufficienti per condurre una valutazione ed eventualmente ridefinire la proprio linea: tutto tempo che altrimenti verrebbe riccamente sprecato per implementare, compilare, eseguire, cancellare e re-implementare.
Gli strumenti per prototipare e costruire bozze realistiche non mancano, anzi ce n'e' una abbondanza, e val proprio la pena almeno di provarli.

sabato 8 maggio 2010

La Mia Radiosveglia

0 commenti
Io, come credo una buona maggioranza della popolazione dei paesi industrializzati, ho un pessimo rapporto con le sveglie. Ne ho gia' cambiate diverse nella mia vita, ma il problema principale si e' sempre riproposto: dopo un po' di tempo l'udito e tutta la parte cognitiva di riferimento diventa assuefatta, ed il suono ripetitivo e costante o non sortisce effetto alcuno (quando mi sveglio trovo l'interruttore di attivazione ancora sollevato, ovvero l'aggeggio ha suonato indisturbato per almeno 40 minuti per poi cedere nel suo tentativo e tornare al silenzio) oppure stuzzica la corteccia quel tanto che basta per far compiere al mio corpo il gesto meccanico ed automatico di spegnimento senza pero' riuscire a penetrare la nebbia dell'incoscienza onirica. In entrambi i casi, mi sveglio sempre troppo tardi.
Per tali motivi, qualche tempo addietro mi sono procurato una radiosveglia.
La radiosveglia elimina perfettamente il problema dell'abitudine: poiche' ogni giorno alla stessa ora viene trasmessa una canzone diversa, o gli speaker dicono cose diverse con diversi toni, la trappola psicologica permette di tentare il conscio e di farlo uscire dalla sua tana notturna.
O almeno in linea teorica: qualche volta, anche codesto metodo fa cilecca.
Ho meditato sulle motivazioni di tale fallimento, imputandolo dapprima al volume: se troppo basso, il suono risulta inintelligibile e dunque non sufficiente a stimolare la ripresa di coscienza, in modo del tutto analogo al trillo ripetitivo e monotono della sveglia classica; se troppo alto, si rischia di indurre una reazione di shock cui si risponde con un riflesso incondizionato di spegnimento dell'apparecchio. Ma questa tesi non reggeva: in fin dei conti non ho un udito cosi' fine da percepire una differenza di quei pochi decibel di scarto impostabili con l'apposita rotellina, una volta trovato il compromesso giusto non c'e' piu' ragione per cui non debba funzionare.
Ma ieri sera, riponendo l'infernale aggeggio sul comodino, ho forse inteso la reale causa del problema.
Vanno fatte due premesse. La prima e' che cambio relativamente spesso l'orario in cui la sveglia deve operare, in quanto qualche volta devo prendere il treno presto, altre volte posso stare nel letto fino alla tarda mattinata, ed altre volte ancora vado a dormire alle prime luci dell'alba e solo per pudore imposto la sveglia al primo pomeriggio. La seconda e' che la suddetta radiosveglia e' analogica, senza auto-tune, e per selezionare la frequenza desiderata c'e' una manopolina abbastanza sensibile, che richiede una discreta precisione per riuscire a trovare l'angolazione per cui si sente bene una stazione, e che facilmente perde la taratura.
Detto cio', cosa accade? Che quando ripongo l'aggeggio dopo averlo innescato la mano va a cascare proprio sulla rotellina della frequenza, posta sul lato opposto rispetto a me e dunque percepibile solo al tatto (potete immaginare quanto io mi curi delle sensazioni tattili quando mi corico a seguito di una sessione di programmazione...), pertanto e' facile che si perda l'impostazione giusta e, giunta l'ora di suonare, dall'altoparlante esce poco piu' che rumore bianco. Il quale, notoriamente, invece che aiutare a destarsi facilita il rilassamento e non incide sul conscio, lasciandolo placidamente sonnecchiare sul cuscino.
Gia' intuii il fenomeno in passato, tant'e' che quasi senza badarci troppo di quando in quando ho sempre provveduto a controllare e reimpostare le due manopole (volume e frequenza), ma appunto solo ieri sono stato folgorato sulla via di Damasco giungendo alla conclusione qui sopra esposta. Spero che tale consapevolezza mi aiuti a svegliarmi ad orari un poco piu' decenti.
E la prossima radio che acquisto dovra' irrevocabilmente avere l'auto-tune.

mercoledì 28 aprile 2010

Progress Box

0 commenti
Mentre stavo mettendo insieme una interfaccia grafica per l'editor di feeds in Tracker (attualmente nel repository SVN di Phidias, sebbene ancora non completo) mi si e' presentato il problema di fornire all'utente del feedback durante la fase di download di un ipotetico file OPML da parsare e da cui importare gli indirizzi di interesse: assunto che dal momento in cui si clicca il pulsante per scaricare a quello in cui si mostra la lista di feeds identificati passa del tempo e si compiono una serie di operazioni (connettiti al server, tira giu' qualche kilobyte, leggi l'XML...), cosa visualizzare sullo schermo per informare del fatto che il primo click e' andato a buon fine e il programma sta facendo quel che deve fare?
Una classica progress bar ben si presta alla bisogna, ma il problema rimane: dove piazzarla? Creare una finestrella informativa separata sembra uno spreco, in quanto e' piu' il tempo che ci mette il window manager a gestirla che non quello per completare il task. Le status bar non mi sono mai piaciute, in quanto le considero troppo fuori dal locus dell'utente. Dedicare un'altra qualsiasi area a questo genere di informazione e' uno scempio.
Alche', mi sono "inventato" la ProgressBox.
Questa non e' null'altro che un semplicissimo (e per ora estremamente grezzo) widget GTK+ che incorpora un contenitore orizzontale liberamente riempibile ed una progress bar, mostrati alternativamente a seconda del bisogno. Nel caso specifico dell'editor di feeds: nel contenitore metto il campo ove incollare l'URL del file da scaricare ed il tasto per avviare la procedura, e quando esso viene cliccato il widget mostra la barra di progresso aggiornata in base allo stato del download. Una volta completata la trafila, il widget torna allo stato originale permettendo di incollare un eventuale nuovo indirizzo web.
Grazie a questo modestissimo espediente, si ottengono i seguenti risultati:
  • l'utente e' informato del fatto che il programma ha colto il suo input
  • l'utente e' informato del fatto che il programma sta lavorando
  • l'utente sa quanto tempo ci sta mettendo
  • si evita la classica situazione in cui, a causa dell'assenza di feedback, l'utente clicca dieci volte sullo stesso pulsante avviando dieci volte la stessa procedura
  • l'utente, anche volendo, non puo' interferire con l'operazione schedulandone un'altra uguale prima che la prima sia completata
Come detto l'elemento e' estremamente rozzo ed ha un'API tutta sua (non avevo voglia estendere correttamente quella originale di GtkBox), ma per intanto l'ho reso disponibile come al solito su BarberaWare e ho preparato un video dimostrativo (che "fa figo e non impegna").

lunedì 26 aprile 2010

L'ovvio che non dovrebbe essere ovvio

0 commenti
Potrebbe sembrare quasi strano che la maggior parte di critiche e lamentele nei confronti dell'usabilita' generale dei PC arrivino da utenti esperti ed in grado di usare il computer con cognizione di causa, ma a ben guardare e' una cosa ovvia. Il motivo si evince piuttosto chiaramente leggendo ad esempio uno degli ultimi articoli pubblicati in merito, che ha pure riscosso un discreto successo nel giro (stranamente, trattandosi di argomenti sin troppo noti a tutti gli addetti ai lavori): per l'utenza di bassa lega e' normale che il PC non funzioni.
E' normale avere qualche problema installando o disinstallando una applicazione, e' normale che il computer non si avvii piu' da un giorno all'altro o si spenga all'improvviso, e' normale non riuscire ad aprire un file in qualche formato stravagante, e' normale prendersi un virus, e' normale non capire come si utilizza un dato software. Nel gergo informatico dei non-informatici, "computer" e' sinonimo di "errore".
Chi paga le spese di suddetti capricci digitali sono per l'appunto coloro che hanno maggiore dimestichezza con la tecnologia informatica, che sanno come risolvere i propri problemi e, per estensione, vengono puntualmente interpellati da amici, parenti e conoscenti che incappano in qualche banale condizione di malfunzionamento affinche' risolvano anche i loro. Tutti, ma proprio tutti gli smanettoni hanno carrettate di aneddoti ed esperienze di tal fatta. E' un fenomeno talmente comune e radicato da essersi meritato pure una maglietta dedicata su ThinkGeek. Qualsiasi giovanotto col pallino per i PC e' ben conscio dei pericoli che rischia, ed evita accuratamente di dare la mail o peggio il numero di telefono a chiunque gli dica "Ah, allora tu sei capace di aggiustare i computer!" sapendo che se il suo contatto finisse nella mani sbagliate sarebbe continuamente tirato in ballo per sistemare, aggiustare, configurare e spiegare i mille e piu' difetti dei sistemi moderni.
Ma il fatto che il PC sia "rotto di default" non e' per niente normale.
Tanenbaum sostiene da decenni che l'esempio di riferimento dei sistemi operativi dovrebbe essere il televisore, ovvero un elettrodomestico che funziona continuativamente dal momento in cui si attacca la spina elettrica a quando i suoi componenti interni cedono strutturalmente per usura. Raskin sosteneva la teoria per cui ogni dispositivo elettronico dovrebbe fare una singola cosa (ad esempio: un cellulare dovrebbe solo permettere di telefonare e ricevere telefonate) ed essere dotato solo dei tasti e del software necessari a fare quella cosa, e null'altro, per arginare e limitare al massimo i rischi di errore da parte dell'utente. Nessuna di queste visioni e' mai stata applicata nel mondo reale, o comunque si e' mai diffusa, se non forse in parte.
Forse perche' quella di realizzare apparati general purpose, e per questo necessariamente complessi (e bacati), e' la norma sia per i produttori che per i consumatori. Forse perche' ben pochi hanno mai realmente esplorato le potenzialita' commerciali di questo genere di soluzioni, e nessuno ha voglia di provarci. Forse perche' il fatto di tenere in ostaggio l'utenza inconsapevole permette di generare fior di introiti in servizi di assistenza e supporto, dunque non e' economicamente conveniente farli campare felici e sereni. Forse perche' a priori si preferisce spendere meno per comprare un singolo dispositivo che faccia tutto che non tanti dispositivi che facciano cose specifiche (senza considerare minimamente il costo successivo del software, che pareggerebbe i conti), ed il risparmio immediato oscura il risparmio in termini di tempo e scocciature dopo.
Si assistera' mai ad una inversione di tendenza, dettata dal buon senso anziche' dagli istinti di conservazione monetaria? Per conto mio credo che prima o dopo dovro' procurarmi una qualche schedina "SoC", buttarci sopra un kernel ed il software essenziale per disegnare qualcosa sullo schermo, e fare qualche esperimento...

martedì 20 aprile 2010

Paura e Delirio nel Pannello Configurazioni

0 commenti
Manco il tempo di finire di elogiare l'ottimo Déjà-Dup, che oggi mi son trovato a dover domare l'intricato (e talvolta inestricabile) Evolution. Prova provata della diffusa isteria compulsiva di aggiungere funzioni su funzioni laddove non ce ne sarebbe il benche' minimo bisogno, quasi solo per giustificare l'avanzamento del numero di versione.
Per qualche tempo ho fatto a meno di un client di posta per via di una riorganizzazione dei miei PC ed ho usato solo l'interfaccia web di GMail, che pero' reputo difficile da maneggiare dal momento in cui seguo moltissime mailing lists e senza la vista per thread e' pressoche' impossibile capirci qualcosa. Alche' ho installato su questo PC il summenzionato programma (prima lo usavo solo su un'altro computer), e l'ho dovuto configurare.
Devo ammettere che prima non avevo mai fatto caso alla quantita' di opzioni, sotto-opzioni, caselline, features e settaggi da gestire nel pannello di configurazione: forse perche' e' passato molto tempo dall'ultima volta che ho dovuto metterci mano (avendolo sistemato sull'altro PC non mi son mai piu' posto il problema), forse perche' sclerando alla ricerca della configurazione per la signature me lo son girato in lungo ed in largo scoprendo cose che prima non avevo visto (per la cronaca: alla fine ho dovuto cercare su Google come si imposta la firma al fondo delle mail, e ho scoperto di non essere l'unico a non esserne stato capace), forse perche' inconsciamente ispirato dalla recente analisi appunto di Déjà-Dup sono stato incline a prestare maggiore attenzione alla disposizione ed alla disponibilita' di scelte da far fare all'utente... Sta di fatto che sono attualmente molto deluso da come il programma si presenta.
Tanto per dirne qualcuna:
  • in "Mail Preferences / General" si trova una checkbox che dice "Enable Magic Spacebar". E' ignoto cosa sia questa spacebar magica, di default e' abilitata e ho paura di cambiarlo per vedere cosa succede
  • in "Composer Preferences / General" c'e' una opzione espressamente dedicata a chi ha la pessima abitudine di fare top quoting, permettendo di piazzare la signature sopra al testo quotato insieme al resto. Ed e' pure specificato "Not Reccomended". A che diamine serve una opzione che incentiva e spalleggia un comportamento biasimato da chiunque e pure esplicitamente deprecato nel pannello stesso?
  • in "Mail Preferences / Automatic Contacts", che peraltro dovrebbe stare nell'apposita sezione "Contacts" anziche' li', si chiede se si vogliono importare in rubrica i contatti da Pidgin. Ora: per quale assurdo motivo al mondo io, utente, *non* dovrei volere l'integrazione tra queste due applicazioni? Fallo e basta!
La lista di cose palesemente inutili e di quelle che potrebbero essere largamente migliorate e' lunga, ed intendo nel prossimo futuro inviare una mail sulla mailing list dei developer per discutere le mie osservazioni ed eventualmente anche offrirmi per provvedere alle patch necessarie (sul codice di Evolution ho gia' combinato qualcosina in passato), perche' e' intollerabile che una applicazione del genere, una delle piu' importanti nella piattaforma Gnome e riccamente usata in ambienti di produzione (anche perche' sembra essere l'unico client open che si interfaccia in un qualche modo con Microsoft Exchange) debba essere cosi' complicata anche solo da mettere all'opera.
E' uno sporco lavoro, ma qualcuno lo dovra' pur fare...

domenica 18 aprile 2010

User-proof

0 commenti
Da molto tempo esiste l'ironico motto secondo cui i developers Gnome saranno soddisfatti della loro opera solo quando l'intera interfaccia del sistema sara' ridotta ad un tasto solo. Ma l'altro giorno sono incappato per caso in una applicazione che fa davvero proprio il concetto: la schermata principale di Déjà-Dup presenta infatti due soli grossi pulsanti, "Restore" e "Backup".
Chiaramente esiste anche un pannellino per selezionare cosa backuppare e dove, o automatizzare la procedura in modo da dimenticarsi completamente della sua esistenza e lasciare che faccia da solo (se non e' automaticamente attivato, il backup non serve a niente), ma mi ha colpito la scelta estrema nel design del pannello primario. In fin dei conti una volta manipolati i diversi parametri non c'e' ragione di metterli continuamente sotto al naso all'utente, che di volta in volta e' interessato solo a sincronizzare i suoi dati locali con la cartella remota, dunque mi sembra piu' che azzeccata.
E le accortezze in termini di usabilita' non si limitano a questo. Tra i commenti pubblicati su OSSBlog, da cui appunto ho appreso l'esistenza di questo programmillo, qualcuno lamenta la limitazione di poter selezionare un solo insieme di cartelle da duplicare in un solo repository distaccato, ma anche in questo caso mi trovo a dar ragione al developer: il target del software e' chiaramente l'utenza domestica, che non ha particolari esigenze ed anzi ancora grazie se si premura di effettuare una copia di salvataggio dei propri dati, dunque inutile e' fornirgli un necessariamente complesso sistema per incrociare cartelle su cartelle. Se l'utilizzatore dovesse mai abbisognare di tale genere di funzionalita', potra' trovare una risposta in una qualsiasi tra le altre dozzine di applicazioni esistenti nel settore senza necessariamente rendere piu' difficile la vita a chi vuole campare lieto e sereno con una cartella sola.
In breve: a parte il nome pieno di accenti ritengo Déjà-Dup un esempio assoluto di pulizia, facilita' di utilizzo e design, una perla rara in un oceano di applicazioni troppo spesso raffazzonate o strabordanti di features inutili. Gli utenti necessitano urgentemente di piu' software fatto cosi'.

venerdì 16 aprile 2010

Faldoni VS Database

0 commenti
L'altro giorno mi sono recato con un amico presso un piccolo produttore agricolo con lo scopo (che non intendo qui approfondire nel dettaglio) di appurare come utilizzasse lui il computer nello svolgimento delle sue pratiche burocratiche e produttive. Ne e' emerso uno scenario perfettamente prevedibile e scontato, ma non per questo meno disarmante: il PC viene usato pressoche' esclusivamente come macchina da scrivere, per compilare bolle e fatture da stampare e maneggiare poi analogicamente (= su carta).
L'apoteosi dello sconforto l'ho raggiunta quando il suddetto agricoltore (lui, come lo potrebbe fare la stragrande maggioranza dell'utenza informatica di basso livello odierna) ha apertamente ammesso che il computer, massima espressione della scienza tecnologica nella sua esistenza rurale, e' un problema inevitabile piu' che una soluzione desiderabile: difficile da usare, incomprensibile, caotico, con l'unico pregio che con un paio di copia&incolla si velocizza qualche sporadica operazione nella compilazione dei moduli che se altrimenti fatta a mano richiederebbe piu' tempo. Mentre diceva cio', io guardavo il vicino armadio carico di faldoni e carte accumulate dopo essere uscite dalla stampante del vituperato marchingegno digitale, certamente perche' il personaggio riesce meglio a scartabellare e cercare cio' che gli serve su supporto fisico anziche' tra le cartelle virtuali del filesystem.
Del resto, neppure mi sento di dargli tutti i torti: il computer ha un costo, cosiccome la licenza di Excel installata sopra (suppongo sia stato originale, acquistato in bundle con la macchina numerosi anni addietro, e se anche fosse stato pirata glielo ha installato qualche pseudo tecnico in qualche negozietto di informatica facendosi comunque pagare per il disturbo), e tale applicativo viene usato per compiti ben piu' complessi ed avanzati che non quelli per cui e' stato ideato. L'acquisto di un software specifico per la sua attivita' costerebbe 3000 euri (e non e' una stima: il programma esiste davvero e gli e' stato offerto esattamente a quella cifra), e per esperienza gia' so che si tratterebbe comunque di un accrocchio Visual Basic + Access messo in piedi alla meno peggio con lo scopo esplicito dell'azienda produttrice di trarre profitto ulteriore con i corsi per sommariamente imparare ad usarlo e l'assistenza. Pertanto ci si arrangia con quel che si ha, ovvero qualche programma realizzato da vendors diversi tra loro nient'affatto integrati, con interfacce diverse e carichi di features introdotte per giustificare le nuove release, e appena possibile si ricorre al tasto "Stampa" per portare le informazioni importanti fuori dal ronzante scatolone di plastica e alluminio.
Non oso neppure immaginare cosa la piu' scarsa e umile tecnologia digitale oggi esistente potrebbe realmente fare per quest'uomo: i dati, se immessi in un database, potrebbero essere spulciati e tra loro intersecati con dettaglio estremo in pochi secondi; le anagrafiche di fornitori e clienti, se formattate in hCard e gestite direttamente dagli interessati, potrebbero essere pescate dall'Internet ed aggiornate automaticamente, e istantaneamente accessibili digitando tre caratteri del nome; i documenti potrebbero calcolarsi per conto proprio quantita' totali, prezzi totali, IVA e altri parametri burocratici partendo da pochi valori relativi alla merce ricevuta o da consegnare; gli stessi totali potrebbero essere trasmessi al commercialista in formato digitale, e questo potrebbe a sua volta importarli nel suo proprio programma per farci quel che deve farci; i pagamenti, se trasferiti per via telematica, sarebbero usati seduta stante per computare bilanci ed introiti (o al contrario innescare sollecitazioni automatiche se non arrivati in tempo). Senza parlare del risparmio di carta, inchiostro e spazio.
Se nell'Anno Domini 2010 tutte le attivita' produttive e commerciali ancora non hanno trovato nella tecnologia un valido ed appropriato supporto la causa non e' solo delle ovvie resistenze riscontrate presso il grande pubblico nei confronti delle novita' ma anche e soprattutto da imputare a coloro che dovrebbero provvedere alla messa in opera di questi semplici e talvolta persino banali (per un tecnico, intendo) strumenti, e che speculano sulla scarsa consapevolezza e dimestichezza dei propri clienti per spremere ogni singolo centesimo dalla loro ingenuita'.
Le cose possono cambiare. Devono cambiare. Poche righe di codice, se stese con criterio, possono allo stesso tempo ridurre il tempo (e dunque il costo) necessario a svolgere una operazione, aiutare a massimizzare i profitti incentivando particolari scambi monetari, e salvare un albero destinato a diventare carta da stampa. E' venuta l'ora di iniziare a scriverle.

mercoledì 7 aprile 2010

Vintage Computing

0 commenti
Oramai ogni tre per due si annuncia la morte del PC desktop, pronto per essere assassinato dalla piu' nuova, promettente e modaiola tecnologia: una volta incombe il web desktop ed il cloud computing, una volta avanza a grandi passi il mobile, una volta l'iPad sembra destinato a stravolgere la vita di ogni essere sul pianeta. L'ultimo articolo letto in merito e' questo qui, che definisce "legacy" (= obsoleto) il desktop.
Esistono pero' almeno due falle nella logica di questo genere di conclamazioni.
La prima e' che tutti assumono che gli utenti si dividano in due categorie: chi produce e chi consuma. Chi produce (contenuti, documenti, codice...) abbisogna di tastiere fisiche, grossi monitor e software di editing audio e video performante, chi consuma (contenuti, documenti, applicazioni...) puo' largamente accontentarsi di un monitor touchscreen ed una tastierina virtuale per i pochi commenti che puo' al massimo scrivere su Facebook. Ma, per fortuna o purtroppo, il mondo non e' bianco e nero. Anche l'utente piu' negletto e passivo della Rete spesso scrive a lungo e relativamente lunghi testi, prova ne e' la capillare diffusione di Messenger e altri client di instant messaging con cui abitualmente alla sera gli studentelli spettegolano sui loro compagni e gli adulti spettegolano sui colleghi di ufficio. La chat e' una delle attivita' piu' comune per ogni categoria di cittadino digitale, gli smanettoni complottano su IRC ed i profani discutono del piu' e del meno su GTalk, dunque per quanto strano possa sembrare tutti abbisognano di una bella tastiera su cui scrivere i propri pensieri a qualcun'altro, da li' non si scappa. Inoltre, moltissime sono le persone che, pur capendone poco, col computer ci devono lavorare: tanto per dirne una chiunque abbia una attivita' commerciale o produttiva deve gestire fatture e rendicontazioni, e sebbene tale genere di applicazioni potrebbe benissimo essere adattato per i devices moderni (il tablet ad esempio sarebbe perfetto per tenere allineato un magazzino con la propria base dati) il traguardo prevede una congiunzione astrale tra offerta da parte del mercato, richiesta da parte dell'utenza, e disponibilita' della piattaforma hardware.
Cio' introduce alla seconda mancanza del ragionamento secondo cui il desktop debba perire a breve, ovvero l'innata resistenza a qualsiasi genere di innovazione da parte del grosso mercato consumer. Credo che la diffusione di Internet Explorer 6, browser risalente a 9 anni fa' e che in marzo 2010 deteneva il 9% di share, sia constatazione sufficiente per confermare la tesi. Se il pubblico oppone cotale ritrosia nell'effettuare un upgrade software, pressoche' indolore e gratuito, per quale ragione dovrebbe cambiare in modo radicale le sue abitudini andando pure a spendere qualche centinaio di euri per un nuovo arnese elettronico? Molto meglio tenersi quel che si ha il piu' a lungo possibile. E di conseguenza continuare ad istigare il mercato a proporre soluzioni per quello, anziche' intraprendere mosse azzardate su un terreno popolato in larga parte da entusiasti di tecnologia e poco altro. Certamente i developers web, iPhone, iPad, Android e compagnia cantante abbondano, ma ne passera' di tempo prima che provvedano alternative valide a tutto quello che e' stato sinora realizzato sul desktop, magari da qualche cane in Visual Basic e Access, che non solo facciano le stesse cose ma pure meglio (si' da giustificare il costo della migrazione), e fino ad allora le possibilita' di convincere qualcuno ad abbandonare il sano vecchio scatolone sibilante sono nulle.
In quanto freesoftware advocate so bene quante e quali sono le difficolta' che si parano dinnanzi all'adozione di qualsiasi strumento anche solo di poco diverso rispetto a quanto gia' familiare e consueto, indipendentemente dalla facilita', comodita' e bellezza dello stesso. E, per quanto sostenitore di quasi ogni novita' sensata che spunti sull'orizzonte di Slashdot, mi guardo bene dal dare credito a ogni affermazione eccessivamente entusiasta sull'imminenza di un cambiamento di paradigma. In qualita' di nerd sarei ben lieto di vedere la gente per strada leggere la versione digitale del quotidiano sul proprio tablet ("Il futuro e' adesso!"), ma in qualita' di osservatore so che questo scenario e' ben lungi a venire, checche' ne dicano i santoni del marketing.

domenica 28 marzo 2010

Building Blocks

0 commenti
Stufo di dover sempre ripopolare la mia installazione di Tracker ogni volta che per ragioni di debug la svuoto, e di dover andare a caricarmi qualche FeedChannel per testare miner-rss, ho incluso oggi in libgrss un parser OPML (prelevandolo come al solito da Liferea) e scritto due righe in croce per provvedere all'importazione dei files formattati in tal modo nello storage semantico. Il codice e' al momento pubblicato qui, alla meno peggio, ma penso che ne realizzero' una versione grafica in GTK+ da distribuire insieme a Phidias.
Attenzione, pero': "da distribuire insieme", non "incluso in".
La differenza sta nel fatto che questa micro-applicazione, se mantenuta come componente standalone, fungerebbe come importer OPML per qualsiasi feed reader basato su Tracker passato presente e futuro. Appunto perche' Tracker fornisce una rappresentazione univesale descritta dalle sue ontologie, cui tutti i programmi capaci di gestire MFO attingerebbero in modo trasparente.
Da innumerevoli anni sono sostenitore di una architettura di sistema basata su componenti specifici e mirati che possano integrarsi tra loro in modo naturale, dove qualsiasi miglioramento o nuova feature si ripercuota su tutte le applicazioni che rientrano appunto nella stessa architettura senza dover necessariamente ritoccarle tutte. Lobotomy, e piu' precisamente il SubConsciousDaemon, e' stato progettato esattamente secondo questo criterio. Ed ammetto che, nonostante i difetti propri della fuffa semantica, Tracker si presti a questo genere di utilizzo.
Per ora continuo la mia opera nella nicchia della gestione dei feeds RSS, aggiungendo qua e la' funzionalita' (o meglio: riadattando le funzionalita' esistenti), ma spero che il concetto di sistema "composito" possa essere apprezzato da qualcun'altro e applicato in altri contesti.