As anyone who reads Squash knows I’m a pretty passionate believer in online browser-based applications. So I’m kind of skulking around Tech.Ed this week, hoping I don’t get booted out for daring to ignore the latest version of Office thats loaded onto every PC here and instead hacking out this piece on my Google Docs account. My primary mission while I’m at Tech.Ed is to try and understand just what the hell Microsoft is doing in this space, because I’m finding it increasingly bewildering that we’re yet to see more from Microsoft in this space – keeping in mind the famous call-to-action email that went out to Microsofties from Ray Ozzie a while ago now.
So I made it a point of order to get to the 8:15am session this morning from Michael Platt, Director, Web Application Architecture, Microsoft US titled ‘Software + Services: Microsoft’s vision for SOA, SaaS and Web 2.0’
One thing is clear, and I guess this isn’t surprising, Microsoft doesn’t believe that browser-based delivery of apps is the way forward. It seems to acknowledge there’s a place for it, but it believes that by combining rich desktop software plus web services, you’re going to deliver the user a richer experience. I first heard this line back in the nineties by then wunder-analyst George Colony from Forrester, so its not new thinking.
For the most part, it hasn’t eventuated, yet. Platt admitted there are major problems with the desktop software model, like version management, but his argument is that moving holus bolus to browser-based delivery is throwing the baby out with the bathwater and it’s a better idea to just fix the problem around version management then lose the rich-application capabilities inherent to desktop software. He also made the point that as SaaS models make use of advanced AJAX technologies like persistence to enable offline access then they’re going to have to deal with version management, anyway.
Platt basically referenced two examples of Software + Services, one being Exchange. However, the other, interestingly was Apple.
“The company that really gets this, other than us, of course, is Apple.”
It became pretty clear that Microsoft is pretty enamoured with what Apple has managed to achieve with the iPod and iTunes, in terms of creating an “ecosystem” that ties together its player-software on the device, the iTunes software on the PC and the digital download web service.
Aside from providing the richer experience, the other big benefit of the software + services model is it locks the user into your system, Platt argued. It’s very difficult to crack Apple’s iPod ecosystem. Certainly, Microsoft knows that better than anyone. He compared the software + services model to that of rich web-based applications, where he argued it’s very hard to gain competitive advantage because as soon as you roll-out a new feature or functionality, it can very easily be copied.
I liked some of the ideas that Platt outlined – basically that the delivery of services has to be pretty agnostic and portable to any device, platform or delivery vehicle dependent on what the user’s preference is – however there was this underlying message that lock-in is something to be strived for. While Apple has made it work with iTunes, I think today’s generation of users won’t tolerate lock-in. They want the freedom to jump from web service to web service, depending on which is better at any point in time. I don’t think that business is in a position any longer to dictate that if you want this functionality, then you’re going to have to download and install this piece of code. I know I shy away from any downloads – if I can find a comparable online service I’ll use it instead. My PC stays cleaner, works faster and I get portability between any PCs.
A couple of other interesting points. Platt positively gushed over the XBox Live platform. He said Microsoft has come to realise that pure peer-to-peer doesn’t work – which is interesting in itself based on the amount of money its invested in Groove – and that what you need is a combination of P2P in addition to a centralised-service component, again, using whichever model makes sense for which ever particular service you’re trying to deliver. He showed a CRM service that Microsoft has built internally for its sales staff, which uses P2P to update the various sales staff”s notes and interactions, but also fed data back and forth from a central Siebel database. He admitted that architecturally it’s been a bitch to build and that Microsoft has had a lot of problems getting it right, but thats how XBox works. It uses P2P where it makes sense for VoIP but talks back to the central server when that makes more sense.
Some interesting possibilities here. Consider perhaps a CRM application that access a central store of user records, but stores your history notes which you might not want to trust to a SaaS model locally and then shares those among your team via P2P.
So a lot of interesting stuff. I can kind of see there are definitely situations where software + services make sense but I still think that browser-based delivery of applications is the model that’s going to dominate in the long-run. Maybe you’ll add desktop software on top of the SaaS service to deliver advanced functionality, but I think there’s a decision that everyone needs to make as to what your primary platform is going to be. I think browser-based, Microsoft is still thinking from its desktop heritage. Maybe that question is still a way off being answered, but I will concede that the future is almost certainly going to involve some form of combination of the two, just as there will very likely be a combinaton of P2P vs centralised server deliver.
Platt made a couple of references to Live, noting that you shouldn’t think of Live as anything but a brand. So I’m not a lot clearer on that one, but I’m on the case!