Місяць розробки KuroNote: Труднощі, з якими довелося зіткнутися
product Life Software

Місяць розробки KuroNote: Труднощі, з якими довелося зіткнутися

Підсумок першого місяця розробки KuroNote та KuroNotes. Розповідаємо про труднощі в процесі розробки та проблеми при реалізації ключових функцій безпеки та синхронізації.


Лише місяць тому я вирішив розробити простий і швидкий додаток для нотаток, і пояснив основні характеристики у своїй попередній статті. Хоча сама функція швидких нотаток не була надто складною, реалізація моделі конфіденційності з нульовою довірою—де ніхто, крім власника, включаючи творця додатка, хакерів або навіть сервер збереження, не може прочитати нотатки—виявилася набагато складнішою, ніж я очікував.

Робота з помилками користувачів: Мій найбільший головний біль#

Найскладнішим була не сама функція, а робота з людськими помилками та операційними проблемами, спричиненими її унікальними характеристиками. Наприклад, помилка типу "користувач випадково видаляє додаток, і дані втрачаються". У звичайних додатках ви можете вирішити це, зберігши дані на сервері, але щоб зробити цю автономну версію KuroNote безкоштовною та постійною, ми повинні робити все на смартфоні без збереження даних на сервері.

Однак навіть у пристрої дані зашифровані, і якщо ви видалите додаток, вони видаляються без обговорення. Хоча це нормальна поведінка для смартфона, це серйозна проблема для додатка, який керує важливими даними, такими як KuroNote. Я справді боровся за те, як зберегти дані, але оскільки неможливо відобразити спеціальний екран підтвердження під час видалення додатка, не було майже жодного способу запобігти цьому.

Рішення: Збереження даних на персональне хмарне сховище.

Так, що б не трапилося, якщо додаток видалено, дані зникають, тому немає іншого вибору, окрім як зберегти їх в іншому місці. Для користувачів, яким важко підписатися на KuroNotes, підхід полягав у використанні хмарного сховища, яке вони вже мають. Однак, якщо ключ шифрування видаляється разом із додатком, вони більше не можуть читати нотатки, збережені в хмарі. Але якщо смартфон зберігає ключ шифрування разом із passkey, відновлення може бути можливим шляхом реєстрації електронної пошти. Крім того, якщо ви вирішите зберегти дані в хмарі без шифрування, їх можна відновити під час повторного встановлення, але це не відповідає меті KuroNote/KuroNotes, де навіть сервер не може бачити вміст. Також залишається ризик того, що дані хмари будуть прочитані у відкритому вигляді в разі витоку. Я вирішив залишити цей вибір користувачеві.

Чесно кажучи, я не хотів пропонувати цю опцію "без шифрування". Хоча ми продаємо безпечний захист даних, хмарний провайдер може бачити все, і я думаю, що небагато людей можуть правильно використовувати складні системи Google. Користувачі, які помилково роблять свої налаштування Google публічними, здаються дуже ймовірними... Однако я також хочу зменшити втрату даних. Коли ви купуєте блокнот у канцтоварах і втрачаєте його, ви не скаржитеся в канцтовари, але з додатками люди скаржаться, що дані зникли, хоча вони видалили додаток самі. Тому ми не маємо іншого вибору, окрім як зменшити ймовірність втрати якомога більше.

У разі втрати або поломки смартфона#

Наступна проблема — втрата смартфона або його поломка, що вимагає заміни. Очевидно, відновити інформацію, яка існує лише на смартфоні без цього пристрою, неможливо. Це та ж проблема, що й для видалення. Саме тут може бути використано хмарне сховище, згадане вище. Звичайно, підписка на KuroNotes, яка реєструє дані на сервері, простіша і є найбезпечнішою структурою. Стійкість відновлення значно збільшується. Однак багато людей не хочуть платити навіть 100 єн за свій блокнот, тому вони не мають іншого вибору, окрім як зберегти дані на власне хмарне сховище. Для втрати та зміни моделі, оскільки дані знаходяться в смартфоні, ви не можете їх передати без підключення до зовнішньої хмари або підписки на KuroNotes. Безкоштовна версія KuroNote на смартфоні неминуче має свої обмеження.

