The Power of Choice
Mix '08 came of age in a methodical but elemental way as Microsoft signaled both its intention and confidence in weighing in on the new generation of technology that many have suggested is moving past the Windows colossus. As Ray Ozzie assumes the command and control of the company's strategy, Steve Ballmer stayed largely on script as the leader of the business imperatives that drive the company's transformation.
Ozzie's keynote may have seemed short on specifics and light on delivery, but by the end of Scott Guthrie's wrapper of presentations, the outlines of Microsoft's offerings of both transparency and cross-platform Silverlight services loomed into focus like the iceberg in front of the Titanic. As waves of demos from the likes of the Hard Rock Cafe collection and the Aston Martin virtual showroom filled the big screen, I found myself shaking myself to attention as I realized this was not Your Father's Win32 anymore but the Silverlight Express bearing down on an eager developer crowd who smell money.
Ozzie speaks not in code or subterfuge but in maps, utilitarian words that build as sentences one on the next to find a casual but sturdy ledge on which to rest before the next climb. Here's an exchange with Ray in XML Magazine from 2000, when Ozzie unveiled his Groove architecture after 3 years of secret research and development:
Ozzie: We want you to build apps that are very tied to the environment so that you have a good, rich interface. That's in contrast to products that I've built in the past where you have the same interface on all platforms.
Gillmor: Sort of.
Ozzie: Well, close.
Gillmor: Let me just tease you a little bit.
Ozzie: We tried to... [Lotus Notes] was uniformly bad on all platforms.
Gillmor: There you go.
Ozzie: [Laughs.] Well, I'm trying to correct the error of my ways.Now, 8 years later and 2 years since Ray delivered a call-to-action memo with Gates' baton-passing endorsement at a San Francisco press conference and disappeared back into the lab, he is ready to unveil the details of what he has learned this time. You can follow the link to the earlier conversation and retrace its footsteps, and I'll bet you see that so much of what he was hewing out of the materials he had then is now baked into the sinews of Silverlight waiting to be uncrated within a trustworthy platform for the new realities of what he calls the hub that is the connected Web.
Whether it's the IE8 adherence to the Firefox/Safari emergent standards, the XML extensions for Activities and Web Slices, the potential for Silverlight to appear on any mobile platform that provides an SDK (hello, Cupertino), or Steve Ballmer's measured insistence on walking the walk in political lockstep with Ozzie's architectural plan as a must-do for the Yahoo deal to be successful -- the message is consistent that Microsoft has internalized what they must do to avoid further hemorrhaging of their ability to make a difference in the build-out of cloud computing.
The most important lesson Ray has learned is that we no longer are bound to applications in the monolithic evolution that produced Office. In this new Internet operating system, applications become modules or services that can be loosely coupled together under user control on demand, as needed. The container is no longer the metaphor, but rather the message queues that asynchronously distribute the metadata that describes the UI (XAML) and the delta changes in data to distributed participants. In 2000:
The only way you can really architecturally support multiple people in groups working offline is if you roll back, insert changes, and roll forward again. Unlike Notes, this isn't actually a replication architecture. This is a distributed-transaction architecture, where transactions must execute in a certain order and that's how everything eventually synchronizes. But transactions can be rolled back, and they get meshed in a deterministic fashion.
Yesterday, at Mix, Ray continued,
Just imagine the convenience of unified data management, the transparent synchronization of files, folders, documents, and media. The bi-directional synchronization of arbitrary feeds of all kinds across your devices and the Web, a kind of universal file synch.
Go back and look: the details are built on a platform Ray and his team had to frame out from scratch, but even so like a model/view/control architecture, the concepts have survived to fit neatly into the current scenarios. More generally, from 2000:
Another hard problem that we are trying to address in a transparent fashion is the fact that people use multiple computers. We want to make sure that we are building a product where peers are actually people, not necessarily devices. If you use a laptop, a desktop computer at work, and a desktop computer at home, you can still interact with the same people interchangeably--and use your devices interchangeably without having to worry about synchronizing.
So it went then, and so it goes now. Just as applications will be atomized and refactored, the parallel distribution of data to multiple providers will create what Ozzie calls the power of choice, the one safe bet Microsoft can make to catch up in the online game.
Here is where the trust issue plays most fundamentally; as server virtualization abstracts the notion of "what do you want to do today" to "what can we do for you today", the opportunity to close the sale between essentially identical offerings is trust, the virtual representation of family and friends, the social mesh. Microsoft's Facebook investment was relatively trivial, but as Ballmer pointed out, the partnership that seeded it is potentially priceless. This is the world where things are uniformly good on all platforms.