Come siamo arrivati qui
L'insieme di funzionalità di Copaky non è nato da una lavagna. Ecco, a grandi linee, come abbiamo deciso cosa costruire, in tre parti: cosa ci hanno detto le persone, cosa abbiamo provato e accantonato, e cosa abbiamo costruito alla fine.
Cosa ci hanno detto le persone
Prima di scrivere una sola riga di codice nuovo, abbiamo passato un bel po' di tempo a leggere — non a inventare user story a tavolino, ma a passare in rassegna recensioni, discussioni sui forum e issue aperte, in inglese, giapponese e italiano, sulle app di tastiera che le persone usano già. L'obiettivo era circoscritto: capire cosa manca oggi a una tastiera, non cosa avremmo voluto costruire noi.
Un tema tornava costantemente, in ogni lingua: le persone vogliono una cronologia degli appunti che resti sul device e sopravviva a una reinstallazione senza bisogno di un account cloud. Per molti, è l'intera ragione per cui cercano una tastiera di terze parti. Accanto a questo, nelle stesse discussioni, c'era una voce più cauta: la diffidenza proprio verso questo tipo di funzione, perché i gestori di appunti hanno una storia documentata di fughe di dati sensibili, e concedere a una tastiera l'«Accesso completo» inquieta, e a ragione — alcune app di tastiera hanno davvero fatto cose discutibili con quel permesso.
Un terzo schema era specifico di chi scrive in italiano, o di chi arriva da Android. Quello di cui gli italiani si lamentavano davvero riguardava meno il layout e più l'ordine e l'affidabilità: la vocale accentata che compare per prima con la pressione prolungata spesso non è quella più usata, e scrivendo veloce si perdono caratteri o vengono silenziosamente riscritti dall'autocorrezione. Chi arrivava da Android, separatamente, chiedeva con insistenza una cosa piccola e precisa: i numeri visibili sulla riga superiore, senza dover lasciare la tastiera delle lettere.
Cosa abbiamo provato e accantonato
Alcune idee non hanno retto all'impatto con la piattaforma, o con le nostre stesse regole su cosa siamo disposti a pubblicare.
Abbiamo valutato di rendere la cattura degli appunti completamente automatica — leggere qualsiasi cosa sia sugli appunti nel momento in cui si apre il tab dedicato, senza bisogno di un tocco. iOS stesso si oppone a questo: leggere gli appunti di sistema senza un'azione chiara, avviata dall'utente, fa comparire il prompt di sistema per l'incolla, e non volevamo progettare qualcosa pensato per nascondertelo. Abbiamo quindi mantenuto la cattura dietro un tocco esplicito — la tastiera legge un valore solo quando glielo chiedi tu, e altrimenti si limita a notare che qualcosa è cambiato, mai cosa sia.
Abbiamo anche considerato un supporto alla conversione sul device più ricco, oltre al motore kana-kanji già presente in azooKey. Per una prima release lo abbiamo accantonato: un'estensione tastiera che vive dentro il processo di un'altra app ha un budget di memoria davvero ristretto, e un modello più pesante non aveva senso nella v0.1, mentre stavamo ancora mettendo a posto le basi.
Per i tab personalizzati, l'azooKey originale può scaricare layout già pronti da una libreria della community via rete. Abbiamo eliminato del tutto questa possibilità. È una funzione legittimamente utile per molte persone, ma significherebbe far fare all'estensione tastiera una richiesta di rete — e «l'estensione non effettua chiamate di rete» è una delle poche affermazioni che non eravamo disposti ad ammorbidire per comodità. I tab personalizzati restano completamente supportati; vengono semplicemente importati da un file che hai già, non scaricati al volo.
Cosa abbiamo costruito, e perché
Quello che abbiamo costruito alla fine ricalca da vicino la prima sezione, di proposito. La cronologia degli appunti resta sul device, non richiede un account, fa scadere automaticamente dopo una settimana gli elementi non fissati, ed esclude del tutto i campi sicuri — la cattura avviene solo quando la tocchi tu. L'Accesso completo resta facoltativo e disattivato di default: scrittura di base, conversione giapponese e temi funzionano tutti senza, e la tastiera non chiede un permesso che non sta usando.
Per l'italiano, invece di costruire un intero nuovo layout di tastiera, abbiamo corretto la cosa specifica segnalata come rotta: l'ordine dei caratteri accentati con la pressione prolungata ora mette è prima di é, e il resto del set di accenti segue la stessa logica per le altre vocali. Un'impostazione separata, «Usa l'italiano» — attiva di default sui telefoni la cui prima lingua di sistema è l'italiano, disattivata altrove — aggiunge l'italiano al tasto di cambio lingua e inizia a suggerire parole da un dizionario italiano: il layout dei tasti in sé non cambia, perché la richiesta non riguardava mai il layout.
La riga numerica opzionale fa esattamente quello che dice: piccole cifre sopra la riga delle lettere, pressione prolungata per digitarne una, disattivata finché non la attivi tu. E dato che un fork guadagna la sua credibilità soprattutto sulla privacy, più che sulle funzionalità, l'estensione tastiera ha esattamente un entitlement — l'App Group che le permette di comunicare con l'app companion — e nessun codice di rete. Questa non è una frase a effetto: è un vincolo attorno a cui abbiamo progettato tutto il resto.