Що відбувається з людьми без підписки на хмару?#

У цьому випадку ми не можемо нічого зробити. Це те саме, що втратити фізичний блокнот, який містить важливі нотатки; тому що це важливо, піклування про нього є найкращим заходом безпеки. Однак я думаю, що багато користувачів смартфонів уже мають хмарні підписки з причин, зазначених нижче. Наразі, не маючи іншого вибору, окрім як пропонувати різні хмарні підключення, ми впровадили підтримку багатьох методів підключення.

Хмарне сховище

Підтримка KuroNote

Причина / Статус

Google Drive

Підтримується

Для всіх, хто користується Gmail, воно автоматично доступне. Вільний простір великий, і багато користувачів мають дешеві платні підписки.

Microsoft OneDrive

Підтримується

Якщо вони часто користуються Excel або Word, багато користувачів мають підписки Office 365, і базова ємність сховища відносно велика.

Dropbox

Підтримується

Піонер хмарного сховища. Відомий своєю швидкістю та ємністю, багато людей використовують його для безпечного керування даними.

BOX Підтримується Мав успіх свого часу, але нещодавно сповільнився. Співвідношення вартість/ємність є маловигідним.
WebDAV Підтримується Старий стандарт, але це одне з веб-сховищ, що використовуються багатьма службами. Деякі користуються ним на власному сервері.
SMB (Samba) Підтримується Тільки для локального середовища. Відомий як спільний доступ Windows. Можна використовувати лише вдома або в офісі, але це краще, ніж нічого. Багато вразливостей.
S3 Підтримується Служба сховища, що надається Amazon AWS. Оскільки AWS була стандартом де-факто, існує багато сумісних сховищ S3.
MEGA Підтримується Усі дані автоматично шифруються. Певною мірою використовує ту саму філософію нульового читання, що й KuroNote/s. Відмінне співвідношення вартість/продуктивність.

Apple iCloud

Не Підтримується

Через ексклюзивну сумісність з Apple жодного інструменту розробки для Windows або Android не існує. Імплантація неможлива. Користувачі Mac часто користуються Gmail, тому це не проблема.

Я сам користуюся багатьма продуктами Apple (близько 10 пристроїв), тому хотів би підтримати iCloud. Однак ціни на iPhone зростають щороку, і люди можуть звернутися до Android. Крім того, iCloud не можна використовувати на Android або Windows на даний момент. З іншого боку, з огляду на те, що смартфони та ПК мають стати машинами штучного інтелекту, апаратне забезпечення саме по собі ще більше знеціниться.

Щодо хмарного сховища: якщо воно не зашифроване, хмарний провайдер (Google, Microsoft, Apple тощо) може вільно переглядати та копіювати вміст. Природно, існує ризик зламу. Або навіть **недобросовісні працівники**—витоки даних через працівників останнім часом траплялися часто, і не можна більше почуватися в безпеці лише тому, що це велика компанія.

Політика KuroNotes (Платна версія з сервером)#

Для користувачів, які не мають власного хмарного сховища або хочуть відокремити свої нотатки від свого звичайного хмарного сховища, водночас насолоджуючись повною безпекою без втрати комфорту, ми пропонуємо виділений хмарний сервіс за близько 100 єн на місяць. Його можна налаштувати з додатка. Звичайно, якщо дані зашифровані, мы не можемо бачити вміст, але великий інтерес KuroNotes полягає в тому, що ним можна користуватися з браузера ПК. Писати довгі тексти на смартфоні неможливо для такого **майже шістдесятирічного**, як я. Навіть тренуючись, я відчуваю, **що не покращуся**. Для тих, хто хоче користуватися ПК, вони можуть друкувати на великому екрані або зручній клавіатурі в офісі чи вдома, і перевіряти на смартфоні в дорозі. Але через витрати на сервер і смугу пропускання ми не можемо запропонувати це безкоштовно. Тому мы мінімізували витрати до 100 єн в Японії (1,00 $ в США, 1,00 € в Європі). Я планую зберегти цю ціну фіксованою на все життя, оскільки ми пропонуємо **функцію планування кінця життя**.

