The most fundamental characteristic of modern software is that it is extensive. Just as the first IBM PC applications dwarfed their 64K CP/M predecessors, modern software exploits the resources of machines with megabytes of main memory and hundreds of megabytes of hard disc: turning the potential latent in that hardware into benefits the user can perceive. This is what I call ``the quantity of software in the box,'' and it is the most obvious metric of software value per dollar spent.
Here are some data points to ponder, showing the amount of software delivered with each of the following products:
|Product||Size (Mb)||Executable (Mb)|
|Dbase III (1985)||0.5||0.13|
|Lattice C 3.0 (1986)||1.4||0.53|
|Windows Excel 3.0||4.6||1.95|
|Word for Windows||4.7||1.32|
|High C 1.6||5.0||2.43|
|AutoShade 386 2.0||7.6||3.74|
|AutoCAD 386 R11+AME||8.8||4.11|
|Windows 3.0 SDK||8.9||n/a|
|Borland Turbo C++||9.3||4.14|
|Microsoft C 6.0||14.5||5.62|
(These figures were obtained from the size of these products as installed on my Compaq 386. Some products, if installed with different options, can vary substantially in size. For example, when PowerPoint is installed on a system with a Hewlett-Packard LaserJet instead of the PostScript printer I use, it includes special downloadable fonts that increase its size to 18 megabytes.)
The actual executable program, what most folks in software development and consider to be ``the product,'' is a fairly small component of the total software delivered to the customer. Most of the size of modern products comes from what Autodesk dismisses as ``support files'' and devotes relatively little effort to: fonts, sample documents, help files, on-line tutorials, on-line documentation, clip art, menus, macros, templates, and so on.
But as seen by the user, these components are just as much a part of the product as the executable program. First users appreciate items like on-line hypertext help and documentation. Then they expect them, and soon they demand them. This kind of massive support around the core of an application is becoming a prerequisite for software products, especially those in large, maturing markets.
Another aspect in which modern products are ``big'' is in what are called ``production values'' in the movie business; the appearance of the product, documentation, and packaging. I remain a firm believer that, all else being equal, the product that delivers the greatest functionality and performance to the customer will win out in the end. But there's no law of engineering that requires a powerful product to look crude or behave in a less than civilised manner, as if products somehow derived virtue from the software equivalent of exposed screw heads, sharp corners, and chalky grey paint. Simply compare the appearance of AutoCAD with Excel or Word for Windows. Which product looks like it costs $4000?
Let us consider an example, quite close to home. Here is a comparison of AutoCAD with CorelDRAW!, a leading 2D drawing and illustration product for Windows.
Now I don't mean to imply by this that there are not many features present in AutoCAD that CorelDRAW! lacks. CorelDRAW! is an illustration tool, not a CAD system. It is totally two-dimensional (other than simulated 3D special effects), lacks dimensioning capabilities, has nothing resembling object snap or other geometry-driven constructions, does not support digitising tablets for precise co-ordinate input, and has no macro language, user defined objects, or other facilities permitting it to serve as the basis of applications.
My point is this: there is nonetheless a large overlap between CAD and illustration. Despite the pretensions of CAD systems to be seen as modeling tools, the end product most CAD systems in the hands of most CAD users is marks on paper. Consequently, a CAD product such as AutoCAD and an illustration product like CorelDRAW! will, of necessity, provide many of the same capabilities. And within that large common area, among all those features these two products share, CorelDRAW! surpasses AutoCAD in every single one, in some cases overwhelmingly. In appearance and ease of use AutoCAD is totally blown away.
You might be tempted to respond by saying, ``Well, nobody in his right mind would buy AutoCAD to do illustration, and AutoCAD's geometric construction, dimensioning, multi-view plotting, and layer control still make it far more productive for CAD, even in 2D.'' I agree. But you'd be missing the point. Just because a product provides a larger set of more complicated features is no excuse for botching the simpler, basic stuff, for allowing the functions that constitute the meat and potatoes of all drawing to be inferior in scope, shrouded in an opaque, obscure, and antiquated user interface, and incapable of exchanging data with other applications in widely-used, contemporary formats.
I've discussed CorelDRAW! in some detail because, as a drawing tool, many of its features are directly comparable to AutoCAD. I've grown more than a little tired of hearing AutoCAD developers burst out laughing or dismiss as impossible capabilities present in a product that sells for a fraction of AutoCAD's price. That many people aren't aware of such products disturbs me; that some are and don't seem to care I find appalling. CorelDRAW! is not an isolated example; it is typical of the modern generation of applications, especially in the rapidly-expanding Windows sector. These applications, including products such as Microsoft's Excel, Word for Windows, and PowerPoint, embody a breadth in the scope of the software, a depth in the supporting materials supplied with it, and appearance and other fundamental production values that make AutoCAD look, if not amateurish, at least antiquated.
Restricting the comparison among products to executable file size gives lie to a widely-shared misconception about AutoCAD (and oft-cited excuse for its feature shortcomings, slow development cycle, and inflexibility): the claim that it is a ``big, complicated program''--one that strains every limit of the personal computer and embodies not only more complexity, but simply more code than other widely-used applications. Perhaps this used to be true, but it isn't any more. As the pace of AutoCAD development has slowed (in my opinion, due to the meager human resources devoted to it), other products have been catching up and, in some cases, surpassing AutoCAD. The executable sizes in the table above include utilities, translators, and in the case of AutoCAD, both AME and AME Lite. Here is a table that compares just the core executables.
|Product||Core Executable (K)|
|Word for Windows||894|
|Windows Excel 3.0||1,254|
|AutoCAD 386 R11||1,815|
While at first glance AutoCAD might appear to have an edge, note that AutoCAD is the only program on the list compiled in 32-bit 386 mode, which is substantially less efficient in code and data space. In addition, the other applications inherit their low-level drawing and user interface management from Windows, whereas AutoCAD includes its own facilities for these functions. In an era when AutoCAD can not only be run on a laptop computer, but developed on one, the constraints on its growth appear a matter of priorities rather than technology. The reality is that AutoCAD is, today, a medium-sized application and will, in the future, have to become much larger to keep up.
Editor: John Walker