La sala riunioni che non passa all'inglese
Fissi una riunione internazionale. Le persone si collegano da tre fusi orari diversi. Entro novanta secondi qualcuno dice "let's keep this in English so we're all on the same page", e vedi le persone più senior della stanza ammutolire.
Quel passaggio è una tassa. Sul tempo, sulla sicurezza di sé, su ciò che viene davvero deciso.
Nelle ultime sei settimane abbiamo ricostruito InterMIND attorno a un principio: nessuno, nella stanza, dovrebbe dover cambiare lingua. Non per la conversazione. Non per la chat. Non per gli appunti che stai scrivendo dal vivo. Non per la cronologia delle modifiche che rivedrai domani.
Ecco cosa è cambiato.
1. Tutto per ogni partecipante, non solo la voce
La traduzione vocale dal vivo è sempre stata il punto forte: 21 lingue, in diretta, e ogni partecipante sceglie la propria lingua all'inizio della chiamata. Con la v1.2 anche tutto ciò che sta attorno alla voce diventa multilingue, e resta sincronizzato, per ciascun partecipante, in tempo reale. (Per capire perché "21" e non i numeri più alti che compaiono in altre sezioni, leggi il dettaglio.)
Chat: ogni modifica ti mostra cosa è cambiato, nella tua lingua
Ogni messaggio in chat viene tradotto mentre viene scritto. La novità della v1.2: quando qualcuno modifica un messaggio, non buttiamo via la traduzione precedente per servirtene una nuova di zecca. Calcoliamo la differenza tra il testo tradotto precedente e il nuovo testo tradotto, nella tua lingua, e te la mostriamo direttamente nel testo.
Così, quando il tuo collega modifica "we should review by Tuesday" in "we should review by Thursday", il tuo revisore spagnolo non si trova davanti un paragrafo ritradotto da cui indovinare cosa si è spostato. Vede martes → jueves, evidenziato. La stessa precisione di un diff di Git, ma resa in una qualunque delle 21 lingue che legge.
Se la modifica riguarda solo la formattazione (grassetto, corsivo, simboli degli elenchi), ritraduciamo comunque, perché spesso è proprio nelle modifiche di sola formattazione che il significato cambia (una virgola diventa una pausa tra due frasi). E la traduzione precedente resta a schermo mentre arriva quella nuova, così non guardi mai uno spazio vuoto in attesa che l'API risponda.
Appunti: dal vivo, carattere per carattere, in ogni lingua
L'host apre il pannello degli appunti condivisi durante la riunione e inizia a scrivere. Ogni partecipante vede la nota nella propria lingua, carattere per carattere, mentre viene digitata. Modifica una riga e chi guarda riceve un diff per lingua, con lo stesso modello delle modifiche in chat.
Abbiamo anche riscritto la traduzione degli appunti, che ora traduce le voci di elenco una per una invece dell'intero documento. Una checklist annidata in inglese non conserva la struttura se traduci il blocco markdown in un colpo solo: il modello appiattisce la gerarchia. Traducendo ogni <li> in modo indipendente, rientri, numerazione e formattazione inline restano intatti in ogni lingua.
Allegati: i documenti in chat parlano la lingua della stanza
Trascina in chat un Google Doc, un link OneDrive o un PDF. La v1.2 li mostra direttamente nel messaggio:
- Documenti collegati: titolo, anteprima, badge del dominio, senza URL grezzi che spuntano. I documenti modificabili si aprono in una nuova scheda con l'indicazione di lingua corretta (
hl=), così chi legge in portoghese brasiliano non finisce in un'interfaccia di Docs in inglese. - Immagini caricate: miniatura al caricamento e layout responsive a griglia intrinseca nel fumetto del messaggio, così le immagini non sforano nelle larghezze ridotte.
- Accesso ai documenti su tre livelli: modifica, visualizzazione o nessun accesso, con condivisione automatica quando i permessi lo consentono. I partecipanti senza accesso a Drive vedono comunque un'anteprima pulita in sola lettura, non una pagina di "permesso negato".
Traduzione lazy: più veloce, più economica, meno rumorosa
Prima, quando cambiavi lingua traducevamo ogni messaggio della cronologia. Per i canali di team attivi da tempo significava rieseguire ore di chiamate API per messaggi che non avresti mai riletto.
La v1.2 usa un IntersectionObserver: le traduzioni avvengono su richiesta, quando un messaggio entra nell'area visibile. Cambiare lingua a riunione in corso ora è istantaneo. Abbiamo inoltre interrotto subito il polling dell'elenco chat in caso di errore 401, il che ha messo a tacere un flusso di errori incontrollato che tu non avresti mai notato, ma noi sì.
Trascrizione vocale: sanificata prima del rendering
Il testo della trascrizione viene sanificato prima di essere mostrato: nessuna iniezione di HTML attraverso una pronuncia creativa. Sembra ovvio. Ma due mesi fa non era vero.