A micro-overview of some interesting HTML 5 features on iOS and Android

This is an extremely brief overview of the less known stuff that can be done with HTML 5 and related standards on mobile devices in the beginning of 2013. iOS generally supports more stuff. I didn’t include better known things like HTML markup, canvas and CSS features.

Local SQL database (iOS 3.2+, Android 2.1+) An SQL database running on the client.

Web Sockets (iOS 6+) Allow to stream data between server & client with low latency. Somebody implemented a web based VNC client this way, for example.

FileReader API (iOS6+, Android 3+) Allows to read the contents of user selected file(s) into memory. Example use: display a preview of user selected images before uploading them to the server.

Web workers (iOS 5+) Running JS in the background, separate from the main page - can improve performance.

postMessage (iOS 3.2+, Android 2.1+) Send string messages across domains. Could be used e.g. for authentication. It’s interesting that it’s been around for a long time but I haven’t come across it.

Blob URLs (iOS 6+, Android 4+) Allows using binary data held in memory as e.g. image source.

BlobBuilder (iOS 6+, Android 3+ (partial)) An easy way to build a binary blob by appending chunks of data.

Some things which aren’t currently supported but may be in the future (and I’d find them quite useful):

  • Photo/video/audio capture from the camera & microphone (getUserMedia())
  • Full access to a sandboxed portion of the filesystem (FileWriter API)
  • WebGL - OpenGL in the browser