Lotus 1-2-3

Lotus 1-2-3 là một chương trình xử lý bảng tính đã ngừng phát triển của Lotus Software (sau này là một phần của IBM). Nó là chương trình đột phá đầu tiên của IBM PC, đã rất phổ biến trong những năm 1980 và đã đóng góp đáng kể cho sự thành công của IBM PC.

Bảng tính đầu tiên, VisiCalc, đã giúp giới thiệu Apple II như là một trong những máy tính cá nhân đầu tiên sử dụng trong kinh doanh. Với việc IBM thâm nhập vào thị trường, VisiCalc đã phản ứng rất chậm, và khi họ phản ứng, họ đã đưa một phiên bản sao chép gần như nguyên mẫu sang hệ thống hiện tại của họ mặc dù phần cứng đã có khả năng mở rộng rất lớn. Giải pháp Lotus đã được đưa ra thị trường như một giải pháp tích hợp ba trong một, xử lý các tính toán bảng tính, chức năng cơ sở dữ liệu và biểu đồ đồ họa, do đó có tên là "1-2-3", mặc dù khả năng cơ sở dữ liệu còn phải bàn luận do bộ nhớ ít ỏi của Lotus. 1-2-3 đã nhanh chóng vượt qua VisiCalc, cũng như Multiplan và SuperCalc, hai đối thủ cạnh tranh của VisiCalc.

1-2-3 là bảng tính tiêu chuẩn trong suốt những năm 1980 và vào những năm 1990, một phần của một bộ không chính thức gồm ba sản phẩm tự động hóa văn phòng độc lập bao gồm dBase và WordPerfect, để xây dựng một nền tảng kinh doanh hoàn chỉnh. Với việc thị trường chấp nhận của  Windows 3.0, thị trường cho phần mềm máy tính để bàn tăng trưởng nhiều hơn. Không ai trong số các nhà phát triển bảng tính lớn đã xem xét nghiêm túc giao diện đồ họa cho người dùng để bổ sung các dịch vụ DOS của họ, và vì vậy họ phản ứng chậm với các sản phẩm dựa trên đồ họa của Microsoft, Excel và Word. Lotus đã bị Microsoft vượt qua vào đầu những năm 1990 và không bao giờ hồi phục. IBM đã mua Lotus và tiếp tục bán sản phẩm Lotus, và cũng chính thức ngừng bán hàng trong năm 2013.

== Lịch sử ==
=== VisiCalc ===
VisiCalc được ra mắt vào năm 1979 trên Apple II và ngay lập tức trở thành chương trình bán chạy nhất. So với các chương trình trước đó, VisiCalc cho phép người ta dễ dàng xây dựng các hệ thống tính toán dạng tự do cho bất kỳ mục đích thực tế nào, những hạn chế chủ yếu là bộ nhớ và tốc độ liên quan. Ứng dụng này rất hấp dẫn vì có rất nhiều câu chuyện về những người mua máy Apple II chỉ để chạy chương trình này. Thành công đột biến của VisiCalc trên Apple đã dẫn đến việc nó được chuyển mã sang các nền tảng khác, bao gồm cả họ Atari 8 bit, Commodore PET và nhiều nền tảng khác. Điều này bao gồm cả IBM PC khi nó ra mắt vào năm 1981, nơi nó nhanh chóng trở thành một chương trình bán chạy nhất, với doanh số ước tính khoảng 300.000 bản trong sáu tháng đầu tiên trên thị trường..

Có nhiều vấn đề được biết đến với VisiCalc, và một số đối thủ cạnh tranh đã xuất hiện để giải quyết một số vấn đề này. Một ví dụ đầu tiên là SuperCalc của 1980, giải quyết vấn đề tham khảo vòng tròn, trong khi một ví dụ hơi muộn hơn là Microsoft Multiplan từ năm 1981, cung cấp các bảng tính lớn hơn và các cải tiến khác. Mặc dù vậy, VisiCalc vẫn tiếp tục bán nhiều hơn tất cả..

=== Khởi đầu ===
Lotus Development Corporation được thành lập bởi Mitchell Kapor, một người bạn của các nhà phát triển của VisiCalc. 1-2-3 ban đầu được viết bởi Jonathan Sachs, người đã viết hai chương trình bảng tính trước đây trong khi làm việc tại Concentric Data Systems, Inc. Để hỗ trợ sự tăng trưởng của nó, ở Anh, và có thể ở nơi khác, Lotus 1-2-3 là phần mềm máy tính đầu tiên sử dụng quảng cáo tiêu dùng trên truyền hình.

