HTML5 for Web App Development – from Google I/O 2010
I finally had a chance to view the opening keynote from Google I/O 2010. The day 1 keynote can be viewed below:
The main message of this keynote IMO was the importance of HTML5 for web application development. First let’s provide some interesting context.
2005 – the Web emerges as an Application platform
In the keynote, Google VP of Product Management Sundar Pichai presents a couple of interesting slides that show 2005 as the year when – on the back of AJAX and Web 2.0 design principles – the Web truly emerged as an application platform. The story goes something like this – before 2005, applications were written primarily for the desktop:
2005 however saw the emergence of applications written based on Web 2.0 technologies (essentially AJAX). Suddenly, the most popular, widely-used applications were being developed as web applications – a list that includes the applications shown below:
As Pichai explains, in 2005 the web changed from documents to applications, and developers started reaching users by writing web applications instead of desktop applications.
Web Applications and HTML5
Given this trend powerful trend towards developing web applications, Pichai says:
We need to make sure that web applications can do everything that desktop applications can do. You’re all very familiar with this. Historically, desktop applications have had full access to system capabilities – so they could talk to the speaker, microphone, camera. They could access the file system, for example. Web applications have been limited in what they can do. This is what the HTML5 work is all about.
And, a slide to drive home the point.
Wow. So HTML5 is, in part, reducing the gap between HTML markup and access to the underlying capabilities of the computing device. I hadn’t actually realized that HMTL5 was so ambitious an undertaking. Here’s a couple of examples of core HTML5 capabilities:
- WebGL – a set of APIs that provide access to underlying system graphic processing capabilities
- Web Workers – allowing web applications to access the multi-core CPUs on modern computing platforms
There are also APIs to access the local file system, local storage, speakers, microphones, cameras, etc.
HTML5 also provides much more in terms of presentation (CSS3), semantic markup (microdata), additional structural markup tags, etc. But the key takeaway of this keynote, IMO, is that HTML5 is importantly about providing web applications full access to underlying computing resources – including mobile devices and rich media resources.