Since our last development update, the world has adopted remote work, and email and internet traffic more generally has surged. Reliable email communication is more important than ever.
Leandro has been working on establishing the new technical foundation for Lightmeter’s future portability and growth. Let’s dive in.
Lightmeter’s first release was a monolithic R Language application using the shiny framework. This provided a very efficient foundation to start and experiment with, but did not allow the addition of neccessary data sources and MTAs in future.
Below is a work in progress component generated using DataVis of the new Lightmeter architecture now being implemented. This provides a comprehensive, though incomplete map of the pieces to be built.
So far an initial database layer, the beginnings of a Postfix parser, and an extremely minimalistic web interface have been added as part of the recently completed “Milestone 1” of the new Lightmeter Control Center.
The previous prototype also required distribution as a docker image, due to a very slow compilation process, with a disk footprint exceeding hundreds of megabytes. This made downloading and deploying the app inconvenient, not to mention dependent upon Docker.
Now Lightmeter is being rewritten in the Go language. Apart from being easy to read and having a rich library ecosystem, Go is extraordinarily portable.
The latest development versions of Lightmeter, once compiled, are just 15 mb in size, and contained within a single binary which runs across Unix systems, and according to initial WINE testing, on Windows too.
Future versions will inevitably be larger, but packaging parsers, databases, and even a web server with web assets in a single distributable file should make running Lightmeter very much simpler.