Lotus 1-2-3 được phát hành vào ngày 26 tháng 1 năm 1983, và ngay lập tức vượt qua Visicalc trong doanh thu. Không giống như Microsoft Multiplan, nó vẫn rất giống với mô hình VisiCalc, bao gồm ký tự "A1" và ký hiệu ô số, và cấu trúc menu slash. Nó đã được lập trình sạch và tương đối không có lỗi, đạt được tốc độ hoàn toàn bằng hợp ngữ x86 (điều này vẫn đúng cho tất cả các phiên bản DOS của nó cho đến 3.0, khi Lotus chuyển sang viết bằng C) ghi trực tiếp vào bộ nhớ video thay vì sử dụng hàm DOS và/hoặc chức năng in ra văn bản của BIOS rất chậm.

Trong số những cái mới mà Lotus giới thiệu là một tính năng vẽ đồ thị có thể hiển thị một số dạng biểu đồ (bao gồm biểu đồ hình tròn, đồ thị thanh hoặc biểu đồ cột) nhưng yêu cầu người dùng phải có card màn hình đồ họa. Ở giai đoạn đầu này, các bo mạch video duy nhất có sẵn cho PC là CGA của IBM và màn hình đơn sắc trong khi các bo mạch video không hỗ trợ bất kỳ đồ họa nào. Tuy nhiên, vì hai bo mạch video sử dụng địa chỉ RAM và địa chỉ cổng khác nhau, cả hai đều có thể được cài đặt trong cùng một máy và vì vậy Lotus đã tận dụng điều này bằng cách hỗ trợ chế độ màn hình "chia đôi", nhờ đó người dùng có thể hiển thị phần bảng tính 1-2 3 trên video đơn sắc sắc nét hơn và đồ họa trên màn hình CGA.

Phiên bản đầu tiên của 1-2-3 chỉ hỗ trợ ba thiết lập video, CGA, MDA (trong trường hợp tính năng vẽ đồ thị không có sẵn) hoặc chế độ theo dõi kép trên hai màn hình. Tuy nhiên, một vài tháng sau đó hỗ trợ đã được bổ sung cho card màn hình Hercules của Hercules Computer Technology, vốn là một bản sao của MDA cho phép chế độ bitmap. Khả năng vẽ đồ họa và văn bản có độ phân giải cao (với giá phải trả là số màu sắc) tỏ ra rất phổ biến và Lotus 1-2-3 được công nhận là đã giúp phổ biến card đồ họa Hercules.

Các bản phát hành tiếp theo của Lotus 1-2-3 hỗ trợ nhiều chuẩn video hơn khi thời gian trôi qua, bao gồm EGA, AT&T/Olivetti và VGA. Đáng chú ý, hỗ trợ cho các chế độ PCjr/ Tandy không bao giờ được thêm vào và người dùng các máy này bị hạn chế với đồ họa CGA.

Các phiên bản đầu tiên của 1-2-3 cũng đã có một bảo vệ bản sao đĩa dùng khóa. Trong khi chương trình được cài đặt trên đĩa cứng, người dùng phải chèn đĩa mềm gốc khi khởi động 1-2-3. Kiểu bảo vệ này dễ dàng bị bẻ khóa và một sự bất tiện nhỏ đối với người dùng gia đình, nhưng lại tỏ ra phiền toái nghiêm trọng trong môi trường văn phòng. Bắt đầu với bản phát hành 3.0, Lotus không còn sử dụng tính năng bảo vệ bản sao nữa. Tuy nhiên, sau đó để "khởi tạo" đĩa hệ thống cần nạp tên của một người và tên công ty để tùy chỉnh bản sao của chương trình. Phiên bản 2.2 trở lên có yêu cầu này. Đây là một quá trình không thể đảo ngược, trừ khi một người đã thực hiện một bản sao chính xác của đĩa gốc để có thể thay đổi tên nếu anh ta chuyển chương trình cho người khác.

Sự phụ thuộc vào phần cứng cụ thể của IBM PC dẫn đến 1-2-3 được sử dụng như một trong hai ứng dụng thử nghiệm về công suất, cùng với Microsoft Flight Simulator, cho khả năng tương thích 100% thực sự khi các bản sao PC xuất hiện vào đầu những năm 1980. 1-2-3 yêu cầu hai ổ đĩa và ít nhất 192K bộ nhớ, làm cho nó không tương thích với IBM PCjr;; Lotus đã sản xuất một phiên bản giống hệt cho PCjr trên hai hộp đĩa.

