This past week Google hosted it’s annual I/O conference for developers. The conference is geared towards pushing the boundaries of web development and web applications. This year GoogleÃ‚Â unveiledÃ‚Â an amazing new web app called “Google Wave“. There has been a lot of hype and tons of press around thisÃ‚Â announcementÃ‚Â that occurred on Day 2 of the conference. Other than Google giving away a new HTC Magic Android phone to everyone in attendance, there hasn’t been nearly as much discussion over the events that occurred during the Day 1 keynote. I’d like to focus on some of the amazing technologies discussed during the first keynote and analyze how these new web features will affect the popular Flash format.
The features in the HTML 5 spec really help to close the gap between a traditional web application and a desktop application. Prior to HTML 5, things like offline storage, threading, and 3D graphics were only possible in desktop apps or with browser plugins like we have today. Adobe’s Flash technology and other similar technologies like Microsoft Silverlight have enabled many of these rich user experiences in the browser through the use of plugins. YouTube, which is one of the Top 5 most visited sites in the world, requires users to have the Flash plugin installed to view any videos. Before we get into the future of the Flash platform, lets quickly cover some of the important features available in HTML 5.
HTML 5 Features
1) canvas - This allows for rich drawing and animation built right into the browser. It’s now REALLY easy to work with rich graphics and do all sorts of things right in the browser that would typically be done server side or in a Flash app.Ã‚Â
Writing on the screen with the mouse in pure HTML and JS
2) 3D Graphics -Ã‚Â The browser is now capable of rendering 3D graphics and other game-like features natively using just HTML, JS, and CSS styling. All the graphics processing goes to the GPU leaving the CPU usage for other tasks like computing game logic, etc.
A 3D experience that Google built to test out these new capabilities.
3) <video>Ã‚Â - The new video tag is one of my favorites. This works exactly like the <img> tag but for embedding videos into the page. No need to worry about format, plugins, etc. In fact, Google actually demonstrated this using YouTube and quickly removed the Flash and used pure HTML to embed the video. (Remember this for later…)
YouTube using the new <video> tag. No Flash!
4) GeolocationÃ‚Â - This capability makes it easier to work with Geolocation API’s like the ones provided by the W3C to build location based services into the browser. In the keynote, they show a new button soon to be included into Google Maps titled “My Location”. This uses the WiFi locations nearby and Google’s large databases to triangulate your location in Maps. Pretty cool stuff.
Google Latitude on the iPhone running in the browser!
5) Database / App CacheÃ‚Â - This technology is critical in order for web apps to compete with their desktop counterparts. This allows apps to keep a local cache of the data so that the app can still be used when there is no connection. This also helps to speed up the app when there is a connection, by reducing the number of requests needed.
GMail running smoothly on Android in Airplane mode with offline data.
6) Web WorkersÃ‚Â - My favorite. This is threading for the browser. Google showed an app which calculates prime numbers in JS. Without workers, this app completely freezes the browser until the calculation completes. This means you can’t click anything on the page, switch tabs, etc. However, using the new web workers this process can execute in the background allowing the user to interact with other components on this page and other tabs. It’s incredible!
I’d love to hear your comments about the future of the web and Flash. Post away!!
Watch the full Google I/O Day 1 Keynote (1:28:00)