Firefox/Projects/Personas Uplift Exploration

From MozillaWiki
Jump to: navigation, search


  • Integrate the most recently used personas (number TBD) into the themes list
  • Allow switching between personas and themes as seamlessly as possible
    • Switching between the default theme or any persona and another persona will not require a restart
    • Switching to or from any non-default theme will require a restart


The personas will appear inline in the themes list. Preview images will be displayed in the preview pane and we'll offer the same options for them as we do for normal themes (Use Theme, Uninstall, About, Homepage)

The installation experience for personas will be:

  • user browses to a site that hosts a persona
  • if the site is whitelisted, rolling over the persona link will preview, clicking will install the persona
    • and will be whitelisted automatically
  • if the site is not whitelisted, clicking will verify that the site is allowed to install software before installing the persona

Current Progress

The patch is complete and landed, waiting for baking before landing on the 1.9.2 branch.


Implementation Plan


  • Support the basic DOM events (Dao - bug 511771, done)
    • Install event
    • Preview event
    • Reset event
  • Only allow installs from whitelisted sites (Dao - bug 511771, done)
  • local caching of current persona (Dao - bug 516013, done)
  • Periodic update check (Dao - bug 520346)
  • Performance testing (feature should be Ts/Txul neutral without a persona applied, and have a minimal, well-understood impact with one applied) (Who's going to own this?)
  • EM exposure of installed personas, recent personas (Dave - bug 510909, done)


  • Fast theme switcher UI
  • Clearer linkage from prefs dialog to EM themes UI
  • Linkage from EM -> AMO personas gallery bug 523522
  • EM exposing authorship/homepage details


  • Supplemental images
    • Dialog backgrounds
    • Theme the firefox start page
  • Support the notion of "favourites" (persistently stored, auto-fetched based on JSON feed contents)

Server/Backend Changes

If we're using the JSON object presented in the DOM event, instead of the JSON feed, then we need:

  • API to request the latest/up-to-date JSON object for a persona, given an ID


the two single digits in the middle are the second to last and last digits of the id.

We also talked about needing some extra features in the JSON object:


  • preview image

if you want to use the current preview image, it's


  • 32x32 icon


Note that the code to generate these is not live yet. We'll also need to go through the old personas and generate these files.

  • summary text

Will be in the json object as "description"

(also needs to be checked in, pushed, then everything has to be rebuilt)


  • isDynamic/updateInterval (is this expected to update regularly
  • version

Infrastructure Requirements

Post 3.6 Goals

Planning Meetings

Planning Group

Agenda 10.01.09

Agenda 10.08.09

Agenda 10.15.09

Agenda/Notes 10.21.09

Agenda/Notes 10.27.09

Agenda/Notes 11.06.09

Agenda/Notes 11.12.09

Agenda/Notes 11.17.09

Agenda/Notes 11.24.09

Agenda/Notes 12.02.09

Agenda/Notes 12.10.09

Agenda/Notes 01.07.10

Agenda/Notes 01.14.10

First Run

Notes 10.20


Kickoff 10.13.09

Notes 10.20.09

Notes 11.12.09