Programming Windows: Windows DNA (Premium)

With Windows once again at the heart of Microsoft’s strategy, the software giant assembled its developer base for another massive PDC (Professional Developers Conference) in October 1998, this time in Denver. Unlike most previous PDCs, which focused on specific platform milestones, like Win32 and Windows NT in 1992 and the Internet PDC of 1996, this show lacked a singular focus. Instead, spurred to action by antitrust accusations, Microsoft sought to present a mature face to the world, one that focused more on its cozy relationships with developers and customers, and less on its ability to embrace and extend the Internet.

The timing of this PDC was strange, since there were literally no major platform milestones on the near horizon. Windows NT 5.0 had been delayed repeatedly and now wouldn’t ship until late 1999. And Windows 98, which Microsoft originally planned as the final entry in the DOS-based Windows family, would now be followed-up by two sequels in the next few years. So, with its grand unification plan pushed back beyond those releases, Microsoft’s messaging was all about momentum.

It was a comforting story: The PC industry was experiencing a period of explosive growth, driven in no small part by the “economic engine” that was Windows. In just a few short months, Windows 98, which had no truly compelling new features, managed to sell over 2.5 million units, and was selling faster than did Windows 95 during the same time frame in its release cycle three years earlier. Internet Explorer had eclipsed the usage share of Netscape Navigator for the first time, 43 percent to 40, thanks in no small part to IE 4.0, which was favorably received and considered by reviewers to be superior. Even NT was doing great, despite a slow sales start for Windows NT 4.0: NT Workstation had sold over 18 million units since its original release and was then being preinstalled on 20 percent of new business-class PCs. And NT Server was by now outselling both Netware and all versions of Unix combined.

The PC value proposition was so successful that it was outstripping the rest of the industry. “Customers have a choice of software that is independent of their choice of hardware,” Gates said of the miracle that made the PC different from previous computing platforms. The PC, he said, was the perfect combination of “high growth, high volume, and low price.” And the future was assured with pushes towards 64-bit computing, symmetrical multiprocessing, and a coming wave of new PC form factors that would include “Tablet-like devices, TV-like devices,” and “always-connected” networking capabilities.

Naturally, Microsoft was leading the way with versions of Windows that would be specially tailored for each, a realization of Bill Gates’ “information at your fingertips” dreams. The first such branch, called Windows CE (for “consumer electronics,” despite future refutations of that moniker), had shipped in 1995 on small Handheld PCs (HPCs). Later versions targeted even smaller devices, with names like Palm-sized PCs and Pocket PCs, but Microsoft’s goal for CE was to get the system in TV set-top boxes.

Before any of that could happen, however, Microsoft needed to clean up its mess. Both Windows and NT were stratospherically successful, but both had also been developed and iterated at such incredible speeds that they were buggy, unreliable, and a source of bitter jokes for Microsoft’s few remaining enemies. If Windows was going to sit at the center of Microsoft’s future, it would need to be improved dramatically. And so Microsoft presented Windows NT 5.0—and, less vocally, future versions of Windows 98—as being simpler, more reliable, and, in the case of NT, more scalable too.

“Microsoft has the most work to do here,” Gates said, in a rare bit of public honesty. “In the same way that we incorporated internet standards as a top priority, now we’re giving simplicity that same position.”

That’s not exactly an exciting rallying cry. But it’s likely that the developers in the audience appreciated the news that Microsoft was now focusing on Windows, and not the Internet, and that their own applications would run on ever more reliable systems than was then currently the case.

Moreover, Microsoft wasn’t presenting any new platforms, any major left turns. Instead, it was evolving. The Win32 APIs, long stable, would continue forward. Microsoft would evolve its developer languages, primarily Visual Basic and Visual C++, together, and move towards integrating their Integrated Developer Environments (IDEs) into a single product. Microsoft’s COM component-based platform would likewise evolve, morphing again into COM+, which would ship inside Windows NT 5.0 and include integrated message queuing and transaction processing capabilities.

With the shift back to a Windows-centric strategy, Microsoft wouldn’t abandon the Internet, or the Internet-like intranet functionality that so many of its business customers had already adopted. Instead, it would simply shift the conversation back to Windows, and to “Windows-based applications for the Internet age.” The Internet had been embraced, and it had been extended. Now it would simply be a feature of Windows, on both the client and the server.

And in-between, as it turns out.

One of the key differences between the NT of the early 1990s and the NT of the late 1990s was that computing was becoming distributed. Where the first NT version was designed as a client-server system, in keeping with the norms of the day, the next NT was evolving to address a so-called n-tier architecture inspired by the rise of the Internet and of the commingling of Internet services with Windows software. (Today, n-tier is more commonly called multi-tier or three-tier.)

The client-server model was essentially a two-tier architecture in which an application’s presentation (or user experience) was physically separated on the client from the server-based business logic and data. With an n-tier architecture, the presentation, business logic, and data that make up a software solution are all logically separated from each other. That doesn’t necessarily mean that each is always physically isolated from each other on different machines, just that they could be.

Microsoft branded the collection of technologies that enabled an n-tier architecture in NT as Windows DNA, which awkwardly stood for Windows Distributed interNet Applications. It was a bit hard to understand at first.

