Electrolysis/Meetings/2013-05-29

From MozillaWiki
Jump to: navigation, search


« previous week | index | next week »

Milestones

  • Milestones 1 - Parity with Core Firefox Desktop functionality
    • Functional Requirements
      • Large components that don't work now would have to work
        • Session restore
        • Chrome URLs
        • Graphics Dependencies need to be resolved
      • We want to achieve the minimum level required to be able to move on to Addon/CPOW and Plugin testing.
      • We can determine this by running it through the existing testing suite or a subset of the test suit, only what is relevant to being able to move on to CPOW testing
        • Follow up with bill on this for front end to make sure this is the best criteria for considering the task completed.
    • Duration
      • 3 months (graphics dependency puts this at risk).
    • Resource Requirements
      • Matt Woodrow - Graphics dependency
      • Core e10s development team (see project charter)
    • Specific Tasks
      • Will be filled in with noteworthy tasks if needed once general roadmap is reviewed by team.
    • Dependencies
      • Graphics work needs to happen before we will feel good about pushing 3rd parties to start testing
    • Benefits
      • This milestone will provide us the shortest path to provide the foundation needed to test the viability of the proposed solutions to make Electrolysis work in Firefox.
    • Risks
      • Graphics work staying in an incomplete state
        • Mainly this is off main thread compositing
          • Mitigation: We need this completed before driving addon developers to test the functionaitly
        • There is also concern about older cards not taking advantage of this
          • Mitigation: Investigate the severity of this issue and then consider if is a risk or not.
  • Milestone 2 - Addons/Proving CPOWs can work
    • Functional Requirements
      • Prove that CPOWs will do the job
      • Compatibility with existing plugins
      • Make sure that our existing APIs can effectively work using them
      • Make sure that the range of real world use cases currently out can be emulated using this approach.
      • Some level of certainty that CPOW performance will be up to the job
        • Get to the point where we have minimum viability proven
        • Have a list of other optimizations that could further improve things
      • Report on what API changes have been discovered as necessary to have e10s be viable.
      • A list of Addons that will not work with the solution regardless of plugin change
      • Plugins will not be address until the next milestone
    • Duration
      •  ? This is highly dependent on how well the CPOWs work and will need to be determined once we have more data on the depth of the challenges.
    • Resource Requirements
      • Bill
      • David
      • Tom
    • Specific Tasks
      • We need to select a list of addons to test internally
      • How do we test this
          • We may just need to test them one at a time
          • This is a lot of work
            • how many add-ons do we need to have work to ship this?
    • Dependencies
      • We need to encourage 3rd parties to test against the solution as well
        • Some messaging needs to be done to drive them
    • Benefits
      • This milestone will let us know if CPOWs are a valid solution to support addons
      • We should get an scope of how much API rework is required to support e10s.
    • Risk
      • CPOW are not up to the task
        • Mitigation: Consider alternative paths but most likely this is a clear sign to cancel project.
        • Mitigation: If problems are not so severe then we can potentially fix the APIs that are the source of the conflict. Rearchitecting all the APIs is out of scope and should that be required, will require a revision of the project objectives.
  • Milestone 3 - Plugins
    • Functional Requirements
      • This is a very different API from Addons, the API is much older.
        • If you have 30 flash videos open, you have 1 instance of flash.
          • You need one process that takes to everything.
          • You need one instance per process.
        • We need to investigate how plugins will be affected.
          • Determine what the impact to Firefox will be should certain plugins no longer work and how much effort to put into supporting them on an individual basis.
      • Deliver the impact to the main plugins of concern.
      • Develop a plan for how to move forward considering these impacts.
    • Duration
      •  ? The duration of the investigation is dependent on the number of issues that we surface and the extent to which plugins are broken by our changes.
    • Resource Requirements
      • John Schoenick - Plugin subject matter expert
      • Potentially more plugin people
      • Need to think about who can help
      • This milestone could be done in parallel with Milestone 2 so it's beneficial to reduce overlap between the teams.
    • Specific Tasks
      • Need to identify and review impact to plugins of note
    • Dependencies
      • Will need support plugin team and will need at least 1 dedicated resources on loan.
    • Benefits
      • We will have an understanding of what the challenges are facing plugins and have enough information to formulate a plan on how to proceed towards a shippable implementations. Currently we can't see past this milestone.
    • Risk
      • Should we not be able to solve the multiple instance issue
        • Mitigation: Does this kill the project?
      • It's not clear that flash will work with Electrolysis.
        • Mitigation: Need to investigate the status of flash deprecations/emulation efforts and figure out a plan for how to handle this.
  • Future Milestones
    • Developer Tools
    • Polish/Performance
      • Drive performance up as much as possible.
      • Reduce bugs to the point that the product is considered Minimum viable.
      • Considered complete with team is comfortable with prefing on Electrolysis.