Web Intents (2012)
Web Intents is a emerging system for the web. It lets your web app use different other components, without having to code it. You just specify what you need. Here's a quote from http://www.webintents.org/:
Users use many different services on the web to handle their day to day tasks, such as sharing images, editing documents and listening to music. They expect their applications to be connected and to work together seamlessly.
It is impossible for developers to anticipate every new service and to integrate with every existing external service that their users prefer, and thus they must choose to integrate with a few select APIs at great expense to the developer.
Web Intents solves this. Web Intents is a framework for client-side service discovery and inter-application communication. Services register their intention to be able to handle an action on the user's behalf. Applications request to start an Action of a certain verb (share, edit, view, pick etc.) and the system will find the appropriate Services for the user to use based on the user's preference.
Here is Wikipedia description Web Intents:
Web Intents is an upcoming framework for web-based inter-application communication and service discovery.
Web Intents consists of a discovery mechanism and a very light-weight RPC system between web applications, modelled after the Intents system in Android. In the context of the framework an Intent equals an action to be performed by a provider.[1] Web Intents allow two web applications to communicate with each other, without either of them having to actually know what the other one is.
Here is a video intro from Google:
Basic API Example
Apps that provide service is called Service. Apps that request service is called Client.
Services declare their service by “Intent Registration”, using the “intent” tag, like this:
<intent action="http://webintents.org/share" type="image/*" href="share.html" disposition="window|inline" />
For client apps, here's how it invokes:
var intent = new Intent("http://webintents.org/share", "text/uri-list", "http://news.bbc.co.uk"); window.navigator.startActivity(intent);
Google has a intro with code at http://www.chromium.org/developers/web-intents-in-chrome
Currently (), only Google Chrome supports it. There's a JavaScript “shim” (wrapper) to emulate support for other browsers.
Looks like the most popular use for web intents now is just web share widget.
What's Web Intents, is it still relevant in 2026 (AI Generated)
Web Intents was an experimental W3C proposal (from around 2010–2013) for a web-based service discovery and inter-application communication system. It was heavily inspired by Android's Intents system.What it was
- Core idea: Allow web apps to communicate with each other without knowing specifics about one another. A client web page could request an "intent" (e.g., "share this photo," "edit this image," "pick a contact") and the browser would discover and connect it to registered service providers (other web apps or extensions).
- It included:
- A discovery mechanism (services register themselves via HTML markup or JavaScript).
- A lightweight RPC (remote procedure call) system to pass data and get responses.
- Goal: Make the web feel more like a platform with modular, interchangeable apps/services, similar to how mobile OSes handle actions.
Google (especially Chrome) pushed it early on, with experimental support starting around Chrome 19. There was also some interest from Mozilla (they had a related "Web Activities" idea), and WebKit had a brief preview.
Why it failed / current status
It never became a standard. The W3C published it as a Working Group Note in May 2013 (informative only, not on the Recommendation track), and work stopped. Google removed experimental support from Chrome in late 2012.
Key reasons (from Paul Kinlan, one of the main advocates at Google):
- Poor user experience, especially on desktop (chooser UI felt clunky).
- Timing issues, overly broad scope, and focus problems.
- Difficulty building an ecosystem.
- API design choices that made UX fixes hard without major changes.
What replaced/succeeded it
Many of its ideas lived on in more focused, practical APIs:
- Web Share API (
navigator.share()) — for sharing content to native/system choosers. - Web Share Target API — allows web apps to register as share targets.
- Other modern equivalents:
registerProtocolHandler, better file handling, WebRTC/P2P for richer communication, and various credential/payment pickers.
There's occasional modern talk of "intents" in AI/web contexts (e.g., intent-aware protocols), but that's unrelated to the old Web Intents spec.
In short: Interesting concept from the early "web as platform" era that didn't survive, but helped inspire today's more targeted interoperability features.