“Microsoft’s goal for the Windows DNA architecture is to create a framework for building applications based on the Windows platform that unifies and integrates the personal computer and the Internet,” Microsoft’s Joe Flanigen wrote in late 1997, when the software giant first started using the term. “The operating system will provide services to handle communications with both the corporate and public networks. These services, which will build upon the important standards from the likes of the World Wide Web Consortium and the Internet Engineering Task Force, are what allow the two paths to finally merge. Your existing application investments will be maintained, so you can focus on creatively building tomorrow’s killer apps.”

Um, sure.

By PDC 1998, the messaging had been refined, and Windows DNA had evolved into “the official application development model for the Windows platform.” Under this new model, the presentation layer could be a Dynamic HTML (DHTML) web app running in Internet Explorer or a rich Win32 desktop application. The business logic layer was software code, often based on COM, written in a Microsoft-compatible language/environment like Visual Basic or Visual C++, or using ASP for web-based applications. And the data layer could be any form of database or other data source, including Microsoft SQL Server and legacy systems.

Key to Windows DNA and its n-tier architecture was that this application development model could scale, in this case from a Windows laptop up to a multi-server or clustered solution in the datacenter. It was a model that could work for software used by individuals or by small businesses, but it could also scale up to the biggest, most distributed enterprises as well.

“Windows is the applications platform,” Gates flatly told the PDC 1998 audience. “It shouldn’t be necessary for software developers to go out and get an expensive new runtime, and get their customers to buy that for all these applications. There should be an integrated approach that ties in very directly to the security, the directory, the user interface, all the administrative tools that are in the operating system itself.”

As Gates hints in that comment, Windows DNA was part of a response to a competitive threat: Sun Microsystems was trying to extend Java to enterprise servers, and to a new kind of thin client that it thought might replace Windows. And Microsoft’s response is rather classic, given the antitrust scrutiny it was then under: It extended Windows to include a new thin client that would run on so-called Net PCs, it would create a more language-neutral solution that didn’t lock developers into new programming languages and tools, and it scaled NT to not just match the capabilities of Unix, but to surpass it in virtually every way.

For the Microsoft developer base, Windows DNA was just a name, an umbrella term. And they had been wrestling with a steadily expanding set of its capabilities, first via add-ons to Windows NT 4.0, for the past couple of years. These included the Internet Information Services (IIS) web server, which quickly evolved with four major updates, numerous improvements to the component services capabilities of COM, including Distributed COM (DCOM), Microsoft Transaction Server (MTS), and Microsoft Message Queuing (MSMQ), and various data access services (ODBC begat OLED DB, which transitioned into ADO). Each would arrive in Windows NT 5.0 in updated and often renamed form as well.

“Building it in is really the only approach,” Gates noted. The message was clear: He was not going to let the government determine what could and could not be integrated into Windows. If the DOJ thought that bundling a web browser was illegal, it was unclear what it would think of the kitchen sink approach that Microsoft was taking with Windows DNA. (It is also likely that since most of this work was happening exclusively in NT, and often on the server, that it was a problem for another day.)

As a historical note, it is interesting to know that Gates downplayed competing thin-client approaches because it was impossible, at that time, to create one that could run a web browser successfully. (Today, of course, Chromebooks are both less expensive and less resource-intensive than traditional Windows laptops.)

“A thin client can’t have a browser running in the client,” he said at the time, “because the browser is a very large-sized application, larger than any productivity application. It requires the full-blown PC hardware. So the myth that you could somehow run a browser on something cheaper than a PC, that was exposed. The way to get a thin client is to actually take that work and offload it to the server. And for a class of users who have worked with terminals in the past, this is fantastic.”

Microsoft also had another ace up its sleeve for any business considering thin clients: Terminal Server.

“The Windows Terminal Server is a key part of our strategy and it’s proving to be very important to customers because they can decide for any user whether to give them a Windows Terminal or a Windows PC without any impact on their application development,” Gates explained. “The APIs are the same, the user interface is the same, the productivity tools are the same. And if that user is making heavy use of the system, they can move up from the Windows Terminal to full-blow PC with all the rich peripherals, the portability, without changing any of the learning that they’ve done. They just get lower latency, more power at their fingertips, without any software adjustments. That flexibility at the client level is unique [to Windows].”

Windows DNA didn’t last long as a brand, less than two years. But the constituent parts that made up Windows DNA continued forward, and they formed the basis for .NET, a more modern computing platform that Microsoft would introduce a few years later. Microsoft .NET is central to the second 15 years of Windows, and to the second half of this article series. But we’ve got several more topics to address before we can get to that.

Before moving on, a personal story.

In June 2000, I attended TechEd 2000 in Orlando, and a coworker and I—yes, the same coworker of “NT EVERYWHERE!” fame—arrived early one night at a restaurant that was part of an attendee or press party. One of the PR people at the front of the restaurant directed us to a giant mound of Microsoft-logo polo shirts on the floor and told us to help ourselves to whichever we wanted. Digging through the pile, I came up with an olive green polo shirt emblazoned with a Windows DNA logo (and perhaps other shirts, I don’t recall).

Later that week, I was wearing the shirt and I could see a Microsoft employee eyeing it. He came over to ask me why I had it, and where I had gotten it. So I told him about the mound of shirts, most of which were still available in the press room, which was nearby. He then asked if I knew the story behind the shirt.

I didn’t, so he told me that when they handed out those shirts to the Windows DNA team, there weren’t enough of certain sizes. And that two women got in a bloody fistfight over the last shirt in whatever size, and needed to be physically separated and restrained.

I pointed back towards the press room and said, “Well, tell them they’re giving ‘em away now for free if they still want one.”

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Thurrott