This is G o o g l e's cache of http://www.osopinion.com/Opinions/AdamBarr/AdamBarr1.html.
G o o g l e's cache is the snapshot that we took of the page as we crawled the web.
The page may have changed since that time. Click here for the current page without highlighting.
To link to or bookmark this page, use the following url: http://www.google.com/search?q=cache:www.osopinion.com/Opinions/AdamBarr/AdamBarr1.html


Google is not affiliated with the authors of this page nor responsible for its content.

Explore:


|Home/Opinions |Opinion Archives |Top Tech News |OS News |Mac News |Open Source
|Enterprise |I.T. Newsletters |Sig Archives |Open Forums |About |Get Published
What Microsoft's .NET Could Be
By Adam Barr
November 16, 2000

News Photo
Microsoft wants .NET services to become a key part of the fabric of the mainstream Internet.
There has been a lot of confusion over exactly what Microsoft's .NET strategy is. It's like the joke about the blind men and the elephant; you get a different view depending on what part you grab.

I have seen various articles from developers who have been exposed to different parts of .NET, each claiming that they have finally understood what it is all about. In fact, they only understand the part that they have seen.

This article in a Seattle paper is typical. It talks about accessing data from non-PC devices, about aggregating data from multiple Web sites, about subscribing to software instead of buying it, and of course about C#, Microsoft's new language. These all miss the key point about what .NET really is: .NET is Microsoft's attempt to turn the Internet into a well-defined platform for application development.

Questions and Answers

Throughout its history, Microsoft has defined three platforms for application developers: DOS, Win16, and Win32. You could argue that COM is a separate platform or an extension of Win32, but the basic idea is the same. At every stage of the development of the personal computer, software developers have asked, "How do I write an application?"

And Microsoft has provided the answer: Here is the runtime model, here are the APIs you call, here are some tools you can use, here is how to get help if you have problems.

Now substitute a web of connected personal computers -- the Internet -- for a single one, and developers are still asking, "How do I write an application?" And Microsoft's answer is, .NET.

DOS provided very few services to application writers, but with the Windows APIs, things got more sophisticated: support for graphics, for printing, for various other input and output devices, and eventually for networking. These were filtered through a standard Microsoft-provided operating system to various third-party devices, each with their own device driver, which performed the actual work.

Connection Oriented

In the .NET world, the "API" will handle Internet-related issues such as password verification, price calculation, payment, and so on. The "operating system" will be a set of always-available Web sites that may then dispatch the actual work to third-party sites -- the "device drivers" in the .NET model.

Where do .NET applications run? Just as Windows applications can run on clients or servers, .NET applications may run on a client machine connected to the Internet, on a server talking to other machines in a server farm, or on a Web site providing services to clients. In some of these situations writing a .NET application in C# (or another portable language) makes sense, in others it doesn't.

In this model, a connection to the Internet will become a basic part of booting up your computer. In the early days, machines booted off the floppy. Establishing a connection with the hard drive was optional. If the hard drive wasn't working or wasn't connected, it didn't stop the machine from booting.

Eventually the hard drive became a requirement, but connecting to the network became optional. Then in a Windows network, people sometimes discovered that if the network was down they couldn't even log on to their machine, or couldn't print to the printer physically situated next to their own machine.

Access Dependent

