Implementation vs. ideas
If you take a look at my primary website (www.hypercubed.com) you will see three applications that I developed. Each project is currently at a sub 1.0 version. Xinha Here is version 0.12, CoordEx is 0.8, and NWN duplicator is 0.3. The sub 1.0 version number means that I don't feel the application is "ready for prime time". I feel there is still many bugs and missing features. Now these are the three projects that I felt were at least complete enough for sharing. In addition to these I probably have a dozen or more applications on my HD that were never complete enough for any sort of release. I also developed a few web application over the years that I never discussed publicity. Some of them (in my opinion) are very good and may even be money makers if released. They are just to unpolished or buggy to share even in a beta phase.
I've been doing some thinking on why I have released so few projects over the eight years I've been online (hypercubed.net was purchased December 1999) compared to the number of applications that I build. In addition why have none of them reached a quality level necessary for earning some real income. I think it can all be summarized in the following completely made up graph.
As you can see three things are conspiring against me. First is the complexity factor. As the feature set grows the time needed to add each feature grows even faster. Each new feature takes longer and longer to implement. Second, I usually work on the interesting part of the project first, everything else is bells, whistles, and polish. Sometimes just implementing the interesting part is enough to release a Version 0.1 (basic usability) but more often then not the interesting part is over well before a publicly shareable release is ready. The third thing conspiring against me is my available time. Developing application and running my website is a hobby. I do have a day job and a very demanding one if you ask me. With such limited time available I can't get much beyond the interesting parts of the project without feeling the pull to other more interesting projects. Sometimes I come back to old projects but often I don't. I seam to always be in the vicious cycle of starting interesting projects, running out of steam, then starting the next. Someday this needs to stop.
There are several solution to this dilemma; none of them very easy. I could quit my day job and work on development full time (Hypercubed, Inc. anyone). Isn't it everyone's dream to turn their hobby into their work? But I don't think I would be able to make enough to support my family anytime soon. The second is to get a partner. Unfortunately most people I know are not interested in the geeky stuff I work on. I could lower my standards and release every project regardless of the state. If the project generates interest then that would be a driver for me to add more time. The problem with this is that most people on the web are leaches (myself included) thousands of people may download a piece of software but only a handful will comment on it and their comments are not usually helpfully (where is the anykey?). Last is to make a the project to open source. I've been considering this for a long time but just not sure how to do that. It seams to me that the same curve may apply to managing the open source project. I say it almost every day at work... I'm not a manager... and I don't want to be.