Firefox/Projects/Firefox Start: Difference between revisions
No edit summary |
|||
Line 29: | 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 | *segment on anything other than: | ||
** client version | |||
** last client update | |||
** client host operating system | |||
** client locale | |||
** add-ons installed on client | |||
*understand the impressions of each snippet | *understand the impressions of each snippet | ||
Revision as of 20:28, 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:
- client version
- last client update
- client host operating system
- client locale
- add-ons installed on client
- 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