Mossop Status Update: 2010-03-05

Done:
Firefox team shenanigans
True async reads for the add-ons manager
Compatibility overrides and compatibility updates
Figured out how to integrate webpage triggered installs

Next:

Done:

  • Firefox team shenanigans
  • True async reads for the add-ons manager
  • Compatibility overrides and compatibility updates
  • Figured out how to integrate webpage triggered installs

Next:

  • Webpage installs
  • Personas and plugins support

Coordination:

Need to see if releng can get the project branch set up this week

Mossop Status Update: 2010-02-26

Done:
Catching up on a backlog of reviews
Planned out how to integrate the existing InstallTrigger code with the new EM backend
Handle migrating extension states from older/newer versions of Firefox

Done:

  • Catching up on a backlog of reviews
  • Planned out how to integrate the existing InstallTrigger code with the new EM backend
  • Handle migrating extension states from older/newer versions of Firefox

Next:

  • Make installs from webpages work again
  • Work out a list of things to do before a trunk landing is possible
  • Party with the rest of the team

Mossop Status Update: 2010-02-19

Done:
Worked through install and upgrade scenarios with Boriss
Implemented downloading and updating add-ons through the API
Implemented updating add-on compatibility on app upgrade

Next…

Done:

  • Worked through install and upgrade scenarios with Boriss
  • Implemented downloading and updating add-ons through the API
  • Implemented updating add-on compatibility on app upgrade

Next:

  • Make installs from webpages work again
  • Handle migrating data from newer/older versions

Mossop Status Update: 2010-01-29

Done:
Intermittent test failure tracking
Post mortems
Wrote a patch to fix showing incompatible add-ons to users who have upgraded
Started setting up a project branch for the add-ons manager work

Done:

  • Intermittent test failure tracking
  • Post mortems
  • Wrote a patch to fix showing incompatible add-ons to users who have upgraded
  • Started setting up a project branch for the add-ons manager work

Next:

Need to change my working practices and start ignoring new emails unless they are critical so I can actually get more work done.

Mossop Status Update: 2010-01-22

Done:
Identified and mostly fixed a regression in 3.6 involving executable files in XPI packages.
Worked with AMO to try to improve the capabilities of release notes for add-ons.
Figured out how to make the backend parts…

Done:

  • Identified and mostly fixed a regression in 3.6 involving executable files in XPI packages.
  • Worked with AMO to try to improve the capabilities of release notes for add-ons.
  • Figured out how to make the backend parts of lightweight themes and xpi themes operate independently.

Next:

  • Implement the new add-on download and install process
  • Work out how to proceed on some large toolkit issues

Mossop Status Update: 2010-01-15

Done:
Started removing extension dependency support from the new EM backend.
Changed some of the API notifications to better represent add-ons that don’t require restarts.
Fixed a bug involving opening new windows after …

Done:

  • Started removing extension dependency support from the new EM backend.
  • Changed some of the API notifications to better represent add-ons that don’t require restarts.
  • Fixed a bug involving opening new windows after canceled shutdowns.

Next:

  • Work out how to handle lightweight/XPI themes in the new world order
  • Expose stubs for additional metadata to the EM API
  • Make async API work asynchronously

Mossop Status Update: 2010-01-08

Done:
Fixed a minor bug with the new extensions.checkCompatibility.X.Y pref naming
Synced up with Unfocused and Boriss on the new add-ons manager UI
Submitted a list of things we need added to AMO’s API
Posted to the com…

Done:

  • Fixed a minor bug with the new extensions.checkCompatibility.X.Y pref naming
  • Synced up with Unfocused and Boriss on the new add-ons manager UI
  • Submitted a list of things we need added to AMO’s API
  • Posted to the community about the plan to drop extension dependencies

Next:

  • Evaluate feedback from the community on dropping extension dependencies
  • Work out how to handle lightweight/XPI themes in the new world order
  • Expose stubs for additional metadata to the EM API
  • Make async API work real

Do we need extension dependencies?

Ever since Firefox 2 we have vaguely supported a form of extension dependency. That is marking an extension as requiring particular versions of another extension.

The support is currently very limited and when a user tries to use an add-on that depends on something they don’t have they are pretty much left in the cold. While we tell them it requires something we don’t tell that what it requires or give them any easy way to download and install it.

Given this poor implementation it is perhaps no surprise that very few extensions make use of the feature (something like 50 listed on AMO, many of which are outdated). This raises questions over the cost of continuing to support this feature particularly now when we are undergoing large scale changes to the add-ons manager architecture to give better support to personas and jetpacks.

Before I made any final decisions I wanted to gather some feedback on what people thought about completely dropping the support for dependencies for now. We will always have the option to add it back again (even in a more functional state) at a later time should we decide it is worthwhile. Unfortunately it’s certainly not on the cards right now to complete the implementation as it stands and even leaving it as it is is costing significant work during the refactoring project.

Extensions can always handle dependencies themselves at runtime by testing for the presence of whatever they depend on. They can even then give the user a way to get what they need which makes for a far better user experience than the platform currently offers so I’m not sure I see a convincing reason to keep the feature as it is around for now.

Third-party extension installation status

I have been remiss in not posting a status update about this in two weeks, but that is mostly because we have unfortunately had to slow down work on this feature. The problem is that a string freeze became necessary for all toolkit code (the code shared with the Firefox mobile browser and where this feature would have lived). Unfortunately this all came up over a small period when I was travelling long distances and having to take time out to satisfy immigration authorities that I wasn’t a terrorist intent on bringing down the U.S. government.

In the end there just wasn’t enough time to finalise the UI and be confident that it was correct before the freeze. This means that this feature isn’t going to make Firefox 3.6, however the intention is to continue working on it to get it into Firefox 3.7. It will just be on hold for a short time since I need to devote myself to Firefox 3.6 blockers.