This is basically a worse variation on the better Worse is Better article by Richard Gabriel, focused on software design as business strategy instead of as a pure popularity strategy.<p>The core observation of Worse is Better is that the 50%-80% solution, designed to be easy to replicate, is more popular than a 90% solution that is more difficult to replicate, because the worse solution will spread faster, gain a larger community, and can then evolve to an 85% solution and will not need to evolve further because users will have been conditioned to expect less.<p>These arguments appeal because they are basically correct descriptions of a common phenomena, but if you simplify the message to "mediocrity is good" then you miss the point. Mediocrity of product is good, but only if it allows for a 50-80% solution to an existing problem and only if that is the problem that you want to solve. Mediocrity of skill is also good, but only if your goal is to look good to managers of mediocre software products and if you have no desire to move beyond your current domain of expertise at anything beyond a snail's pace. Note how Gabriel says that C is not good enough for AI: it is a great example of this, and also of what causes people to start believing in mediocrity; namely becoming overly discouraged after working on a problem that is far too difficult to solve with current tools and levels of understanding.<p>I think there is a correct observation in this article as well, and that is that putting a lot of effort into designing the right thing without getting any feedback from users up front or during the process is a terrible form of premature optimization. I agree with this observation and wish it were obvious to everyone, but clearly it is not. But the real question is who are your users and what do they demand? Here the writer goes off the rails by attempting to argue that users want mediocre software, when he really means that users want software that does something very similar to the software that they already have.<p>The distinction is blurred by the fact that the software that users already have was probably created by someone who sacrificed quality for time to market. The problem with not making this distinction is that you fail to recognize just how much quality remained after those sacrifices had been made.<p>Microsoft is a good example of this. Many people like to point out their lucky breaks, their rapacious acquisition strategy, and their monopoly preservation techniques, but it is also important to remember that Microsoft, for all its bloated bureaucracy, began with a strong technical culture and has managed to retain much of that culture as it has grown. It has an excellent research division, one of the few remaining in industry (not that Microsoft is much better at leveraging it than, say, Xerox was). If Microsoft is mediocre, and it is, its level of mediocrity is higher than most people's best effort. If you think you can beat Microsoft at anything remotely large scale with a strategy of mediocrity, well, you deserve what you get.<p>Linux is another good example here. It is a prime case of worse is better culture; initially based on a clone of a conservative OS design, never having ambitions beyond POSIX compliance as a way to spread everywhere, and repeatedly trying and failing to get a foothold on the desktop by slavishly copying Microsoft. Apple may not beat Microsoft, but it is thrashing Linux on the desktop with a strategy of tight control and emphasis on quality. Linux is mediocre all right - too mediocre to succeed outside of the server market, and even there it is probably not as good as whatever BSD best fits your needs. The real success of Linux is when it leverages its large porting culture to spread to platforms with no alternatives. And you probably aren't even as good as the core Linux developers. Hope you're not as ambitious.<p>Take a look at Google, perhaps the biggest challenge Microsoft has faced yet. Did they get where they are today by being more mediocre than their competition? Quite the opposite, I think.<p>The secret of mediocrity is that it is more helpful as a way of capturing a mass market than you might think. The secret of quality is that it allows you to create a market that doesn't even exist yet. Do you think every mass market lasts forever? How do you think they die? How do you think their successors began?<p>So yeah, be mediocre, but you will be at the bottom of a long chain of increasing mediocrity, and your ambitions of being big and successful some day will never be more than delusional fever dreams. Have fun with that.<p>The message here is not that really that mediocrity is bad or that quality is good. The real message is that you should think carefully about what exactly mediocrity and quality mean in your situation. These are meaningless terms in the abstract. Ignore the details at your peril. Don't let "premature optimization is the root of all evil" turn into "mediocrity is better than quality" turn into "I can be lazy and get away with it" turn into "I have no job, there is no market for my skills, and I have lost the ability to learn new ones." Don't live your life by platitudes at all. Think a little bit.