Un mese di sviluppo su KuroNote: Le sfide più grandi
Un bilancio del primo mese di sviluppo di KuroNote e KuroNotes. Presentiamo le difficoltà riscontrate nello sviluppo e le sfide nell'implementazione delle sue funzionalità principali.
Esattamente un mese fa ho deciso di sviluppare un'applicazione per appunti semplice e veloce e ho spiegato le specifiche di base nel mio articolo precedente. Sebbene la função di note rapide in sé non fosse molto difficile, l'implementazione di un modello di riservatezza a fiducia zero—in cui nessun altro oltre al proprietario, compreso il creatore dell'applicazione, gli hacker o persino il server di archiviazione, può leggere le note—si è rivelata molto più difficile del previsto.
Gestire gli errori degli utenti: Il mio più grande mal di testa#
La cosa più difficile non è stata la funzione in sé, ma la gestione degli errori umani e dei problemi operativi causati dalle sue caratteristiche uniche. Ad esempio, un errore come "l'utente disinstalla accidentalmente l'applicazione e i dati vanno persi". Nelle applicazioni normali, puoi risolvere questo problema memorizzando i dati su un server, mas per rendere questa versione autonoma KuroNote gratuita e permanente, dobbiamo fare tutto sullo smartphone senza memorizzare dati su un server.
Tuttavia, anche all'interno del dispositivo, i dati sono crittografati e se disinstalli l'applicazione vengono eliminati senza discussione. Sebbene questo sia un comportamento normale per uno smartphone, è un problema importante per un'applicazione che gestisce dati importanti come KuroNote. Ho davvero lottato per capire come mantenere i dati, ma poiché non è possibile visualizzare una schermata di conferma speciale durante la disinstallazione, non c'era quasi modo di impedirlo.
Soluzione: Salvare i dati su uno spazio di archiviazione cloud personale.
Sì, qualunque cosa accada, se l'applicazione viene disinstallata, i dati svaniscono, quindi non c'è altra scelta che salvarli altrove. Per gli utenti che hanno difficoltà a abbonarsi a KuroNotes, l'approccio è stato quello di utilizzare lo spazio di archiviazione cloud che già possiedono. Tuttavia, se la chiave di crittografia viene eliminata con l'applicazione, non possono leggere le note salvate nel cloud. Ma se lo smartphone salva la chiave di crittografia insieme al passkey, il ripristino può essere possibile registrando un'e-mail. Inoltre, se scegli di salvare i dati nel cloud senza crittografia, possono essere recuperati durante la reinstallazione, ma ciò non soddisfa l'obiettivo di KuroNote/KuroNotes in cui nemmeno il server può vedere il contenuto. Rimane anche il rischio che i dati del cloud vengano letti in chiaro in caso di fuga. Ho deciso di lasciare questa scelta all'utente.
Onestamente, non volevo offrire questa opzione "senza crittografia". Sebbene vendiamo una protezione dei dati sicura, il fornitore di cloud può vedere tutto, e penso che poche persone possano usare correttamente i sistemi complessi di Google. Gli utenti che per errore rendono pubbliche le loro impostazioni di Google sembrano molto probabili... Tuttavia, voglio anche ridurre la perdita di dati. Quando compri un taccuino in una cartoleria e lo perdi, non ti lamenti con la cartoleria, ma con le applicazioni, le persone si lamenti che i dati sono scomparsi anche se hanno disinstallato l'applicazione da sole. Non abbiamo quindi altra scelta che ridurre la probabilità di perdita il più possibile.
In caso di smarrimento o guasto dello smartphone#
Il problema successivo è lo smarrimento dello smartphone o il suo guasto che richiede una sostituzione. Ovviamente, ripristinare informazioni che esistono solo su uno smartphone senza quel dispositivo è impossibile. È lo stesso problema che per la disinstallazione. È qui che può essere utilizzato lo spazio di archiviazione cloud menzionato sopra. Naturalmente, abbonarsi a KuroNotes, che registra i dati su un server, è più semplice e costituisce la struttura più sicura. La resilienza del ripristino aumenta notevolmente. Tuttavia, molte persone non vogliono pagare nemmeno 100 yen per il proprio taccuino, quindi non hanno altra scelta che salvare i dati sul proprio spazio di archiviazione cloud. Per lo smarrimento e i cambi di modello, i dati essendo nello smartphone, non puoi trasferirli senza connessione a un cloud esterno o abbonamento a KuroNotes. La versione gratuita KuroNote su smartphone ha inevitabilmente i suoi limiti.
Cosa succede alle persone senza abbonamento cloud?#
In questo caso, non possiamo fare nulla. È la stessa cosa che perdere un taccuino fisico contenente note importanti; perché è importante, prendersene cura è la migliore misura di sicurezza. Tuttavia, penso che molti utenti di smartphone possiedano già abbonamenti cloud per i motivi indicati di seguito. Per ora, non avendo altra scelta che offrire varie connessioni cloud, abbiamo implementato il supporto di molti metodi di connessione.
|
Archiviazione Cloud |
Supporto KuroNote |
Motivo / Stato |
|
Google Drive |
Supportato |
Per tutti coloro che usano Gmail, è automaticamente disponibile. Lo spazio gratuito è ampio, e molti utenti hanno abbonamenti a pagamento a basso prezzo. |
|
Microsoft OneDrive |
Supportato |
Se usano frequentemente Excel o Word, molti utenti hanno abbonamenti Office 365, e la capacità di archiviazione di base è relativamente grande. |
|
Dropbox |
Supportato |
Un pioniere dell'archiviazione cloud. Noto per la sua velocità e capacità, molte persone lo usano per gestire i dati in sicurezza. |
| BOX | Supportato | Ha avuto successo a un momento ma ha rallentato recentemente. Il rapporto costo/capacità è poco vantaggioso. |
| WebDAV | Supportato | Un vecchio standard, ma è uno degli storage web utilizzati da molti servizi. Alcuni lo usano sul proprio server. |
| SMB (Samba) | Supportato | Solo per ambiente locale. Noto come condivisione Windows. Utilizzabile solo a casa o in ufficio, ma è meglio di niente. Molte vulnerabilità. |
| S3 | Supportato | Servizio di archiviazione fornito da Amazon AWS. Essendo AWS lo standard di fatto, esistono molti servizi compatibili S3. |
| MEGA | Supportato | Tutti i dati vengono automaticamente crittografati. In un certo senso, utilizza la stessa filosofia zero lettura di KuroNote/s. Ottimo rapporto costo/prestazioni. |
|
Apple iCloud |
Non Supportato |
A causa della compatibilità esclusiva con Apple, non esiste alcuno strumento di sviluppo per Windows o Android. L'implementazione è impossibile. Gli utenti Mac usano spesso Gmail, quindi non è un problema. |
Io stesso uso molti prodotti Apple (circa 10 dispositivi), quindi avrei voluto supportare iCloud. Tuttavia, i prezzi degli iPhones aumentano ogni anno, e la gente potrebbe orientarsi verso Android. Inoltre, iCloud non può essere utilizzato su Android o Windows al momento. Del resto, con smartphone e PC destinati a diventare macchine IA, l'hardware stesso si banalizzerà ancora.
Riguardo all'archiviazione cloud: se non è crittografata, il fornitore di cloud (Google, Microsoft, Apple, ecc.) può liberamente consultare e copiare il contenuto. Naturalmente, esiste un rischio di pirateria. O anche **dipendenti disonesti**—le fughe di dati da parte di dipendenti sono state frequenti ultimamente, e non ci si può più sentire al sicuro solo perché si tratta di una grande azienda.
Politica di KuroNotes (Versione a pagamento con server)#
Per gli utenti che non hanno il proprio spazio di archiviazione cloud, o che vogliono separare le proprie note dal proprio spazio di archiviazione cloud regolare, godendo al contempo di una sicurezza totale senza perdere in comfort, offriamo un servizio cloud dedicato a circa 100 yen al mese. Può essere configurato dall'applicazione. Naturalmente, se i dati sono crittografati, noi non possiamo vedere il contenuto, ma il grande interesse di KuroNotes è poterlo utilizzare da un browser PC. Scrivere testi lunghi su smartphone è impossibile per un **quasi sessantenne** come me. Anche se mi alleno, sento **che non migliorerò**. Per coloro che vogliono utilizzare un PC, possono digitare su un grande schermo o una tastiera comoda in ufficio o a casa, e consultare su smartphone in viaggio. Ma a causa dei costi di server e larghezza di banda, non possiamo offrirlo gratuitamente. Abbiamo quindi ridotto i costi a 100 yen in Giappone (1,00 $ negli USA, 1,00 € in Europa). Prevedo di mantenere questo prezzo fisso a vita, perché offriamo una **funzionalità di pianificazione del fine vita**.
Onestamente, gli altri spazi di archiviazione cloud costano almeno 400 yen al giorno d'oggi, quindi 100 yen è un prezzo molto basso per un servizio server. Vogliamo che le persone lo usino a lungo e beneficino della pianificazione del fine vita. Lasciate che vi spieghi cos'è. È una funzionalità per i propri cari. In caso di decesso dell'utente e cancellazione dell'abbonamento telefonico, dopo un certo tempo, viene inviata un'e-mail finale alle persone designate, e la famiglia può recuperare le note contrassegnate con un codice di eredità familiare. È un sistema per trasmettere le note importanti alla famiglia.
|
Funzionalità di fine vita |
Panoramica |
|
E-mail finale |
Quando il contratto termina ed è trascorso un periodo, l'applicazione invia un'e-mail al destinatario preregistrato. Esempio: "Il codice di eredità familiare è nel cassetto della mia scrivania. Accedi a questo URL per vedere i dati. I codici di cassaforte e conti sono elencati lì". Naturalmente, se si disattiva l'opzione prima di annullare il contratto, non verrà inviato nulla. |
|
Codice di eredità familiare |
Gli utenti possono contrassegnare le note da lasciare alla propria famiglia. La famiglia può recuperare queste note con l'e-mail finale e il codice di eredità. A differenza del codice di recupero personale, la famiglia può solo salvare le note contrassegnate come file di testo in chiaro. |
Per maggiori dettagli, consultare la pagina di presentazione (LP) di KuroNote/KuroNotes.
Perché volevo creare una tale applicazione?#
Soprattutto a causa dei miei timori sulla perdita di memoria. Salvare password, ecc. Inoltre, Google ha iniziato a inviare messaggi che indicavano che le mie password erano trapelate. Quando crei password complesse, non puoi ricordarle, e ti viene detto di non riutilizzarle, il che è troppo difficile. Sebbene i gestori integrati risolvano molti problemi, tutti hanno **segreti personali e note al di fuori delle password**, e ho iniziato lo sviluppo pensando che sarebbe stato fantastico proporre un sistema che **scomparisse definitivamente alla mia morte**. Quando ci si avvicina ai sessant'anni, bisogna prepararsi per la fine. Persino io ho a volte ricordi confusi dei miei stessi beni. È bello trovare un libretto di risparmio riordinando, ma se dimentichi di trasferire titoli di proprietà o gestire le imposte sugli immobili, finirai per dimenticare.
Le immagini possono essere **automaticamente ridotte** e allegate, quindi quando digitare è noioso, puoi semplicemente incollare una foto. Può anche essere aggiunto l'input vocale. **Se hai un contratto KuroNotes, lo smartphone e il PC si sincronizzano** per condividere le note, quindi puoi verificare le informazioni sul tuo smartphone o riscrivere sul tuo PC le note **temporaneamente inserite come foto** mentre te ne ricordi. In breve, volevo un'applicazione veloce per aiutarmi quotidianamente.
E cosa ho pensato sviluppando questa applicazione
Naturalmente, comodità e sicurezza sono in una relazione di compromesso. Più provi ad aumentare la sicurezza, più l'utilizzo diventa complicato. Tuttavia, in KuroNote/KuroNotes, penso che abbiamo trovato il miglior punto di equilibrio.
La preoccupazione è che se c'è un bug in uno strumento del genere, correggerlo più tardi potrebbe richiedere un lavoro enorme, e **anche se all'inizio volevo solo fare un taccuino un po' pratico, è diventata un'applicazione che richiede sforzi enormi**. In precedenza, lavorando nell'intrattenimento, ho sperimentato **reclami degli utenti irragionevoli** e **clienti che si lamentavano per ore**. Per evitare questo, sono convinto che obbligare gli utenti a confermare con cura nell'applicazione, e non solo nelle condizioni d'uso, sia la soluzione corretta.
Tuttavia, mi farebbe piacere se questo strumento rendesse la via di tutti più pratica. L'uscita si avvicina!