If you read almost any book about success stories, the overwhelming theme is failure. Now, there are different types of failure and we're not talking about the 'shut the doors, we're done' type of failure. But trying ideas that haven't been done before is risky and a good bit of the time they won't work. I think a lot of people in the world believe that a software product should be perfect the first time they see it but that isn't really what people want. I had a conversation with a colleague about this subject just last night. In order to create cutting edge technology, you have to take an idea, code it, do internal testing and then release it to the general public. The simple fact is, everyone is going to see it differently. (here are some cool views of tech guys) For those looking for exactly what was created, it will be a success. For those who weren't looking for that feature, but like it, you have a success. For everyone else, you have what could be deemed a failure. Now, if it was used in a certain way which actually throws an error message, then people really jump off the deep end. It's not really a secret that Microsoft released software that was of course tested, but known not to be perfect. The theory was the quicker it got into real users hands the quicker the problems could be ironed out or the process changed to make it better. I tend to agree. Of course we all want software that works perfectly all the time, but the reality is that until software is tested by the masses you never really know how that new code is going to hold up. Also, if you had to spend the money to make sure everything was perfect, it would cost more. Look at the cost of releasing a prescription drug. Of course this is a matter of potentially life or death, so it makes more sense. In the software world, getting an error message or two along the way isn't that big of a deal and it often means releasing a product twice as fast at half the cost. As always, we value your opinion so feel free to email us at email@example.com !