Seguitemi sul fediverso @fedi@blog.robutti.me

Programmare, giocare e navigare senza usare le mani? Una rivoluzione alle porte per chi usa il computer tutti i giorni

Talon Voice è un software gratuito che parte da un'idea molto semplice: prendere un programma di dettatura vocale (ad es. Dragon Voice), prendere un eyetracker e metterli insieme così da poter abbandonare mouse e tastiera; il tutto integrato con una potente suite di scripting, basata su Python, che permette di scrivere macro e azioni da collegare alle vostre frasi. Il risultato: totale controllo del vostro computer senza dover usare le mani e senza dover rinunciare alla rapidità a cui siete abituati.

Questo non è l'ennessimo esperimento di interfaccia futuristica che passa sui nostri feed social rilanciati da marchette di testate di “tech gossip” tipo Wired: Talon Voice è un progetto nato dall'iniziativa di un singolo sviluppatore, Ryan Hileman per risolvere problemi concreti di persone che utilizzano o vorrebbero utilizzare i computer.

La mission è “permettere a tutti di usare un computer”, ma al contrario di altri tool legati all'accessibilità, il focus di Talon non è soltanto permettere ad esempio a disabili o malati di interagire con una macchina al meglio delle loro possibilità. Talon ha un'ambizione diversa: vuole diventare uno strumento utilizzabile da chiunque per evitare o supplire ai problemi legati all'uso delle moderne interfacce manuali. Ciò include i casi d'uso di numerosi sistemi già esistenti pensati per persone con disabilità totale ma anche e sopratutto gli scenari d'uso più comuni.

La costellazione di problemi e sintomi etichettati come Repetitive Strain Injury, o Emacs pinkie per i programmatori, sono il “nemico #1”. Milioni di persone nel mondo, specialmente persone che lavorano con il computer, ma anche operai e chiunque faccia movimenti ripetitivi, sviluppa negli anni fastidi, dolori o anche invalidità temporanee a seguito della sua attività lavorativa. In alcuni paesi vengono considerate come invalidità lavorative e compensate come tali. Questi disturbi, per alcune categorie come ad esempio i programmatori, spesso non sono una questione di “se”, ma di “quando”.

Il mio “quando” è stato all'età di 30 anni, lo scorso Settembre: per 3 settimane non ho potuto utilizzare un computer o un cellulare per più di pochi minuti al giorno. Per fortuna il problema è apparso poco prima che andassi in vacanza, col doppio benefit di evitarmi di alienarmi e darmi tempo di smaltire le infiammazioni.

Mi sono così iniziato ad interessare a Talon e appena è uscita la beta per Linux e Windows, ho richiesto l'accesso in cambio di una donazione su Patreon. Ho iniziato ad utilizzarlo per lavoro senza l'eyetracker, essendo la maggioranza dei comandi necessari per programmare eseguibili via tastiera, ma ho comunque deciso di ordinare un eyetracker compatibile e integrarlo per le poche azioni che richiederebbero il mouse.

Qual è quindi lo stato dello sviluppo? La versione beta che sto utilizzando supporta Windows, Mac e Linux. Supporta un singolo modello di eyetracker, il Tobii 4C. Supporta inoltre un modello di Voice Recognition creato dallo sviluppatore di Talon al posto di Dragon per gli utenti che non vogliono spendere. Supporta inoltre l'uso remoto di Dragon Voice via rete. Le feature sono grossomodo uniformi tra le varie versioni.

Cosa vuol dire iniziare ad usare Talon dal punto di vista dell'utente? Non mi interessa far passare Talon per qualcosa che non è e Talon è indubbiamente uno strumento complesso. Imparare ad usare Talon vuol dire reimparare ad usare il computer come se aveste una mano sola. Tutti gli automatismi che conoscete non saranno più lì a supportarvi. Anni di memoria muscolare dovranno essere trasformati in frasi e macro attraverso uno sforzo conscio. Alcune azioni sono pressoché impossibili da fare nella maniera in cui siete abituati e dovrete reinventarvele. Allo stesso tempo il controllo vocale apre ad un mondo di possibilità che prima vi erano precluse dal fatto che una tastiera ha un numero finito di tasti e le vostre mani solo 10 dita.

Non aspettatevi di essere in grado di controllare a dovere il vostro computer senza investire parecchie ore nel padroneggiare Talon, sopratutto se siete power user abituati ad utilizzare tante shortcut. I primi due o tre giorni vi sentirete come quei tanto odiati ultra-sessantenni che utilizzano solo gli indici per digitare e non sanno cos'è il Tab. Dopo andrà meglio, ma ci vorranno settimane prima di trovare la propria zona di comfort. Nel mentre l'uso del mouse e occasionalmente della tastiera velocizzeranno alcune operazioni poco comuni ma col tempo queste diventeranno sempre di meno.

Uno dei punti di forza di Talon è appunto la possibilità di customizzare completamente lo scripting e di poterlo fare tramite Python. Questo significa che potete richiamare qualsiasi codice Python nei vostri comandi e di conseguenza compiere operazioni complesse a piacere. Il controllo è totalmente lato utente e la community è molto attiva nel supportare un ecosistema di script che supporti i principali programmi, come ad esempio i browser, i terminali, Slack, Notepad++, Intellij e così via. Al momento la collezione più utilizzata e più fornita compatibile con la beta è questa.

E per l'Italiano? Al momento non esiste il supporto al linguaggio multiplo né una suite di script in Italiano. Tuttavia l'autore ha più volte espresso il desiderio di espandere il software ad altre lingue. L'ostacolo principale è posto dalla scarsità di dataset per istruire il modello di riconoscimento vocale come fatto per l'inglese, risultato che ha comunque richiesto diversi mesi di lavoro prima di funzionare a dovere. Il software di per sé supporta qualsiasi modello wav2letter e non pone alcun limite a chi, con un po' di competenze in Natural Language Processing, voglia sperimentare.

Veniamo invece ai problemi di Talon. Alcune cose ancora mancano e rendono l'adozione del software più complessa di quello che potrebbe essere. La prima è la curva di apprendimento: le risorse e la documentazione sono scarse perché al momento lo sviluppatore e la comunità sono focalizzati nel migliorare le feature principali di Talon e integrarlo con gli applicativi più comuni. Non ci sono vere guide e la struttura degli script non è facilmente navigabile, così come i vari menù di aiuto. Il modo migliore di imparare è guardare le demo su youtube e copiare.

Un altro punto dolente è che il software non è né Open Source né Free Software. Lo sviluppatore ha più volte espresso come questo modello non sia adatto al progetto e non è chiaro se rilascerà i sorgenti una volta arrivato ad una fase di maturità. Di contro però interagisce in maniera positiva con la comunità, che lo supporta a sua volta. Date le informazioni sensibili a cui il software ha accesso, un costante audit per possibili spyware è d'obbligo ma a parte quello, l'unica opzione è fidarsi e sperare che porti a termine la sua opera.

Infine, un problema riportato da diversi utenti è lo sforzo vocale necessario nel controllare lo strumento. Nulla che qualunque cassiere non faccia tutto il giorno tutti i giorni, ma nei primi tempi potreste rimanere senza voce. Proteggere le corde vocali diventa importante tanto quanto l'ergonomia posturale. L'alternativa è rischiare di sostituire una patologia cronica con un'altra.

Talon non è ancora maturo, ma è già usabile da anni. Lo sforzo nella ricerca in termini di UX è tangibile e ha tutto il potenziale per rivoluzionare il modo con cui ci interfacciamo alle macchine senza dover distruggere decenni di software esistente. Tuttavia è ancora una tecnologia che necessita di un hardware dedicato: un microfono esterno ma sopratutto un eyetracker che ha comunque un costo molto maggiore di un setup economico composto da mouse e tastiera. Un investimento di tempo, soldi ed energie considerevole, che però si ripaga in salute e che dovreste considerare sia se avete già avuto problemi sia se volete che la vostra attività digitale sia una maratona e non una 400m piani.