There’s a lot of innovation going on in the browser wars these days, with huge strides in features and performance from all the top vendors. And there’s a new feature on the horizon that’s going to make web apps even more powerful and flexible: Web Intents, which will allow web apps to communicate with each other.
Today, Google has announced that it’s planning to integrate Web Intents into Chrome. The news comes on the heels of Mozilla’s announcement last month that it is also working on the project ‘ Right now, a web-based image editing app that wants to give users access to their photos that are already hosted online would have to bake in APIs for the popular services (Flickr, Picasa, Facebook, etc.). And if a user had a photo hosted on a smaller service, they’d probably be out of luck — or have to manually upload them again. Using Web Activities, that wouldn’t be an issue — the web apps would speak in a standardized ‘language’ with each other without requiring the developer to integrate an API for each individual service. ’(Google’s post seems to indicate that the two projects used to be distinct, but that they’re now being unified under a single API).
So what exactly are Web Intents? The name and the purpose are both similar to the Intents system that’s present in Google’s Android platform. In short, Intents allow two separate applications to communicate with each other, without either of them having to actually know what the other one is. Instead, they offer and listen for generic hooks.
On Android this means that if you install a new image editing application, the default Gallery app doesn’t have to integrate any special APIs in order to send a photo to that editing app. Likewise in the case of a web app, this means that a new photo hosting site could easily integrate editing functionality from something like Aviary or Picnik, without either of those services needing to implement a special API unique to that photo hosting site.
Yes, it’s slightly confusing, but it’s a good thing, and it means web apps will be able to operate more like native applications.
Here’s a quote from Google’s blog post:
‘We are hard at work designing an analogous system for the web: Web Intents. This web platform API will provide the same benefits of Android Intents, but better suited for web applications. When designing the system, we have first and foremost been interested in creating a simple, easy-to-use API. With Web Intents, you will be able to connect your web app to a service with as little as two lines of code! Chrome will perform the heavy lifting for you. As with Android, Web Intents documents an initial set of intent actions (edit, view, share, etc.) that likely cover the majority of use cases on the web today; however, as the web grows and sites provide more functionality, new intent actions will be added by services that document these intents, some more popular than others. To foster development and use of intents, we plan to create a site to browse existing intents and add new intents.’