Ok, folks, this is ALWAYS they one the gets me when building a new application (or for that matter doing chores around the house). A couple years ago, I started a weekend project to remodel our bathroom. Originally I was disappointed that one of the fixtures I wanted to install wasn’t available for a week, well it turned out I wasn’t ready for that fixture for about two months. The project was much bigger than I had though of, I only pictured the rough work that needed to be done and didn’t think about any of the detail work or for that matter anything going wrong.
You may have a great idea for an app you want to right, but be realistic. If you have your unity license and setout to create the next Halo or Call of Duty app, well I would ask you to think twice. Does that mean you shouldn’t sit down at your computer, open VS.NET and and start hacking away at something like that? Maybe not, there are a lot of projects I work on that I enter into with the knowledge that I’m not going to ship the app. There are two primary reasons I do this. First off is programming and solving problems is fun, second off and more importantly I consider this type of work “practice”. When I commit to do something for a client that I’m going to get paid for, I don’t expect them to pay me to do “research” I want them to pay me to do “development”. Just as with anything the more you practice the better you get, I just don’t like practicing on software that will go into production, so I try to keep my goals on software I ship realistic while I shoot for the moon on my fun stuff.