As I write this on the last day of an impossibly gorgeous three-day weekend, my thoughts turn somewhat naturally to Memorial Day, the holiday we're currently celebrating in the United States. Memorial Day began as Decoration Day in the wake of the US Civil War, and it was originally designed as both a memorial to the dead on both sides and the emancipation of slaves. Since then, Memorial Day has changed quite dramatically over time: After World War I, it was changed to a memorial for the dead of all of the nation's wars. These days, despite an ongoing war, it seems to be more about barbeques, beaches, and auto sales.
In the spirit of the holiday, however, I'd like to take a moment to remember those technologies that have come and gone and look back to a simpler age. We live in an era of almost inconceivable connectedness, and yet as a result of this achievement, the technology we use has been forced to become more secure, more reliable, and more stable. What's odd about this situation is that we seem to have lost something amidst all this continuous achievement. I guess you could make the same argument about virtually anything in life these days.
These are some of the technologies I expected so much from. And yet, in the end, they were really just road bumps on the path to the future.
In what might be described as Microsoft's first pure anticompetitive act, the company (unsuccessfully, as it turned out) colluded with IBM to shut down the hardware and software clones that had made the PC market so ubiquitous. On the software side, the company's solution was called OS/2, and it was designed to be the successor to MS/DOS, which was the dominant OS from the PC's inception through the early 1990s. OS/2, of course, was destined for the dust bin of history, but for a shining moment in the early-to-mid-1990s, it was technically and functionally superior to Windows. If you had asked me circa-1993 which OS I thought would win in the end, I absolutely would have chosen OS/2.
I wasn't the only one who thought OS/2 had legs. "I believe OS/2 is destined to be the most important OS, and possibly program, of all time," Microsoft CEO Bill Gates wrote in the introduction to "The OS/2 Programmer's Guide." "As the successor to DOS, which has over 10,000,000 systems in use, it creates incredible opportunities for everyone involved with PCs." OS/2 achieved some success in some vertical markets, most notably banking, but it would never achieve mass market success. Ironically or not, we have Microsoft to blame for that: A skunk works project inside the company to revitalize Windows eventually resulted in Windows 3.0, which proved to be a major hit with customers and paved the way for the PC market of today.
Borland Delphi and VCL
The software we've used over the years was created with various development tools, programming languages, and, most recently, different developer frameworks, which abstract the underlying system enough so that programmers can work on the problem at hand and not have to spend most of their time working around the limitations of the platform for which they're developing. By the mid-1990s, Microsoft's relatively arcane Win32 API, primarily aimed at C programmers, gave way to the even more obtuse Microsoft Foundation Classes (MFC) and ActiveX Template Library (ATL), two C++ frameworks that, charitably, are among the worst computer science achievements of all time.
Enter Borland Chief Architect Anders Hejlsberg, who invented a developer framework that actually makes sense: His Visual Component Library (VCL) was both object-oriented and easy to understand (unlike, say, the MFC), and it was based on the elegant and beautiful Delphi, a development environment that utilized the Object Pascal language, which, unlike C++, was logical, consistent, and, yes, easy to read and understand. Sounds like an instant winner, right?
Despite its superiority to anything Microsoft had to offer, Delphi never became a huge success. Meanwhile, Hejlsberg joined Microsoft and helped create Microsoft .NET and the C# programming language, which is often described as "C++ done right." Today, developers are working with the third major version of the .NET Framework, which extends the capabilities of the previous versions with dramatic new visualization, communication, and networking features, as well as new .NET-based technologies like PowerShell. Borland, meanwhile, sued Microsoft (and later settled). Today, it has sold off Delphi, as well as a related C++ product called C++ Builder. But developers interested in a logical, OOP-based environment can at least look to C# and .NET. Still, you have to wonder what could have been.
In late 1998, Microsoft announced that its then-in-beta Windows NT 5.0 product would be rebranded as Windows 2000. Though that product would eventually and temporarily bear the redundant subtitle "based on NT technology," NT partisans knew it was all over: The marketers at Microsoft had taken over and everything that was right about NT would unravel over the next few years. From the dangerous decision to integrate the immature Microsoft Internet Explorer (IE) technologies into the core of the OS to a disastrous and ultimately unsuccessful attempt at melding the 16/32-bit Win95 consumer products with the 32/64-bit NT products in the Win2K development time frame, Win2K was destined for some birthing problems. Add to that, of course, the dramatic move to Active Directory (AD) and Group Policy at that time, and it's astonishing that the product worked at all.
After a couple of service packs, Win2K became a well-respected Windows release and the foundation for the several major Windows versions that have followed. But NT old-timers understand all too well how the bulletproof patina of NT came crumbling down when Microsoft put all its OS eggs in one basket, and we've been paying for this decision ever since. Sure, NT today is too antiquated to be considered safe in today's ultra-connected world. But I'm guessing there are more than a few NT guys out there who would pay dearly to return to those days. I know I would.
So that's what I'm remembering this Memorial Day, and I have to say, it gives me a weird nostalgic twist in the gut to think back on what might have been. Are there any technologies you expected so much from, only to be disappointed as the tides of popularity and competition crashed on different shores? Let me know what you think.