HTML5 - the future standard for Web apps?
Web technology has been evolving without pause in the 17 years since the first commercial browser was released. HTML5 (and the closely related CSS3) are the latest frontier in that evolution, and promise to give browsers native capabilities equal to or surpassing those available via plug-ins such as Flash and Silverlight. While HTML5 is still some way off being officially ratified, the important parts have been pretty much nailed down and changes to these are pretty unlikely.
Even better, all popular browsers other than Internet Explorer now support it - and with the imminent release of IE9, even Microsoft is stepping up. At the Gartner Symposium in October 2010, Steve Ballmer, Microsoft CEO, said, "The world is going the HTML5 path, and so are we." (Source: Gartner tweet)
HTML5/CSS3 new features
So if you're building a trading app in a browser, what does HTML5 offer you? Here's a quick summary of some key features and benefits:
- Web Sockets - provided they iron out all the kinks, Web Sockets should provide the ideal connection type for streaming real-time data
- Web Workers - although the main browser thread is the only one allowed to interact with the Document Object Model (DOM), you can pass off all other work, such as message parsing, to web workers to make use of the multiple cores that are ubiquitous these days. The result: better performance, lower latency and greater predictability.
- Application Cache - pre-HTML5 solutions to this had to rely on a combination of the base tag and cache control settings. HTML5 replaces this home-grown functionality and additionally enables applications to work offline (potentially useful if the application is running on a mobile device that may experience transient connectivity issues).
- Local/session storage - if the application can't access the web server, layouts and other information can't be saved. Local storage could be used to save layouts to the local browser database, then submit them (possibly the next time the user logs in) to the web server
- Canvas/SVG - great for building graphical displays such as charts. Although Canvas and SGV have been supported in Firefox for a long time, IE has been stuck with VML
- Video/Audio tags - no need for external plug ins (provided the video is using the right codec), easier to embed video/audio content
- CSS Transitions - pretty much had to be implemented in JavaScript previously, now many visual effects can be done in CSS and they look great
- Stacks of CSS eye-candy - things such as rounded corners that previously could be done only by using images
- More semantic, behaviour and application tags - things like progress bars used to need to be written using JavaScript, but now the browser has native implementations
- Drag and drop API - allows data to be dragged out of the browser and dropped into another application, or vice versa
- File API - allows the web page to read the data within a file, whether selected by the user from an input box or dropped directly into the browser
- Web messaging - allows web pages from different domains to communicate with each other (in a way that prevents cross-site scripting attacks)
The bottom line: HTML5 is on the brink of being widely supported, and it's going to help browser-based trading apps look great and work even better.
Caplin's adoption of HTML5
Caplin Trader already includes many HTML5-compliant capabilities, such as the use of Canvas for charting, and the Caplin FormBuilder HTML5 form framework. Caplin is actively implementing further HTML5-compliant capabilities in products that are to be released shortly. We will make announcements both via this newsletter and in the press as each of these new products becomes available.
Browser compatibility is still an issue
Having said all of that, there are still some issues with operating system compatibility. For instance Microsoft has made it clear that IE9 will not be supported on Windows XP - Ryan Gavin, senior director of IE business and marketing told The Register - a UK technology news website - "Microsoft will not put IE9 hardware acceleration features into the current version of its browser, IE8, nor back port IE9 to older PCs running Windows XP".
Although there are technical reasons why back porting IE9 would be problematic, Windows XP is still by far the most widely used Windows operating system despite the success of Windows 7 (Source: analytics data on Wikipedia); not supporting IE9 on Windows XP potentially denies HTML5 capabilities to a very large proportion of PC users.
Those Windows XP users who want access to HTML5 features will have a choice: use a non-Microsoft browser, install Google ChromeFrame into IE8 (which at the moment requires administrator privileges, although Google are apparently addressing this), or upgrade to Windows 7 if their hardware supports it.
For developers unsure which browsers support which features of HTML5 there are several websites that identify which HTML5/CSS3/SVG features are supported in different browser versions. One of the clearest is http://caniuse.com .
What about backward compatibility?
Many users, particularly in Finance and in Government, continue to use older browsers that do not support HTML5. Caplin is committed to ensure that our clients are able to provide the best possible experience for all those users with older browsers, while still being able to include higher performance and improved user experience for those whose browsers are HTML5 capable.