Firefox Share
This article is a stub. You can help the IndieWeb wiki by expanding it with relevant information.
Firefox Share was a browser toolbar button (in Firefox 23-56) to share the current page to a share provider of the userβs choice. It was removed in Firefox version 57 [1] in favor of WebExtensions.
It is possible to perform any other action (reply, like, repostβ¦) with the page, but the button is labelled "Share," and most providers implement sharing.
The "Share" toolbar button is represented as a paper airplane icon.
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Guide/Share
Clicking the button gives you an option of sharing the current page to whatever share providers you have installed. If you don't have any installed, it has a link to the Activations Directory where you can install share providers for various services, including:
- Known - a share service that lets you use any Known installation, on withknown.com, or your own server.
Why
By setting up a Firefox share social provider for your site, you can then post a page directly from the Firefox toolbar to your site.
Under the hood
The Share button is part of the Social API.
API example:
Social API Documentation:
IndieWeb Examples
Ben WerdmΓΌller uses the Known share provider to share from Firefox to his site werd.io.- unrelentingtech used the Micropublish share provider, added with FoxShare, to share from Firefox to their site unrelenting.technology.
Share providers that use indieweb building blocks (e.g. Micropub) and/or support posting to indieweb friendly tools.
- Known share provider (needs link)
- FoxShare
Additional Open Source Examples
Diaspora
There's a share provider for Diaspora on staging:
Since its UI requires the user to choose a pod or personal Diaspora instance to proceed, it could be used as inspiration for a Micropub share provider as well.
Brainstorming
It would be great to have a Firefox share provider in the Activations Directory that works with any micropub supporting IndieWeb site. It could work something like this:
From your own site:
- User navigates to the "Install Micropub Share Provider Page" on their own website
- See https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Manifest for a sample HTML page that provides a button to install a share provider
- User clicks the "Activate Micropub Share Provider" button
- Page posts a "ActivateSocialFeature" event with the JSON data of the share manifest
- Firefox provides a dropdown asking the user if they want to activate it "Would you like to enable services from ..." with a button (Enable Services)
- User clicks (Enable Services) - Firefox installs that share manifest
That's it. Now clicking the share (airplane) icon will drop down a UI rendered by your website from the "shareURL" property in the share manifest with the following %{url}, %{text}, etc. properties as documented in https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Share#Share_URL_Template
- url, medium, source, sitename, title, description, text, image
Equivalent to microformats properties:
- u-url, ??? type on a href, og:type ???, u-video | u-audio, ???, p-name, p-summary | p-description, p-content, u-photo
Once activated from the toolbar:
- The shareURL that the user's site renders provides a sign-in UI (assuming they're not already signed-in)
- The user signs-in with IndieAuth as they would on their own homepage
- The shareURL provides a UI for posting the information from the page to the user's website, using GET query params for the information from the site as documented above as the shareURL.
OR - from the Mozilla Activations Directory
- User installs "Micropub" share provider from Activations Directory
- Choosing the "Micropub" share provider drops down a UI page from a micropub sign-in proxy (maybe at indiewebcamp.com) with a URL field for the user to enter their own site
- The micropub share provider does micropub discovery on the user's site
- Then same steps above as "Once activated from the toolbar"
Micropub Next Steps
- Get one indieweb site working with its own activation UI/page
- Get a second indieweb site working with its own activation UI/page
- Figure out how to build a micropub proxy activation UI/page that can forward onto either of those first two indieweb sites, by them just entering their site URL, and following micropub/indieauth sign-in
- Have the micropub proxy remember (with a cookie) what was the user's personal site URL, and either present a simple sign-in button where it uses the site they used before, or a text field to enter another site.
- Get that micropub proxy activation UI/page included in the Firefox Activations Directory
After that any Firefox user should be able to install that micropub proxy activation provider, enter the micropub-supporting indieweb site URL, and use Firefox Share to post to their own website via micropub.
Activations Directory
Sample templates from the Activations Directory: