Da piccolo mi sono perso a Hong Kong. Non parlavo la lingua.
Nei viaggi successivi, in Cina e in altri paesi di cui non conosco la lingua, non potevo usare i dati mobili. Ogni volta avrei voluto la stessa cosa: un traduttore che non avesse bisogno di connessione, per capire le persone e parlare con loro.
Knowless è il mio tentativo di costruirlo. Trasforma il parlato in trascrizione e traduzione in tempo reale, direttamente sul telefono. L’ho progettata io, e l’ho costruita con strumenti assistiti dall’AI.1 È probabilmente l’app più semplice che abbia fatto: una schermata e un pulsante. Per renderla così semplice ho sbagliato strada tre volte.
Primo tentativo: un radar
La prima versione era un radar sempre in ascolto. Immaginavo che potesse capire dov’era chi parlava dal solo audio.
Non ci è voluto molto per capire che non poteva. Il mio telefono non mi dà audio spaziale da una registrazione, quindi lì dentro non c’è niente che dica da dove arriva una voce. Da quello che ho letto, un modello più recente forse sì. Io non ce l’ho. Ho smesso di provarci con il suono.
Secondo tentativo: le due fotocamere
Così ho provato con gli occhi al posto delle orecchie. Fotocamera anteriore e posteriore accese insieme, a cercare il volto che stava parlando, perché l’app sapesse dov’era quella persona.
Sono arrivato fino a una build funzionante sul mio telefono, con tutto sul dispositivo e nessun server: guardava da tutte e due le fotocamere e cercava di abbinare ogni voce a un volto. Ha fallito proprio dove conta. Il telefono scottava. La batteria si scaricava in fretta. Si bloccava tutto, spesso. Ho lasciato perdere anche quello.
Ascoltare con le mie orecchie
Alcune decisioni erano più piccole e contavano altrettanto. Sulla carta, la riduzione del rumore per i luoghi chiassosi sembrava ragionevole. Poi ho ascoltato una registrazione rumorosa con le mie orecchie. Non riuscivo a capire che cosa stessi dicendo io stesso. Per quanto rumore si togliesse, non si sarebbe risolto niente, così ho lasciato perdere l’idea.
È questo che intendo per “human in the loop”. Costruisco con l’AI, e devo continuare a verificare che quello che chiedo abbia senso nella situazione reale. Le decisioni sono estremamente importanti.
Lo stesso valeva per i modelli. Li ho provati uno alla volta, e ci è voluto parecchio. All’inizio, con i modelli scaricati sul telefono, l’app sarebbe arrivata a circa quattro gigabyte. Il primo prototipo teneva anche una cronologia delle conversazioni. L’ho tagliata per pubblicare in tempo per Shipaton, e ho comunque rischiato di mancare la scadenza.
se non lo sento io, non lo sentirà nessun filtro
Quello che è rimasto
Una schermata e un pulsante. Premere, parlare, tradurre.
La riga tradotta è grande. L’originale sta subito sotto: più piccolo, grigio, in corsivo.
L’ordine regge quando il testo cresce. Si ridimensiona dal 50% al 300% pizzicando con due dita. Le lingue di ascolto, fino a tre, si scelgono in anticipo. E una riga puoi portartela via: la copi, o te la fai leggere ad alta voce.
I due giorni
Una funzione piccolissima si è rivelata estremamente complessa: come compaiono le parole.
Sembra che l’audio diventi testo e il testo vada sullo schermo. Non è così. L’audio diventa un’ipotesi, e l’ipotesi va subito sullo schermo, così sembra in diretta. Poi l’ipotesi viene corretta, e se la correzione è diversa lo schermo cambia. Dopo una frase lunga c’è un altro passaggio che la corregge di nuovo, usando il contesto dell’intera frase.
Ognuno di questi stati deve avere l’aspetto giusto, e lo stesso vale per l’attesa tra l’uno e l’altro. Una riga che sta ancora arrivando è disegnata come glifi che cambiano dietro un cursore color ambra. Una riga assestata è testo semplice, e non si muove.
Ho fatto avanti e indietro tra l’app e un mockup per più di due giorni. Sapevo dall’inizio che la volevo intuitiva, e credevo che le persone l’avrebbero sentito. Non mi aspettavo che ci volesse così tanto.

certe cose non dovrebbero esserci. non tutti se ne accorgono.
Dire esattamente come stanno le cose
Il riconoscimento vocale e la traduzione girano sul telefono. Le lingue vanno scaricate una volta, con una connessione; dopo, il cuore dell’app funziona senza. Per questo lo screenshot che ho preparato per lo store dice “works offline” e, d’un fiato, anche la sua condizione: dopo aver scaricato le lingue supportate.
Quello che non dimostra
Qui non ci sono risultati: nessun punteggio di comprensione, nessuno studio di usabilità, nessun dato di adozione. Quello che posso mostrare è il percorso, e dove ha portato.
Come prossimo passo voglio due persone, ognuna con un telefono, tradotte in tempo reale l’una per l’altra. Questo non l’ho ancora costruito.
