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, softwareat some pointbecomes 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.
Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.