Microsoft’s strategy shift

There’s a ruckus in the Microsoft world following Mary-Jo Foley’s contention that Microsoft is going to abandon Silverlight in favour of HTML5. If that were true it would be great news for web developers. It is in fact not true, but still great news for web developers.

Foley’s source, executive Bob Muglia, felt compelled to confirm that the Silverlight strategy has shifted, but that Microsoft is not giving up on Silverlight and that version 5 will be arriving according to schedule. Steve Ballmer himself penned a statement in which he praised both Silverlight and HTML5.

I’m not sure if Microsoft ever truly believed that on the desktop Silverlight could conquer ... well ... something. Like all web developers, I didn’t pay attention. But its place in the scheme of things is becoming clear now.

What happened is not an abandonment of Silverlight; far from it. Microsoft has big plans with it — and who knows, they might even work. What happened is that Microsoft placed HTML5 on an equal footing with Silverlight.

Oh, and this is not about desktop. Desktop is almost an afterthought. It’s about mobile.

Mobile

On mobile Microsoft is in trouble. Where it once held 30% of the smartphone market, Windows Mobile has dwindled to about 4-5%, and the OS is clearly behind the times. The freshly-released Windows Phone 7 is Microsoft’s new trump card in the high-end smartphone market.

More to the point, Windows Phone 7 is Microsoft’s last chance to matter on mobile. A Windows 7 device must be in every hipster’s top three of desirable phones this Christmas, or Microsoft is fucked.

And the big push might work. The marketing machine is gearing up, there’s genuine interest, and Windows Phone 7 could very well break through to the mass market before it’s too late. Expect it to appear in a stylish ad near you any moment now.

A modern mobile OS needs native apps. In the case of Windows Phone 7, native apps are written in Silverlight (or XNA for games).

Silverlight offers a rich graphic environment, and Microsoft can closely integrate it with the OS to improve performance. Will it rival iOS for ease of use and development? Microsoft certainly hopes so, and strategically the choice for Silverlight makes sense.

What Microsoft said just now was that native Silverlight apps are all good and well, but that there should be a backup plan: the web. Just as Apple and Google have. Once HTML5 apps become dominant Windows Phone 7 must be able to run them.

IE

But right now it isn’t, and that’s Microsoft’s most serious problem. Windows Phone 7 runs an IE7 with some IE8 characteristics.

A IE7/IE8 hybrid is not good enough to support a Silverlight/HTML5 strategy because web developers will refuse to develop for it. They write iPhone/Android-compatible code, and increasingly support other WebKit-based browsers, as well as Opera.

But IE? Download extra style sheets and code branches for the world’s most hated browser over a mobile connection? Forget it.

Mobile web developers will ignore IE as long as it requires all kinds of proprietary stuff. But if it supports the standards, like IE9 does, hey, why not?

I was tangentially involved in some aspects of IE7 and especially IE8, interacted with the MSIE team over mail and met some in person, and I couldn’t shake the feeling that they had too little manpower to do everything that was necessary. With IE9 the team has done all that’s necessary, so (apparently) it has the manpower now.

On mobile Microsoft badly needs a standards-compliant browser that can handle mobile sites without IE-specific code branches. When IE7 and IE8 were built the need was not urgent enough. But now it is. Thus the great leap forward occurred in IE9, and not in IE7 or IE8.

Microsoft is working on an IE9 port to Windows Phone 7 right now. The ideal release date would be in about a year, so that an “HTML5 compatible” Windows Phone can be offered in time for the 2011 holiday season.

Moreover, cool native apps can be built with Silverlight, now and in the future. Just as the iPhone offers Objective-C in addition to Safari. Silverlight + IE9 = a fair enough strategy.

But to execute it Microsoft needs us web developers. Badly.

And not like on the desktop, where IE is dominant anyway and we have to conform, and where until recently our natural allies within Microsoft, the IE team, had too little clout to force a change.

No, Microsoft needs us on mobile. Where it must play by our rules, just as the big browsers do.

Support the standards. Or else.

Microsoft has heard that call, and has now confirmed its standards-centric strategy.

Comments

This is very good news though, that MS is finally paying attention to the new standards. But from what I have seen and heard, even IE 9 css 3 compatibilities are not as flashed out as Safari as of yet. Hopefully it will shape up soon, or we will be forced into another IE dominated era.... totally not looking forward to that!

Good post.
I think most developers are taking an approach of "lets wait and see" about Microsoft on mobile.

Microsoft, to survive in mobile, has to do an excellent job on WP7 not only on apps, but especially on the browser side and there resides a big part of the problem, given MS track record on browsers.
They have a lot of work to do to turn around all the negative feelings IE brings to developers.
I'm not sure if MS can do it. Lets wait and see.

From a development standpoint, it will definitely be a wait-and-see approach. Providing fallbacks for any sort of advanced styling and functionality is best practice anyways, so Windows Phone 7 will hopefully fall squarely into that less-than-ideal-but-still-fully-functional category. Whether or not we go out of our way to develop specifically for it or not 100% depends on how many people end up with Windows in their pockets in a few months.

As with every IE release since 6 this is a wait and see prospect. We've been sweet talked by MS before on features and support, and while I agree the IE9 betas walk the walk, it will be interesting to see if a mobile port will do the same. But, pessimism aside, this is very good news for the web and HTML5.

Many Silverlight team members have left Microsoft in the past few months, and many more have gone to other roles in the company. Silverlight may "live on", but right now it's on the same track as Live Labs was.

There needs to be an easy to find emulator (unlike most mobile browsers) with some desktop capabilities like cut, copy and paste as well as mouse and keyboard support. Anything short of what IE9 is capable of would be not worth most people's time at this point, it's still technically behind somewhat (behind Safari 3.0 on CSS3 and about equivalent of Firefox 3.6 with SVG in example) though it does take a win with performance.

Microsoft is giving equal attention to HTML5 and Silverlight? Call me paranoid, but that is Microsoft's oldest trick in the book! First step is accept the standard, work with it, bring companies and applications on board, then start the exclusivity lock down.
Their strategy has always been making sure things are ONLY available on their platforms and extinguish competition. They know that if Windows Phone 7 is to succeed, they have to find a way to lock people into using it.
For example, getting Netflix to work only with Silverlight was a win for them, and that's why you'll never see Netflix content viewable on a GNU/Linux desktop (and maybe even Android).

Interesting move, especially for Microsoft. Although it does make me wonder why?

It is good to see Microsoft is moving towards supporting 'the' standards. This will in the end, hopefully, create a single solid base for (webbased) application development cross-browser/os. Running on the desktop, mobile and future platforms.

In the end developers are lazy, they prefer to write one application for all instead of all applications for each one. I know I do.

It would only improve developer uptake of IE9 (and WP7) to be able to install IE9 on a non-Windows box. Sure I've got various virtualization options on my box for testing, but it's pretty nice to be able to install all other main browsers (FF, Saf, Op) on any OS.

As a professional developers, I'm able to take the time and get the environments necessary to test large projects. But the important work and innovation happen when I have my casual developer hat on. And when I'm wearing that hat I don't have the same inclination or "budget" to keep swapping environments.

I know this comment is a bit of aside from your article, but it's what came to mind when reading this article.

(PS: I'm glad MS is freeing themselves from endless backward-compat concerns by not allowing IE9 to be installed on XP etc, but again it hurts dev uptake I think.)