Labs/PAC/Delta

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

Status

Delta aka "F2" aka the Streams Mediator
Stage Draft
Status In progress
Release target `
Health OK
Status note `

{{#set:Feature name=Delta aka "F2" aka the Streams Mediator

|Feature stage=Draft |Feature status=In progress |Feature version=` |Feature health=OK |Feature status note=` }}

Team

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 `

{{#set:Feature product manager=`

|Feature feature manager=` |Feature lead engineer=` |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}

Open issues/risks

  • Do we provide our own Activity Stream server?
  • How is caching handled?

Stage 1: Definition

1. Feature overview

It's helpful to be able to control your site-based communications from a single location and allow different sites to access the activities from other sites.

This feature will provide a way to read from user's various activity streams (posting is already covered by F1, although small modifications may be required to make the two features work well together). It will provide an API much like F1, adding options for filtering by source site, destination site, author, recipients, content type, priority, time, tags, and possibly others.

While the intended use of this feature will primarily be application-to-application, it will also trivially allow for a centralized, multi-channel "inbox" of a user's various activity streams (although significant UX work will need to be done to complete this feature if it is desired, as centralized inboxes and aggregators have consistently failed in the market).

2. Users & use cases

  • For consumers, provide a centralized access point for a user's activity streams across various sites
  • For consumers, empower users to control these access relationships, connecting streams as they see fit
  • For developers, provide a way to publicize a user's activity in your app
  • For developers, Provide a way to pull down activity relevant to a user and to your app for in-app presentation of social activity

3. Dependencies

`

4. Requirements

  • We need to document existing stream data sources and APIs to make a natural and comprehensible API for developers
  • These API and data type definitions will drive mappings to the user interface
  • UI for both configuration and use must be designed carefully and with user studies
  • Security and authenticity of the configuration UI must be verified and accessible to users.
  • Plans for pulling data from streams and caching for responsiveness
  • API "translators" (so a request to Delta's API makes the correct call to, say, Facebook's API)

Non-goals

`

Stage 2: Design

5. Functional specification

`

6. User experience design

The site-based prefs will be implemented in content at an about page (about:streams). 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

  • Define API
  • Build mediator
  • Build caching protocol
  • Build our server

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

`

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=* Do we provide our own Activity Stream server?

  • How is caching handled?

|Feature overview=It's helpful to be able to control your site-based communications from a single location and allow different sites to access the activities from other sites.

This feature will provide a way to read from user's various activity streams (posting is already covered by F1, although small modifications may be required to make the two features work well together). It will provide an API much like F1, adding options for filtering by source site, destination site, author, recipients, content type, priority, time, tags, and possibly others.

While the intended use of this feature will primarily be application-to-application, it will also trivially allow for a centralized, multi-channel "inbox" of a user's various activity streams (although significant UX work will need to be done to complete this feature if it is desired, as centralized inboxes and aggregators have consistently failed in the market). |Feature users and use cases=* For consumers, provide a centralized access point for a user's activity streams across various sites

  • For consumers, empower users to control these access relationships, connecting streams as they see fit
  • For developers, provide a way to publicize a user's activity in your app
  • For developers, Provide a way to pull down activity relevant to a user and to your app for in-app presentation of social activity

|Feature dependencies=` |Feature requirements=* We need to document existing stream data sources and APIs to make a natural and comprehensible API for developers

  • These API and data type definitions will drive mappings to the user interface
  • UI for both configuration and use must be designed carefully and with user studies
  • Security and authenticity of the configuration UI must be verified and accessible to users.
  • Plans for pulling data from streams and caching for responsiveness
  • API "translators" (so a request to Delta's API makes the correct call to, say, Facebook's API)

|Feature non-goals=` |Feature functional spec=` |Feature ux design=* Viewing your feed

The site-based prefs will be implemented in content at an about page (about:streams). 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. |Feature implementation plan=* Define API

  • Build mediator
  • Build caching protocol
  • Build our server

|Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}

Feature details

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

{{#set:Feature priority=Unprioritized

|Feature rank=999 |Feature theme=` |Feature roadmap=` |Feature secondary roadmap=` |Feature list=` |Feature project=` |Feature engineering team=` }}

Team status notes

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

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=` |Feature security health=` |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}