I am using HTML5 in a general sense here, but looking at the new functionalities, I can see a few of them that Flex can benefit from. HTML5 + stack really is a collection of new elements like Canvas, SVG based animation and supporting functionalities like geolocation, client storage,etc. Of these, I think the following features can be exposed via JavaScript and made available as Flex APIs. As a start, I can think of the following:
1. Geolocation We know that GeoLocation is available out of the box for AIR apps. But for flash player based Flex apps, we can write javascript hooks and expose Flex APIs using ExternalInterface. We could do something nice like providing an abstraction layer that encompasses both flash.sensors.GeoLocation and HTML5's GeoLocation APIs. Or, we could do something like 2. Client Storage Flash player has Local Shared Objects, but they default to just 100Kb before a prompt is displayed to the user. HTML5 client storage (per session + across session apis) has a default of 5MB. This one seems to be the most easy one to implement using ExternalInterface. 3. IndexedDB or Web SQL(?) AIR has SQLLite, but FlashPlayer does not have something like this. Again, an abstraction class that lets you write/read from the browser supported database would be cool functionality. 4. Offline access This feature enables apps to be run without a network connection. We can add a generic Cache Manifest file in html-template folder and add a reference to it in the index-template file. Our default Cache Manifest file could look like this: *Contents of ${application}.appcache* CACHE MANIFEST ${aplication}.swf ${application}.html /assets/images/* The IDEs could probably add some tooling that lets developers interactively add files to cache. Overall, my goal is here to leverage the cool things that HTML5 brings to the table that is not (yet) available to the Flash Player. As long as Flex apps runs only on the Flash Player (on the browser), we need to do something like this to make sure that we stay competitive with HTML5. What better way than to leverage HTML5 itself? These are just basic ideas and I dont know if they will work. My biggest concern is that there is no uniform implementation of these features across browsers. The key IMHO is abstraction and failing gracefully. Please respond with any other features you think could be brought into Flex. Or if you think that this is a stupid idea ;-) I plan to start writing code to add these functionalities in my whiteboard going forward. Thanks, Om