Lotus Improv es un programa de hoja de cálculo discontinuado de Lotus Development lanzado en 1991 para la plataforma NeXTSTEP [1] y luego para Windows 3.1 en 1993. El desarrollo se suspendió en 1994 después de las bajas ventas en la plataforma Windows, y finalizó oficialmente en abril de 1996 después de que IBM comprara Lotus .
Improv fue un intento de redefinir la forma en que debería funcionar un programa de hojas de cálculo, para facilitar la creación de nuevas hojas de cálculo y la modificación de las existentes. Las hojas de cálculo convencionales utilizaban celdas en pantalla para almacenar todos los datos, fórmulas y notas. Improv separó estos conceptos y utilizó las celdas solo para datos de entrada y salida. Las fórmulas, macros y otros objetos existían fuera de las celdas, para simplificar la edición y reducir los errores. Improv utilizó rangos con nombre para todas las fórmulas, en lugar de direcciones de celdas.
Aunque no fue un éxito comercial en comparación con productos convencionales como Lotus 1-2-3 o Microsoft Excel , Improv encontró un fuerte seguimiento en ciertos nichos de mercado, en particular en el de modelos financieros . Fue muy influyente en estos mercados especiales y generó una serie de clones en diferentes plataformas, en particular Quantrix de Lighthouse Design .
Numbers de Apple Inc. combina una fórmula y un sistema de nombres similar al de Improv, pero ejecutándose dentro de una hoja de cálculo convencional.
Las hojas de cálculo originales eran hojas de papel con líneas verticales y horizontales, una hoja de cálculo personalizada destinada a usos contables . Los usuarios ingresaban datos en áreas rectangulares en las hojas, conocidas como celdas, luego aplicaban fórmulas a los datos para producir valores de salida que se escribían en otras celdas. Un profesor de Berkeley, Richard Mattessich , fue un defensor del uso de hojas de cálculo para el modelado financiero y los cálculos de "qué pasaría si" para las empresas, pero señaló que podría llevar tanto tiempo volver a calcularlo para ejecutar un escenario diferente que las entradas estarían desactualizadas para cuando el cálculo terminara. En 1964 propuso usar una computadora para ejecutar todos los cálculos desde el punto del cambio en adelante, actualizando así la hoja en segundos, en lugar de días. [2]
Enseñar el uso de modelos de hojas de cálculo era algo habitual en las escuelas de negocios , a menudo utilizando pizarrones marcados con un diseño similar al de las versiones en papel. El uso de un pizarrón facilitaba la corrección de errores y permitía compartir la hoja con una clase. En 1979, Dan Bricklin estaba utilizando un dispositivo de este tipo cuando decidió intentar informatizarlo en las recién introducidas computadoras personales . Junto con Bob Frankston , los dos crearon la primera hoja de cálculo, VisiCalc , y la lanzaron para Apple II en 1979. Cuando Ben Rosen de Morgan Stanley vio el programa, escribió que "VisiCalc podría ser la cola del software que movió al perro de la industria informática". [3]
VisiCalc tuvo un enorme éxito, tanto que aparecieron una gran cantidad de clones. Uno de ellos fue escrito por un ex programador de VisiCalc, Mitch Kapor . Su versión, Lotus 1-2-3 , tendría un éxito aún mayor que VisiCalc, en gran parte debido al hecho de que se ejecutaba en el nuevo IBM PC y estaba optimizado para él . [4] Lotus 1-2-3 vendió 60.000 copias en el primer mes, [4] y Lotus pronto se convirtió en una de las empresas de software más grandes del mundo.
En 1986, Lotus creó un grupo de tecnología avanzada. [5] Una de sus tareas iniciales fue ver si podían simplificar la tarea de crear una hoja de cálculo. Las hojas de cálculo completas eran fáciles de usar, pero a muchos usuarios les resultaba difícil imaginar cómo debía ser la hoja para poder empezar a crearla. ¿Deben introducirse los datos en columnas o en filas? ¿Deben almacenarse los valores intermedios dentro de la hoja o en una hoja aparte? ¿Cuánto espacio necesitaremos? [5]
Pito Salas , un desarrollador de ATG, decidió abordar este problema. [N 1] Después de unos meses de estudiar ejemplos reales existentes, se hizo evidente que los datos, las vistas de esos datos y las fórmulas que actuaban sobre esos datos eran conceptos muy separados. Sin embargo, en todos los casos, los programas de hojas de cálculo existentes requerían que el usuario escribiera todos estos elementos en las mismas celdas de la hoja (normalmente una sola).
Esta superposición de funciones generó una considerable confusión, porque no resulta obvio qué celdas contienen qué tipo de datos. ¿Esta celda es un valor de entrada que se utiliza en otro lugar? ¿Es un valor intermedio utilizado para un cálculo? ¿Quizás es un valor de salida de un cálculo? No hay forma de saberlo. Esta idea dio lugar a ideas para una nueva hoja de cálculo que separaría claramente estos conceptos: datos, fórmulas y vistas de salida que combinarían datos y fórmulas en un formato adecuado para el usuario final. Al mismo tiempo, el nuevo producto permitiría a los usuarios agrupar los datos "por propósito", dándoles un nombre en lugar de referirse a ellos por su posición en la hoja. Esto significaba que mover los datos en la hoja no tendría ningún efecto en el cálculo. [5]
Salas también señaló que la vista de los datos de salida era a menudo la parte más débil de las hojas de cálculo existentes. Dado que la entrada, los cálculos y la salida estaban todos mezclados en una hoja, cambiar el diseño podía llevar a serios problemas si los datos se movían. Con los datos y las fórmulas separados, esto ya no era un problema. Salas demostró que esta separación significaba que una serie de tareas comunes que requerían cálculos largos en las hojas de cálculo existentes podían manejarse casi gratis simplemente cambiando la vista. Por ejemplo, si una hoja de cálculo contenía una lista de ventas mensuales, no era raro tener una columna de salida que resumía las ventas por mes. Pero si uno quería sumarlas por año, esto normalmente requeriría otra columna de fórmula y una hoja de salida diferente. [5]
A finales del verano de 1986, Salas había creado una demostración en forma de presentación de diapositivas de un sistema conocido como Modeler en el IBM PC . En febrero de 1987 contrató a Glenn Edelson para implementar una versión funcional en C++ . Mientras trabajaban en el proyecto, quedó claro que el concepto básico era bueno y especialmente útil para el modelado financiero. A finales de la primavera, contrataron a Bonnie Sullivan para que escribiera una especificación del proyecto y contrataron a Jeff Anderholm para que examinara el mercado de un nuevo programa destinado a la industria financiera. Ese verano, el equipo llevó Modeler a varias empresas financieras y encontró una recepción abrumadoramente positiva. [5]
Un año después, en septiembre de 1988, el equipo recibió finalmente el visto bueno para empezar a implementar Modeler. Después de examinar varias plataformas, incluidas DOS y Macintosh OS , el equipo decidió que la plataforma de destino sería OS/2 , que en ese momento se consideraba un sistema prometedor en el ámbito comercial. El proyecto recibió el nombre en código "Back Bay", que llevaba el nombre de Back Bay en Boston , y se seleccionó una mascota, llamada Fluffy Bunny. [5]
El mes siguiente, en octubre de 1988, Steve Jobs visitó Lotus para mostrarles el nuevo ordenador NeXT . Cuando vio Back Bay se entusiasmó de inmediato y empezó a presionar para que se desarrollara en la plataforma NeXT. El equipo de Lotus estaba igualmente entusiasmado con NeXT, pero siguió trabajando en la plataforma OS/2. [5] Esto resultó ser mucho más difícil de lo imaginado; en ese momento, OS/2 tenía muchos errores y su interfaz de usuario del Gestor de presentaciones estaba en sus inicios. El desarrollo no avanzaba bien. [6]
Después de luchar con OS/2 durante meses, en febrero de 1989 decidieron trasladarlo a NeXT. Cuando Jobs se enteró de la decisión, envió un enorme ramo de flores al equipo. Más importante aún, también envió a Bruce Blumberg, uno de los expertos en software de NeXT, para que enseñara al equipo de Lotus sobre NeXTSTEP. Un problema preocupante resultó ser una enorme ventaja en la práctica; como el back-end estaba escrito en C++ y el front-end en Objective-C , resultó muy fácil segregar el programa y rastrear errores. Además, el Interface Builder de NeXT permitió al equipo experimentar con diferentes IU a un ritmo que no era posible en otras plataformas, y el sistema evolucionó rápidamente durante este período. [6]
En abril de 1989, Jobs volvió a visitar al equipo y le pidió que les explicara el sistema de categorización. Exigió una forma de manipular directamente las categorías y los datos en pantalla, en lugar de usar menús o ventanas separadas. Esto condujo a una de las características más destacadas de Improv, los "mosaicos" de categorías, íconos que permitían reorganizar las hojas de resultados en segundos. Jobs siguió apoyando al equipo en todo momento y constantemente impulsó al equipo a mejorar el producto de muchas maneras. Blumberg permaneció disponible para ayudar con los problemas técnicos, que se volvieron serios cuando NeXT estaba en proceso de lanzar NeXTSTEP 2.0, la primera actualización importante del sistema. [6] [7]
Improv para NeXT se lanzó en febrero de 1991, lo que dio como resultado "camiones cargados" de flores de Jobs. El programa fue un éxito inmediato, recibiendo elogios y excelentes críticas de las principales publicaciones informáticas [8] y, excepcionalmente, también de las revistas de negocios más importantes. [9] [10] Las predicciones anteriores de que Improv podría ser la aplicación estrella de NeXT resultaron ser ciertas [11] y, con el tiempo, miles de máquinas se venderían en el mercado financiero, inicialmente solo para ejecutar Improv. Esto le dio a NeXT un punto de apoyo en este mercado que duró hasta fines de la década de 1990, incluso después de su compra por parte de Apple Inc. [12]
Después del lanzamiento en NeXT (una versión conocida como "Black Marlin"), se intentó adaptarlo a Windows ("Blue Marlin") y Macintosh ("Red Marlin"). Las API y el lenguaje de programación de NeXTSTEP eran tan diferentes del software de sistema de Windows y Macintosh que la adaptación era muy difícil. Lotus Improv para Windows v2.0 (no había 1.0) se lanzó en mayo de 1993, funcionando en Windows 3.1. Al igual que el lanzamiento de NeXT, la versión para Windows también cosechó elogios de la crítica, [13] [14] y la revista Byte destacó que su "usabilidad es excepcional". [15]
A pesar de las críticas positivas, las ventas en Windows fueron lentas. En marzo de 1994, Lotus decidió atacar este problema reposicionando Improv como un complemento para 1-2-3, aunque los programas no tenían nada en común aparte de la capacidad de Improv para leer datos en archivos 1-2-3. [16] Esto no tuvo ningún efecto en las ventas y, después del lanzamiento de la actualización 2.1, el desarrollo finalizó en agosto de 1994. [17] El proyecto quedó en el limbo hasta abril de 1996, cuando el producto fue cancelado oficialmente, poco después de que IBM comprara Lotus. [18]
Las decepcionantes ventas de Improv y su posterior cancelación en la plataforma PC se han utilizado como caso de estudio en numerosos análisis posteriores al fracaso del mercado de software. Las ventas en la plataforma NeXT podrían explicarse por la limitada cuota de mercado de NeXT, pero el fracaso en la PC fue otro problema. Entre las explicaciones preferidas se encuentra el hecho de que, a diferencia del lanzamiento en NeXT, la versión de Windows se enfrentó a una fuerte resistencia interna por parte de 1-2-3, y la respuesta inmune corporativa se convirtió en un problema. Los equipos de ventas y marketing de Lotus, muy versados en la venta de 1-2-3, no sabían cómo vender Improv en el mercado, así que simplemente no lo hicieron, y vendieron el conocido y entendido 1-2-3. Otras explicaciones incluyen el hecho de que Microsoft Excel se ofrecía como parte del paquete Office a precios marginales que eran minúsculos en comparación, así como varios errores durante la introducción, como la falta de un lenguaje de macros o de deshacer. Joel Spolsky culpa al propio diseño, afirmando que estaba demasiado perfectamente dirigido a un mercado específico y carecía de la generalidad que ofrecía Excel. [19]
Aunque Improv desapareció en los años 90, el programa es recordado con cariño en la industria [20] y sigue siendo mencionado en libros sobre Excel. [21] Cuando Improv desapareció, rápidamente aparecieron varios clones de Improv. Entre ellos, destaca Quantrix de Lighthouse Design , un clon casi directo destinado al mercado financiero. Quantrix corrió la misma suerte que Improv cuando la empresa fue comprada por Sun Microsystems . [22] Después de dejar Sun Microsystems, Peter Murray fundó un ISP y luego un B2B llamado GoFish seguido por una tercera empresa nueva en 2001 con el nombre de Quantrix. [23]
El núcleo de lo que se convertiría en Improv era separar los conceptos de datos, vistas de los datos y fórmulas en tres partes. [24] La hoja de cálculo en sí misma contendría solo datos de entrada. En lugar de hacer referencia a los datos como, en efecto, "los datos que se encuentran en estas celdas", a cada conjunto de datos de la hoja se le daba un nombre y luego se podía agrupar en categorías. Las fórmulas se escribían en una sección separada y se hacía referencia a los datos a través de su rango, no de su posición física en las hojas. Las vistas de los datos, algunas de las cuales parecían hojas de cálculo, otras como gráficos, se podían crear de forma dinámica y no estaban limitadas en número.
Para ilustrar la diferencia entre Improv y otros sistemas, considere la sencilla tarea de calcular las ventas totales de un producto, dadas las ventas unitarias por mes y los precios unitarios. En una hoja de cálculo convencional, el precio unitario se escribiría en un conjunto de celdas, por ejemplo, la columna "A", y las ventas en otro, por ejemplo, "B". El usuario escribiría entonces una fórmula en "C" que dijera "A1 por B1" (normalmente en un formato como @times(A:1, B:1)
o =A1*B1
). Luego, esa fórmula debe copiarse en todas las celdas de la columna C, asegurándose de cambiar la referencia a A1 por una nueva referencia para A2, etc. La hoja puede automatizar esto hasta cierto punto, pero el verdadero problema es que simplemente no tiene idea de lo que significa la fórmula. Cualquier cambio en el diseño de la hoja de cálculo a menudo hará que toda la hoja deje de funcionar correctamente.
En Improv, uno simplemente ingresa los datos en columnas llamadas "Precio unitario" y "Ventas unitarias". Luego se puede crear una fórmula que diga "Ventas totales = Precio unitario multiplicado por Ventas unitarias". Luego, si se agrega la vista "Ventas totales" al libro de trabajo, los totales aparecerán automáticamente allí, porque la hoja "sabe" que para eso es la fórmula.
Pero el verdadero poder de Improv no se hizo evidente hasta que ya se había empezado a trabajar en el proyecto. Con el sistema de agrupación, se podían reunir las ventas mensuales en grupos como "1995" y "1996", y llamar a la categoría "años". Luego, los precios unitarios se podían agrupar en términos del tipo de producto, por ejemplo, "ropa" y "alimentos". Ahora, al arrastrar estos grupos (representados por pequeñas pestañas), la vista se podía cambiar rápidamente. Este concepto se ha implementado más tarde en forma de tablas dinámicas en varios productos.