| HTML5, is still experimental a little like perpetual beta version of Chrome
| By Salar Golestanian @ Thursday, December 23, 2010 :: 12:47 AM :: 604 Views :: 0 Comments ::
|Today I had a customer that was complaining about lack of support for HTML5 in DNN. The question was completely alien to me as I could not understand the relevance of HTML5 with a Web Content Management System like DNN. I have always thought we can deliver some aspects of it so long the customer browser can manage to view it. So I thought I do some research and identify the part of the technologies around HTML5 that continue to develop, and finding a better way to distinguish the more experimental parts of HTML5 from the parts ready for use in mainstream Content Managed Sites.
I found this great article in CNN. It talks about how "tech giants like Apple, Google and even Microsoft have wholeheartedly embraced HTML5 and dubbed it the future of web" We all know how Apple (Steve Job) has waged war on Flash, which has meant as an iPad owner, I have to remote access my local pc to see a flash content on my iPad. So for iPad owner, the sooner HTML 5 gets out of beta and plays video on my iPad the happier I will be.
The IE9 browser has site-ready HTML5 support that developers and consumers can use. Microsoft has offered developers “HTML5 Labs”. The HTML5 Labs are managed by the Microsoft Interoperability Strategy Group and more experimental technologies still under development. MS has separated prototype implementations from mainstream browser product ones, so to avoid many negative consequences.
IE9 which is still in beta and I dont really know when the final is going to come out. May be one to two years from now. IE5 offers support for real-world web patterns that developers are using today as well as the HTML5 patterns we expect to become more mainstream. IE9 does this because MS wants to improve interoperability on the web by providing developers a consistent programming model through the same mark-up. The goal is supporting great new capabilities, ideally in a way that interoperates or will interoperate soon across browsers.
One of HTML5's biggest USPs is its flexibility. The goal is that regardless of what device a site or app shows up on -- iPhone, Android tablet, desktop, laptop, all of which have different form factors - developers can use almost the exact same code for each platform, cutting down on the time, effort and manpower currently required by many mobile app developers to program native apps the crowded mobile OS market.
However in IE9 You will not see Geolocation, Transitions, FlexBoxes and WebWorkers, because the next version of IE9 will be the release candidate. Microsoft cannot introduce a new, potentially buggy, feature in a non-beta builds. The IE team wants a safe stable version for the enterprise consumption.
On the other hand because Chrome is a perpetual beta version and on some days, it has rendering issues and other days everything works fine it is not taken seriously by corporate. IE is intended for enterprises so when something is added, it should work. Microsoft does not want to make the mistake of adding bad stuff to IE (in v5/6) which they are still paying the consequences.
Is there a race?
There is clearly a strange race going on between Apple with Safari, Google Chrome and Microsoft IE9. As although they want to get to a good solid version first, yet they dont want to get there too soon as that might, mean they have made some big mistakes and one other more refined version is going to win. This is the reason for Chrome to be called BETA all the time and IE9 being so conservative in content.
The major difference to speak about is the one between Google and Microsoft. whilst, Google is creating a full application environment inside Google Chrome, in contrast, Microsoft is just writing a new release of a web browser and it has independent application environments one of them is .NET.
Currently in the developer world, the most popular browser is the one that will define the standards. FireFox was great for web designers, but for some, Chrome is the one since, Chrome application environment evolves every 6 weeks, and now is getting way faster than .NET or Java or any other browser technology including Silverlight, V8 interaction with the UI is now much faster than C# and Java with very large forms.
Microsoft will release IE in a few weeks or months maybe as they do with other software, but Chrome will continue evolving their browser/ app environment and make it better, faster, and more features every 6 weeks, I don’t know how can anyone compete with that. This to me will make chrome the main contender for pushing the HTML5 envelop forward in the future and all other browsers will just do their best to catch-up.
What about others
I also use Safari, which is slower than chrome. It also seems to want a big upgrade that is a lot more bulky than the way Chrome does it. Nevertheless, I like it more than FireFox now as my FireFox does have a habit of big crash that I cannot accept.
Mozilla just released the latest version of Firefox 4 Beta for both the Web and mobile phones (Android and Maemo). The desktop version now supports the WebGL 3D graphics standard without the need for a plugin and syncing different browsers across devices is now an easier process. The new mobile version of FireFox also makes it simpler to sync bookmarks, tabs, and history with your desktop Firefox browser. And to minimize the need to type, it now supports cut-and-paste in the address bar. So it looks FF is all about functionalities and little about HTML5
IE9 is still important for Developers
The following are the features that likely won't see action in the IE9 RTM. But we really like to see them happen. For me the following are important as I know that in the long run the Enterprise is still likely to choose IE rather than Chrome and therefore web developers will continue to ensure what they build can run on IE9. Here are some things that must happen.
As I understand it, WP7 (Windows Phone 7) does support Geolocation in IE (whatever version that is) - if this is the case - it looks like the technology is already there. So Microsoft could well have plans to introduce some of above in IE9 before final release.
- Geolocation - The API is not too difficult to implement and yet provides major possibilities to developers that they currently have access to on EVERY OTHER BROWSER! best of all, 100% of this does not affect DOM rendering etc. so it can be updated/improved on-the-fly at any time, in any release/patch - therefore there is absolutely no reason why IE9 should not support this. For me this is a must for MS to revise their position.
- Inner HTML - Developers have complained about this for years and Microsoft developers themselves have indicated that the existing poor support was due to a buggy implementation. I still don't see any fix so, InnerHTML is now part of the HTML5 specification and therefore, IE9 must therefore, support it completely and properly so to validate the intentions of claiming that "IE9 is HTML5 ready"
- Local Storage - I think this works in IE8 - but recent IE9 preview it does not see the local drive/localhost. This may be due to the fact MS does not want to expose the developer pc to hacks.
- Video/audio - Developers need a common, free AND open accepted format to deliver content. IE9 therefore, should support WebM & OGG for video, and MP3, OGG for audio. And if not then iPad users like me will still not be able to view Flash or Flash based videos.
Finally, I like to discuss the current state of affair for us developers having to deal with so many browsers. As a long time web developer with a medium size team, we have tried all the options out there to try and simplify testing IE:-
The mobile/browser/OS landscape will deliver HTML5 before Desktop
- Multiple IE's - IE8 breaks the functionality of IE6's textboxes - thus it’s not practical
- IE Tester - works great until you need to test popup interaction and then will not work
- Virtual PC with time bombed images of IE6, IE7, IE8 - works ok, but the 20 Gigs of HD space and the image of windows die every so often as well as running a full Windows image is slow and most of us developers now use laptops. So I don’t think so
- Multiple PC's to run multiple versions of windows and IE. With all the hardware, software, and physical space needed - is our current approach. But we are running out of space
- Spoon.net IEs - They work, they work just like local native apps once running, but the problem with these IE's is that Microsoft shut them down
- Chrome, and latest Firefox and latest Safari run just fine on windows 7
- Older G4 Apple Macs now days will not load the latest Safari. So most sites will not work on the older Macs and we have access to one of these old Macs. However, not everyone has one of these old boxes hanging around.
The Mobile Browser/OS space is getting much more complex. Therefore, probably a mobile browser web app that provides mobile users experience comparable to native apps is a good idea. However it has a long way to go as a iOS native Objective C/Cocoa Touch app can outperform a web app by 100 times or more. Therefore, HTML5 needs to get a lot faster to be able to compete with native apps. This will not happen in the near future so the experimentation and beta releases of a browser perfect for HTML5 will continue for at least the next 2 years of not more.