Food gets eaten. Machines wear out. Software lasts forever. Unlike other commodities, which get consumed (directly or indirectly) in the course of producing other goods, software—at some point—becomes good enough to keep. (I realize this is speculative, but work with me. It could happen.) What could frighten a software developer more than satisfied buyers, once the unserved fraction of the market becomes too small to sustain a business?
Its been said that software products fall into two groups: mud balls and diamonds. A diamond can be judged in terms of closeness to perfection, but the only way to improve a ball of mud is to add more mud. Any resemblance to the current state of the software market is far from accidental.
The canonical diamond might be Wolfram Researchs Mathematica. If youd never seen a computer before, and someone showed you Mathematica, youd be thrilled to accept it as your definition of what a computer does. Arithmetic, symbolic calculation, processing of images and production of formatted documents all are grist for Mathematicas mill.
Can you upgrade a diamond? Certainly: There are always removable flaws. When Wolfram Research ships a Mathematica upgrade, the worlds work gets done more quickly: Version 4.1, released last November, uses less memory to do a broader range of calculations (especially analytic plots) in less time on a longer list of platforms.
The canonical mud ball might be Microsoft Word (which, I hasten to add, I use and dont actually hate). When Word gets an upgrade, books and tutorials quickly appear to tell you how to turn off its new features. "Now with even more mud!"
If you sell software, does your job depend on creating demand for mud?
Your parents must be so proud.