Firefox/Projects/Firefox Start: Difference between revisions
No edit summary |
|||
| Line 3: | Line 3: | ||
*'''Proposed by''': beltzner, cbeard | *'''Proposed by''': beltzner, cbeard | ||
*'''Project lead''': mak | *'''Project lead''': mak | ||
*'''Project members''': mak, beltzner, cbeard, limi | *'''Project members''': mak, beltzner, cbeard, limi, justin | ||
== Status == <!-- bits inside onlyinclude can be transcluded into the main Project page --> | == Status == <!-- bits inside onlyinclude can be transcluded into the main Project page --> | ||
| Line 12: | Line 12: | ||
* restyle with updated logos and look to match [http://www.google.com Google.com] | * restyle with updated logos and look to match [http://www.google.com Google.com] | ||
* retrieve snippets from mozilla hosted service | * retrieve snippets from mozilla hosted service | ||
* create a site to host test snippets on | |||
== Goals == | == Goals == | ||
| Line 20: | Line 21: | ||
*control/customization of search engine used | *control/customization of search engine used | ||
*ability to display user engagement messages from mozilla.com servers | *ability to display user engagement messages from mozilla.com servers | ||
*do all of the above in a scalable and measurable way | |||
*track performance and conversion of each snippet | |||
== Non Goals == | == Non Goals == | ||
| Line 26: | Line 29: | ||
*option to use Google-hosted Firefox Start page | *option to use Google-hosted Firefox Start page | ||
* For the initial implementation will not feature any dynamic content like history/bookmark lookups. | * For the initial implementation will not feature any dynamic content like history/bookmark lookups. | ||
*segment on anything other than locale, geo, version, or OS | |||
*understand the impressions of each snippet | |||
== Timeline / Milestones == | == Timeline / Milestones == | ||
| Line 34: | Line 39: | ||
*ensure search codes remained consistent with existing page (localization, geoip/load balancing redirects)'''(partially done)'''<br> | *ensure search codes remained consistent with existing page (localization, geoip/load balancing redirects)'''(partially done)'''<br> | ||
*ensure cookies are not sent when page loads<br> | *ensure cookies are not sent when page loads<br> | ||
*ensure client ships with default set of snippets for initial offline support | |||
'''Phase 2 : add dynamism, offline support''' | '''Phase 2 : add dynamism, offline support''' | ||
| Line 40: | Line 46: | ||
*add dynamic snippet delivery and display '''(partially done)'''<br> | *add dynamic snippet delivery and display '''(partially done)'''<br> | ||
*add offline detection and messaging | *add offline detection and messaging | ||
*cdn hosting of snippets | |||
*async fetch of content with analytics on click-through | |||
'''Phase 3 : bells and whistles (time permitting)''' | '''Phase 3 : bells and whistles (time permitting)''' | ||
*design changes | *design changes | ||
* | *multi-variant testing support | ||
*some local places DB analysis (about:me style stuff) | *some local places DB analysis (about:me style stuff) | ||
| Line 73: | Line 81: | ||
*privacy: do not send any data to third party web services when loaded | *privacy: do not send any data to third party web services when loaded | ||
*performance: benchmark to show performance difference over web-hosted Firefox Start | *performance: benchmark to show performance difference over web-hosted Firefox Start | ||
*performance: don't hit moz servers for every impression | |||
*performance: better offline experience than web-hosted Firefox Start | *performance: better offline experience than web-hosted Firefox Start | ||
*metrics: ability to do a/b testing with engagement pieces | *metrics: ability to do a/b testing with engagement pieces | ||
Revision as of 20:23, 1 September 2010
Instead of loading Firefox Start from the network, use a locally hosted web application that provides the same functionality but offers greater potential for user control & customization, as well as engagement and interaction between Mozilla and users.
- Proposed by: beltzner, cbeard
- Project lead: mak
- Project members: mak, beltzner, cbeard, limi, justin
Status
Shipped in Beta 5 - need to improve styling, implement snippet support.
Next steps
- restyle with updated logos and look to match Google.com
- retrieve snippets from mozilla hosted service
- create a site to host test snippets on
Goals
- locally hosted page with
- no chrome privilege required
- some form of offline experience
- control/customization of search engine used
- ability to display user engagement messages from mozilla.com servers
- do all of the above in a scalable and measurable way
- track performance and conversion of each snippet
Non Goals
- ability to perform history/cache searches when offline
- option to use Google-hosted Firefox Start page
- For the initial implementation will not feature any dynamic content like history/bookmark lookups.
- segment on anything other than locale, geo, version, or OS
- understand the impressions of each snippet
Timeline / Milestones
Phase 1 : locally hosted replacement
- host local HTML/JS/CSS content (done)
- ensure search codes remained consistent with existing page (localization, geoip/load balancing redirects)(partially done)
- ensure cookies are not sent when page loads
- ensure client ships with default set of snippets for initial offline support
Phase 2 : add dynamism, offline support
allow search engine to be modified based on Search Box selectionfollow-up, perf hog due to content priv.- add dynamic snippet delivery and display (partially done)
- add offline detection and messaging
- cdn hosting of snippets
- async fetch of content with analytics on click-through
Phase 3 : bells and whistles (time permitting)
- design changes
- multi-variant testing support
- some local places DB analysis (about:me style stuff)
Timeline TBD
These are the bugs of interest:
| Bug & Summary | Owner | Status |
|---|---|---|
| bug 563723 - add about:home to mimic Firefox Start | mak | awaiting review |
| bug 563738 - Add current Mozilla "snippets" in the about:home page | mak | awaiting review |
| bug 544819 - Bug 544819 - Create a basic Home Tab linking to the current Home Page | nobody | haven't started, waits app tabs |
Requirements
- privacy: do not send any data to third party web services when loaded
- performance: benchmark to show performance difference over web-hosted Firefox Start
- performance: don't hit moz servers for every impression
- performance: better offline experience than web-hosted Firefox Start
- metrics: ability to do a/b testing with engagement pieces
Dependencies
- product: talk with Google to arrange a technical contact and to ensure a smooth handoff (beltzner) done
- webdev: engagement pieces to be delivered from mozilla.com service
- fix localStorage bug: it does not allow to set entries for URIs without a host (about: pages have just scheme and path). bug 568091 (done)
- localStorage is main-thread only (IO on another thread is future target though since not really needed for first implementation). (follow-up)
- Use search service engine definitions, inject from chrome context at startup (done)
Design Specification
Visual Design
Sketch and tracking bug coming soon, but essentially:
- increase font size in textbox
- use better version of search service logo
- change layout so that it doesn't look as squooshed
- leave space for snippets more or less where they exist now
- add links to privacy policy, user rights
Snippet Service
A service will be hosted on mozilla.com that will deliver a JSON file that contains HTML, CSS, JS and media content used to create a user-facing "snippet" that will be presented on the Firefox Start page. This snippet will use web technology, including JS, and can be interactive / dynamic as required.
- service endpoint will accept parameters so that snippet can be differentiated based on:
- client version
- last client update
- client host operating system
- client locale
- add-ons installed on client
- service will return a single JSON file that contains
- HTML files
- CSS files
- JS files
- media files (PNG, WEBM, etc)
- service will be able to handle load of being checked once a day by all Firefox clients
Snippet Presentation in Client
The client will store the snippet content on the user's local disk (either as flat file or using appcache / offline storage?) and display it as part of the Firefox Start page in an iframe. The client will update the snippet asynchronously at most once per 24 hour period; any additional rotation/varying of the user facing content will need to be handled by the snippet itself.
- client will check mozilla hosted service at most once per day
- client will download JSON file from mozilla hosted service if update available
- client will unpack resources from JSON file and store locally
- client will render locally stored content in iframe on Firefox Start page
Testing
tbd
Related Projects
- Application Tabs
- Home Tab