Update - Attempting to develop a whole OS is a pretty big deal, especially if you've never done anything like this before. It's also very easy to quickly become overwhelmed, disillusioned and put off, as my post
PatienceOS isn’t living up to its name starts to indicate.
I suspect that maintaining focus on the most interesting things (personally), having a clear list of prioritised topics to delve into, better information management (eg. note-taking whilst also keeping the majority of information pigeonholed until actually needed), and the ability to quickly start and stop new pieces of work as time allows, are major strategies to adopt.
Some ideas to try include:
1. Follow Simon Willison’s advice in
How I build a feature.
2. Experiment with community involvement, eg.
Top Issues GitHub Action.
3. Adopt practices from the
Better Software Requirements handbook
From Simon's article above, I particularly like:
"Every piece of work I do has an associated issue. This acts as ongoing work-in-progress notes and lets me record decisions, reference any research, drop in code snippets and sometimes even add screenshots and video" and also
"Being able to quickly spin up a development environment for a project is crucial. All of my projects have a section in the README or the documentation describing how to do this".
I intend to make better use of
Issues for managing the ongoing development of
PatienceOS.