But the company's massive initiative apparently faces an even tougher problem that has nothing to do with the technology itself: explaining the meaning of .Net to consumers, corporate executives and investors.
"We still get people saying to us, 'What is .Net?'" Gates said at a conference held two weeks ago specifically to answer that question. "It's one of those great questions that people can say, 'Yes, it's come into focus at the infrastructure level,' but a little bit where we go beyond that has been unclear to people."
No matter how .Net is viewed, that's a startling admission. Confusion has beset the initiative almost since its inception, but today--after two years and billions of dollars in development--Microsoft's public handling of .Net could stand as a case study in what not to do in a high-profile marketing campaign.
The bungled marketing moves are even more egregious considering the importance Microsoft originally attached to the .Net initiative as the company's bet-the-business strategy. .Net was conceived as a way to make Microsoft software available through the Web to any device, including cell phones and handheld organizers. However, few outside the company can provide that definition--or any other--with any certainty.
"Microsoft really blew this," Forrester Research analyst Ted Schadler said of .Net's marketing.
The concept behind the initiative was vague from the outset, but it was made even more confusing by the use of the ".Net" nomenclature in many other Microsoft efforts. Repeated use of the brand for different products and services confounded business customers, consumers, industry analysts, the media and the public at large.
Before technology buyers could grasp .Net, for example, Microsoft launched a related but separate plan to build Web services for consumers called .Net My Services--which itself was the subject of much uncertainty. Confusion between the two tarred .Net's image when Microsoft sent the .Net My Services plan back to the drawing board after questions involving privacy and other issues emerged.
"Microsoft sent out two messages at the same time. People tied the ideas together, because they both had the .Net name," said Tim Tryzbiak, lead software engineer at Channel Intelligence, a Celebration, Fla.-based maker of software for linking manufacturers and dealers. "Microsoft didn't do a good job of explaining how one affects consumers and one does not," said Tryzbiak, an early tester of .Net My Services.
That opinion was echoed by Chris Pels, president of iDev Technologies, a software consulting and development firm in East Greenwich, R.I. According to Pels, .Net is "Microsoft's product architecture--it's a foundation for development and for Windows to a large degree. But they call both pieces '.Net' and that's what is confusing."
That kind of branding overlap is an obvious blunder to marketing veterans.
"They are trying to be too many things to too many people, with one brand name," said Laura Ries, president of Atlanta marketing strategy firm Ries & Ries, whose clients have included such diverse companies as IBM, Ace Hardware and Burger King. "People have heard about .Net. But...it is so ill-defined, and the brand name is so lousy, that for all the publicity they have gotten, it hasn't done them any good--because it hasn't been positioned in anyone's mind."
Indeed, so much new technology has been announced, tested and shipped by Microsoft in the past 18 months--some for big companies, some for consumers, all under the .Net moniker--that its proven nearly impossible to sufficiently describe all the elements of what's become known as .Net to all prospective users.
Ries said Microsoft would have been better off establishing a completely separate brand for .Net, distinct from its Windows operating system and Office desktop application businesses, in the same way that Toyota created its luxury Lexus brand.
"Microsoft did something very similar to that with the Xbox launch," she said. "They very successfully built that with a PR campaign over almost two years and they really got the programmers and techies involved. And then they hammered it in with a big advertising campaign at the launch."
In Microsoft's defense, the company has said from the beginning that .Net was a long-term work in progress that would not immediately pay off. Competing plans from Sun Microsystems and IBM are also lagging .Net, so Microsoft still has time to hone its message.
Nevertheless, Microsoft executives acknowledge that the company overused the .Net name.
"This was a case where we created a parade that suddenly everybody (in Microsoft marketing) wanted to be in," said Charles Fitzgerald, one of Microsoft's top marketing executives behind .Net. "Our biggest problem was policing the use of .Net. Things like .Net Enterprise Servers. That's a great example of where the confusion came from, because it looked like we were slapping .Net on a bunch of random products."
The recent .Net conference, held at company headquarters in Redmond, Wash., did little to clear up confusion, analysts said. Instead it reinforced what many already knew: The benefits of Net are beginning to sink in with Microsoft's core software developer customers, but the company is still struggling to explain it to those below the code-warrior level--namely, to those who will use and pay for its products and services.
For .Net to succeed, the company needs to spread the word beyond the tech-savvy converts already building Windows software. ".Net is in the 'appealing to developer' stage, but it has not gone to the mass market yet," said Matt Rosoff, an analyst with Directions on Microsoft.
Even among developers, .Net remains something of a riddle. "Some understand and some don't," Pels said. "Some understand at a high level--what .Net can do for my business. And some understand at a technical level, and know how this relates to development."
As Microsoft prepares to release successive waves of new .Net software in future years, it is hoping to explain to customers why they should devote precious technology dollars to .Net products at a time of shrinking budgets.
In the coming months, the company plans to ship additional software that expands the .Net plan. By year's end, Microsoft will release Windows .Net Server, a new version of its Windows server operating system designed to work better with .Net technologies.
Then Microsoft plans to turn its attention toward linking companies so that .Net systems can span organizations. New security software code-named TrustBridge is expected to debut in the first half of next year, along with real-time communications software, code-named Greenwich. Additional development tools are also slated to debut.
Further down the road, Microsoft plans to revamp its entire product lineup, from its SQL Server database software to its Windows operating system, to better support Web services and the .Net plan.
"Breaking boundaries of hardware and software to bring information from lots of different places to provide better services to you. I understand that," Tryzbiak said, adding that others will too.
Ultimately, customers like Tryzbiak may be Microsoft's greatest tool in spreading the .Net word. Developers say the company has a raft of useful technology, and many companies are using Microsoft's Visual Studio.Net tools--the most successful .Net product to date--to build internal Web services applications.
Keith Franklin, president of Empowered Software Solutions, a Chicago-based software consulting firm that designs Windows-based systems, said his company has done Web services projects using .Net for 16 customers in the financial services and insurance industries, and he sees more on the horizon.
Forrester's Schadler likens the spread of Web services to the early days of the Internet, where developers in far-flung departments of big companies began experimenting with HTML and Web sites before they were widely adopted.
"The geeks get it," he said. "They are using it, so there is this bottom-up phenomena."
Gates, in the meantime, says Microsoft has a new mantra that describes .Net: "Software to connect information, people, systems and devices." Fitzgerald adds that .Net is a fundamental element across Microsoft's clients, servers, services and tools, that uses Extensible Markup Language (XML) for interoperability.
Still confused? You're in good company.