It hit me the other day… I’ve been programming for close to 35 years. That’s a long time. That’s a long time to be doing anything as a matter of fact. During that time, there has been so many changes, so many platforms, so many tools, methodologies… It’s a constant learning experience that keeps it fun and interesting.
I spent only about 5 years programming “professionally”. I developed database and robotics software for a laboratory division within a large insurance company. Cool stuff, but the nine-to-five, day-in, day-out grind got old fast.
The other 30 years were stuff I wanted to do for platforms I wanted to develop for. I never put out that “killer app” that would throw me into fame and fortune, but I am hopeful that can still happen (in other words… I still have a day job). I’ve had some moments of success and appreciation when you find out that something you created is being used by others.
There is also some stuff that never made it to market, either because I didn’t think it was good enough or because someone else thought it wasn’t good enough.
Here’s a quick look back at some of the stuff that failed to make a market impact for one reason or another, but helped shape me as a developer.
Way back in the late 1970s I developed an educational game for the Atari 8 bit line of computers. That app was rejected by the Atari Program Exchange… twice! Looking back at it now, it was an awful program, but at the time I could not understand the rejection.
In 1992 I developed “Songanizer”, a music database. First released for DOS during a time when people were moving to Windows, it didn’t do so well. Great timing on my part, but the Windows version is largely forgotten as well. For the few that actually bought it, it was greatly appreciated… a large data store, fast access. I actually received an email a while back from someone still using it… 20 years later. Pretty cool.
I also spent a few years developing applications supporting a popular BBS software package until this thing called “the internet” took off and BBSs died. Once again, timing is everything, but a great experience.
My most “popular” app, “Favorites Inspector”, was released in 2002. I spent 10 years supporting and updating it. A modicum of success, a small blurb appeared in PC Magazine, and the next couple of months, sales were great. Unfortunately, fame was short-lived, but this was an app I was proud of, and was constantly pushing the limits of Visual Basic 6 to enhance the product.
In 2008 I spent an entire year learning game programming for Windows using XNA and C#. The result was “Diamond Mine Mixup”… which is very similar to my current title “Spell Them Out” currently on mobile platforms. The app was rejected by a known distributor (that shall remain nameless). Totally discouraged that I spent a year on this, and seeing little potential of it making it in the market, it sits on my hard drive and was never released. A screenshot of Diamond Mine, you ask? Well, perhaps in another post.
I guess after all of this, I could of just given up and hung up the ‘ol keyboard and compiler.
The point of this post is not to look for pity. Pity doesn’t keep you going year after year. Rather, it is that in each case, it was a learning experience. In order to succeed, you have to fail. If it were not for Diamond Mine Mix-up‘s failure to make it to market and all the experience that went along with its development, Spell Them Out would probably not have been released. Now that Spell Them Out has been released and is slowing churning away in the various app stores (pennies are rolling in!), the lessons learned there will help me make my next release better.
Entry into mobile development is getting easier, and everyone thinks they have the next big money maker. Many find that it’s just as hard as any other endeavor. For those that feel like it is a losing battle, my only advice is if you love what you are doing, then keep going despite the lack or fame or financial rewards. Maybe it will come later. Maybe it won’t, but giving up won’t help. Count every step of the way as a learning experience for your next project, and if you do, it cannot be considered a failure.