Reckoner Update October 2023

So much progress was made this month!

🚢 Releases

There have been 4 releases of the alpha build this month! Check out the releases page for all the added features! Note that if you installed v0.1.0, you will need to manually uninstall and install the v0.2 versions. The big reason is that I wasn’t using a signing key when building the apk so it would sign it with a random key on each build. Other notable improvements include:

Going forward, I plan to make more release more often. This is helping me to get in the habit of shipping fixes and updates when they are ready instead of building a big waterfall release as I was previously doing. I have also started to test the Linux release on a virtual machine and found that I need to bundle in more dependencies to make sure the Flatpak and AppImage versions will work regardless of whether the system has SQLite and other dependencies installed.

🏗 Demo Site

With the stable release of Drift web wasm database, I have released a demo version of Reckoner! Check it out at Note that synchronization is disabled and that the database is reset on a page refresh. As a result of this, I have removed the ability to generate data from going to the /generate route. This provides a good way for testing out the application without needing to have any data persistence.

🔄 Sync Updates

So I have the PocketBase synchronization setup and released! The nice thing about revisiting code after having implemented it once before is that you generally find a better, more concise, and more readable way to write the code. I am happy with this version of the PocketBase sync and the patterns I used here can be reused for other synchronization methods (peer and cloud based service).

One thing that was dropped in the reimplementation is the ability to set an encryption key and encrypt the data before saving. That is a task I will need to address before releasing the app. Right now, I am working on a change to the internal data structure where the data IDs will be changed so that they can be used as PocketBase IDs. I was originally using Generate RFC4122 version 4 UUIDs from the pub uuid package. The big issue with this ID is that it is 36 characters long and has 4 of those characters devoted to the ”-” fixed position delimiter. I am in the process of switching over to nanoid2. I plan to use a 15 character uuid which will allow reuse of the IDs as the primary ID for PocketBase sync. There isn’t an issue of ID to data type correlation as the IDs are randomly generated independent of the underlying data type.

Expect this update to come to you next month!

What’s Next

I am going to remove support (at least from me) for FDroid. I will have a future article on why and what I will recommend to people for getting my app. If anything, I may ask it to be added on the IzzyOnDroid F-Droid Repository instead for people on FDroid.

General Tasks

Next Version Release

✔ Version 0.2: Multi-Device Synchronization

Version 1.0 (Future)