« Brrrr ... it's cold out here Freezing my WPF off ... | Main | Binding a table in a FlowDocument »

Universal web application pattern vs. Experience first pattern

Ray Ozzie, Chief Software Architect at Microsoft, was interviewed by Knowledge@Wharton. It's an interesting interview -- broad with not too much depth, but he discusses the software and services question that comes up more and more these days -- how do I deliver my product, and to what platforms?


Ozzie:  The guidance that we are giving the development community -- and the guidance that we use in-house -- is to look at applications through the following lens: When the business model behind that app means that you have to get it everywhere, we call that the "universal web application pattern." When the most important thing is the experience that the user has with that application and you might be willing to trade off the breadth of the web for the richness of that experience, we call that an "experience first pattern."
There's no hard line between the two, but there is some guidance there. It's clear that the ad-based model is a "universal web pattern." The whole business model says, "Pick a technology for building that solution that gets to every eyeball on earth." At the opposite extreme are Windows games and, I believe, the Office Desktop components, which are "experience first." You want to make the experiences as rich as you can and you code to the [Windows] platform in order to do that.


Adobe is a great example. Flash is a rich client; it's rich code delivered to the edge. It's not a centralized model; it's a decentralized model. It just happens to be tethered to the service.
If anybody has a software and services model, it's Adobe, because of that rich [Flash Player] applet that they extend the browser with. The more they enhance that, as you can see in their Flex and Apollo plans, the more it becomes this unified software and service vision, which is basically the same as Microsoft's vision.
We've been talking about it mostly from a technology perspective and what that can do for an end user. One of the other big things that [a] services [architecture] does for traditional software companies is change the way that we touch our customers.

Long, but interesting if you have the time.

Help support my web site by searching and buying through Amazon.com (in assocation with Amazon.com).