08 June 2010

How to "fix" HTML5 as a "Flash Killer"...

Here's how to get people to quit wanting Flash and make them go nuts over HTML5. For real.

Take the HTML5 file tree that defines the application.

Pack it up in a tarball. Not a zip file, a tarball, .tar.gz. I'll explain why later.

Give it an extension like ".5app" or ".zap". Something trendy and distinctive. I'm crappy at "trendy and distinctive". But you get the idea.

When this gets downloaded, it gets unpacked and the default.html in the root gets loaded.

It's a tarball, not a zipfile, so this process can be streamed and the default.html can be loaded and run immediately to display a loading screen. This is not possible with zip, because the directory in a zip is at the end.

Add an HTML5 API to let you ask if a file is available, so the loading screen can (a) check to see how far the download has come, and (b) check to see if resources it wants to display are ready yet.

This way people can have their HTML5 apps in a bundle that just works and behaves like flash applets.

Security: the app itself is considered the "site" when it comes to "cross site" requests, cookies, etcetera. That way you can't drop a .zap on a shared site and use it to XSRF it to hell.