From MozillaWiki
< Labs‎ | PAC
Jump to: navigation, search
Please use "Edit with form" above to edit this page.


Contacts Mediator
Stage Draft
Status In progress
Release target `
Health OK
Status note `


Product manager `
Directly Responsible Individual `
Lead engineer `
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

  • Do we provide our own contacts server?
  • How is caching/offline access handled?
  • How does it interact with the Profile Mediator and Profile Servers? Does this point to other users' Profile Servers? Or do they just return similar data types (jcard vs list of jcards)?

Stage 1: Definition

1. Feature overview

It's helpful to be able to have a central repository for all of your contacts across your networks. This centralized access point also allows for easier definition of relationships and access control.

From this repository, sites can request access to a user's social graph to increase the site's features' social relevancy, and the user can limit the scope of social graph which said site can access. As with all OWA Mediators, it allows for user selection of which services they wish to provide data to interested parties, be it Google Contacts, their Facebook graph, or a local Address Book.

This feature will provide such an access point. Through interaction with a user's activity streams manager (Delta), the Contact Manager will also be able to know which of a user's contacts are already on sites which are requesting access to the graph, and only let the site know the relevant pieces of their social graph.

2. Users & use cases

  • Provide a centralized access point for a user's contacts across various sites
  • Empower users to control sites' knowledge of their social graph
  • Through increased control, sites will gain increased user trust, and this in turn will promote social activity to permeate apps and the web

3. Dependencies

  • Revive the old Contacts add-on
  • Merge with F1's current contacts backend
  • Delta (for scoping return values)

4. Requirements

  • Define API
  • Storage server
  • Support for friend, follow, and private profile follow models



Stage 2: Design

5. Functional specification


6. User experience design

The site-based prefs will be implemented in content at an about page (about:contacts). It will be in-content (much like [about:addons]), and is intended to build off of the mechanisms of the Site-based data management UI as appropriate.

Stage 3: Planning

7. Implementation plan

  • Salvage old Contacts Addon for API
  • Build mediator
  • Salvage old Contacts Addon for caching/offline access

8. Reviews

Security review


Privacy review


Localization review




Quality Assurance review


Operations review


Stage 4: Development

9. Implementation


Stage 5: Release

10. Landing criteria


Feature details

Priority Unprioritized
Rank 999
Theme / Goal `
Roadmap `
Secondary roadmap `
Feature list `
Project `
Engineering team `

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `