Editor notes: Below there are a few highlights where links need to be added into other documents, as they're written.
In order to make use of the social API (whether you're writing a new social service provider or working with an existing provider), there are a number of terms you need to know. This glossary will help!
- Client-to-user notification
- Client-to-user notification is the API that is made available to a service worker to indicate that data and interactions are pending for the user on this particular device, and that the service is ready to provide them. Subject to the browser's configuration, these notifications may be used to trigger a variety of attention-getting interface elements, including "toast" or "Growl"-style ephemeral windows, ambient notifications (e.g. glowing, hopping, pulsing), or collections (e.g. pull-down notification panels, lists of pending events). These Notifications are constructed to allow the service worker to receive notification when the user indicates interest in one of them, allowing the data presentation or interaction to proceed immediately.
- Panel
- A user-interface region (typically rectangular) that is temporarily displayed above content and browser chrome. These are used for short-lived interactions that are user-initiated or very important.
- Marks or Social Bookmarking Obsolete since Gecko 51
- The user-initiated act of indicating that a piece of web content (typically a URL) should be marked as being of interest to the user. This can indicate use cases such as "recommend this" or "save for later". No input other than than the URL is expected. A mark is created by the user by clicking on the Mark button in the Firefox toolbar.
- Server-to-client notification
- Server-to-client notification is a system by which a service arranges for notifications to be delivered promptly and efficiently to a client. It is not a feature of this proposal, though existing web techniques including WebSockets, Server-sent events,
XMLHttpRequest
with long polling (or infrequently quick polling) can all be used from service workers. It is expected that a service worker that has received a server-to-client notification will often relay this data into a client-to-user notification. - Service message
- A message is a JSON-encoded string that is either sent by the browser to the service worker, or sent by the service worker to the browser. These messages are used to coordinate the display of browser-managed user interface elements and to respond to user and content interactions. See Message Serialization for encoding details.
- Service worker
- A long-running JavaScript computation environment, managed by the browser and served by a user-specified web address, which acts as a coordination and communication hub for integration between the browser and a web service. The Social API has its own service worker mechanism, separate from the now-standard Service Worker API. This proprietary API is now obsolete and was removed in Firefox 51.
- Share
- The user-initiated act of sending a piece of web content (typically a URL) with an optional comment, explanation, or other data, to a user address, list of user addresses, social network, or other destination. The details of a share interaction are service-specific and a
SharePanel
is required to render the user interface to complete a share. - Sidebar Obsolete since Gecko 51
- A vertical rectangle of screen space, positioned to the side of normal browser content in a tabbed browser window, which is stable across browser navigation and tab-focus changes. A sidebar may be minimized, which causes it to be rendered entirely in "above-the-content/not-overlaid-over-content" layout space.
- Social service provider
- A web service that provides one or more APIs to a browser to enable social features. It is defined to the browser by a structured text file, which tells the browser how to load JavaScript and HTML resources that brings its functions into the browser.