# Lotus 1-2-3

Lotus 1-2-3 fue un programa de hoja de cálculo desarrollado por la hoy desaparecida empresa estadounidense Lotus Development Corporation, que fue adquirida por IBM en 1996. Fue una de las primeras killer application (“aplicación matadora”) para la plataforma IBM PC. La inmensa popularidad que logró alcanzar a mediados de la década de 1980 contribuyó significativamente a afianzar el éxito de las PC dentro del ambiente corporativo y de oficina.

## Comienzos

La corporación Lotus fue fundada por Mitchell Kapor, un amigo de los desarrolladores de VisiCalc, el primer programa de hoja de cálculo de la historia. Lotus 1-2-3 fue originalmente escrito por Jonathan Sachs, quien ya había escrito el código fuente de dos pequeñas aplicaciones de ese tipo mientras trabajaba para la compañía Concentric Data Systems, Inc.
Para ayudar a ese crecimiento, Lotus publicitó su producto por televisión en algunos países, entre ellos en el Reino Unido, siendo una de las primeras empresas desarrolladoras de software en utilizar ese medio de difusión. Las rutinas de gráficos fueron escritas en lenguaje Forth por Jeremy Sagan, hijo del ya fallecido astrónomo Carl Sagan, mientras que las referidas a la impresión fueron codificadas por Paul Funk.
Se llegó a alegar que la versión original del programa había sido escrita por estudiantes de doctorado de la Escuela de Negocios de la Universidad de Harvard (Harvard Business School), quienes lo habrían vendido a Lotus por 200.000 dólares.
Lotus 1-2-3 fue inicialmente lanzado al mercado el 26 de enero de 1983, y en ese año comenzó a superar en ventas a VisiCalc. De hecho, durante ese año la corporación Lotus logró ingresos por 53 millones de dólares, los que virtualmente se triplicaron hasta los 156 millones al año siguiente. En el año 1985 la compañía alcanzaría una cifra de aproximadamente 1000 empleados, algo notable para una empresa que en ese entonces estaba básicamente especializada en el desarrollo de un único programa.
En los años siguientes, Lotus 1-2-3 sería la principal aplicación de hoja de cálculo para el por entonces dominante sistema operativo MS-DOS. A diferencia de Multiplan de Microsoft, 1-2-3 se mantenía una interfaz bastante similar a la ofrecida por VisiCalc, incluyendo la notación de celdas alfanumérica del tipo “A1”, convención que después sería usada por los programas Quattro Pro, Excel, OpenOffice.org Calc y LibreOffice Calc. Asimismo, tendría un menú accesible a partir de la presión de la tecla de barra (/), al igual que su antecesor.
El producto de Lotus se caracterizaba por tener pocos errores de programación, por lo que pronto adquirió una muy buena reputación debido a su solidez y estabilidad.
Además, era notablemente rápido debido a que estaba enteramente programado en lenguaje ensamblador x86. Gracias a ello, el programa evitaba hacer uso de las relativamente lentas funciones de entrada/salida (input/output) de pantalla del propio MS-DOS, al escribir directamente en el mapa de las direcciones correspondientes a la memoria de video.
Esta confiabilidad en el hardware específico de la IBM PC (con plataforma Intel) llevó a que 1-2-3 fuese una de las dos principales aplicaciones utilizadas en las pruebas de compatibilidad de los clones que comenzaron a aparecer en el mercado a partir de los primeros años de la década de 1980, además de Microsoft Flight Simulator, el cual se utilizaba para comprobar la compatibilidad gráfica de los clones.
Debido al hecho de que prácticamente el archivo de una hoja de cálculo debía estar residente en memoria en tiempo de ejecución, 1-2-3 también desencadenó la carrera por la instalación y el uso de más RAM, así como por el aprovechamiento de la ubicada por encima del tradicional límite de 640 kB de MS-DOS, ya sea de tipo expandida o extendida. De hecho, a la especificación de memoria expandida se la denominaría LIM (iniciales de Lotus, Intel y Microsoft). Este tema era tan importante para el programa que éste mostraba en la pantalla un indicador de memoria usada y libre en todo momento.

## Características de usuario