Чесно кажучи, інші хмарні сховища коштують щонайменше 400 єн у наші дні, тому 100 єн — це дуже низька ціна для серверної служби. Ми хочемо, щоб люди користувалися нею довго та отримували користь від планування кінця життя. Дозвольте мені пояснити, що це таке. Це функція для близьких. У разі смерті користувача та скасування підписки на телефон через певний час надсилається фінальний електронний лист призначеним особам, і родина може отримати позначені нотатки за допомогою коду сімейної спадщини. Це система для передачі важливих нотаток родині.

Функції кінця життя

Огляд

Фінальний лист

Коли договір закінчується і минув певний термін, додаток надсилає електронний лист заздалегідь зареєстрованому одержувачу. Приклад: "Код сімейної спадщини лежить у шухляді мого письмового стола. Перейдіть за цим URL, щоб побачити дані. Там вказані коди сейфів і рахунки".

Звичайно, якщо ви вимкнете опцію перед скасуванням договору, нічого не буде надіслано.

Код сімейної спадщини

Користувачі можуть позначити нотатки, які хочуть залишити своїй родині. Родина може отримати ці нотатки за допомогою фінального листа та коду спадщини. На відміну від особистого коду відновлення, родина може зберігати позначені нотатки лише як текстові файли у відкритому вигляді.

Детальніше див. на сторінці презентації продукту (LP) KuroNote/KuroNotes.

Чому я хотів створити такий додаток?#

Перш за все через мої побоювання щодо втрати пам'яті. Збереження паролів тощо. Крім того, Google почав надсилати повідомлення, що мої паролі витекли. Коли ви створюєте складні паролі, ви не можете їх запам'ятати, і вам кажуть не використовувати їх повторно, що занадто складно. Хоча інтегровані менеджери вирішують багато проблем, кожен має **особисті секрети та нотатки, крім паролів**, і я почав розробку, думаючи, що було б чудово запропонувати систему, яка **остаточно зникне після моєї смерті**. Коли наближаєшся до шістдесяти, потрібно готуватися до кінця. Навіть я іноді маю неясні спогади про власне майно. Це добре знайти ощадну книжку під час прибирання, але якщо ви забудете передати права власності або керувати податками на майно, ви врешті-решт забудете це.

Зображення можна **автоматично зменшувати** та додавати, тому коли друкувати нудно, ви можете просто вставити фото. Голосове введення також можна додати. **Якщо у вас є договір KuroNotes, ваш смартфон і ПК синхронізуються** для обміну нотатками, тому ви можете перевірити інформацію на своєму смартфоні або переписати на своєму ПК нотатки, **тимчасово введені як фото**, поки пам'ятаєте. Коротше кажучи, я хотів швидкий додаток, який допомагатиме мені щодня.

І що я думав, розробляючи цей додаток

Природно, зручність і безпека знаходяться в компромісному зв'язку. Що більше ви намагаєтеся підвищити безпеку, то складнішим стає використання. Однак у KuroNote/KuroNotes, я думаю, ми знайшли найкращу точку балансу.

Турбота полягає в тому, що якщо в такому інструменті є баг, його виправлення пізніше може вимагати величезної роботи, і **хоча спочатку я хотів зробити лише трохи зручний записник, це стало додатком, який вимагає величезних зусиль**. Раніше, працюючи в сфері розваг, я стикався з **необгрунтованими скаргами користувачів** та **клієнтами, які скаржилися годинами**. Щоб уникнути цього, я переконаний, що змусити користувачів ретельно підтверджувати в додатку, а не лише в умовах використання, є правильним рішенням.

Тим не менш, я був би радий, якби цей інструмент зробив життя кожного більш зручним. Випуск наближається!



【Пов'язані посилання】#

  1. Сторінка презентації продукту