Overview:This is an experiment to allow the browser to facilitate interactions between sites. When a user lands on a site that offers services, they can “add” those services to the browser. Pages the user later visits will then be notified of these services (by the browser). If a page wishes to use a service, the user confirms the connection and data is passed between the two sites. This idea could be similar to “web intents”.
How it works:
- Browser goes to a page.
- Browser looks for “services” the site owner opens up to the browser (special code on the page).
- Browser lets the user know services from this page are available.
- User can toggle on/off the services, registering them with the browser.
- User goes to a different page.
- Browser looks for code on the page that specifies it wishes to use services.
- Browser tells page about the services the user has installed in the browser.
- If so, the Page can add content based on the service.
- If the special content is interacted with, the user is notified. ex: Page wishes to get X information from Y service OR Page wishes to send X information to Y service.
- User confirms the interaction.
- Browser passes information to service page behind the scenes.
- User visits Twitter.com
- Twitter tells the browser that a service is available to let other sites tweet as the logged in user.
- User visits a different page.
- Page sees they can tweet as user.
- Page shows new content to share via the service (“Share to your followers: I’m reading….”).
- User clicks the share button.
- Browser confirms with user that the current page wishes to use the Twitter “tweet” service and shows the data that will be passed.
- User agrees and browser opens a hidden page to the services site, calls the appropriate functions with the needed parameters.
- A tweet is posted… no oauth, no apis.
Proof-of-concept Addon:An addon for Firefox was created to extend the browser with this functionality. The add-on used in the above video can be found here: https://builder.addons.mozilla.org/addon/1015