One Month In: Challenges in Developing KuroNote
product Life Software

One Month In: Challenges in Developing KuroNote

Reflecting on the first month of developing KuroNote & KuroNotes. An introduction to the difficulties encountered during development and the challenges in implementing its core features.


Just a month ago, I decided to develop a simple and fast memo app, and I explained the basic specifications in my previous article. Although the fast memo function itself was not highly difficult, the implementation of a zero-trust confidentiality model—where no one other than the owner, including the app creator, hackers, or even the data-storing server, can read the memos—turned out to be much harder than I expected.

Dealing with User Mistakes: My Biggest Headache#

What was most difficult was not the function itself, but dealing with human errors and operational issues caused by its unique characteristics. For example, a mistake like "the user accidentally uninstalls the app and the data is lost." In normal apps, you can solve this by storing data on a server and recovering the account, but to make this KuroNote standalone version free and permanent to use, we must complete everything on the smartphone without storing data on a server.

However, even within the device, the data is encrypted, and if you uninstall the app, it is deleted without question. While this is correct behavior for a smartphone, it is a major issue for an app that handles important data like KuroNote. I really struggled with how to maintain the data, but since it is not possible to display a special confirmation screen during app uninstallation, there were almost no ways to prevent it.

Solution: Saving data to personal cloud storage.

Yes, no matter what, if the app is uninstalled, the data is gone, so there is no choice but to save the data elsewhere. For users who find it difficult to subscribe to KuroNotes, the approach became to use the cloud storage they have already contracted. Still, if the encryption key is deleted along with the app, they cannot read the memos saved in the cloud, making it less meaningful. However, if the smartphone saves the encryption key together with the passkey, recovery may be possible by registering an email. In addition, if you choose to save data to the cloud without encryption, the data can be recovered upon reinstallation, but this does not achieve the goal of KuroNote/KuroNotes where even the server company cannot confirm the content. Furthermore, there remains a risk that cloud data would be read in plain text if leaked. I decided to leave this choice to the individual's decision rather than the app's core purpose.

Honestly, I did not want to offer this "no encryption" option. While we sell safe data protection, the cloud storage side can see everything, and I think few people can use complex Google systems properly. Users mistakenly making their Google settings public seems very likely... However, I also want to reduce data loss. When you buy a notebook at a stationery store and lose it, you don't complain to the notebook company, but with apps, people complain that it vanished even though they uninstalled it themselves. So we have no choice but to reduce the probability of loss as much as possible.

When the Smartphone is Lost or Broken#

The next issue is when the smartphone is lost or broken and needs to be replaced. Obviously, restoring information that only exists on a smartphone without that device is impossible. It is the same as uninstallation. That is where the same cloud storage mentioned above can be used. Of course, subscribing to KuroNotes, which saves data on a server, is simpler and the most secure structure. The resilience of recovery increases significantly. However, many people do not want to pay even 100 yen for their own notebook, so they have no choice but to save data to their own cloud storage. For loss and model changes, since the data is inside the smartphone, you cannot transfer data without connecting to external cloud storage or subscribing to KuroNotes. The free smartphone version KuroNote alone inevitably has limits.

What Happens to People with No Cloud Subscription?#

In this case, there is nothing we can do. It is the same as losing a physical notebook with important records; because it is important, taking care of it is the best safety measure. However, I believe many modern smartphone users already have cloud storage subscriptions for the reasons below. For now, since we have no choice but to prepare various cloud connections and have users save data externally, we have implemented support for quite a many connection methods.

Cloud Storage Name

KuroNote Support

Reasoning / Status

Google Drive

Supported

For anyone using Gmail, it is automatically contracted. The free space is wide, but many users also have low-price paid plans for photos and videos.

Microsoft OneDrive

Supported

If they use Excel or Word frequently, many users have Office 365 contracts, and the basic storage capacity is relatively large.

Dropbox

Supported

A pioneer in cloud storage. Known for stable speed and large capacity, many people who are familiar with computers or want to manage data safely use it.

BOX Supported It had momentum at one point but has recently slowed down. The cost-to-capacity performance is not very good.
WebDAV Supported A slightly old standard, but it is one of the web storages utilized by many services. Many users also set up their own servers to use it.
SMB (Samba) Supported For local environments only. Also known as Windows sharing. It can only be synchronized when at home or office, but better than nothing. Many security vulnerabilities remain.
S3 Supported A storage service method provided by Amazon's AWS. Since AWS was once the de facto standard, there are many S3-compatible services.
MEGA Supported All saved data is automatically encrypted. In a way, it uses the same zero-read design as KuroNote/s. Best cost performance, but some minor anxiety remains.

Apple iCloud

Not Supported

