Lotus 1-2-3
From Wikipedia, the free encyclopedia
Lotus 1-2-3 is a spreadsheet program from Lotus Software (now part of IBM). It was the IBM PC's first killer application; its huge popularity in the mid-1980s contributed significantly to the success of IBM PC in the corporate environment.
Contents |
[edit] Beginnings
The Lotus Development Corporation was founded by Mitchell Kapor, a friend of the developers of VisiCalc. 1-2-3 was originally written by Jonathan Sachs, who had written two spreadsheet programs previously while working at Concentric Data Systems, Inc.
1-2-3 was released on January 26, 1983, started outselling then-most-popular VisiCalc the very same year, and for a number of years it was the leading spreadsheet for the DOS operating system. Unlike Microsoft Multiplan, it stayed very close to the model of VisiCalc, including the "A1" letter and number cell notation, and slash-menu structure. It was free of notable bugs, and was very fast because it was programmed entirely in assembly language and bypassed the slower DOS screen input/output functions in favor of writing directly to memory-mapped video display hardware.
[edit] User features
The name "1-2-3" stemmed from the product's integration of three main capabilities. Along with being a spreadsheet, it also offered integral charting/graphing and rudimentary database operations.
Data features included sorting data in a column. Justifying text in a range into paragraphs allowed it to be used as a primitive word processor.
It had keyboard-driven pop-up menus as well as one-key commands, making it fast to operate. It was also user-friendly, introducing what might have been the first ever context-sensitive help on the F1 key.
Macros and add-ins (introduced in version 2.0) contributed much to 1-2-3's popularity, allowing dozens of outside vendors to sell macro packages and add-ins ranging from dedicated financial worksheets to full-fledged word processors. (In the single-tasking MS-DOS, 1-2-3 was sometimes used as a complete environment.) Lotus 1-2-3 supported EGA graphics on the PC/AT and VGA graphics on the PS/2. Early versions used the filename extension "WKS"[1]. In version 2.0, the extension changed first to "WK1"[2], then "WK2"[3]. This later became "WK3" for version 3.0[4] and "WK4" for version 4.0[5].
Version 2 introduced macros with syntax and commands similar in complexity to an advanced BASIC interpreter, as well as string variable expressions. Later versions supported multiple worksheets, and were written in C language.
[edit] Technical features
The author of the Twin, a 1-2-3 work-alike implemented in "C" discovered that some of the more interesting innovations were natural recalculation order, which reserved a location in each cell for storing the return addess for an iterative tree-walk of formulas. A book published its file format, which showed how files and formulas were encoded, and how they were evaluated on a stack. By contrast, decoding the full extent of the Excel file format remains an open source project today. Strings were encoded as a special case of IEEE floating point numbers. Sorting had the interesting behavior of sorting time taking N times as long for N many items, which was consistent with a shell sort.
The fast display of decimal numbers without floating point hardware was probably accomplished by multiplying the mantissa by 10 with shift operations. x * 10 = (x * 4 + x) * 2, so x * 10 = ((x << 2) + x) << 1. 1-2-3 was written in assembler, which permitted passing numbers in registers and "short" pointers. C compilers required long (segment and offset) pointers and passed numbers on the stack. The Twin was about twice as large and half as fast by comparison. 1-2-3 also bypassed the BIOS, directly updating screen memory. The speed of 1-2-3 made it possible to give more responsive performance than much larger minicomputers, or even web-based applications today.
[edit] Lotus 1-2-3 and its rivals
Lotus 1-2-3 inspired imitators, the first of which was Mosaic Software's "The Twin," written in the fall of 1985, followed by VP-Planner, which was backed by Adam Osborne. Copyright law had first been understood to only cover the source code of a program. After the success of lawsuits which claimed that the very "look and feel" of a program were protected, Lotus sought to ban any program which had a compatible command and menu structure. Program commands had not been considered to be protected before, but the commands of 1-2-3 were embedded in the words of the menu displayed on the screen. 1-2-3 won its case against Mosaic Software. However when they sued Borland over its Quattro Pro spreadsheet, the courts ruled that it was not a copyright violation to merely have a compatible command menu or language. In 1995, the First Circuit found that command menus are an uncopyrightable "method of operation" under section 102(b) of the Copyright Act. The 1-2-3 menu structure (example, slash File Erase) was itself an advanced version of single letter menus introduced in VisiCalc. Letter accelerators are still present in DOS and Windows and some web applications today, and are still often absent in Apple and Unix based applications.
[edit] The challenge of Excel
The rise of Microsoft Windows in the personal computer market was accompanied by the rise in Microsoft's competing spreadsheet, Excel, which gradually surpassed the position of 1-2-3. Being loyal to OS/2, Lotus was slow to embrace Windows. At first, a complete rewrite was planned to overtake Excel, but this project failed to turn out a finished product. 1-2-3 for Windows is still simply a graphical wrapper around the original interface. Additionally, several versions of 1-2-3 were available concurrently, each with different functionality and a slightly different interface.
1-2-3's intended successor, Lotus Symphony, was Lotus's entry into the anticipated "integrated software" market. It intended to expand the rudimentary all-in-one 1-2-3 into a fully-fledged spreadsheet, graph, database and word processor for Windows, but none of the integrated packages ever really succeeded. 1-2-3 migrated to the Windows platform, where it remains available as part of Lotus SmartSuite. Since then, Microsoft Office, including Excel, PowerPoint, Access and Word has become the office software most commonly found on desktops.