Firefox/Projects/Personas Uplift Exploration: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1: Line 1:
=Goals=
= Goals =


* Integrate the most recently used personas (number TBD) into the themes list
*Integrate the most recently used personas (number TBD) into the themes list  
* Allow switching between personas and themes as seamlessly as possible
*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 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
**Switching to or from any non-default theme will require a restart


=Design=
= Design =


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 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:
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
** www.getpersonas.com and addons.mozilla.org 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=
*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
**www.getpersonas.com and addons.mozilla.org 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


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


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


* Tracked in {{bug|510909}}
== Bugs ==


==Implementation Plan==
*Tracked in {{bug|510909}}


'''P1'''
== Implementation Plan ==
* Support the basic DOM events '''(Dao - <s>{{bug|511771}}</s>, done)'''
** Install event
** Preview event
** Reset event
* Only allow installs from whitelisted sites '''(Dao - <s>{{bug|511771}}</s>, done)'''
** addons.mozilla.org
** www.getpersonas.com
* local caching of current persona '''(Dao - <s>{{bug|516013}}</s>, done)'''
* Periodic update check '''(Dao - {{bug|520346}}, ETA ???)'''
* 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 - <s>{{bug|510909}}</s>, done)'''


'''P2'''
'''P1'''  
* Fast theme switcher UI
* Clearer linkage from prefs dialog to EM themes UI
* Linkage from EM -> AMO personas gallery
* EM exposing authorship/homepage details


'''P3'''
*Support the basic DOM events '''(Dao - <s>{{bug|511771}}</s>, done)'''  
* Supplemental images
**Install event
** Dialog backgrounds
**Preview event
** Theme the firefox start page
**Reset event
* Support the notion of "favourites" (persistently stored, auto-fetched based on JSON feed contents)
*Only allow installs from whitelisted sites '''(Dao - <s>{{bug|511771}}</s>, done)'''
**addons.mozilla.org
**www.getpersonas.com
*local caching of current persona '''(Dao - <s>{{bug|516013}}</s>, done)'''
*Periodic update check '''(Dao - {{bug|520346}}, ETA&nbsp;???)'''
*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 - <s>{{bug|510909}}</s>, done)'''


==Server/Backend Changes==
'''P2'''


If we're using the JSON object presented in the DOM event, instead of the JSON feed, then we need:
*Fast theme switcher UI
* API to request the latest/up-to-date JSON object for a persona, given an ID
*Clearer linkage from prefs dialog to EM themes UI
*Linkage from EM -&gt; AMO personas gallery
*EM exposing authorship/homepage details


http://server/static/1/0/34510/index_1.json
'''P3'''


the two single digits in the middle are the second to last and last digits of the id.
*Supplemental images
**Dialog backgrounds
**Theme the firefox start page
*Support the notion of "favourites" (persistently stored, auto-fetched based on JSON feed contents)


We also talked about needing some extra features in the JSON object:
== Server/Backend Changes ==


Needs:
If we're using the JSON object presented in the DOM event, instead of the JSON feed, then we need:
* preview image  
 
*API to request the latest/up-to-date JSON object for a persona, given an ID
 
http://server/static/1/0/34510/index_1.json
 
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:
 
Needs:  
 
*preview image


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


/static/1/0/34510/preview.jpg
/static/1/0/34510/preview.jpg  
 
*32x32 icon
 
/static/1/0/34510/preview_small.jpg
 
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


* 32x32 icon
Will be in the json object as "description"


/static/1/0/34510/preview_small.jpg
(also needs to be checked in, pushed, then everything has to be rebuilt)


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.
Wants:


* summary text
*isDynamic/updateInterval (is this expected to update regularly
*version


Will be in the json object as "description"
== Infrastructure Requirements ==


(also needs to be checked in, pushed, then everything has to be rebuilt)
*[[Firefox/Projects/Personas Uplift Exploration/Capacity|Capacity planning]]
*[[Firefox/Projects/Personas Uplift Exploration/Code Cleanup|Code Cleanup]]


Wants:
= Planning Meetings =


* isDynamic/updateInterval (is this expected to update regularly
'''Planning Group'''
* version


==Infrastructure Requirements==
[[Firefox/Projects/Personas Uplift Exploration/Weekly Meetings|Agenda 10.01.09]]  
* [[Firefox/Projects/Personas_Uplift_Exploration/Capacity|Capacity planning]]
* [[Firefox/Projects/Personas_Uplift_Exploration/Code_Cleanup|Code Cleanup]]


=Planning Meetings=
*[[Firefox/Projects/Personas Uplift Exploration/Weekly Meetings Notes 10.01.09|Notes 10.01.09]]


'''Planning Group'''
[[Firefox/Projects/Personas Uplift Exploration/Meeting Agenda 10.08.09|Agenda 10.08.09]]


[[Firefox/Projects/Personas_Uplift_Exploration/Weekly Meetings|Agenda 10.01.09]]
*[[Firefox/Projects/Personas Uplift Exploration/Weekly Meetings Notes 10.08.09|Notes 10.08.09]]
* [[Firefox/Projects/Personas_Uplift_Exploration/Weekly Meetings Notes 10.01.09|Notes 10.01.09]]
 
[[Firefox/Projects/Personas_Uplift_Exploration/Meeting Agenda 10.08.09|Agenda 10.08.09]]
[[Firefox/Projects/Personas Uplift Exploration/Weekly Meetings 10.15.09|Agenda 10.15.09]]  
* [[Firefox/Projects/Personas_Uplift_Exploration/Weekly Meetings Notes 10.08.09|Notes 10.08.09]]
[[Firefox/Projects/Personas_Uplift_Exploration/Weekly Meetings 10.15.09|Agenda 10.15.09]]


'''Legal'''  
'''Legal'''  


[[Firefox/Projects/Personas_Uplift_Exploration/Legal Meeting 10.13.09|Kickoff 10.13.09]]
[[Firefox/Projects/Personas Uplift Exploration/Legal Meeting 10.13.09|Kickoff 10.13.09]]
 
[[Firefox/Projects/Personas Uplift Exploration/Legal Meeting 10.20.09|Kickoff 10.20.09]]
86

edits