I’m not sure that I necessarily agree. A good initial design is merely something that fills a need. But through iteration that need is filled more eloquently. I see Linux and many of the products associated with it as a good example. Initially, it filled a need. Which for a long time stayed as a niche market but through innovation and iteration they have become more useful to expand beyond merely filling a need and to fill that need in a more intuitive way.
In many cases OS’s in general have been served by iteration over innovation. Users by and large do not handle change very easily, therefore iterating something familiar to bring them the change has a greater overall impact than trying to innovate with each release. Look at the flack that Microsoft has gotten over changes in Windows. Windows has actually improved a great deal but when they try to innovate they feel major backlash from their user base many refusing to leave older versions even if the newer one is better.
True enough that Google’s past projects have massively failed but I think you miss the point. Their failure doesn’t really matter because the lessons learned from their failure have strengthened their current and future endeavors. And it also proves that innovation is a hit or miss prospect. It’s not realistic to expect innovation alone will make a product successful. Many people don’t remember that it was Microsoft that created the first touch screen computer but it was apple that made it successful. And it was made successful by building on a simple concept that filled a need, a music player. And by iterating that that product they were able to have the leeway to innovate and eventually bring the IPhones. Which again through iteration have improved over the years, not all have been successful but such is the way when you are in that business.
My underlying point is that innovation and iteration need to work hand in hand in order to be successful. Both acting as a balance to the other.