The way to beaTunes 5
I'm very happy to write that today I can finally release the first Early Access (EA) version for beaTunes 5. Like in any good software project, this should have happened earlier. But I'm glad that I'm able to say: Writing beaTunes is not something that's primarily concerned with deadlines. Writing beaTunes is about a product. Something I want to enjoy crafting—and hopefully people enjoy using.
Let me digress and talk a little about what goes into creating a software like beaTunes as a one-man-show. Assuming you already have a product, you need to figure out what your next version needs. I typically aim for a good mixture of what users want, what I want, and what simply needs to happen, because the world didn't stop spinning.
Users post great suggestions. Sometimes they solve problems for many people and provide me with valuable insights into what people really need. And sometimes they are very specific and only interesting for a small audience. Obviously, it does not make sense to implement those very specific wishes in beaTunes itself—that's what beaTlets are for. But even very reasonable wishes need to have many potential users. As it is, beaTunes is already a fairly complex software. Every additional feature clutters the UI and makes beaTunes harder to play with. So deciding which user features to implement is a process of elimination. Some survive, many don't.
Features I want, are often of a different breed. One thing that's probably most fun about beaTunes, is that every now and then I get to do some real research. Like creating a new key or tempo detection algorithm. That's the stuff that's really cool. Of course creating a neat UI, solving scalability issues, and working with lots of open source libraries is fun, too. But finding new ways to improve detection accuracy is among the best parts of the job. So after all the tedious nitty-gritty work is done, I get to spend a little bit of time getting my hands real dirty. That's when I burn the most for my work.
Above I mentioned outside factors. Things like new OS or iTunes releases. Those produce a lot of work, because they break things. Take for example iTunes 12.5. It's pretty neat that it introduced better support for classical music tags, but for some reason Apple chose to change the meaning of existing ID3 tags and introduce others that nobody else is using. Discovering these issues and fixing them is a huge part of my daily routine.
Once beaTunes is feature complete (that's where we are right now), there comes the phase when I hope that many people try the EA version (please do!!), so that both little kinks and gigantic bugs are discovered before the final release. That's also the phase in which translations, website updates, marketing etc. have to happen.
And then of course the cycle starts all over again...
Producing software is a fun ride. I love that I get to make something that people actually use. So, thank you for your continued support. Without it, I certainly would not have spent the last year of my life working on this software.
I hope you enjoy beaTunes 5.