Any body that knows me would tell you that for the past few years I have been one of the biggest XAML fan-boys. I have evangelized WPF, Silverlight and Windows Phone. I still believe in XAML very much, and I still use it quite a bit on Windows 8 apps, but HTML is very exciting to me too, so for anyone that knew me from a previous life, here is a bit on why the recent dichotomy within my technical interests.
If you are wondering what prompts this post, it is two questions that I get often
1) Is Microsoft serious about HTML and web-standards and 2) is HTML ready for prime-time, desktop app development.
Note that this is my personal blog so I won’t speak on behalf of Microsoft, but I can share my experiences and try to put these into context.
My opinion on why embracing HTML is important (short and long-term):
HTML is here to stay. Today, there are many different client operating systems out there and many more ‘platforms’. The web platform (in the broadest sense) is the largest platform among all clients. It is also the ‘common denominator’ across the what I consider the three big OSes: Windows, iOS and Android. This is why I think HTML is critical and has a promising future. I think there is no way a single company can control it and the ‘competition’ among three or more big companies self-regulates the technology to keep it close to standards.
I think the two reasons above are enough for any company to take it seriously and to want to stick to the standards. Microsoft in particular needs to do a stellar job in this space. In the past 18 months, they have done a great job at competing within the browser space around the graphics performance, OS integration (e.g. site pinning), privacy, etc. but this is still a ‘come back’ story (after IE6, IE7 and even IE8); I think with IE9 they showed they are serious and with IE 10 they will leap forward. I will stop there cause this is starting to get marketingy, sorry.
On the “is HTML ready?” question:
Most desktop guys asking the “is it ready?” question are out-of-date on the features. I think Windows 8 can help open their eyes to these improvements. Historically, the concerns have been: performance, OS integration (and getting around the browser sandbox), off-line, and platform richness.
Off-line has long been solved. The model we are talking about here are apps that are installed, cached, connect both to the web and to local content.
Performance has improved in magnitudes over the past few years. If you go to http://www.beautyoftheweb.com you will see plenty of “immersive” experiences that are taking advantage of the hardware acceleration that IE 9 (and IE 10) provides. I am sure Firefox and Chrome have some equally cool demos that demonstrate that other browsers have improved on performance in the past few years; I keep hearing there is benchmarks and every browser wins some. I am not a believer in benchmarks, I like cool apps..
Integration with the OS has two different approaches: HTML has gone a long way; again, new features like location, cache, file APIs get you very far; beyond that, Windows 8 has a great compliment in WinRT. Using WinRT is (imo) the most seamless and most extensible way to do native integration. In the non-Windows 8 platforms, integration between an HTML UI and OS features is possible too via 3rd party libraries like Sencha, Titanium, Phonegap, and many others. To me, the integration model feels proven and will continue to improve since both the technical and business opportunities in this space are large.
That is my 2c. I hope this gives you context on why I am excited about this.