Project Status Update - week 3
It's now at the end of week 3 and time to update everyone who's interested in how it's actually going, and in a measured way. The audience for this is at least 1 - myself. Keeping myself honest takes work. This is part of that work.
Where it's at
- A bootable Live USB image
- The image can perform an install
A lot of time has gone into the installer as it's really an MVP sort of thing, and I keep running into little papercuts that sabotage it. So I have been able to install on 2 systems so far, but it took some manual work to iron out all the little things that went wrong. So this one had a few "let's redesign this" parts and is still churning, fast.
I've booted the Live USB image on the first laptop and WiFi works and the touchpad works, so we're in relatively good shape there. We're not missing some large amount of firmwares and hopefully most laptop hardware will just work. Still need to test touch screens (I have, but the hardware is occupied atm).
- Updating works, everywhere
- Deploy the build system itself, natively
I've demoed the local package install. In the next week I need to automate testing of the build system code/packaging. This will hopefully iron out all the little setup problems of this complex piece of software. After all, there's currently like a dozen executables in the build system project, each with their own domain and privilege separation.
What's still needed
- repo server infrastructure
- more testing, much much more testing
- Documentation
- User guides
- ... ?!
A project this large needs a knowledge base. I'm painfully aware that this whole project won't work unless I push out an enormous amount of documentation to show everyone how to use it. This is one of the reasons I'm taking a good 30 minutes a day to write these posts. They are a great way to organize what I'm working on but also reflect back on things that I delivered, and how you can use them.
This also means I need to probably make instructional videos, and find other mediums so that I can convey to everyone the awesome stuff that's already working. On launch I want to make sure that everyone can start running with it, and isn't hindered by a lack of "what do I do with this?" perception.
Another thing is that this is the last time I get to take a reflective view of the security of the whole distribution itself and its implementation of the TUF protocols. And it's the time to make sure that reproducible builds are all correctly working and user-verifiable. These things are important and can't be rushed. The same goes for making sure that people can easily deploy the build system themselves, as well.
Are we getting closer?
Yes, yes, we are. I am now seeing a few design flaws I just hadn't ever uncovered yet. The automated testing is pointing these out. I am seeing bugs installing on real hardware. This is possible because I have automated images so I can rapidly iterate install attempts (the slowest part is writing the USB stick). All of these are last mile deployment issues. Not first day start problems.
--sofar (aka Auke)