Anyone who works with anything even remotely related to web technology will no doubt be aware that HTML5 is all the rage of late. HTML5 is said to offer many advancements and opportunities to the world of web development. However as ever in the tech industry, it does come with its naysayers and technical drawbacks which must also be considered. We have been following the evolution of HTML5 for some time now and want to share our thoughts as to the suitability of HTML5 for enterprise application development. But first of all a brief history lesson…
In the beginning…
Man created the web, defined the HTML language and all was good. People from all over the world were able to curate, connect to and share documents on this new medium called the Internet. But before long, we wanted more. More functionality, more richness and more speed. Simple documents were not enough and we wanted engagement. Massive advancements in connectivity technology has given us significant speed improvements from the dawdling days of dial up. This speed increase has enabled the richer content and increased functionality we desire. However, the mechanisms for delivering such content have always been somewhat of a bumpy road. Some of the more significant attempts include:
- ActiveX – Reusable programs that could be embedded in Microsoft’s Internet Explorer offered more of the host platforms functionality to the user via their browser. The technology was hampered by being Windows-only, Internet Explorer-only and very clunky. Whilst useful for specific tasks in very controlled environments, it was really quite cumbersome for developers and severely restricted by its limited reach.
- Java – The Java runtime is still a prolific platform available on most modern operating systems as an additional download. Unfortunately Java has never really excelled at delivering a great presentational experience for users. The additional download and browser plug-in again adds an installation and maintenance headache for enterprise-wide implementations.
- Flash – In more recent years Flash has been the front-runner of advanced web applications. The introduction of the Flex framework brought enterprise grade software development practices to the web and the ubiquitous reach of the flash player offered the greatest potential numbers for a ‘build-once-run-anywhere’ development (many browsers came bundled with the Flash plug-in pre-installed). This was at the height of browser wars so the abstraction of differences between browsers was a welcome benefit too. However, again Flash was a proprietary plug-in and came with it the same install, update and security issues afflicting the other technologies.
And so the wider web community have pushed back, requiring a more standards-based solution to our interactivity needs.
Enter HTML5! Finally it seems, the standards bodies, guided by passionate individuals and obedient browser vendors are starting to come together to offer a much more aligned environment for feature-rich web application development. All of the major players (Microsoft, Google, Apple, Adobe etc) are investing heavily in HTML5 making it seem like a very serious contender to be the platform of the future.
So why should we care? (AKA: The benefits)
Okay so what is all the fuss about then, what does this holy grail of html offer us that we were so severely restricted by in the past?
Well, HTML5 is inherently cross platform. Every browser vendor is now striving to offer some level of compliance with the specification thus making the web browser a consistent delivery mechanism regardless of chosen operating system. This makes it ideal for organisations who service users of the Windows, Mac or Linux persuasion and also caters for users with a specific browser preference.
Not only operating systems, but HTML5 is a cross device platform too. Modern smartphones such as Apple’s iPhone, Google’s Android and Windows Phone 7 all offer browsers delivering on the HTML5 promise to various extents. The same applies to popular tablets such as the iPad, Amazon Kindle or even Internet TV browsers. This means that if your web application is built right, it will fulfil opportunities far beyond the constraints of the typical desktop.
Following a common standard also enables a broader level of accessibility compared to proprietary platforms. Now screen readers (or any other web consuming software) can portray content consistently across these same operating systems, browsers and devices.
Microsoft have already announced HTML5 is a first class citizen on their upcoming Windows 8 release and Apple have equally demonstrated their commitment to HTML5. The support from the major vendors coupled with the emerging best practices HTML5 development such as responsive web design (an approach to supporting multiple screen sizes) and progressive enhancement (enabling application features based on the supported functionality of the consuming device) means that applications developed for HTML5 are now future-proof and will be easily upgradable as more and more of the HTML5 specification is finalised and implemented. Equally, building support for HTML5 targeted at the devices available today likely means support for the next generation devices, in whatever form they come, of tomorrow.
Where’s the catch then?
Unfortunately as always, there are trade-offs to be considered when contemplating a HTML5 development project. As has been alluded to, support for HTML5 is somewhat ‘progressive’. The final specification is still being compiled and is likely to be in a state of continuous evolution for many years to come. However, that’s not to say that parts of the specification aren’t already available for use. They are and offer significant advantages and are well supported in many of the leading browsers.
This leads us to another problem, which is that of browser differences. Each browser vendor have their own views on how the HTML5 specification should be implemented and have differing priorities on which elements to support. However, this is not nearly as much of an issue as it has been in the past. As parts of the specification are confirmed the final implementations tend to align between browsers and it’s only the more experimental features where the major differences occur. Additionally, development frameworks such as jQuery, Sencha and libraries such as Modernizr exist to abstract and handle these differences seamlessly increasing productivity for developers.
HTML5 is also still a relatively young platform, even though it builds on an already strong foundation, the development tools used to create HTML5 applications are still having to evolve at an extremely fast pace. In many aspects of development, developers will be pushed out of their comfort zone to find the best set up for them and the absolute best tools are likely yet to come.
Although HTML5 does offer a much more comprehensive feature set than has been traditionally available in-browser, there are still many scenarios that may require more than is available. Copyright protection, complete hardware integration, advanced video and lower-level operating system functionality are all still a bit far from common browser capabilities at the moment and need to be handled by other means.
In Conclusion, is HTML5 ready for prime-time enterprise applications development? YES!
Now is the absolute best time to be investing in HTML5. Despite the aforementioned challenges, there are still significant advantages to be gained with the adoption of HTML5 as the basis for your enterprise applications. There is an absolutely huge, collaborative community rallying around to support and enhance HTML5. Sharing their learnings and working with browser vendors to help produce the best web experiences ever. It is a very exciting time to be involved in web development and this evolution should be seized within enterprise applications equally as much as the wider web.
Most of what we’ve covered here isn’t specific to enterprise applications development but is equally relevant to them. We wanted to highlight HTML5s suitability and in future posts we’ll focus more specifically on some of the different considerations within enterprise and how the application of HTML5 can achieve huge benefits for internal projects.
Please do get in touch and discuss the opportunities HTML5 can realise for your next project.