Firefox Social Integration
|Firefox Social Integration|
|Release target||Firefox 17|
|Product manager||Asa Dotzler|
|Directly Responsible Individual||Sheila Mooney|
|Lead engineer||Shane Caraveo|
|Security lead||Michael Coates|
|QA lead||Anthony Hughes|
|UX lead||Jennifer Morrow|
|Product marketing lead||`|
|Additional members||Mark Hammond, Jared Wein, Gavin Sharp, Felipe Gomes|
Stage 1: Definition
1. Feature overview
The Web has become inherently social. The browser is not yet playing a significant role in enabling the social experience. We are going to change that.
Just as we saw search become an integral tool for getting around on the Web and so integrated search touch points into the browser, so has social become an integral part of the Web experience, and that's driving the need for social touch points in the browser.
The first generation of integrating the social experience into Firefox will consist of four touch points.
- Integration of persistent social notifications into the Firefox toolbar.
- Integration of news feeds, tickers, buddy lists, etc., into a Firefox sidebar.
- Integration of chat, voice, video, etc. into docked or floating window.
- Integration of a share/recommend service in the Firefox toolbar.
With these touch points, users will be able to carry their social presence and tools with them, outside of confines of specific social websites. No longer will users need to be visiting a social provider to share or recommend something within that service, nor will they have to navigate the NASCAR-like mess of social widgets accompanying so much Web content. Users will be able to chat and get updates of various kinds from where ever they happen to be on the Web.
By integrating social into Firefox, Mozilla will put you, instead of any one website, at the center of your social experience.
2. Users & use cases
Users: Firefox users with accounts on social networks.
- A Twitter user is reading a compelling Wikipedia article and would like to share a link to that article with her Twitter followers. Because she's got the new Firefox that features social integration, it's as simple as clicking the share button.
- A Diaspora user is surfing the Web and doesn't want to miss any new posts from his friends back at Diaspora. Firefox has a convenient sidebar where Diaspora sends news updates so he never misses his friends' updates.
- A Google+ user wants to quickly open a chat without chasing down her buried Google+ tab in Firefox. She clicks her buddy's name in the Firefox social sidebar and it pops out a chat Window.
- A Facebook user, just about to hit the 1,000 friends mark doesn't want to miss that incoming friend request. Because he's got Firefox's new social features, he'll get a notification in his Firefox toolbar when any new friend requests, new messages, or notifications arrive.
This feature depends on:
- The Social API back-end implementation
- UR and UX work to test and design the experience for discovery and enabling social features, each of the 4 social touch points, disabling the social feature, and switching between social providers.
- Labs and Firefox engineers to implement the front-end of the Social API
- Social providers to offer up an Open Web Application Manifest - which contains the name, icon, and service data needed for the browser to communicate with the web property.
- To manage a list of social services (discover, install, delete)
- To display to the user which social services they are currently signed in to
- To easily sign in and out of a service, and to switch which service the user is interacting with, or to switch off social interaction
- To recommend the current page to their friends on a network - either as a standalone URL or with a comment.
- To see which of a user's contacts are online
- To initiate real-time communication with a contact through chat, voice, or video
- To see updates from contacts and to be notified when new updates are available
- To receive, at the user's discretion, ambient or immediate notification when interesting events have occurred
Mixing and matching different parts from different social providers is a non-goal. Users must be able to switch between providers, but it is not required that users be able to display touch points from multiple providers simultaneously.
Stage 2: Design
5. Functional specification
6. User experience design
Stage 3: Planning
7. Implementation plan
See the design spec for some thoughts.
A GitHub repo containing a full working implementation of the feature, as an addon, is at .
A GitHub repo containing just the backend pieces, is at .
Quality Assurance review
Stage 4: Development
List of open issues 
Stage 5: Release
10. Landing criteria
|Theme / Goal||This feature falls primarily in the Connect space|
|Engineering team||Desktop front-end|
Team status notes
|Quality assurance||In progress||Test Plan|