A couple of years ago, I was looking for software to manage our family photos and videos. The following features were important to me
- Usability from multiple computers via network
- Use files as primary store for metadata to make migration easier
- Self-hosted, not cloud based.
- Support videos as first-class citizens.
I had a look around, but didn’t find any software that matched those requirements.
I started “画帳 - Gachou - You picture album”. And then, I stopped again, because I didn’t have time anymore and other projects were becoming more important.
But the project is running on the server in my basement. And it works… kind of.
Missing features and bugs…
Every year before Christmas we search through Gachou to retrieve the best fotos of the past year and assemble a foto-calendar. And every year, I become aware of the bugs that Gachou has and features that are missing.
For examples, uploading large files is a problem, because dropzone runs into a timeout on wireless lan. There is no good search and no tagging feature. Sometimes, the browser just freezes, appearently due to memory leaks.
Every year before Christmas, I start fixing those issues and shortly after that I give up again… A couple of months ago, I started with a major backend refurbishement. But appearently, I stopped in between, so now I cannot deploy anymore…
The big rewrite
As every programmer knows, the best solution in this situation is to dump everything into the bin and start a complete rewrite of the whole project. That was me being sarcastic, but I think a rewrite might still be a good thing: Since I started Gachou, I have learned a lot about clean code, frontend testing and agile processes. I might get around starting with better code by starting from scratch.
The main challenges this time will be:
- How to write code that is clean enough for my future me to understand?
- How to divide the work into pieces that are small enough to be implemented in a single day?
In this blog I will try to write about what I did and what I plan to do. I might even create a YouTube channel to talk about interesting things. Don’t expect to get a new article every week though. I still have other things to do.