Figuring out the way forward was difficult these last few months. To be honest, I knew some time ago I wasn’t quite sure about how Mensago Connect should be built. I think I’ve finally figured things out. Cool things have come up, too.
I’ll start with a group of small things. I wrote a nice little Rust utility to generate cryptography keys. Nothing huge, but it helps write software tests. The main library and the one for keycards received some small quality-of-life improvements. The main library is also complete enough to build something on top of it, so I need demo data, and I started something for that, too.
With the little bits out of the way, I want to mention a bit about another one of several projects that are Mensago-adjacent. Yes, I’m probably completely nuts, but I’m not only replacing e-mail, I’m also introducing a competitor to Adobe’s PDF: the Safe Document Format.
Pitiful Document Format
PDF was designed in 1992, when the Internet was a very different place. It shows, because PDF documents are actually programming scripts in the PostScript language. Although designed as a display language, PostScript is a full-on programming language. PDF documents can also contain JavaScript, the language of the World Wide Web, and hackers use it in specially-crafted PDFs to break into computers. Yes, it’s another reason why you don’t open any suspicious e-mail attachments.
Since its initial design, Adobe has been kind to add new features to the document format. Wonderful features, like the ability to embed music, video, and 3D graphics! …wait, what? Yes. In addition to interactive forms, you can embed 3D-rendered graphics in a PDF document. Something that was meant to be printed on paper or read on a screen was made interactive. Nothing like bloat, right?
PDF documents weren’t written with security at the forefront. How so? It’s possible to create a PDF which is also a valid .ZIP file. For those less technical among us, you can create a PDF document that also contains files inside it. This is one of those things that should not be. Why? Again, hackers can do Bad Stuff with them. *sigh*
With all of these problems, I decided to start working on a new kind of document intended for sending information between people who don’t necessarily trust one another or even know each other. I call it the Safe Document Format. It looks and works a lot like HTML, the language of the World Wide Web, but SDF documents are completely self-contained and hard to exploit maliciously. It’s not quite ready yet, but it will be soon.
Connect Tech Finally Settled
My initial testing with Slint didn’t work out. It’s just not at the level of production quality that Mensago Connect needs. Instead, I’m moving forward with a stack of web tech and Rust: Tauri, and a combination of CSS, HTML, and TypeScript using the Svelte web framework. For those not familiar, Tauri is a Rust-based foundation for writing web applications for the desktop. It’s similar to Electron, but without the bloat, and it connects ever so nicely with the Mensago libraries I’ve been writing for the last 10 months. Svelte is a web framework that is quickly gaining popularity among developers. I spent the last couple weeks updating my web chops and look to really start hammering away on Connect in the next week or two. I can’t wait to see what the next month has in store. Best wishes for the season, everyone!