Electrolysis/Firefox/PhaseOne

From MozillaWiki
Jump to: navigation, search

Goals

  • Phase 1 is a very focused effort to get Firefox up and running with Electrolysis as quickly as possible.

Usage Scenarios

  • Launch Firefox and have it show Gmail.

Status

  • We a strawman proposal put together and identified a team to do this work.

Strategy

The approach here is to basically compile with the multi-process turned on and get something up and running displaying the gmail inbox. This phase itself may have several sub-phases. Perhaps where we diverge from the mobile path is that instead of hacking around everything until it works and building on that, we would have some constraints so we end up with a version that will support some research and experimentation to help us with some of the big questions and risk areas. We do not want to just figure out the big problems as we get to them.

Some possible experiments could include...

  • Instrumenting the application to get data on all the places where content touches chrome.
  • Understanding where we bottleneck on interprocess communication.

During the very first sub-phase, we would be identifying this list of experiments and getting enough running that we can potentially support the ability for others to work on some of this.

Assumptions

We are making a few other assumptions...

  • No project branch or collaboration space is required - this can be done locally on a dev machine.
  • We can identify the resources to work on this.
  • This initiative can start relatively soon - prior to shipping Firefox 4.

Team

The plan is to keep this phase really small with a core team working on getting the thing up and running and some set of go-to resources for support.

Core team:

  • It would be best to have a team of probably 2 people focused on this.
  • Due to the nature of the task it makes sense to have them located in MV so they are in close proximity to the platform team.
  • 1 junior person - knows the code, resourceful, can get stuff done. This will probably be the primary resource on the project. We expect almost 100% of their time on this.
  • 1 senior person - provide guidance, help us stay focused. Someone to spend some predictable amount of time on the project.
  • Ideally we want an individual(s) we think we can largely pull-off the Firefox 4 work and will stay focused on the goal without the temptation to make it bigger than it needs to be. We realize the senior resource may have to get pulled into other commitments.

Supporting team:

  • There will have to be a couple of people, namely on the platform team, that will be available as points to help the core team when they run into problems.

Time Frame

We have no idea how long it will take.

Tracking

  • Since this phase is all about getting something up and running in a very self-contained environment, the most efficient way to handle this is as SCRUM-style project.
  • Project management goals...
    • Communicating daily with the core team (and others as needed) - regular SCRUM type meeting is ideal (5 min).
    • Keep track of what is going well, what is not going well and be able to summarize that for others regularly - lists, wiki etc.
    • Adding stuff to the running list of "big questions".
    • Help the core team stay focused and not get pulled into other stuff. Clearly there is some common sense involved here because issues may arise with the Firefox 4 end-game that we can't predict.
    • Making sure we get the attention we need from the supporting resources since they will be juggling a number of priorities.
  • Non project management goals
    • Tell anybody how far we are from the finish line.

Next Actions

  • Setup a bunch of wiki pages detailing this proposal (DONE).
  • Get consensus on this plan.
  • Identify the core team and supporting team resources.
  • Pick a start date to get moving.