AS WITH EARLIER MICROSOFT mantras (ActiveX, Windows DNA), .Net means almost everything and therefore nothing in particular.
The Redmond priesthood incants XML with the same mystical vagueness. No resounding amen has yet been heard from the hundreds
of millions of souls who use Windows and Office, who were recently demoted from "knowledge workers" to "information workers"
and then reclassified as "first-class data objects." Instead they ask, "What's in it for me?"

Expanding Office
|
 |
Executive Summary: To put people first, rather than apps or documents, Office has to absorb a range of collaborative services: instant messaging,
presence, peer-to-peer networking, and multiple-device awareness. For this, users will need Hailstorm in some form.
Test Center Perspective: Office 11's support for schematized XML data enables more intelligent use and reuse of information. It's a smart strategy
that anticipates migration to an XML data store, first in SQL Server and then in Windows itself, and aims to ensure that when
the time comes, there will be XML data to migrate.
|
 |
|
|
|
The answer is a vision of computer-assisted work and play imagined by science fiction writers for decades -- by Apple in
a 1987 concept video called Knowledge Navigator, and again by Microsoft two summers ago when it first rolled out the .Net
strategy.
The truth is, nobody knows when, how, or even if we will get from here to there. XML and .Net are really just code words
for sets of best practices that will, we hope, create an environment in which the vision can be made real. It's useful to
unpack these terms and list what those best practices are.
First, consider the engine at the core of .Net: the CLR (Common Language Runtime). Already deployed on servers, and coming
soon to a desktop near you, CLR unifies the two great themes of modern software: objects and components. The ideas embodied
in the CLR are so unstoppable that Microsoft's open-source competitors are rushing to embrace them.
The chassis of the vehicle powered by this engine is the .Net Framework. Its design goal, first stated by Microsoft architect
Dave Stutz, was to capture a wide variety of best programming practices. A work in progress, the framework also wraps consistency
around a welter of legacy APIs, first by consolidating interfaces to the servers (see "
Road to managed code
"), then by doing the same for the client.
Parsing the meaning of XML
The .Net Framework is deeply XML-aware but, again, it's helpful to unpack the ways it is so. Empowering components to communicate
using SOAP messages is the framework's most heralded use of XML. When Visual Studio .Net and its ASP .Net infrastructure shipped
in February, some early adopters had already been deploying Web services based on this technology for more than a year.
More broadly, the framework enables applications to create, exchange, and store documents that represent all kinds of data
using XML. Schemas that govern the structure of this data will, in theory, make it available for intelligent use and reuse.
In practice this semantic Web architecture is as far behind the curve as .Net Web services are ahead of it.
In the concept videos, of course, it's a done deal. All data is smart-tagged. DNA winding its way through the core of every
document governs its behavior within an information ecosystem. How that DNA got there is a question that everyone begs. Who
will write the Web Ontology Language that Tim Berners-Lee and the W3C imagine as the lingua franca of the semantic Web?
The answer is everyone, and most of us will use Microsoft Office products to do that writing. Every day, we pour an ocean
of information into Outlook e-mail messages, Word documents, Excel spreadsheets, and Web pages rendered in Internet Explorer.
The sum of all this data vastly exceeds what is stored and managed in databases, and essentially none of it today has anything
to do with XML.
Strategies that aim to change that include shipping .Net to the desktop, upgrading SQL Server's XML engine in Yukon, and
converting the Windows file system to an XML object store in Longhorn. But focusing on these future plans deflects attention
from what was already feasible several generations of Office ago. The .Net Framework only recreates, in managed code, the
XML parsing, validation, manipulation, and transformation technology that has been standard in Internet Explorer, and therefore
the Windows OS, for at least three years. Office hasn't exploited this stuff because Microsoft has been in no hurry to commoditize
the proprietary file formats on which the Office empire was built.
The turning point may finally be at hand. Last month, Office czar Jeff Raikes showed Word 11 working with schema-valid XML.
The enthusiasm that bubbled up on the developer Weblogs that registered this event was a measure of the pent-up demand. Users
aren't clamoring for XML writing tools, but they do respond to the concept videos, and developers know that deployment of
those tools will help them deliver the goods.
One deliverable Microsoft isn't promising for Office 11 is the universal canvas touted in the 2000 .Net rollout. This notion
pushes embedded OLE objects to their logical conclusion. All data is represented as XML; application boundaries dissolve;
users create or annotate any piece of data in any context; the self-describing XML data says which tools can manipulate it.
This can't happen any time soon, Raikes told InfoWorld, because the applications' storage and retrieval algorithms are optimized
in ways that preclude working with live XML storage.
For Jack Ozzie, who has labored mightily to graft Office apps onto the canvas of the Groove transceiver, it's more than
a storage issue. "If it were just about the data, we'd have been done three years ago," Groove's vice president of development
says. "The problem is capturing the context that surrounds the data."
The XML support finally coming in Office 11 is a crucial step in the right direction. Retooling the file system as an object
database and retooling the apps to work with that database are long-term goals. They were first articulated a decade ago when
Microsoft demonstrated Cairo (the original NT 5.0) and its query-driven Object File System. A few distractions got in the
way -- the Internet, the transition from the Win9x to WinNT codebase -- but Cairo has not been forgotten.
Apps, docs, and people
It's a tragic fact that programmers have to think like machines. Usability expert Alan Cooper has said that from a programmer's
perspective, users are peripheral devices that must sometimes be polled for input. Over the years, the focus has gradually
shifted from applications to documents as the organizing metaphor, but the cluttered GUI desktop embodies little of the social
fabric that knowledge, oops, information workers weave.
The gone-but-not-forgotten Hailstorm initiative was an effort to put people at the center of the software universe. When
the socially inept masters of that universe try to restate their case, they utter awkward phrases like "first-class data objects."
Luckily, developers all around the Internet know what that's supposed to mean, and have been busily making a trail of clues
for Microsoft to follow: ad hoc peer-to-peer networking, instant messaging, presence, Weblogs, and publish/subscribe notification.
For example, if you use XML, it's likely because your Weblog sports the distinctive white-on-orange XML icon that other bloggers
click on to syndicate your feed.
The blog bug has bitten Microsoft, too. Twenty thousand Sharepoint Team Services sites have popped up inside the company.
Now that "save to the Web" means something tangible in Redmond, Sharepoint has been invited into the Office family. Of course,
people aren't always and only connected to the corporate intranet.
When Groove founder Ray Ozzie surfaced with a set of peer-to-peer, presence-aware services that enable ad hoc teams to work
securely together across firewalls without full-time network connections, Microsoft sank $51 million into Groove Networks
and began using the word "collaboration" more prominently in PowerPoint slides. The results so far are entirely attributable
to Groove, which delivered shared editing of Office documents in version 2.0 of its transceiver and more recently enabled
two-way synchronization between Sharepoint sites and Groove shared spaces.
How Groove's collaboration services will find their way more deeply into Office is something nobody will discuss, perhaps
because nobody has yet figured it out. There are oodles of opportunities. The NAT (Network Address Translation)-challenged
NetMeeting functions of Windows Messenger, for example, could sure use a Groove-style relay server. (Greenwich, the real-time
communication server just announced by Microsoft, seems destined for that role.)
The security concerns that plague all Microsoft software cry out for the always-on wire and disk encryption that Groove
shared spaces enjoy. Synchronization of data to intermittently connected users on multiple devices (desktop, notebook, tablet,
PDA) and awareness in real time of users' presence on those devices are other Groove capabilities that should pervade Office.
The biggest hurdle may be cultural. A version of Office that puts people first, not applications or data, has to revive
Hailstorm. Software that does what we want has to know what we want. If we want to be interruptible by family members but
not team members (except in emergencies), we have to represent ourselves, our family, and our team as, pardon the expression,
first-class data objects. These avatars need to live outside the realm of existing applications and directories where any
authorized service can talk to them. Microsoft got smacked upside the head when it first floated this idea, and not without
reason.
The most critical piece of Internet infrastructure since the DNS really shouldn't be a Microsoft business unit. Now, happily,
everyone's singing in the federated identity choir. But the fact remains that to make the concept videos real, we'll have
to schematize ourselves as well as our data, and we'll have to trust someone with those schemas. Assimilating XML and .Net
into Office are only technical challenges that programmers will sooner or later solve. Rehabilitating Hailstorm will require
what Microsoft famously lacks: social skills.