Yesterday I attended the Keynotes to the Mix developer Conference in Las Vegas via Live Stream. They showed quite amazing stuff there using HTML5 with hardware acceleration in IE9. Folks at Microsoft really seemed to scorn Google's Chrome - showed up several Demos where Google Chrome was lame and IE9 kicked ass. Was quite funny but that's not what made me write this.
I attended the keynotes to see where the Microsoft trip goes to. At my current company Krones I have the task to propose a graphic framework for the future. There are lots of native applications, some using Win Forms, some even using old VB. Others are ASP.NET applications and run in the browser only. We'll have to port these applications and find a common graphic plattform for them: Or almost common. Some time ago I hit the PRISM framework making it possible to have one architecture for your WPF and Silverlight applications under the hood. I made some small steps with Silverlight 3 in 2009 and was quite amazed about the technology. I followed the development that was done for Silverlight 4 and look forward to the new features of Silverlight 5. I even did some tests here at Krones and ran a Silverlight application on one of the touch screens Krones sells along with it's machines: These are "almost embedded" devices with a very limited software on it: IE6 is the maximum. Anyway I was able to install the Silverlight plugin and showed that all went well even for the touch screens. I thought I had found the platform for Krones.
Now how about Silverlight? Seeing parralels? Everybody was hyping Silverlight. The technology has come so far that it's really ready to do some cool stuff. Again you need a plugin. But it's all better, becaus it's a) Microsoft (haha) and b) often already installed and c) it's hardware accelerated. There you go with your top rich client development platform. Then people remark: Gee! I need a plugin for that stuff! I'm a computer idiot and not able to install plugins by clicking once on a link! Or I work for military defense and am not allowed to install plugins at all! Suddenly it hits people like a beer mug that you need a plugin for that technology, and from one day to another it's no longer sexy. HTML5 instead promises all those fine features without plugin. Don't get me wrong, I'm not against HTML5. But I'm starting to ask the question how many times we want to spin around in circles again? What will be after HTML5? A Goldlight plugin enabling even more amazing features HTML5 isn't capable of? Only to be followed by HTML6? Come on guys: What's so new about it?
I've always had problems with the artificial separation of thin and rich clients. Why should I restrict myself to thin clients when I can use rich clients as well? When rich clients always have looked cooler, had the better features, offered the better user experience? What I'm really looking for is one technology for it all. I don't want to do this separation any longer: Take HTML5 for this, but leave it for that, take WPF instead. Oh we realized we need that WPF-part also in our HTML5 application now and vice versa? This needs some custom tailoring or even new implementation from scratch. I can't believe it. What shell we do? Forget Silverlight? Jump on the HTML5 train? Only to see it's limits later? Shall we always follow the double track strategy and build thin clients for one application, rich clients for others? Where is this all leading to? Next question: How is this gonna turn out for my iPhone/Android/Phone7? I'm leaving an open question here 'cause I'm running out of answers and ideas.