Programming CMC is a side project for me, but it's not my only side project. Some of you may already know that I have developed my own pinball machine control ciruit boards and software. My pinball project started about 10 years ago, and is one that I've worked on sporadically through the years. In the summer of 2017 I was busy working on my pinball machine controller software and was getting a little burnt out, when I decided that I needed a short break to reset.
Back then I was in the habit of checking the My Movies forum every few weeks to see if there was a solution for replacing WMC, and it occurred to me that it might be possible for me to create my own My Movies GUI. After all, how hard could it be to show DVD cover pictures and command PowerDVD to play an ISO file? I figured if I could design and program pinball machines from scratch, surely I could make a movie browser. I gave myself two weeks to work on this side project before getting back to pinball.
After a couple weeks, I had a fairly decent demo program up and running. It would scan my media folders, find my movies, display their covers, mount ISO's with VCD and start playback with PowerDVD. It wasn't near as nice as WMC... but it actually worked so it had that going for it. I thought it was pretty awesome, and I wondered if anyone else would want to use it.
I'd always wanted to sell a product I made, mainly just to see if I could. While I had intentions to sell my pinball controller solution, I was intimidated with the thought of trying to sell and support both electronics and software costing thousands of dollars per machine - it made sense to try something a little less ambitious. Now I had literally stumbled into creating a product that might just be a perfect low-risk opportunity to get some sales and support experience.
So I put my pinball project on hold, and spent the next 3 months improving my demo, making it look more like My Movies on WMC, and adding in features like the auto-updater and license management. I also had to set up a website and figure out a safe way to process payments. Finally, on Halloween, October 31st of 2017, everything was ready, and MM Browser v1.0 was released. In case you're wondering, MM stood for My Movies.
The initial My Movies community excitement was promising, and I was sure everyone who tried MM Browser would love it as much as I did. But I wasn't prepared for what came next. The software just didn't work for regular My Movies users, for oh so many reasons. Chiefly among those is that My Movies is a very complicated product with multiple ways to do things, and my own use of My Movies was so limited that MM Browser really only worked on my collection. Plus, users wanted more functionality, a lot more... they wanted a real replacement for WMC+MM.
Not one to give up easily, I spent the next 3 years making MM Browser better, not just with bug fixes but also new features and improvements. How do you summarize 3 years? Perhaps in numbers. To date, there have been:
- 20 Major Version Releases
- 16 Bug Fix Releases
- 186+ New Features
- 59+ Improvements
- 182+ Bug Fixes
- And 1 Name Change
Here's another way to look at it: That's an average of 1 new feature, improvement or bug fix every 2.5 days, for 3 years!!! And while many of these fixes and new features were small, some were very significant, like the addition of the new Metadata Exporter program.
Here's a few more numbers for you: I've spent well over 3,000 hours programming and providing user support (I wasn't keeping track, but I estimate that the actual number is closer to 4-thousand hours) - all unpaid. That's right, sales of CMC licenses go to pay expenses like website fees, subscriptions for various development tools, and 3rd party library licenses that make CMC better. So far, revenue has covered out of pocket expenses, but not labor. Good thing that I'm not trying to make a living off of CMC license sales, as otherwise I would need to charge about $3,700 per license. I doubt any of you are willing to pay that much...
That last number is probably why Binnerup decided it wasn't worth developing a replacement for WMC. I'll give him credit, financial-wise I think he made the right call, though it still stings a bit that Binnerup didn't at least try.
Perhaps the statistic that I'm most proud of is this: All upgrades have been free. For those early users who gave MM Browser v1.0 a chance, they've been rewarded with 3 years of regular updates at no additional cost.
Personally, I consider CMC to be my gift to the community, freely donating my time as long as license purchases cover my expenses. It's also been a great educational tool for me - I am a much better programmer today than I was 3 years ago, so it's not like I didn't get any personal benefit.
Oh, and the biggest benefit to myself is that I get to use CMC too!
Now that we are approaching Halloween, I'm thrilled to be preparing CMC v4.0 with some amazing new features. CMC v4.0 will be easier to use and more feature rich than ever before. But as the previous 3 years have shown, I don't expect v4.0 to be the last version. It's just the next version, to be followed by many more. Perhaps one day I'll consider CMC to be good enough and feature complete... someday... far in the future... maybe...