|Home | Polski|
Reprinted from Byte, issue 13/1989, pp. 324-331.
From a 16K-byte VisiCalc to multimegabyte packages, spreadsheets have come a long way in a decade
Ten Years of Rows and Columns
Frankston and Bricklin handcrafted VisiCalc in 6502 assembly language to run on a 32K-byte Apple II. (See the text box “Birthing the Visible Calculator” on page 326.) VisiCalc offered a small spreadsheet of only 254 rows by 63 columns, and its main menu was Spartan; it presented only a stark concatenation of its single-letter commands. On-line help, originally planned, had to be sacrificed to leave enough memory for spreadsheet data. The program offered only basic options for displaying cells.
Furthermore, VisiCalc did not support natural-order recalculation. Instead, it had two fixed recalculation patterns: sweeping across rows (left to right), and down columns (top to bottom). Both methods often produced vexing, unresolvable circular references. You could set the column width, but it had to be the same for all columns, and text could not span columns. In spite of these limitations, however, VisiCalc was a runaway best-seller and was rapidly ported to virtually all major 6502- and Z80-based personal computers.
Ironically, VisiCalc was not ported to the CP/M operating system until well after Sorcim seized that niche with SuperCalc. The first portable computer, the Osborne/1, had SuperCalc bundled with it. While essentially a VisiCalc clone, SuperCalc added disk-based help, column widths that could be set individually, and text that spanned columns.
Microsoft joined the spreadsheet fray with Multiplan, which provided links from spreadsheet cells to external files. It also had a recalculate-until-done command, which recalculated until no cell changed. This process offered a useful way to get around circular reference problems.
Spreadsheet software desperately needed more memory for new features and bigger spreadsheets. The decade’s most significant technical development for spreadsheets was, therefore, the advent of larger-memory personal computers. The 128K-byte Apple III arrived in May 1980, and the 256K-byte IBM PC followed in August 1981. Makers of 8-bit computers engineered bank-switching schemes to reach beyond the intrinsic 64K-byte limits.
VisiCalc Advanced Version used this new memory to restore features dropped from the original. It let users transform spreadsheet results into presentable printed reports by adding cell formatting, page formatting, and printer setup commands. Indeed, spreadsheet add-on programs first emerged to satisfy printing demands. Sideways was one such package; it printed spreadsheets sideways on a printer.
In addition, VisiCalc Advanced Version introduced keyboard macros. Any sequence of keystrokes could be bound to a key as a macro, complete with pauses and points at which to prompt for and accept user input. Macros created a way to use spreadsheets to develop applications. They spawned a new software industry that packaged them for use on everything from taxes to word processing.
All Together Now
In 1981, the now-all-but-forgotten Context MBA tantalized spreadsheet users with the first integrated spreadsheet; it combined windows, graphing, word processing, file management, and a spreadsheet. Context MBA could show a spreadsheet in one window and a graph of selected cells in another. Unfortunately, its developers had implemented Context MBA in the UCSD Pascal p-code system. That made it incompatible with PC-DOS, already the dominant IBM PC operating system.
In early 1983, Apple unveiled its Lisa personal computer bundled with LisaCalc. The short-lived Lisa and LisaCalc enticed spreadsheet users with its Xerox Star-like graphical user interface (GUI). It provided mouse support, multiple windows, cut and paste, and assorted fonts-personal computer features that were astonishing at that time. The Lisa failed to attract developers, and, by 1984, Apple abandoned it in favor of its Macintosh. Apple dropped LisaCalc and opted not to produce a spreadsheet for the Mac. While Context MBA and LisaCalc were important harbingers, neither succeeded. In 1983, Lotus swept into the spreadsheet market with 1-2-3.
Like Context MBA, 1-2-3 added graphing. However, a spreadsheet and graph could not share the screen. Furthermore, graphs were not automatically redrawn when the underlying spreadsheet changed.
Lotus 1-2-3 exploited natural-order recalculation, although it also supported VisiCalc’s row- and column-order modes. Natural-order recalculation maintained a cell dependency list and recalculated a cell before recalculating cells that depended on it. To conserve memory, 1-2-3 resorted to a sparse matrix of cell data pointers. With this scheme, it wasted almost no memory on empty cells and could represent bigger spreadsheets, up to 2048 rows by 256 columns. Lotus 1-2-3 added cell display formats, simple but useful commands that treated spreadsheet rows like records in a database, and the ability to name ranges of cells.
After 1-2-3, an all-in-one software fad subsumed spreadsheets. Ashton-Tate launched Framework, Lotus orchestrated Symphony, Apple published AppleWorks, and VisiCorp demonstrated VisiON. Lotus also fielded Jazz, an all-in-one for the Mac. Lotus folded Jazz after Microsoft practically monopolized Mac spreadsheets with its Excel. Excel delivered the GUI, windows, and multiple spreadsheets and graphs on the screen presaged by LisaCalc and Context MBA. It also offered user-extensible cell display formats and allowed array references in expressions. Microsoft later ported Excel to the IBM PC.
In 1983, the notebook-size Tandy TRS-80 Model 100 sported Multiplan in ROM. Later, Hewlett-Packard put 1-2-3 in ROM in a laptop. Low-cost shareware spreadsheets appeared. Most exceeded the functionality of the original VisiCalc. Spreadsheets even popped up as TSR programs and Mac desk accessories. Borland shipped source code for a feature-full spreadsheet as tutorial material with its Turbo languages.
Some companies even dissected Lotus 1-2-3 enough to weave their own programs into it. HAL, the first such program, added English-like commands and an undo command. What’s Best! added goal seeking. The next releases of 1-2-3 and Symphony supported an official interface for such add-ins. Other spreadsheet makers followed suit, and a new spreadsheet add-in industry flourished. Yet, as spreadsheets grew richer, memory ran short. For IBM PCs, the 640K-byte barrier was so limiting that Lotus, Intel, and Microsoft coauthored a standard for accessing expanded memory, which most spreadsheets quickly adopted.
Doing 1-2-3 One Better
By 1985, a parade of Lotus 1-2-3-compatible programs had begun, each with idiosyncratic enhancements. Mosaic’s TWIN provided better graphs. Paperback Software’s VP-Planner directly read dBASE files and created M-dimensional spreadsheets. Javelin Software’s Javelin understood time periods and allowed graphical input. Borland’s Quattro had customizable menus and included a menu set that perfectly mimicked 1-2-3. Several companies released compilers that translated spreadsheets into either stand-alone programs or C code.
SuperCalc5 introduced three-dimensional spreadsheets, making previous spreadsheets into pages in a 255-page spreadsheet block. A SuperCalc5 spreadsheet could reference cells on other pages in memory or on disk. It could display any three such pages. SuperCalc5 accepted 1-2-3 files, commands, and macros, and the program even allowed mixing 1-2-3 commands with its own. Moreover, it added an undo command, minimal recalculation (recalculating only cells dependent on changed cells), LAN support, direct reading of dBASE files, a macro learn mode, and macro libraries that were not tied to a particular spreadsheet.
Lotus’s long-awaited 1-2-3 release 3.0 matched most SuperCalc5 features. It added background recalculation, which recalculates spreadsheet cell values while waiting for user input. It also could simultaneously display spreadsheet cells and a graph on the screen. Release 3.0 was the first spreadsheet that ran under OS/2, but it did not work under OS/2’s Presentation Manager.
Macintosh spreadsheets remained friendlier and better at presentation-quality printed reports and graphs. Microsoft’s Excel 2.2 allowed 256 fonts per spreadsheet. With it, the user could customize menus and help. Excel’s help even listed 1-2-3 command equivalents. In addition, it exported warm-link spreadsheet data and charts to Microsoft Word, added color for the Mac II, and affixed notes to cells.
Ashton-Tate’s Full Impact and Informix’s WingZ staked out the presentation spreadsheet niche with enhancements aimed at presenting spreadsheet results. Both offered scripting languages. Their scripts were like Apple’s HyperCard scripts and could be attached to spreadsheet cells and buttons. They went well beyond traditional spreadsheet macros in flexibility and performance.
Other platforms gained Lotus 1-2-3-compatible spreadsheets. Computer Associates put SuperCalc5 on IBM mainframes. The Santa Cruz Operation supplied SCO Professional, a multiuser spreadsheet for Unix. Access Technologies authored 20/20 for VAX systems. Still, Mac and PS/2 spreadsheets define the state of the art.
Down the Spreadsheet Road
Spreadsheets have grown from humble 32K-byte beginnings to fill 8-megabyte Macs and 16-megabyte PS/2s, yet their core has remained remarkably unchanged. IBM PC spreadsheets will soon drop their old-fashioned character-based interfaces and adopt graphical ones from Microsoft Windows and OS/2 Presentation Manager. Also, most spreadsheet vendors will develop IBM mainframe versions. Largely with Structured Query Language, spreadsheets will improve access to LAN- and mainframe-based database servers (see the text box “Beyond What-if?” above).
Other enhancements will include improved consolidation, goal seeking, compiled recalculation, and the ability to call spreadsheets from outside programs. In another decade, every user’s toolbox will supply object-oriented spreadsheet components. For that story, check out BYTE’s 1999 articles.
Tracy Robnett Licklider is vice president for personal computer systems at AICorp (Waltham, MA) and vice president of the Boston Computer Society. You can contact him on BIX as “trl.”
|Page added on 22nd September 2004.
Copyright © 2002-2005 Marcin Wichary
|Printable version | Contact | Site map|