Scott Gu: Silverlight is strategic for Microsoft

The Gu has spoken:  Silverlight is important and strategic for Microsoft.

A bit like I mentioned earlier this week, the main points of Microsoft strategy are that Silverlight is for rich client applications while HTML 5 is for broader reach.

An interesting point of Scott Gu is that many of the new devices don’t even have an open development platform, so that HTML is the only option.

So it would seem that for the time being, rich development application will be contained in silos on different platform.  Nothing surprising there.  But I wonder how long it will take before the cost of the multiplication of form factors catch us.

Microsoft Silverlight Strategy

Apparently I wasn’t the only one to notice the lack of vigour behind the Silverlight marketing machine at the PDC last week.  Indeed, that and Bob Moglia’s declarations triggered one of those cyber-tsunami internet is famous for.

Moglia, Microsoft President in charge of server and tools business, made an adjustment statement on his blog yesterday, in order to rectify some things.

Basically, he found people jumped to the conclusion of “Silverlight is dead” pretty fast from his “Silverlight is our development platform for Windows Phone” declaration.  He also emphasizes a few points.  First that SIlverlight is very important and strategic for Microsoft as a cross-browser / cross-browser engine and that’s the de-facto development platform of Windows 7 Phone.

He also shared the strategy of Microsoft on Silverlight.  Basically, Microsoft is observing trends and are trying to “optimize around” those trends:

  • Customers are demanding the richest possible client experiences, and developers are increasingly looking to build premium, tailored experiences optimized for specific devices.
  • Customers want to be able to deliver client experiences that are optimized for specific form factors.
  • Media delivery across the Internet continues to accelerate dramatically.  Customers want HD, studio quality, premium media content.
  • Lastly, there has been massive growth in the breadth and diversity of devices made by a wide variety of vendors providing both open and closed systems.

Basically, the first three points reinforce the importance of Silverlight.  Microsoft sees the number of devices and form factor increasing and wants its developer base to be able to deliver premium experience on those devices.

The fourth point reinforces the importance of HTML 5:

When we started Silverlight, the number of unique/different Internet-connected devices in the world was relatively small, and our goal was to provide the most consistent, richest experience across those devices.  But the world has changed.  As a result, getting a single runtime implementation installed on every potential device is practically impossible.  We think HTML will provide the broadest, cross-platform reach across all these devices.  At Microsoft, we’re committed to building the world’s best implementation of HTML 5 for devices running Windows, and at the PDC, we showed the great progress we’re making on this with IE 9.

The purpose of Silverlight has never been to replace HTML, but rather to do the things that HTML (and other technologies) can’t, and to do so in a way that’s easy for developers to use.  Silverlight enables great client app and media experiences.  It’s now installed on two-thirds of the world’s computers, and more than 600,000 developers currently build software using it.  Make no mistake; we’ll continue to invest in Silverlight and enable developers to build great apps and experiences with it in the future.

For me this shades a fair bit of light on the matter.  The way I interpret the strategy is:

  • Silverlight is Microsoft platform to deliver rich experience on different form factors
  • HTML 5 is the platform to use wherever Silverlight isn’t available:  it offer broader reach.

For those worries about the disappearance of Silverlight, just think about the movies.  Yes HTML 5 has a movie tag, but from what heard from media content expert, the capacity of HTML 5 is light years for Silverlight’s and…  HTML 5 isn’t a standard yet and won’t be before 2022.  The spec is implemented by quite a few browsers but with different degree of completeness, performance and compatibility.

The last paragraph of Moglia’s blog (quoted above here) is quite interesting:  from the time Silverlight was incepted to the time it started to have a good market penetration (now), the market (and/or Microsoft’s understanding of) changed so much that its original purpose has to be revaluated.  Silverlight was design to be an alternative to Flash.  Well, that didn’t panned out too well I believe.  Except for Microsoft’s sites and those they helped developed, Silverlight isn’t too ubiquitous on the web these days.  That certainly forces some revaluation of the product target.