Đến đầu năm 1984, phần mềm là một ứng dụng đột phá cho máy tính IBM và các máy tính tương thích, trong khi làm giảm việc bán máy tính không thể chạy được chương trình này. "Họ đang tìm kiếm 1-2-3. Cậu bé, họ đang tìm kiếm 1-2-3!" "InfoWorld" viết. Lưu ý rằng người mua máy tính không muốn tương thích với PC nhiều như khả năng tương thích với một phần mềm máy tính nhất định, tạp chí đề nghị "hãy nói theo cách đơn giản nhất. Chúng ta không nói 'tương thích PC,' hoặc thậm chí 'tương thích với MS-DOS.' Thay vào đó, chúng ta hãy nói 'tương thích với 123.'" ' 'Quảng cáo các sản phẩm PC nhái' thường khẳng định rằng chúng tương thích với 1-2-3. Một công ty phần mềm cho Apple II hứa rằng bảng tính của nó có "sức mạnh của 1-2-3". Vì các bảng tính sử dụng lượng bộ nhớ lớn, nên 1‐2‐3 đã giúp phổ biến dung lượng RAM lớn hơn trong PC, và đặc biệt là sự ra đời của bộ nhớ mở rộng, cho phép truy cập bộ nhớ lớn hơn 640k.

=== Các đối thủ ===
Những người bắt chước Lotus 1-2-3, người đầu tiên trong số đó là "The Twin" của Mosaic Software, được viết vào mùa thu năm 1985 chủ yếu ngôn ngữ C, tiếp theo là VP-Planner, được hậu thuẫn bởi Adam Osborne. Chúng không chỉ đọc được các tệp của 1-2-3, mà còn thực hiện nhiều hoặc hầu hết các chương trình macro bằng cách kết hợp cùng một cấu trúc lệnh. Luật bản quyền đầu tiên được hiểu là chỉ bao gồm mã nguồn của một chương trình. Sau sự thành công của các vụ kiện mà tuyên bố rằng "cái nhìn và cảm nhận" của một chương trình cũng được bảo hộ bản quyền, Lotus đã tìm cách cấm bất kỳ chương trình nào có cấu trúc menu và lệnh tương thích với nó. Lệnh chương trình đã không được coi là thuộc bản quyền trước đây, nhưng các lệnh 1-2-3 được nhúng vào các từ của menu được hiển thị trên màn hình. 1-2-3 đã thắng vụ kiện chống lại Mosaic Software. Tuy nhiên, khi họ kiện Borland với phần mềm bảng tính Quattro Pro trong vụ kiện Lotus v. Borland, các tòa án phán quyết rằng nó không phải là một sự vi phạm bản quyền khi hai phần mềm có một trình đơn hoặc ngôn ngữ lệnh tương thích với nhau. Vào năm 1995, First Circuit phát hiện ra rằng các menu lệnh là một "phương thức hoạt động" không thể lấy bản quyền được theo phần 102 (b) của Đạo luật Bản quyền. Cấu trúc menu 1-2-3 (ví dụ, File Erase) là một phiên bản nâng cao của các menu đơn được giới thiệu trong VisiCalc.

=== Thoái trào ===
Bảng tính Multiplan của Microsoft cuối cùng đã nhường chỗ cho Excel, được ra mắt trên Macintosh vào năm 1985. Nó xuất hiện trên PC với bản phát hành Windows 2.x vào năm 1987, nhưng vì Windows vẫn chưa phổ biến, nó không gây ra mối đe dọa nghiêm trọng nào cho doanh số bán bảng tính của Lotus. Tuy nhiên, Lotus đã phải chịu những trở ngại kỹ thuật trong giai đoạn này. Phiên bản 3 của Lotus 1-2-3, được chuyển đổi hoàn toàn từ bộ ghép macro gốc sang ngôn ngữ C dễ chuyển đổi hơn, đã bị trì hoãn hơn một năm vì chương trình 1-2-3 mới hoàn toàn phải được lập trình trên nền tảng và hoàn toàn tương thích với các tập macro và định dạng tệp hiện có. Không có khả năng phù hợp với kích thước mã lớn hơn của C được biên dịch thành các mã máy công suất thấp hơn buộc công ty phải phân chia các dịch vụ bảng tính, với 1-2-3 bản phát hành 3 chỉ dành cho máy cao cấp và phiên bản 2.2 mới, dựa trên phiên bản 2.01 mã hợp ngữ, dùng cho các máy tính không có bộ nhớ mở rộng. Vào thời điểm các phiên bản này được phát hành vào năm 1989, Microsoft đã lấn phần lớn thị phần của Lotus.

Trong những năm đầu thập niên 1990, Windows đã trở nên phổ biến và cùng với nó là Excel, dần dần khiến Lotus mất vị trí dẫn đầu của nó. Một bản sửa đổi tổng cộng đã được lên kế hoạch của phần mềm 1-2-3 cho Windows đã thất bại và tất cả những gì mà công ty có thể làm là bản phần mềm cho Windows với bảng tính hiện tại của họ mà không có thay đổi gì ngoại trừ sử dụng giao diện đồ họa. Ngoài ra, một số phiên bản 1-2-3 có các tính năng khác nhau và giao diện hơi khác nhau.