In the .NET world, you may be unable to use your machine if an Internet connection cannot be established (or if some necessary servers on the Internet aren't up).

What is the upside? Imagine being able to seamlessly choose to print to the printer in your house, the printer in your office, or the fancy printer at Kinko's in your neighborhood. Each choice will have a cost associated with it, as well as possible restrictions on number of pages, who has access, and so on. (The assumptions made in the case of a "down Internet" should be locally controllable. An admin could set it up so that if the server that calculated printing costs was unavailable, every accessible printer was assumed to cost an infinite amount of money, or they could set it up so it was assumed to be free.)

Can Microsoft pull this off? It seems ludicrous at first glance, given the vastness of the Internet. But there is no technical reason why it can't be done. Sure, Microsoft could not prevent non-.NET servers from being up, just as it can't prevent someone from booting a non-Microsoft operating system on their personal computer.

What Microsoft cares about is that .NET services become a key part of the fabric of the mainstream Internet, that service providers make their services available via .NET first (or only via .NET), that applications are written to assume a .NET infrastructure, and so on.

Long-Term Prospects

There is much harrumphing about how Microsoft will ever make money on this. This is the same as pointing out that today when someone writes an application for Windows and sells it, Microsoft makes no money directly. The money is made selling tools, selling core technologies, and selling Microsoft's own applications that run on the platform.

Most industry analysts, and a lot of software companies, say they don't understand all of .NET, and aren't too concerned about it. In fact, Microsoft doesn't necessarily understand .NET yet, and certainly hasn't done a good job of explaining it. I have read what I can about it, but what I describe here is not really what .NET is now; it's what it has to become in order for Microsoft to succeed with it.

Some of the examples listed above, such as accessing data from non-PC devices and subscribing to software, are really just sample .NET applications, not ones that exploit the real power of the platform. Rest assured that Microsoft will eventually figure this out, and figure out how to explain it to everyone.

Commitment to the Program

What does this mean to software developers? When the transition was made from DOS to Win16, and from Win16 to Win32, a lot of companies complained that they were happy with the current platform, and didn't see any need to switch. Microsoft eventually gave up on trying to explain it to everyone and simply went ahead and moved all its applications to the new environment, and simultaneously started minting money.

Suddenly the light bulbs went on around the industry, but by then it was too late for some companies. An example of this is within WordPerfect. (Some of those companies then went around complaining that Microsoft had an unfair advantage because it controlled the platform and also wrote applications, but that is another story.)

Microsoft is right now moving all its applications to .NET. Hotmail may seem like a simple application but in fact it is a testing ground for many of the technologies in the .NET platform.

Given Microsoft's past history at engineering these paradigm shifts, third-party software developers would be wise to not dismiss it, but instead learn as much about it as they can. Those that don't risk getting left behind once again.

Talkback Forum


Author's background:
Adam Barr worked at Microsoft for over 10 years before leaving in April of 2000. His main occupation right now is enjoying time with his children. He lives in Redmond, Washington.

 
Sponsored Links
CIO Today Magazine is available FREE of charge. Subscribe now.
Reach Thousands of Internet Pros Everyday with NewsFactor Newsletters!

CIO TODAY


Real-Time
Technology News
Updated Every
5 Minutes
24 Hours a Day
NewsFactor.com
E-Commerce Times
TechNewsWorld
CRMDaily.com
CRM Buyer
Sci-Tech
Linux Insider
WirelessNewsFactor
osOpinion
TechExtreme
FreeNewsFeed.com


May 22, 2003

Innovation: Googling May Reach Breakneck Speeds
Full Story

How Apple's Spam Filter Stacks Up
Full Story

Patching Apache
Full Story

Microsoft Licenses Unix from SCO
Full Story

State of the Art: Wasted Chip Power
Full Story

Palladium's Dirty Little Secret
Full Story

SCO Warning Fuels Growing Linux Controversy
Full Story

Does Microsoft Belong in the Data Center?
Full Story

SCO: Put Up or Shut Up
Full Story

Microsoft Tries To Close the Lid on iLoo
Full Story

What Will It Take To Put Apple Back on Top?
Full Story

The Web Browser's Unfinished Basement
Full Story

P2P War Gets Nasty
Full Story

Is There Any Reason To Buy Microsoft Anymore?
Full Story

Are Geeks Still Cool?
Full Story

Why the iMac Was Put to Sleep
Full Story

Bush's Silicon Valley Flyover
Full Story

Keep an Open Mind About Open Source: It's the Law!
Full Story

The State of OS X
Full Story

The Bottom Line of the New Browser Wars
Full Story

Shame on DARPA for Pulling OpenBSD Funding
Full Story

Where Are All the Cool Embedded-Linux Gadgets?
Full Story

Linux Desktop Myths Exploded
Full Story

Why the Web-Services Feud Matters
Full Story

Microsoft's Ugly Little Registration Bug
Full Story


More Opinions

Get news by e-mail

Visit open forums



osOpinion.com
Front Page | OS News | Open Forums | Opinion Archives | Article Reprint Information
 
Other NewsFactor Network Sites
NewsFactor Portal | E-Commerce Times | TechNewsWorld | Linux Insider | Wireless NewsFactor
osOpinion | TechExtreme | CRMDaily | CRM Buyer Magazine

FreeNewsFeed | Free Newsletters

Business Development | How To Advertise | How To Contact Us | About NewsFactor Network
 

© 1998-2003 Triad Commerce Group, LLC. All rights reserved. See Terms of Use and Privacy notice.