Firefox Social Integration

From MozillaWiki
Jump to navigation Jump to search
Please use "Edit with form" above to edit this page.

Status

Firefox Social Integration
Stage Complete
Status Complete
Release target Firefox 17
Health OK
Status note `

{{#set:Feature name=Firefox Social Integration

|Feature stage=Complete |Feature status=Complete |Feature version=Firefox 17 |Feature health=OK |Feature status note=` }}

Team

Product manager Asa Dotzler
Directly Responsible Individual Sheila Mooney
Lead engineer Shane Caraveo
Security lead Michael Coates
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Anthony Hughes
UX lead Jennifer Morrow
Product marketing lead `
Operations lead `
Additional members Mark Hammond, Jared Wein, Gavin Sharp, Felipe Gomes

{{#set:Feature product manager=Asa Dotzler

|Feature feature manager=Sheila Mooney |Feature lead engineer=Shane Caraveo |Feature security lead=Michael Coates |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Anthony Hughes |Feature ux lead=Jennifer Morrow |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=Mark Hammond, Jared Wein, Gavin Sharp, Felipe Gomes }}

Open issues/risks

`

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.

  1. Integration of persistent social notifications into the Firefox toolbar.
  2. Integration of news feeds, tickers, buddy lists, etc., into a Firefox sidebar.
  3. Integration of chat, voice, video, etc. into docked or floating window.
  4. 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.

Use cases:

  • 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.

3. Dependencies

This feature depends on:

  1. The Social API back-end implementation
  2. 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.
  3. Labs and Firefox engineers to implement the front-end of the Social API
  4. 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.

4. Requirements

  • 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

Non-goals

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

See Firefox_Social_Integration_Design_Spec

The API for social providers is defined in Social API doc and the newsgroup post Proposing some social features for Firefox

6. User experience design

The most up-to-date spec can be viewed here

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 [1].

A GitHub repo containing just the backend pieces, is at [2].

8. Reviews

Security review

https://bugzilla.mozilla.org/show_bug.cgi?id=733414

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

See Firefox Social Integration QA Plan

Operations review

`

Stage 4: Development

9. Implementation

List of open issues [3]

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=` |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.

  1. Integration of persistent social notifications into the Firefox toolbar.
  2. Integration of news feeds, tickers, buddy lists, etc., into a Firefox sidebar.
  3. Integration of chat, voice, video, etc. into docked or floating window.
  4. 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. |Feature users and use cases=Users: Firefox users with accounts on social networks.

Use cases:

  • 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.

|Feature dependencies=This feature depends on:

  1. The Social API back-end implementation
  2. 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.
  3. Labs and Firefox engineers to implement the front-end of the Social API
  4. 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.

|Feature requirements=* 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

|Feature non-goals=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. |Feature functional spec=See Firefox_Social_Integration_Design_Spec

The API for social providers is defined in Social API doc and the newsgroup post Proposing some social features for Firefox |Feature ux design=The most up-to-date spec can be viewed here |Feature 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 [4].

A GitHub repo containing just the backend pieces, is at [5]. |Feature security review=https://bugzilla.mozilla.org/show_bug.cgi?id=733414 |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=See Firefox Social Integration QA Plan |Feature operations review=` |Feature implementation notes=List of open issues [6] |Feature landing criteria=` }}

Feature details

Priority P1
Rank 999
Theme / Goal This feature falls primarily in the Connect space
Roadmap Firefox Desktop
Secondary roadmap Sharing
Feature list Desktop
Project `
Engineering team Desktop front-end

{{#set:Feature priority=P1

|Feature rank=999 |Feature theme=This feature falls primarily in the Connect space |Feature roadmap=Firefox Desktop |Feature secondary roadmap=Sharing |Feature list=Desktop |Feature project=` |Feature engineering team=Desktop front-end }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-needed bug 733414
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance In progress Test Plan
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-needed |Feature security health=` |Feature security notes=bug 733414 |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=In progress |Feature qa notes=Test Plan |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}