Doesn’t that remind you of Java?  That technology was build in the early 1990’s as a language for embedded device (hence the name Java, it was suppose to run on your coffee machine), it was last-minute-before-launch revamped as an embedded browser technology (the infamous Java Applet) until it discovered its true mission, a Web Server platform.  The path from embedded device platform to server took 8 years.  Ironically Java did end-up on devices, such as the Android phone.

It evens sounds like Windows, which started, in the middle 1980’s, as a desktop application running on DOS, before becoming a full-blown desktop-OS, then a server-OS and then palm device OS, all with the same GDI+ API!

My point is that technologies do get repurposed as it evolves, especially at the beginning of their lifetime.  With Silverlight on the Windows Phone 7, it practically achieved immortality, so I’m not afraid of seeing it disappear.  I would expect a few changes in purpose in the next few years though.

After all, we are talking about a three years old technology having its fifth major version in a few months despite being based on a slightly older technology (WPF).

HTML 5 or Silverlight?

Ah, this is a tough question!

As I mentioned yesterday, I was in Microsoft Office in Montreal for the PDC keynote diffusion after which there was a discussion about the keynote.

The room was filled mainly with freelancers and small company consultants (that is quite typical for a Montreal crowd actually).  More than half of those individuals are Microsoft MVP, which was quite an impressive concentration.

The most heated part of the discussion was about Microsoft message around the HTML 5 vs Silverlight.  Steve Balmer’s message about Silverlight was…  well there was no message, he didn’t explicitly talk about it.  Of course, he talked a lot about Windows Phone 7 development, which has to be done in Silverlight, but he didn’t mention the ‘S’ word ;)

What he did talk about though was HTML 5.  As I mentioned yesterday, that was one of his key messages:  Internet Explorer 9 / HTML 5.  That was touted as the “glue between the client and the server”.  If you read between the lines, you may interpret that Microsoft is now putting its weight behind HTML 5 instead of Silverlight.  If you can read between the lines, you can read it in-the-lines of Bob Muglia, Microsoft President in charge of server and tools business.

This didn’t escape many of the people in the room.  One of them actually made himself a Silverllight expert and basically just learned that he was old news.  As he said, the problem with Silverlight is that once you’ve tried it, you don’t want to go back to java script!

It’s funny, because another person in the room got the same uneasy feeling when we talked about TFS in Azure.  That person is an expert in TFS infrastructure and he just learned…  he was old news.  Both of those are MVPs, so I guess they felt betrayed on many levels.

But above betrayals, if you’re cutting edge today, where should you go?  And where should you advise people to go?

Well…  the thing is, I believe the question is still open.

Silverlight is much more mature than HTML 5 (which is far from %100 the same on every browser today) and much more complete for rich client application.  The demos of HTML 5 flying toasters are quite impressive, but I’m not sure you would like to see a complex application written in javascript / HTML 5 canvas.  Silverlight runs the same on every platform it supports (which is way fewer than where HTML 5 is supported or will be supported within a year).  The programming model is way cleaner, you can separate assemblies, go with a rich class model, etc.  .

That said, HTML 5 is offering quite a good share of what Silverlight is able to offer to the end-user.  The coverage is way broader.  But the developer experience is quite something else.  Hence the complaints in the room.

Now I can see where Microsoft is coming from.  They tied Internet Explorer 9 to the OS (it runs only on Windows Vista and more recent OS) in order to leverage the capacity to use hardware acceleration.  That makes IE9 the fastest OS rendering and animating HTML-5.  The competition will have trouble to follow them, especially that most of them (e.g. Chrome, Fire Fox) are available on many platforms.  So they basically threw a curve at the competition.

A problem with this is that HTML 5 will be standard but the speed won’t.  So you’re back to square one:  do you want to develop rich application on a platform where the performance highly depends on the browser?

I think the dice have been thrown, but they’re still rolling on the table.  For interactive-UI app, Flash & Silverlight will be the way to go for quite a while.  But for simpler UI (ie %90 of what you interact with everyday), HTML is back in the game with HTML 5.

A lot of arguments in the room were around the fact that a lot of companies still have IE 6 on their desktop.  Well, cutting-edge client computing isn’t happening on your corporate desktop, isn’t it?  The winner of the cutting-edge competition today will end-up on your corporate desktop.  Microsoft has two horses in the race, hedging their bet.