Once upon a time I used to work on side projects, writing mobile applications for other people. In an ideal world I would still be doing it, although maybe not for money, because that can play havoc with work/life balance issues. I love coding, but one full time job as a coder at a time is really enough for me. On the other hand, as I move into more and more management, it becomes more important to keep my hand in the coding game. But then you run into the problem of what to code.
Seriously, it isn’t easy to come up with a truly useful idea for an app, and that really isn’t my goal. What I want is a project that stretches my skills in some area, that is self contained enough that I can finish it well on my own, and that can plausibly bring at least some joy to someone. Which means that my favorite types of app to work on are casual games and fun learning toys.
Long ago and far away, I developed a toy app that let you count change, and that included a fun animation of tossing coins into a glass jar, complete with public domain sound effects and graphical assets I created from my own photography. Tweaking the animation curve and figuring out how to composite the graphical assets was fun. (Spinning coins!) I also learned about sources of public domain sound effects as well as the fact that many currencies are carefully protected by copyright. And that’s why my grand scheme of releasing localized versions for different currencies came to a screeching halt.
About a year ago I made quite a bit of progress on another app, this one related to fencing. Again, I learned a lot from it, including trying out more than one cloud service. In the end though, the design just never gelled and the use case never quite worked, so I abandoned the development on it. I may revive it some other time if I can find a way to solve the issues it had, but it was still an excellent project.
This afternoon I got waylaid by a casual game idea. I have some user interface design issues to solve and lots of user experience work to do on it, but a couple of hours of poking at the basic back end design makes me think I have an idea I can execute. Now I just need to spend some time dreaming up what the actual experience will be. It won’t win any awards but that’s not my goal. I just want to make something silly that will make people smile while giving me an excuse to play with code while I learn.