The goal of this paper is to provide a business overview of Microsoft’s .NET initiative, how it ties together a variety of products into a corporate strategy, how it was used to respond to competitors, what strategies Microsoft used to drive .NET forward, and what problems occurred during its delivery.
The focus of this paper is primarily on business issues and strategy. It is intended to provide an analysis on the motivations, methods, and means that drive .NET. The component technologies and products of .NET will be mentioned here but not covered in detail. Most product releases are incremental in nature. .NET was not so much a product as a broad vision that included a variety of incremental products in conjunction with multiple technology initiatives. Its sweeping scope makes it truly unique among business strategies in the high tech marketplace where most strategies are geared towards single product lines and are seasonal in nature. The widespread nature of .NET and its substantial impact on the IT industry makes it an interesting topic to study.
This analysis will first cover the different aspects that make up the whole of .NET: the products, the technology, and the branding. Next it will cover the reasons why Microsoft released .NET as well as its value proposition to customers and adopters. This analysis will also cover the various strategies for rolling out .NET, and some problems encountered during the roll out.
An Overview of .NET
.NET is an example of a revolutionary strategy and a major innovation. .NET is a vision, not a product. It is a brand, and a platform, and a strategy that Microsoft leverages against its competitors in a variety of product areas.
Replacing an Older Generation
.NET is a framework that replaces a variety of different Microsoft technologies introduced in the 90’s: Windows DNA, COM, ASP, ActiveX, ADO and others. Tens of thousands of applications are evidence that these technologies were successfully adopted by the developer community. Even with all these technologies to build on, .NET will fundamentally change the way that software for Windows is designed, coded, and deployed.
Web Services at its Heart
The fundamental new technology at the core of .NET is web services. As the name suggests, web services are new functions to create internet-aware applications. Web services are business and consumer software applications, delivered across the internet that let users access and share data across devices, databases, and organizations. The introduction of Microsoft web services is an acknowledgement that the future of applications has moved from desktop GUI applications to web-centric browser based applications run across the internet, on .NET enabled servers. The introduction of web services is also an acknowledgement that rival technologies such as Java have to be dealt with.
.NET is a brand used to pull together otherwise distinct technologies:
* The Common Language Runtime (CLR) – a set of programming languages and a common development framework that allows all .NET development tools to access all other .NET building blocks
* ASP.NET – development libraries for the Microsoft web server
* ADO.NET – development libraries for the next generation of database management
* Windows Forms – development libraries for sophisticated GUI’s over the web
* Enterprise Services – development libraries for business-critical high performance transaction services
* The .NET Compact Framework – Scaled down development libraries geared for use on mobile phones, PDA’s, set-top boxes and other small internet-capable devices
* My Services – A set of web services intended to provide an easy means of accessing frequently web data. This was later cancelled after much controversy over privacy issues.
A Tools Strategy
The Common Language Runtime (CLR) was a major advance from the previous Microsoft development environment and was also a move to counter the threat from Sun’s “write once, run anywhere” Java development environment. The introduction of Java meant that the Java code written on a PC could also run on Linux, Novell, Macintosh, Sun workstations, and even IBM mainframes. Java threatened to destroy Microsoft’s competitive barriers. Java started as a client-oriented application language but evolved to support web services and eventually provided a rich set of tools to create web-centric applications. Since its introduction Java has also gained great market share in back office operations, further cutting into Microsoft’s profits.
Countering Rival Technologies
CLR adopted most of Java’s features and virtually eliminated Java’s competitive advantages. Specifically, CLR moved to a “managed code” paradigm, where applications run within a safe virtual area. It also adopted Java’s superior memory management garbage collection techniques, increasing reliability of applications. CLR provided a common and open semantic foundation for more than a dozen different programming languages, each able to access the core .NET operations. It was Microsoft’s intention that its tools still be favored but developers but that developer would be free to use alternative programming languages to write .NET applications.
CLR also introduced C#, a programming language with close similarities to the Java programming language. C# is the successor to Microsoft’s legally challenged J++ Java development environment and has quickly gained popularity.
Motivations for .NET
.NET provides profound benefits to Microsoft. .NET provides Microsoft with its next generation of products, services, and subscriptions. It brings together a variety of products under a single brand and thus reinforces the perception of interoperability. Most importantly it addresses challenges by competitive technologies.
Microsoft has used the introduction of the CLR and C# to address and neutralize the challenge of Java and the sector of back office enterprise services that Java enabled. When Java was adopted to perform back-end server functions in the form of J2EE it was a powerful, scalable, and inexpensive means of providing web services. J2EE was a powerful enabling technology for many of Microsoft’s key competitors such as Sun, Oracle, Novell, IBM, and Linux to name just a few. Providing a better alternative to J2EE was of great strategic importance to Microsoft. To leave the back-end server market vulnerable to J2EE was to leave the door open to a classically disruptive technology that could continue to grow and displace its products. Microsoft had to respond.
Dominating All Web Services
.NET was also very important as a means of keeping customers on various Windows platforms, whether on the Windows desktop, Windows Server, or Windows Compact Edition (CE) platforms. Linux was threatening to emerge as a cheap desktop alternative. Linux and Solaris were both alternative server platforms taking business away from Windows Server products, Linux at the low end, and Solaris at high end. Palm dominated the PDA platform, and Symbian and Java competed with WinCE for the remaining PDA market. Microsoft needed a significant value proposition to prevent the erosion of all segments of its valuable Windows platform. If its various Windows market shares were compromised, Microsoft would also loose market share for its Office, applications, and services profit centers. .Net was a means of protecting Windows.
The Key Value Proposition
.NET made all the respective .NET technologies available on all versions of Windows using any of the CLR tools. Web services running on Windows Server could now be available on Windows XP as well as PDAs running WinCE. .NET was the means of providing a barrier to exit and further locking customers into Windows.
.NET significantly improved the value proposition to customers. The proliferation of internet viruses, worms, and security exploits showed the need for better overall security. The managed code framework of .NET provided a means of writing more secure applications free from the exploits found in the previous generation of Microsoft products.
“DLL Hell” Solved
.NET also solved the problem of “DLL hell”. This is the problem created when an application installs a DLL library with the same name as a previous DLL library but with different functions. Over time it is almost guaranteed that an application, Microsoft or 3rd party, will overwrite an existing DLL in use by some application. This inevitably leads to crashes, instability, and general chaos. .NET applications are written to prevent this nightmare scenario and will be of great benefit and peace of mind to future Windows users. This feature alone was a major selling point.
Next-Generation Development Tools
A benefit not inherent in .NET but certainly related is Microsoft’s creation of a set of powerful, next-generation .NET development tools. Microsoft has long been the leader in developing powerful, usable, and consistent integrated development environments (IDEs) for Visual Basic, Visual C++, and Visual J++. Microsoft declared that its .NET tools would “Streamline the programmable surface area of Windows, and enrich the user experience.”
It is widely acknowledged that Microsoft’s tools are superior to its competitors’ offerings in both learning curve and productivity. Microsoft made a prolonged and concerted effort to extend its IDE’s so developers could have access to core .NET features. Microsoft also opened access to the CLR so that 3rd party developers could create their own .NET development tools. In this way .NET benefited greatly from a wide variety of next-generation of development tools. By opening its interface Microsoft was able to deflect criticism from the growing open source movement about the proprietary nature of .NET.
A Single Internet ID System
One .NET feature which was to benefit end customers across the internet was Passport. Passport was a web service that would allow users to have the same user ID and password across the entire internet for services like web mail, purchases on eBay and Amazon, and home banking. Managing multiple internet passwords is a problem that Passport was designed to solve. This service became mired in controversy and was later cancelled. Its failure will be covered in more detail later in this paper.
Strategies for Introducing an Innovation
Introducing such a radical and all-encompassing platform strategy required a phenomenal effort by Microsoft. With a few exceptions the company has done an excellent job of educating customers and managing the transition from the old technologies and product to .NET.
A Big Introduction
.NET was initiated in 2000 with great pomp and circumstance. Any actual products were still years away but the announcement started the important process of educating customers. It was also effective at instilling fear, uncertainty, and doubt in its competitors’ camps. Microsoft was effective at articulating its strategy.
Once the first set of Beta tools were available Microsoft began promoting them heavily. The company held numerous free seminars across the country to evangelize the new platform and tools. It offered effective incentives such as free training, free software, free tools, free t-shirts and other giveaways. It did this relentlessly for several years.
Microsoft held numerous online promotions to keep developers’ attention. It used the Beta program to gain feedback from its intended customers and to shape and optimize its products. When the Visual Basic .NET development tool was in Beta, its features were substantially changed based on feedback from users.
Microsoft worked diligently to create alliances with online developer forums, and local user groups. The Microsoft .NET support area lists many dozens of support forums and news groups for developers to find community support. There are also several monthly .NET magazines publishing informative articles and news.
Microsoft used branding as a means of pulling together disparate product lines and creating consistency. It re-branded parts of its pre – .NET product line even though these products have little in the way of .NET features. This branding has helped create the impression of special interoperability of the various .NET components.
Use of Standards
The company successfully leveraged multi-vendor standards such as XML, SOAP, WSDL to avoid the appearance of being too proprietary. This is somewhat ironic since the core of .NET is truly 100% proprietary and offers no substitutes once you adopt it. Although .NET makes liberal use of standards, it is essentially a lock-in mechanism for Microsoft products.
The company distributes the .NET runtime free to users running older versions of Windows. In this way .NET will support legacy operating systems. It also provides free, time-limited trial versions of virtually all of its .NET products. .NET will run side by side with the legacy products it replaces, reducing the migration risk. This means that companies and users can make a gradual migration and reduce the cost and risk of adopting .NET technologies
Clear Migration Strategy
Microsoft has provided a very clear migration strategy for developers. There has never been any question about the direction and detail of the migration path. Microsoft provides literally dozens of white papers discussing various migration options. This has greatly decreased any uncertainty and has greatly aided in corporations’ ability to do the necessary large scale planning for adoption and migration.
Some Failures and Criticisms of .NET
Security and Privacy Concerns Sink Passport
Passport was intended as a subscription web service Microsoft would sell to other companies. The services were intended to provide three key features. A single sign-on anywhere on the Internet, a secure and private electronic wallet function for internet purchases, and a secure and censored Kids’ passport service. According to an FTC commission investigating security and privacy concerns regarding Passport, Microsoft made false claims that:
- Passport made reasonable and appropriate means to insure security and confidentiality to protect personal information and credit card information of Wallet users.
- Purchases made using Wallet were more secure than purchases used without Wallet.
- Passport did not collect personal information other than that disclosed on its privacy statement.
- The Kids’ Passport provided parental control over what content web sites could collect on their children.
Microsoft was found guilty and settled these charges with the FTC. The negative press leading up to these charges was a major cause for Passport’s demise. In addition, numerous security breaches in the Passport web services gave a bad impression to potential corporate users. Passport was demoted in status to an internal product and later killed.
Confusing Name Changes
.NET has become a powerful brand with the full force of Microsoft marketing behind it. The first version of the enterprise server operating system known as Whistler was originally scheduled to ship in 2002 and was to be known as Window Server 2002. After a year of development and development delays, the product was provisionally renamed Windows .NET Server 2003 to emphasize the .NET branding. Additional development delays and changing internal schedules pushed a lot of the .NET managed code features out of that server release into the next release of Longhorn currently scheduled for 2006. The .NET brand was dropped from the product name and it was released as Windows Server 2003. While this server release has received widespread praise for the .NET 1.1 features it does have, its loss of the .NET branding created a lot of uncertainty among potential .NET adopters who were watching and waiting for the new .NET features.
Paul Randle, Microsoft’s server product manager said, “The aim of the name change is to clarify the messaging around the product. We felt that .NET was potentially confusing to customers because we were using it almost as a version name , whereas the .NET is an entity in its own right” This name flip-flopping provided fodder for Microsoft’s rivals, eager to point out problems in .NET.
Problems Overhauling Visual Basic
Visual Basic was the single most popular development tool for the previous generation of Microsoft developers. The transition to its successor, Visual Basic .NET was not without some problems. The architects of Visual Basic changed many aspects of the language including even the fundamental semantics that had been constant since the language was first released 12 years ago. When Microsoft released an early Beta version of Visual Basic .NET, it changed how developers used the boolean operators for True and False. The outcries from the development community caused this new method to be withdrawn in the next Beta release. It is still the case, however, that virtually every Visual Basic program needs to be rewritten to run under Visual Basic .NET.
An issue that development companies complain about today is which version of .NET they should support in their software. There are now three different versions of .NET each with a different set of features: 1.0, 1.1, and 2.0. Version 1.0 is the most widely deployed, being accessible on Windows 2000 and up. Version 1.1 has more features, comes included with Windows XP and Server 2003 but is not as widely deployed. Version 2.0 will be released from Beta in the next few months. Some companies have taken the more cautious strategy of writing their .NET code to support only the features provided in .NET 1.0. This cautious adoption provides maximum compatibility but could slow the adoption of subsequent versions of .NET.
Seldom does one see a corporate vision with the breadth and depth of Microsoft .NET. It had to be large enough to encompass the entire operating systems division as well as both the enterprise and tools divisions. It had to be tactile enough to counter the disruptive technologies of Java and Linux and strategic enough to counter the enterprise offerings of Microsoft’s fierce competitors. Microsoft put its well-practiced marketing methods to good use with its usual promotional activities and did so in a grand scale and a well-orchestrated manner.
Microsoft has shown that its strengths are not in introducing innovative technologies or revolutionary products. Its strengths lie in its ability to pick and choose technologies and products from the marketplace, to integrate them into its own product lineup and to execute brilliant market strategies against its competitors. Microsoft has shown yet again how it can formulate a strategy across a large part of its product lineup and successfully achieve that strategy.
Timeline of .NET
June, 2000 – Microsoft announces its .NET vision of future computing
July, 2000 – VB.NET Beta is released
November, 2000 – Visual Studio Beta 1 is released
March, 2001 – Hailstorm is announced and showcases partners
March, 2001 – eBay announces its intent to use .NET and Passport
September, 2001 – Passport is expanded to allow internet single sign on
January, 2002 – .NET 1.0 is released to public, Visual Studio .NET development tools
April, 2002 – Hailstorm (aka .NET My Services) is cancelled
August, 2002 – Microsoft settles with FTC regarding poor security and privacy for Passport
January, 2003 – Windows .NET is renamed as Windows Server 2003
April, 2003 – .NET 1.1, Visual Studio 2003, Windows Server 2003 (aka Windows .NET) is released
August, 2004 – Microsoft demotes Passport to be an internal product only
Summer, 2005 – .NET 2.0, Visual Studio 2005 to be released
2006 – Anticipated Longhorn server release
Busby, Norton, Personal Interview, November 23, 2004, Tampa, FL
Chappell, David, “Understanding .NET”, Addison-Wesley, 2002
Chappell, David, Personal Email, 11/22/2004
Chappell, David, “NET & Beyond: One more time: What exactly is .NET?”, 8/1/2003, http://www.adtmag.com/article.asp?id=8003 , adtmag.com
Estes, Byron Taylor and Oriel Maxime, “J2EE vs .NET: The choice depends on your needs”, Computerworld, August 19, 2003,
Farrell, Nick , “Microsoft gives up Passport world domination wheeze”, October 27, 2004, www.theinquirer.NET/?article=19227
Hunter, Chad, Personal Email, 12/7/2004
Markoff, John, “TECHNOLOGY; Microsoft Has Quietly Shelved Its Internet ‘Persona’ Service”, New York Times, April 11, 2002, http://query.nytimes.com/gst/ abstract.html?res=FB0915FD34590C728DDDAD0894DA404482
Mohr, Jakki, “Marketing of High Technology Products and Innovations”, 2nd Edition, Pearson Prentice Hall, 2004
Pressman, Aaron and Keith Perine, “Legal storm brewing over Microsoft’s HailStorm”, The Industry Standard, March 20, 2001, http://www.infoworld.com/articles /hn/xml/01/03/20/010320hnmicsun.html?0320alert
Wong, Wylie, “Microsoft reveals plans for Web-based software services”, June 22, 2000, http://news.com.com/2100-1001-242273.html?legacy=cnet
Microsoft Settles FTC Charges Alleging False Security and Privacy Promises, August 8, 2002, http://www.ftc.gov/opa/2002/08/microsoft.htm
About the Author
Andrew Hudson is a graduate student at the University of Tampa’s Technology and Innovation Management Master’s program (MS TIM). He has a degree in computer science from Rochester Institute of Technology and is currently an IT consultant in Tampa, FL. Ahudson.firstname.lastname@example.org.
Special thanks to David Chappell and Chad Hunter for providing their insights. Thanks to Dr. Glen Taylor for the New Products class that inspired this article
Copyright © Andrew Hudson, 2004, All Rights Reserved
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.