Integraba la capacidad de gráficos y de realizar rudimentarias o elementales operaciones de base de datos, básicamente a partir de su función de búsqueda en tablas, muy similar a la que sería implementada posteriormente en Microsoft Excel. Podía ejecutar el ordenamiento de cualquier rango definido dentro de un área rectangular. La justificación de texto de un rango en distintos párrafos permitía usar a 1-2-3 como un primitivo editor o procesador de textos.
También poseía menús flotantes o emergentes, accesibles mediante el teclado, así como “teclas rápidas” o atajos que permitían una rápida operación del programa. También fue uno de los primeros programas en ser amigables con el usuario al ofrecer al usuario ayuda, después de presionar la tecla F1.
Las macros y add-ins, introducidas en la versión 2.0 de Lotus 1-2-3, contribuyeron en gran medida a su popularidad, al permitir que docenas de proveedores externos de software ofreciesen paquetes adicionales que iban desde hojas de cálculo dedicadas (por ejemplo, especializadas en el manejo de finanzas) hasta capacidades de edición que por momentos hacían parecer al programa como un procesador de textos. De esa manera, en un sistema operativo que no era multitarea como el MS-DOS, Lotus 1-2-3 llegó a ser usado como una suerte de “entorno” de trabajo bastante completo.
También soportaba una resolución EGA en la plataforma PC/AT y VGA en el PS/2 que IBM lanzó en 1987. Las primeras versiones usaban la extensión de archivo .WKS desarrollada por Microsoft. En la versión 2.0, la extensión cambió a .WK1, para luego pasar al .WK2. Este último se convirtió en .WK3 para la versión 3.0 y finalmente en .WK4 para la versión 4.0.
La versión 2 introdujo macros, con una sintaxis y funciones similares en complejidad a la de un intérprete avanzado de BASIC, que incluía el manejo de expresiones de cadenas de caracteres. Las versiones posteriores soportarían el uso de varias hojas de cálculo en un archivo binario único, como ocurrió con los posteriores libros de Excel y los cuadernos de Quattro Pro, además de ser reescritas en lenguaje C. Esto último permitió que los tiempos de programación se acortasen bastante, dado que C es una suerte de lenguaje “intermedio” entre el lenguaje ensamblador y los de alto nivel. Lotus Developmente también desarrolló una versión específica de 1-2-3.

## Rivales

El éxito rápidamente alcanzado por Lotus 1-2-3 pronto inspiraría a algunos imitadores que intentarían emular al producto. Uno de los primeros fue un software desarrollado por Mosaic Software denominado The Twin, desarrollado en 1985, usando el lenguaje C. Luego, aparecería el programa VP-Planner, el cual contaba con el apoyo del empresario de origen británico Adam Osborne. Estos programas no sólo podían leer aquellas versiones iniciales de los archivos binarios de 1-2-3, sino que también podían abrir la mayoría de las hojas de cálculo que incluían macros, al usar una sintaxis similar en sus propios lenguajes de macros.
Inicialmente se había interpretado que la legislación relativa a la protección de los derechos de autor sólo cubría el código fuente de un programa. Pero luego del éxito inicial en los juicios que sugerían o daban a entender que el aspecto gráfico de una aplicación de software también se encontraban protegidos legalmente, Lotus Development alegó que debía prohibirse cualquier programa que tuviese una estructura de menús y de órdenes similares a la del Lotus 1-2-3 y compatibles con él. Y aunque aquellos no se habían considerado legalmente cubiertos antes, Lotus terminó ganando el juicio que le había entablado a Mosaic Software. Sin embargo, cuando la empresa inició otro juicio contra la empresa Borland International debido a la similitud que tenía con 1-2-3 el programa Quattro Pro, el tribunal estableció que no se trataba de una violación de derechos de autor, sino que simplemente se estaba en presencia de un sistema de menús compatible. En 1995 la Corte dictaminó que los menús de opciones son un “método de operación” no susceptible de ser registrado, de acuerdo a la sección 102(b) de la Ley de Derechos de Autor estadounidense. Por último, La Corte Suprema de los Estados Unidos, en su fallo del 16 de enero de 1996, asoció la estructura de menús a la disposición de los botones de una reproductora de casetes de video: los de todas las marcas tienden a tener los mismos controles de ese tipo, por lo que, si se permitiese registrarlos por parte de una única empresa, se trataría de un serio impedimento para el desarrollo y diversidad del mercado.
Por otra parte, la estructura del menú de Lotus 1-2-3 era en sí misma una versión avanzada de las letras mnemotécnicas introducidas por Visicalc, las cuales solían ser bastante difíciles de recordar, en particular, cuando no se usaba la inicial de una determinada palabra, sino una letra intermedia.

