This is mostly a summary of the History of MiZe (c2vi Diploma Thesis) chapter from my Diploma Thesis.
It all started when we learned python in the HTL (school). I did understand the concepts very well, but had the big problem that I always forgot all the keybords, builtin functions and modules. So I wanted to make an application where all those things are clearly organized by what they are and where you could search for the thing you currently need. I named this project the Coding Wiki, and really had no idea what I was doing back then. I failed at getting HTTP forms to work, for inputting data. Already at this time however I had the idea to make a second deployment of this thing (never got there) where you could store your personal things organized by what they are (like note, personal-quote, link, …), which really already kinda sounds like MiZe.
Later on during my time at the HTL there were 5 different tools/platforms which all contained things I had to do. Webuntis, Moodle, Microsoft Teams, Things 3 (todo app) (personal todos, and what was said during lessons)… This annoyed me very much, so I decided to create something, which would map the todos from all those sources into one list. The project was named Items Project and is where the concept of items with certain types comes from. This project could show Moodle courses in it’s own GUI, but ultimately I didn’t understand enough, to make Items Project in a good and extensible Architecture (software), so the more I learned, the more it became clear that I’ll have to start over.
For the third iteration I thought, that to make something proper, it would need to be implemented in a lower level language. So initially C (lang) was conceived, but then I found and learned Rust, which turned out to be a great language choice for this project. The goal was to refine the ideas from the Items Project and implement them in a proper way, that would also be future proof, extensible and have a simple core with many add on modules for all extra functionality, be portable/just work anywhere. This project is called MiZe. The name comes somehow from the idea of “itemizing” things, which would mean making them interoperable with/integrate with MiZe.
The Idea of MiZe evolved quite a bit. I called it “a strongtly typed Filesystem for the age of connectivity” once, then “having your full digital landscape in one place” and finally “a data engine” (like how there are Game Engines). The GUI which could display the items in MiZe was moved to it’s own module called mme, which stands for “Main MiZe Explorer”. I had more and more ideas for what this mme, so it’s idea became a whole GUI platform not just an explorer. At some point I got into Software Building, Distributing and Packaging, which I found most interesting. This led to the creation of my “portable software toolbox” called Victorinix. It’s idea also evolved a lot, turning it into “make any software run anywhere”, “how I think the future of pkging should look like.”, “setting up one computer or a whole company networks or cloud deployments from one config file with one command”.
The 3 components: MiZe for managing data, mme for managing GUI and Victorinix for managing software thrown together are almost a whole OS, so the idea for MiZe OS was born.