Platform/Features/Camera API

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


Ability to take a picture from a web page (<input type="picture">) - "Phase 1"
Stage Design
Status In progress
Release target Firefox 15 (Maire to confirm)
Health OK
Status note This is almost completed on Mobile where driver support is available via an external app; support for desktop will be added after the base WebRTC code is landed.


Product manager Maire Reavy
Directly Responsible Individual Maire Reavy (was Chris Blizzard)
Lead engineer Fabrice Desré
Security lead Ian Melven
Privacy lead `
Localization lead `
Accessibility lead `
QA lead John Hammink
UX lead Jennifer Morrow
Product marketing lead `
Operations lead `
Additional members Erin Lancaster (project manager for Android)

Open issues/risks


Stage 1: Definition

1. Feature overview

This is a request for the functionality to take a picture from a computer's attached camera and use it in a web application.

2. Users & use cases

  • Take a picture on flickr, or upload from your gallery.
  • Take a profile photo on facebook, or upload from your gallery.
  • Instagram for the web.

3. Dependencies

  • Requires an underlying implementation for capturing from camera devices. (done - anant has volunteered!)

4. Requirements

For mobile we should use an external app for performance reasons.

For desktop we should be able to take an image snapshot.


  • This does not include the ability to capture a video and send that video somewhere. This is only for taking a picture.
  • Previewing the image in a canvas with the ability to modify it before uploading it to a server; previewing and modifying the image won't be possible with this implementation (Phase 2 will eventually provide that functionality).

Stage 2: Design

5. Functional specification


6. User experience design

First iteration design specification

Stage 3: Planning

7. Implementation plan

Mobile implementation is almost landed.

Main bug for desktop: Bug 692955

Currently waiting on three things to happen for desktop:

  • Implementation of the Chrome UI (fabrice)
  • Implementation of the in-page UI (mounir or dholbert)
  • WebRTC integration and landing (jesup):
    • Landing Windows build support (ted)
    • Pruning code base for image capture (as needed) (jesup)
    • Legal review (under way, no problems expected)
    • Security review of code paths needed for image capture (jesup, curtis)
    • Picking a 'stable point' in WebRTC upstream to use as the mergepoint (jesup)
    • Landing review of the capture code from webrtc (jesup)
    • Post-landing testing and debugging (jesup, fabrice, qa, etc)

Ignore stuff below this line, here for history only.

Android support landed:

8. Reviews

Security review


Privacy review


Localization review




Quality Assurance review


Operations review


Stage 4: Development

9. Implementation


Stage 5: Release

10. Landing criteria

Remaining bug for Android: Bug 708175, which was just marked resolved fixed (April 14).

Feature details

Priority P1
Rank 999
Theme / Goal Connect
Roadmap Platform
Secondary roadmap `
Feature list Platform
Project `
Engineering team DOM

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-unnecessary Per note from imelven review unnecessary
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `