Zutun - First Beta Release
Join the closed beta right now by subscribing at zutun.io.
This is the first release of Zutun to a beta audience and it is far from being complete. The current focus is on these topics:
- Database in general
- Store data in Cloud Drive
- Sync via Cloud Drive files
- Encrypted data
This is rather a very technical approach, which indeed is the current main purpose of the Zutun app: to test new database and sync infrastructure for next release of Receipts and more products to come.
Once the data related basics are working well, more features will be added to the todo app to make it user friendly and ideally let the user forget or not even care about the fancy sync technology.
So why does the database and sync to be tested at all?
Usually for a project like this one would use a local database layer like CoreData or SQLite. If sync is a requirement a server side solution would be added and called "Our Cloud". Or you could just go with existing solutions.
I decided to do it all from scratch, because I believe the user belongs to the user and an implementation can still be easy to use while protecting the privacy. I also believe that there is no need for just another Cloud service, because we have plenty of infrastructure, like local file systems, Dropbox, Cloud Drive, etc.
And then, even if popular services are telling you, your data is encrypted, most of the time it is only at rest on the server. If the service offers an online search it usually is already adding your data to an index. You need to trust the company, but technically there is not need to trust anybody any more, if you use end-to-end encryption consequently.
How does it work?
The idea is rather simple. Each change in the database is logged to a dumb storage provider, like your local file system or Cloud Drive. Another installation of the app on another device just picks up the log or adds its own changes.
To make this more reliable and fancy, the log is built as a block chain i.e. each new entry knows about its predecessor and confirms it through adding its checksum to itself.
Since this is a very low level operation, the data can be encrypted before being saved on the storage.
That's all ;) Add some conflict resolution and other convenience layers and you're done. Of course the devil sits in the details and that's why the beta test is so important.
How to test?
First of all download the apps. If you did subscribe you will have received an email telling you how to to it.
Then please create a document either on iOS or macOS and put it on the Cloud Drive. If both apps are open at the same time they should sync. This will be slow, because Cloud Drive is slow. But it will get much better once more storage providers are added.
You can also use local network locations between multiple Macs. These can be: NAS, Resilio Sync, etc.
You can also share your data with other Cloud Drive using the sharing feature of Apple Cloud.
You have the choice if the data should be end-to-end encrypted. Please test if this is working both directions.
Please provide feedback over on of these:
- Support form inside of Zutun macOS (main menu "Help" > "Support")
- Support form on zutun.io
- E-Mail at email@example.com
- Create, change and delete todos; check and uncheck them
- Sync via Cloud Drive and local network
- Encryption of sync data
- macOS: UNDO / REDO
Incomplete or missing
- All the magic of a todo app is missing for now ;) Due date, deadline, search, attachments, ...
- Keychain support for storing passwords
- Changing passwords