## Declive definitivo

El paulatino e imparable avance de Microsoft Windows en el mercado de la computación personal claramente terminó afectando de manera negativa a Lotus 1-2-3. Mientras este programa seguiría anclado durante varios años más en el sistema operativo MS-DOS, la primera versión de Microsoft Excel para PC de 1987 había sido concebida desde su inicio para el por entonces novedoso entorno gráfico.
Por su lado, Excel pronto comenzó a recibir muy buenas críticas por parte de la prensa especializada y de hecho en su edición estadounidense del 22 de diciembre de 1987 la revista de informática PC Magazine publicó una nota titulada Microsoft Excel: The best spredsheet ever? (“MS Excel: ¿La mejor hoja de cálculo de todos los tiempos?”). En el artículo en cuestión se indicaba que dicho software era superior a Lotus 1-2-3 en veintidós aspectos de veintinueve que fueron evaluados y equiparándose a Lotus 1-2-3 en los demás.
La decisión de Lotus Development de mantenerse leal al SO OS/2 y su lentitud en sacar a tiempo una versión de 1-2-3 para la interfaz gráfica Microsoft Windows demostraría tener consecuencias fatales para la compañía. De hecho, durante unos tres años Excel sería el único programa de ese tipo disponible para Windows.
Dadas las condiciones anteriormente mencionadas, la cuota de mercado de Excel comenzó a crecer cada vez más a expensas de la su rival, hasta llegar a superar a Lotus 1-2-3 de manera completa y aplastante con el paso de los años, pasando a acaparar, según estimaciones hasta un 90% del mercado junto a las otras aplicaciones del paquete de oficina Microsoft Office.
Cuando se planificó una reescritura del código fuente de 1-2-3 para Microsoft Windows con el objetivo en mente de superar a Excel, ya era tarde. Pero los exigentes tiempos del mercado de las aplicaciones ofimáticas no permitían tal cosa, por lo que 1-2-3 terminó en gran parte siendo una interfaz gráfica montada sobre lo que en gran medida seguía siendo el viejo código o “motor” de la versión para MS-DOS del programa.
Adicionalmente, varias diferentes versiones de 1-2-3 estaban disponibles de manera simultánea compitiendo indirectamente entre sí, cada una con una funcionalidad y una interfaz sutilmente distintas. Por su parte, Lotus Symphony, en su momento planeado como sucesor de 1-2-3, marcaría el ingreso de Lotus al anticipado mercado los programas de ofimática integrados. La idea era la de expandir al relativamente rudimentario “todo en uno” Lotus 1-2-3 en programas integrados pero dedicados como una hoja de cálculo, un procesador de textos, un gestor de bases de datos, y un editor de gráficos, todos para el sistema operativo MS-DOS. No obstante, ninguno de esos programas, ni los que los sucedieron englobados en el paquete de oficina SmartSuite, bajo la plataforma gráfica de Microsoft Windows, tuvieron el éxito esperado.
En la versión 9 de Lotus SmartSuite, 1-2-3 ya había alcanzado en gran parte las capacidades de Excel XP y 2003. Incluso las versiones más actuales de Lotus 1-2-3 poseen algunas ventajas sobre Excel, como conectividad extendida de base de datos. Sin embargo, la notable falta de interés de público en general ha hecho que, durante los últimos años, la propia IBM, desarrolladora actual del producto, haya dejado en segundo plano el proyecto.

## Edición y grabación de archivos de extensión wk3 y wk4

En tiempos del sistema operativo MS-DOS existían una suerte de “compiladores” de plantillas de Lotus 123, que aceptaban como entrada el nombre de un archivo de extensión wks, y devolvían un ejecutable (exe). Dos de los más conocidos eran The Baler (literalmente “El enfardador”) y @Liberty.
Por su parte, el programa de hoja de cálculo Gnumeric, que forma parte del paquete GNOME Office para el sistema operativo GNU/Linux, puede abrir y editar archivos wk3 y wk4, así como grabarlos en el popular formato propietario xls de Excel. Por su parte, junto a Gnumeric viene un programa denominado ssconvert, que se ejecuta desde una terminal de línea de comandos, el cual permite la conversión por lotes de varios archivos de extensión wk* al formato xls.