Wednesday, September 9, 2009

Protocol Handling in Mobile OS's

I'm rather interested in the possibility of writing an application for a popular mobile OS (i.e. Apple iPhone, Palm WebOS, Google Android) which can capture and handle links of a particular protocol within the web browser. This isn't that uncommon- this occurs every time you hit a custom protocol link, such as mailto:// or vnc:// which launch an email or VNC client, respectively. This is an important concept for inter-process communication, especially as the line between native application and web application become increasingly blurred (WebOS!).

iPhone: Interaction between applications and mobile Safari is possible, as demonstrated by Alocola. Applications register to handle links, and can also issue GET requests through the browser.

Android: It's possible to register an intent-handler within your application, though it it appears to only be relevant for non-webkit based interactions. For whatever reason, clicking custom protocol links fall flat.

WebOS: It doesn't appear to be possible. There's a resource file that maps internal applications to protocols, but it appears to be a reference and not modifiable.

The other thing I noted about WebOS was that while the javascript capability exists for novel application development, it is absolutely no replacement for a true application development framework. Why? There's no graphics abstraction API, persistent storage capability is extremely limited, and there's no networking except AJAX calls.