With IBM's entry into the market, VisiCalc was slow to respond, and when they did, they launched what was essentially a straight port of their existing system despite the greatly expanded hardware capabilities.
Lotus 1-2-3 was the state-of-the-art spreadsheet and the standard throughout the 1980s and into the early 1990s, part of an unofficial set of three stand-alone office automation products that included dBase and WordPerfect, to build a complete business platform.
None of the major spreadsheet developers had seriously considered the graphical user interface (GUI) to supplement their DOS offerings, and so they responded slowly to Microsoft's own GUI-based products Excel and Word.
Compared to earlier programs, VisiCalc allowed one to easily construct free-form calculation systems for practically any purpose, the limitations being primarily related to the memory and speed of the computer.
VisiCalc's runaway success on the Apple led to direct bug compatible ports to other platforms, including the Atari 8-bit computers, Commodore PET and many others.
One early example was 1980's SuperCalc, which solved the problem of circular references, while a slightly later example was Microsoft Multiplan from 1981, which offered larger sheets and other improvements.
Kapor's recognition that techno-speak instructions needed to be translated to normative English was a strong contributor to the product's popularity.
Unlike Microsoft Multiplan, it stayed very close to the model of VisiCalc, including the "A1" letter and number cell notation, and slash-menu structure.
The initial release of 1-2-3 supported only three video setups: CGA, MDA (in which case the graph maker was not available) or dual-monitor mode.
This protection scheme was easily cracked and a minor inconvenience for home users, but proved a serious nuisance in an office setting.
This was an irreversible process unless one had made an exact copy of the original disk so as to be able to change names to transfer the program to someone else.
[19] By early 1984 the software was a killer app for the IBM PC and compatibles, while hurting sales of computers that could not run it.
Lotus 1-2-3 inspired imitators, the first of which was Mosaic Software's "The Twin", written in the fall of 1985 largely in the C programming language,[22] followed by VP-Planner, which was backed by Adam Osborne.
[24] However, when it sued Borland over its Quattro Pro spreadsheet in Lotus v. Borland, a six-year battle that ended at the Supreme Court in 1996, the final ruling appeared to support narrowing the applicability of copyright law to software; this is because the lower court's decision that it was not a copyright violation to merely have a compatible command menu or language was upheld, but only via stalemate.
[26] The 1-2-3 menu structure (example, slash File Erase) was itself an advanced version of single letter menus introduced in VisiCalc.
This meant that Borland had emerged victorious, but the extent to which copyright law would be applicable to computer software went unaddressed and undefined.
It intended to expand the rudimentary all-in-one 1-2-3 into a fully-fledged spreadsheet, graph, database and word processor for DOS, but none of the integrated packages ever really succeeded.
As a result, Microsoft "punished the IBM PC Company with higher prices, a late license for Windows 95, and the withholding of technical and marketing support.
[37] Version 2 introduced macros with syntax and commands similar in complexity to an advanced BASIC interpreter, as well as string variable expressions.
After previewing 1-2-3 on the IBM PC in 1982, BYTE called it "modestly revolutionary" for elegantly combining spreadsheet, database, and graphing functions.
It praised the application's speed and ease of use, stating that with the built-in help screens and tutorial, "1-2-3 is one of the few pieces of software that can literally be used by anybody.
[88] PC Magazine in 1983 called 1-2-3 "a powerful and impressive program ... as a spreadsheet, it's excellent", and attributed its very fast performance to being written in assembly language.