Platform/Features/VideoConferencing: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 31: Line 31:


* Video conferencing / sharing slides from inside an app.  You call someone from inside an app and you're able to share files, images, slides, etc through the P2P connection as you're talking via the data channel.
* Video conferencing / sharing slides from inside an app.  You call someone from inside an app and you're able to share files, images, slides, etc through the P2P connection as you're talking via the data channel.
For reference only:
* [https://datatracker.ietf.org/doc/draft-ietf-rtcweb-use-cases-and-requirements/?include_text=1 IETF Use Case Document]
|Feature dependencies=This requires the integration of the newly released WebRTC code.  It also requires integration of Robert's Media API work.
|Feature dependencies=This requires the integration of the newly released WebRTC code.  It also requires integration of Robert's Media API work.
|Feature requirements=Must Have:
|Feature requirements=Must Have:

Revision as of 21:15, 3 August 2011

Please use "Edit with form" above to edit this page.

Status

Video (and Audio) Conferencing
Stage Draft
Status In progress
Release target `
Health OK
Status note `

{{#set:Feature name=Video (and Audio) Conferencing

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

Team

Product manager Christopher Blizzard
Directly Responsible Individual Christopher Blizzard
Lead engineer TBD
Security lead TBD
Privacy lead TBD
Localization lead `
Accessibility lead TBD
QA lead TBD
UX lead Jennifer Boriss
Product marketing lead TBD
Operations lead `
Additional members Media Team

{{#set:Feature product manager=Christopher Blizzard

|Feature feature manager=Christopher Blizzard |Feature lead engineer=TBD |Feature security lead=TBD |Feature privacy lead=TBD |Feature localization lead=` |Feature accessibility lead=TBD |Feature qa lead=TBD |Feature ux lead=Jennifer Boriss |Feature product marketing lead=TBD |Feature operations lead=` |Feature additional members=Media Team }}

Open issues/risks

  • Privacy UI for this feature will be difficult to work out since it involves video and audio as part of the platform.
  • Data transport has yet to be speced and the IETF may or may not pick it up.

Stage 1: Definition

1. Feature overview

This feature will allow people using the web platform to include video and audio conferencing as part of their applications. The main attributes include:

  • Using the web as the setup end point for a "call." This is different than other calling systems, which use SIP, XMPP or other signaling systems.
  • Once capabilities are exchanged, a point-to-point connection is established between browsers. This includes NAT traversal.
  • Video is displayed as a primary object in the browser and can be part of content.
  • Data can be exchanged along with with the video and audio.

Note that this page does not contain other, further use cases for audio and video - connecting with devices, multi-party conferencing, etc - those are different shippable units although early design choices should reflect these further architectural goals.

2. Users & use cases

  • Call a friend on Facebook. From the chat/online window on Facebook you can click on a person and start a video call with them in the browser.
  • Video conferencing / sharing slides from inside an app. You call someone from inside an app and you're able to share files, images, slides, etc through the P2P connection as you're talking via the data channel.

For reference only:

3. Dependencies

This requires the integration of the newly released WebRTC code. It also requires integration of Robert's Media API work.

4. Requirements

Must Have:

  • Security design review
  • Security implementation review
  • The ability to make a call from a web page using a machine's built-in mic and camera.
  • Should be able to work with most (80-90%) of NAT setups across all geographies.
  • Support for voice-friendly audio codecs: G.711 and Opus
  • Support for encoding and decoding VP8 for video.
  • A Web API that's been sent to the public working groups for feedback.
  • An Web API and transport for data that accompanies the audio and video.
  • Support on Mobile for voice calling.

Nice to Have:

  • Video resolution switching
  • If hardware support exists for encoding & decoding VP8, support for video on Mobile.

Non-goals

As stated above, we are not trying to yet support multi-party connections, capturing images or other things not explicitly listed here. This page is focused on this one first shippable unit.

Stage 2: Design

5. Functional specification

`

6. User experience design

`

Stage 3: Planning

7. Implementation plan

`

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=* Privacy UI for this feature will be difficult to work out since it involves video and audio as part of the platform.

  • Data transport has yet to be speced and the IETF may or may not pick it up.

|Feature overview=This feature will allow people using the web platform to include video and audio conferencing as part of their applications. The main attributes include:

  • Using the web as the setup end point for a "call." This is different than other calling systems, which use SIP, XMPP or other signaling systems.
  • Once capabilities are exchanged, a point-to-point connection is established between browsers. This includes NAT traversal.
  • Video is displayed as a primary object in the browser and can be part of content.
  • Data can be exchanged along with with the video and audio.

Note that this page does not contain other, further use cases for audio and video - connecting with devices, multi-party conferencing, etc - those are different shippable units although early design choices should reflect these further architectural goals. |Feature users and use cases=* Call a friend on Facebook. From the chat/online window on Facebook you can click on a person and start a video call with them in the browser.

  • Video conferencing / sharing slides from inside an app. You call someone from inside an app and you're able to share files, images, slides, etc through the P2P connection as you're talking via the data channel.

For reference only:

|Feature dependencies=This requires the integration of the newly released WebRTC code. It also requires integration of Robert's Media API work. |Feature requirements=Must Have:

  • Security design review
  • Security implementation review
  • The ability to make a call from a web page using a machine's built-in mic and camera.
  • Should be able to work with most (80-90%) of NAT setups across all geographies.
  • Support for voice-friendly audio codecs: G.711 and Opus
  • Support for encoding and decoding VP8 for video.
  • A Web API that's been sent to the public working groups for feedback.
  • An Web API and transport for data that accompanies the audio and video.
  • Support on Mobile for voice calling.

Nice to Have:

  • Video resolution switching
  • If hardware support exists for encoding & decoding VP8, support for video on Mobile.

|Feature non-goals=As stated above, we are not trying to yet support multi-party connections, capturing images or other things not explicitly listed here. This page is focused on this one first shippable unit. |Feature functional spec=` |Feature ux design=` |Feature implementation plan=` |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 P1
Rank 999
Theme / Goal Connect
Roadmap Gecko
Secondary roadmap `
Feature list Platform
Project `
Engineering team Video

{{#set:Feature priority=P1

|Feature rank=999 |Feature theme=Connect |Feature roadmap=Gecko |Feature secondary roadmap=` |Feature list=Platform |Feature project=` |Feature engineering team=Video }}

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=` }}