Choo! Choo! The Mensago development train keeps rolling on! The last couple of months of work have very much felt like eating my vegetables: not perhaps as enjoyable as other foods, but not terrible and definitely worth it.
Building Libraries
Foundation code is the name of the game right now. In fact, almost all of the work from the last couple of months is in a programming library of some sort. EZNaCl, which is pronounced “ee-zee-na-kul” in case you’re wondering, is a library that makes code that touches cryptography less of a headache. Although largely mature, I’ve added a few new hashing algorithms like SHA3 and KangarooTwelve. For those of you who aren’t programmers, yes, cryptography has a lot of weird names. I also patched a few small bugs and compatibility issues, but for the most part, it’s done.
The main library for writing Mensago-based applications, libmensago, is the current focus. Account profiles are complete, so you can have both a work and a home address and not get the two mixed together. The foundation code for managing workspace information is also mostly done.
Writing the code which manages keycards has been a lot of work. If you don’t know what these are, check out last month’s article on keycards and how awesome they are. Along the way it dawned on me that many developers might not need an entire library for making a Mensago application and just need to work with keycards, so I moved the code into its own library. Hopefully in a few weeks the entire library will be done. It’s really close even now.
Securing the Future
Safety and a good experience are the driving force behind Mensago. I’ve been thinking more about security stuff lately when I haven’t been coding and asking questions. For example, how bad would it be if a server was hacked? Also, cryptography keys need to be changed out periodically; how does that work? Are there ways to limit the damage if a person’s device is compromised? Sometimes it gets pretty nuanced, like “how bad would it be if a person’s device was hacked but their keys couldn’t be taken?” Luckily, I’ve got answers for most of these.
New Tech for Connect
About a month ago some technology news came out which will make a big difference in the direction Mensago Connect takes. Google announced at its annual I/O conference that Flutter is now stable for desktop. What does this mean? It means that the same tools can be used to make Mensago Connect for both mobile devices and computers. The tooling is much, much better than Qt and the licensing is much less restrictive. As a result, jmk has been put on the back burner for now. I’m not 100% certain that this is the direction we’re going, but it looks promising.