Programming is one of those activities which feels like incredibly long stretches of time wandering punctuated by small victories of discovery here and there. These last few months have felt like an especially long dry spell before hitting an oasis today.
Synchronizing Devices
Pretty much the entire time since this last April I’ve been working hard on device synchronization, the second pillar of the Mensago Connect demo that’s in process. It’s also been some of the most challenging, complicated code I have ever written. Early in Mensago’s history I wrote a software library which made working with cryptography less daunting. Writing and debugging it was terribly annoying, but it was relatively straightforward. The Connect code which handles device sync has many, many more moving pieces. It’s one of the biggest challenges I have ever faced as a developer. Although there is still more to do, the code made a major leap forward today with a few bugs that were patched.
Here is an example of the test scenario I have been working with:
- Start up Connect.
- Register my account on the server, and Connect sets up my keycard for me.
- Create a second profile and start a second instance of Connect.
- Sign into my account with my address and password.
- Go back to my first instance and approve the new device request.
- Switch to my second instance and confirm that Connect recognizes that it is active on the workspace.
- Create a new, blank note on the second instance and watch it magically show up on the first one.
- Add some text on the second instance and pray that it shows up in the same note on the first instance.
For the first time today, my changes not only showed up… it was in near real-time, too! Try that with email! Or the hot, stinking garbage that Microsoft passes off for note taking in 365, for that matter.
Looking Ahead
To be perfectly honest, I didn’t dare poke it too hard. In these early stages, Connect is neither optimized nor even remotely stable. Bugs abound! The core concept, however, is there.
I can already see promise here. The data in transit is about as locked down as Fort Knox. Even if state-sponsored actors compromised the Mensago server, there’s not a lot that they could get that wasn’t already available to the Internet in general in some form or another. It’s also fast and responsive. You know how when some company cheaps out on their 2-step login methods and sends you an email with a code and you have to wait there for like 5 minutes until it shows up in your inbox? Yeah, I hate waiting for those. Mensago messages and note sync take just a few seconds. Messaging feels about as fast as texting!
The next steps are to make sure that device sync handles all the little edge cases without losing your data. The developers at Gluon are working on a program control which will enable Connect to not just edit messages and notes but also embed pictures and style the text like in a word processor. Creating such code is no small task. Here’s to hoping for a demo by the end of the year! Until next time!