Web Intents is a framework for client-side service discovery and inter-application communication.
Why and when?
As a web developer you can think on many cases where you’re building a web app and you want to allow users to share pictures (or edit or any other operation). You have few options:
- Write that functionality yourself, but it will require a huge amount of work and likely won’t be nearly as good as other existing photo web apps.
- Force a hard-code integration with a collection of existing photo editing web apps, but that can lead to a cluttered interface and requires manual intervention later to integrate with new photo editing apps that may emerge. Worse, it forces your chosen integrations upon your end users.
One of the greatest strengths of the web is that the ease of linking allows innovative new apps to succeed without asking anyone else’s permission–but up until now that hasn’t applied to integrations between web apps. Web Intents is an emerging W3C specification inspired by Android’s Intents system that aims to solve the problems of communications.
How does it work?
- Service registers its intention to handle an action for the user.
- App requests to start an action (share, edit, pick, view etc’).
- User selects which service to handle the action.
Here as some slides that explain the main concepts from a pervious talk I gave. For the ones that like short informative videos - Paul Kinlan (=the godfather of web intents!) intreduce you to the powerful world of web intent in 3 minutes.
In case you are wondering what can you do with this good stuff on other browsers the answer is that there is a limited shims exist, but I recommend feature detection to support browsers that don’t have Web Intents support.