Last year, in October, Bob Muglia (Microsoft President in charge of server and tools) said that Microsoft’s “strategy has shifted” and that “HTML is the only true cross platform solution for everything” (Read more). Microsoft have invested significantly into HTML5 compliance in the recently released IE9.

Muglia later tried to clear up the confusion by stating in the Silverlight Team Blog: “Make no mistake; we’ll continue to invest in Silverlight and enable developers to build great apps and experiences with it in the future.”

However, Steve Ballmer also issued a Press Release in which he said: “HTML 5 will provide the broadest, cross-platform reach across these devices, and Microsoft will build the world’s best implementation of HTML 5 for devices running Windows”

Ballmer also tried to reassure us by emphasising that Microsoft will still invest in Silverlight, which he said “provides the richest media streaming capabilities on the web”.

Not sure whether you should use Silverlight or HTML5? Scott Hanselman makes an astute observation: “Use HTML when it makes sense to your solution. Use a plugin when it provides unique functionality… Apply common sense”.

What is HTML5?

HTML5 is the next major version of HTML (HyperText Markup Language), the key coding language behind the World Wide Web. The previous version, HTML 4.01, was published as a W3C Recommendation in December 1999, and this new version is set to transform web development.

HTML5 provides new functions that provide a much richer user experience on what is a universal platform — without any need for a plugin.

In conjunction with the new version of Cascading Style Sheets (CSS3), “things that you used to have to use Silverlight, Flash, or custom/dynamic images for, you can now do with a single line of code” (Sanford).

New elements include:

(1) The Canvas Element used for “rendering graphs, game graphics or other visual images on the fly”.

(2) Video and Audio Elements make it possible to directly embed streaming multimedia without third-party plugins.

(3) Offline Web Applications – the ability for users to “continue interacting with web applications and documents even when their network connection is unavailable”.