Due to compatibility only with Apple products, development tools do not exist for Windows or Android. Implementation on Android or PC is impossible. Gmail users are common among Mac users, so it is not a big issue.

Actually, I use many Apple products myself (about 10 devices in total), so I wanted to support iCloud. However, iPhone prices are rising yearly, and more people may switch to cheap Android in the future. Also, due to Apple's specifications, iCloud cannot be used on Android or Windows at present, so it remains unsupported. By the way, since smartphones and PCs are expected to become AI machines in the future, the hardware itself will likely commoditize further.

Regarding cloud saving, unless encrypted, the cloud storage company (Google, Microsoft, Apple, etc.) can freely view and copy the file contents. Naturally, there is a risk that these companies could be hacked and leak data. Or bad employees—indeed, data leaks by employees have been frequent lately, and we can no longer feel completely safe just because it is a major company.

Policies of KuroNotes (Paid Server Version)#

For users who do not have their own cloud storage, or want to separate their memos from their cloud storage, and do not want to lose convenience while thoroughly encrypting, and can afford about 100 yen a month, we decided to provide a dedicated cloud service. It can be easily set up from the KuroNote screen. Of course, if encrypted, we cannot see the content in the cloud, but the merit of the personal KuroNotes server function is that it can be used from a PC browser. Honestly, typing long texts on a smartphone is impossible for a nearly 60-year-old like me. Even though I practice flick input, I feel I won't get any better. Leaving that aside, for people who want to type on a PC, they can type on a spacious screen or a familiar keyboard at home or office, and check on their smartphone on the go. However, because of server fees, communication fees, and computing costs, we cannot make it free. So we minimized costs and provided it at a minimum rate of 100 yen in Japan ($1.00 in the US, €1.00 in Europe). I plan to keep this price fixed forever. The reason is that we implemented an end-of-life planning feature.

Honestly, Google Drive or Apple storage costs at least 400 yen nowadays, so 100 yen is very cheap, and the merit of being able to contract a server is huge. We want people to use it for a long time, and also to utilize the end-of-life planning features. Let me briefly explain what the end-of-life feature is. It is a feature for the user's bereaved family. When the user passes away and the smartphone contract is canceled, after a certain period of time, a final email is sent to designated people, and the family can retrieve designated memos using a family inheritance code. It is a system to hand over important memos to the family.

Main End-of-Life Features

Overview

Final Email

When the contract is canceled and a certain period passes, it switches to the final phase, and an email with pre-registered content is sent to the registered email address. For example: "The family inheritance code paper is in my desk drawer. Please access this URL to view the contents. Gold safe numbers and asset lists are also inside."

Of course, if you turn off the feature before canceling the contract, it won't be sent.

Family Inheritance Code

Users can attach a family mark to memos they want to leave to their family after death. The family can retrieve those memos using the final email and the inheritance code. Unlike the recovery code for the user, the family can only save the marked memos as plain text backup files.

For details, please check the landing page (LP) of KuroNote/KuroNotes.

Why on Earth Did I Want to Make Such an App?#

Anyway, it was my anxiety about memory loss. Saving passwords, etc. On top of that, Google started sending messages like "your password has been leaked." When you make passwords complex, you can't remember them, and you're told not to reuse them, which is too much. While built-in password managers solve many issues, everyone surely has personal secrets and memos besides passwords, and I started development thinking it would be great if there was a system that would definitely disappear when I die. As you reach your late 50s/early 60s, you have to gradually prepare for end-of-life. Even I sometimes have unclear memories of my own assets. It's fine if you find a savings passbook while organizing, but if you forget to transfer land titles or manage property taxes, you will definitely forget them.

Images can be automatically downsized and attached, so when typing is troublesome, you can just paste a photo. Voice input can also be added using the OS standard functions. If you have a KuroNotes contract, your smartphone and PC browser synchronize to share memos, so you can check information typed on a PC on your smartphone, or rewrite memos temporarily entered as photos on your PC while you remember. In short, I wanted a fast memo app to assist my memory.

And What I Thought While Developing This App

Naturally, convenience and security are in a trade-off relationship. The more you try to increase security, the more troublesome it becomes to use. However, in KuroNote/KuroNotes , I believe we have landed on the best balance point.

The worry is that if there is a bug in such a tool, fixing it later could require huge labor, and even though I just wanted to make a slightly convenient notebook, it turned out to be an app requiring huge effort. Previously, when working at an entertainment company, I experienced **unreasonable user complaints** and **customers who complained for hours** about minor lack of explanations. To avoid that, I am convinced that making users confirm carefully within the screen, not just in the terms of service, is the correct answer.

Still, I would be happy if this tool makes everyone's lives convenient. The release is just around the corner!



  1. Product Introduction Page