Partnering:Projects:BYOB: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Build Your Own Browser: https://byob.mozilla.com/
Build Your Own Browser is a web-based application that simplifies light customizations of Mozilla Firefox. You can give it a whirl at [https://byob.mozilla.com/ byob.mozilla.com].


BYOB is a web-based wizard that helps you create customized versions of Firefox.
'''Weekly Project Update'''
 
__TOC__
 
== Meetings ==
 
Weekly Project Update


* Each Wednesday at 12:00 Pacific / 14:00 Central / 15:00 Eastern
* Each Wednesday at 12:00 Pacific / 14:00 Central / 15:00 Eastern
* +1.650.903.0800 x92 Conf# 283 (US/INTL)
* +1.650.903.0800 x92 Conf# 283 (US/INTL)
* irc.mozilla.org #byob for backchannel
* irc.mozilla.org #byob for backchannel
__TOC__
== Meeting Minutes ==


=== 2010 ===
=== 2010 ===
 
* 2010Q3
* [[Partnering:Projects:BYOB:Meetings:2010-03-31|March 31]]
** Sep: [[Partnering:Projects:BYOB:Meetings:2010-09-01|01]]; [[Partnering:Projects:BYOB:Meetings:2010-09-08|08]]; [[Partnering:Projects:BYOB:Meetings:2010-09-15|15]]; [[Partnering:Projects:BYOB:Meetings:2010-09-22|22]]; [[Partnering:Projects:BYOB:Meetings:2010-09-29|29]]
* [[Partnering:Projects:BYOB:Meetings:2010-03-24|March 24]]
** Aug: [[Partnering:Projects:BYOB:Meetings:2010-08-04|04]]; [[Partnering:Projects:BYOB:Meetings:2010-08-11|11]]; [[Partnering:Projects:BYOB:Meetings:2010-08-18|18]]; [[Partnering:Projects:BYOB:Meetings:2010-08-25|25]]
* March 17 (in person)
** Jul: [[Partnering:Projects:BYOB:Meetings:2010-07-21|21]]; [[Partnering:Projects:BYOB:Meetings:2010-07-28|28]]
* [[Partnering:Projects:BYOB:Meetings:2010-03-10|March 10]]
* 2010Q2
* [[Partnering:Projects:BYOB:Meetings:2010-03-03|March 3]]
** Jun: [[Partnering:Projects:BYOB:Meetings:2010-06-30|30]]; [[Partnering:Projects:BYOB:Meetings:2010-06-23|23]]; [[Partnering:Projects:BYOB:Meetings:2010-06-16|16]]; [[Partnering:Projects:BYOB:Meetings:2010-06-02|02]]
* [[Partnering:Projects:BYOB:Meetings:2010-02-24|February 24]]
** Mar: [[Partnering:Projects:BYOB:Meetings:2010-05-26|26]]; [[Partnering:Projects:BYOB:Meetings:2010-05-19|19]]; [[Partnering:Projects:BYOB:Meetings:2010-05-12|12]]; [[Partnering:Projects:BYOB:Meetings:2010-05-05|05]]
* [[Partnering:Projects:BYOB:Meetings:2010-02-17|February 17]]
** Apr: [[Partnering:Projects:BYOB:Meetings:2010-04-21|21]]; [[Partnering:Projects:BYOB:Meetings:2010-04-14|14]]
* [[Partnering:Projects:BYOB:Meetings#2010_Q1|2010Q1]]


=== 2009 ===
=== 2009 ===
* [[Partnering:Projects:BYOB:Meetings:2009-09-09|September 9]]
* See: [[Partnering:Projects:BYOB:Meetings#2009]]
* [[Partnering:Projects:BYOB:Meetings:2009-09-02|September 2]]
* [[Partnering:Projects:BYOB:Meetings:2009-08-27|August 27]]
* [[Partnering:Projects:BYOB:Meetings:2009-08-19|August 19]]
* [[Partnering:Projects:BYOB:Meetings:2009-08-12|August 12]]
* [[Partnering:Projects:BYOB:Meetings:2009-08-05|August 5]]
* [[Partnering:Projects:BYOB:Meetings:2009-07-29|July 29]]
* [[Partnering:Projects:BYOB:Meetings:2009-07-22|July 22]]
* [[Partnering:Projects:BYOB:Meetings:2009-07-15|July 15]]
* [[Partnering:Projects:BYOB:Meetings:2009-07-08|July 8]]


== Production Notes ==
== Production Notes ==


* [http://tinyurl.com/byobopen1 Open bugs]
* [http://tinyurl.com/byobopen1 Open bugs]
** [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&component=byob.mozilla.com&product=Websites&target_milestone=1.0 1.0 milestone (2010Q2)]
** [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&component=byob.mozilla.com&product=Websites&target_milestone=1.5 1.5 milestone (2010Q3)]
* [http://tinyurl.com/byobclosed Closed bugs]
* [http://tinyurl.com/byobclosed Closed bugs]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Websites&component=byob.mozilla.com New bug (Websites, byob.mozilla.com)]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Websites&component=byob.mozilla.com New bug (Websites, byob.mozilla.com)]


=== Milestones / Schedule ===
=== Milestones / Schedule ===
==== Q4 2010 ====
Build
* setup triggered, automated build creation via buildbot  on the pool of BYOB slaves '''[CARRYOVER]'''
** will use a shared NFS mount to store config information
* setup signalling between the web app and the buildbot automation system '''[CARRYOVER]'''
==== Q3 2010 ====
Infrastructure
* Move web application to cluster
* Transition repack process to buildbot cluster
* Transition hosting to independant/clustered file store
==== Previous ====


Week-by-week milestones, which need to be copied to [[Partnering:Projects:BYOB:Meetings|meeting notes]] each week as discussion points and updated as required.
Week-by-week milestones, which need to be copied to [[Partnering:Projects:BYOB:Meetings|meeting notes]] each week as discussion points and updated as required.
Line 62: Line 73:
* [https://svn.mozilla.org/projects/byob/ SVN repository]
* [https://svn.mozilla.org/projects/byob/ SVN repository]
* [http://viewvc.svn.mozilla.org/vc/projects/byob/?view=query&dir=&file=&file_match=exact&who=&who_match=exact&comment=&comment_match=exact&querysort=date&hours=2&date=all&mindate=&maxdate=&limit_changes=1 Check-ins]
* [http://viewvc.svn.mozilla.org/vc/projects/byob/?view=query&dir=&file=&file_match=exact&who=&who_match=exact&comment=&comment_match=exact&querysort=date&hours=2&date=all&mindate=&maxdate=&limit_changes=1 Check-ins]
* [http://dm-partnerdist01.mozilla.org:82/~lorchard/byob2/ Demo application from work in progress] (VPN to MPT needed)
* [http://spreadsheets.google.com/ccc?key=r7eLSAtS8yrn0J-8LbVEeQQ old (may 26) list of estimates / requirements in google docs]


=== Repack Build Process ===
=== Repack Build Process ===


* [http://hg.mozilla.org/build/partner-repacks/file/default/scripts/partner-repacks.py Repack build script]
* [http://hg.mozilla.org/build/partner-repacks/file/default/scripts/partner-repacks.py Repack build script]
* [[Partnering:Projects:BYOB:PilotBuildQueueDetails|Details on build queue for pilot]]
* [[Partnering:Projects:BYOB:BuildSystemDesign|Build system design]]
* [[Partnering:Projects:BYOB:BuildSystemDesign|Build system design]]


Line 99: Line 109:
** FAQ Page
** FAQ Page
** Standard First Run Page
** Standard First Run Page
* Suggestions for BYOB UI tweaks: [[File: Byob-ui-comments.pdf‎]]
* Suggestions for BYOB UI tweaks: '''new version:''' [[File: Byob-ui-comments_v2.pdf‎]]
* Suggestions for BYOB messaging (input from Slater): [[File:Byob-ui-comments_v2_JS-dr.pdf‎]]


===== Emails =====
===== Emails =====
* Needed emails
* Needed emails (can find updated suggested copy here: [[File:Byob-ui-comments_v2_JS-dr.pdf‎]] )
** Signup/account verification email
** Signup/account verification email
** Lost password email
** Lost password email
** submit build email
** build is ready for download email
* Need to include CAN-SPAM requirements on all emails (unsubscribe? (may not have to if considered services emails only), Mozilla address
* Need to include CAN-SPAM requirements on all emails (unsubscribe? (may not have to if considered services emails only), Mozilla address


===== Outreach =====
===== Outreach =====
* Latest-draft of pitch deck (updated 4/5/10):  
* Latest-draft of pitch deck (updated 4/5/10): [[File: BYOB_pitch-deck_v7.pdf]]‎ 
* Older version of pitch deck: [[File:BYOB_pitch-deck_v5.pdf‎]]
* Older version of pitch deck: [[File:BYOB_pitch-deck_v5.pdf‎]]
* Goal of pitch deck: have material that can be presented to potential "beta" partners
* Goal of pitch deck: have material that can be presented to potential "beta" partners
* To-do: create a one-sheet (use the pitch deck as a model)
* To-do: create a one-sheet (use the pitch deck as a model)
=== Metrics/Tracking Requirements  ===
* Add in Webtrends tracking to capture the following:
** Pageview/visitor data
** Conversion funnel data
** Download data (record download with user click on the create BYOB button
** Affiliate tracking data integrated into BYOB (e.g., Boy Scout troup creates an affiliate button and has group members post it on their personal website/blog, etc. --> be able to capture this BYOB capture data within WebTrends)
* Other Metrics/ADU/Download Stats to be entered here


=== Proposed Enhancements ===
=== Proposed Enhancements ===
Line 119: Line 143:
==== Pilot to Beta/Release ====
==== Pilot to Beta/Release ====


* Automated version updates (e.g. on release of a new version of Firefox, automatically generate new versions of all BYOB distributions) {{bug|526691}}
* {{done|Automated version updates (e.g. on release of a new version of Firefox, automatically generate new versions of all BYOB distributions) {{bug|526691}}}}
* Add ability for distribution creators to hide their distributions from the public search and "recently added" pages (and equivs) {{bug|526700}}
* {{done|Add ability for distribution creators to hide their distributions from the public search and "recently added" pages (and equivs) {{bug|526700}}}}
* Add additional locales to supported installers list {{bug|526701}}
* Add additional locales to supported installers list {{bug|526701}}
* Add per-locale support for bookmarks (and other customizations as required), similar to the localization support in AMO. {{bug|538883}}
* Add per-locale support for bookmarks (and other customizations as required), similar to the localization support in AMO. {{bug|538883}}
* Add ability to upload and add a limited number of search engines to the default set of search plugins {{bug|538607}}
* {{done|Add ability to upload and add a limited number of search engines to the default set of search plugins {{bug|538607}}}}
* Support bookmark folders in the bookmark toolbar and menu (e.g. define a folder of bookmarks which can then be placed on the bookmark toolbar and/or menu) {{bug|538888}}
* {{done|Support bookmark folders in the bookmark toolbar and menu (e.g. define a folder of bookmarks which can then be placed on the bookmark toolbar and/or menu) {{bug|538888}}}}
* Add ability for admins to add ad-hoc entries to each of the Global, Preferences, Localizable Preferences sections in the distribution.ini file {{bug |538615}}
* Add ability for admins to add ad-hoc entries to each of the Global, Preferences, Localizable Preferences sections in the distribution.ini file {{bug |538615}}
* Include a selection of recommended add-ons that can be included in the browser
* Include a selection of recommended add-ons that can be included in the browser
Line 137: Line 161:
Administration (non-user facing)
Administration (non-user facing)


* {{bug|538603}} Modify functions that call split(), which is deprecated in PHP 5.3+
* {{done|{{bug|538603}} Modify functions that call split(), which is deprecated in PHP 5.3+}}
* {{bug|526691}} Add "Update all repacks" for administrators - required for when we launch a product update to re-generate all repacks while maintaining release status.
* {{done|{{bug|526691}} Add "Update all repacks" for administrators - required for when we launch a product update to re-generate all repacks while maintaining release status.}}
* {{bug|538615}} Add ability for admins to add ad-hoc entries to a BYOB repack's distribution.ini
* {{miss|{{bug|538615}} Add ability for admins to add ad-hoc entries to a BYOB repack's distribution.ini}}
* (bug needed) Add ability for an admin to add an extension to a given repack (need to discuss model/reqs for adding extensions to ensure ability to scale, and how we'd flag extensions as public)
* {{miss|(bug needed) Add ability for an admin to add an extension to a given repack (need to discuss model/reqs for adding extensions to ensure ability to scale, and how we'd flag extensions as public)}}
* {{bug|516439}} Change details link does not show the customizations - would be great fro admins/editors to have a link to a summary page of customizations
* {{done|{{bug|516439}} Change details link does not show the customizations - would be great fro admins/editors to have a link to a summary page of customizations}}
* {{bug|510527}} Failed releases are kicked back to user instead of editor/admin
* {{done|{{bug|510527}} Failed releases are kicked back to user instead of editor/admin}}
* {{bug|521252}} Only set a custom first-run page in the browser if a customized page is required
* {{done|{{bug|521252}} Only set a custom first-run page in the browser if a customized page is required}}


Additional Functionality
Additional Functionality
Line 149: Line 173:
* Simplify registration form to minimize info collected, speed up process. Bug needed, dependant on UI work
* Simplify registration form to minimize info collected, speed up process. Bug needed, dependant on UI work
* {{bug|526701}} Add support for all locales to be repacked (but no "all" button, please! :)
* {{bug|526701}} Add support for all locales to be repacked (but no "all" button, please! :)
* {{bug|538883}} Enhance bookmark support to include folders and localized bookmarks
* {{done|{{bug|538883}} Enhance bookmark support to include folders and localized bookmarks}}
* {{bug|538607}} Add support for adding custom search plugins to a BYOB repack
* {{done|{{bug|538607}} Add support for adding custom search plugins to a BYOB repack}}
* {{bug|526700}} Add ability for repack authors to hide their repacks from public searches and "newest" lists
* {{done|{{bug|526700}} Add ability for repack authors to hide their repacks from public searches and "newest" lists}}


User Interface
User Interface
Line 197: Line 221:
== Timeline ==
== Timeline ==


=== Q1/Q2 2010 ===
* See [[Partnering:Projects:BYOB:ArchivedTimeline2009]]
 
* <strike>Add support for Enterprise Customization (IT Policy HOWTOs, MSI generation, Add-on Management, common configs, etc.) to BYOB</strike> move to Q2/Q3 2010
 
=== Q4 2009 ===
 
* Add support for unbranded Firefox installers to BYOB
* Add class-of-service support for repack customizations (i.e. different levels of customizations available, dependent upon distribution type).
* Continue iterative development of BYOB
** Add expert mode for distribution customization (i.e. support customization of all preferences)
** Add support for extension bundles (extensions installed to the user profile instead of the application directory)
** Add light theme support (dependent upon product integration)
 
=== Q3 2009 ===
 
* Launch BYOB Pilot application publicly (moved to Q3 2009)
* Solicit feedback from community and BYOB end-users for BYOB Final
** Add ability to add search plugins that are not included by default in position 3 or lower
** Add ability to add extensions in the AppDir
** Add ability to support multiple authors for a single customization
** Add Metrics Dashboard to BYOB user profiles (may push to Q4 2009)
* Feasibility assessment of integrating select third-party service customizations to BYOB
 
=== Q2 2009 ===
 
* Deploy new repack process on build infrastructure
* Present BYOB proof of concept at Mozilla Corp. All-hands for discussion
* Define final requirements for BYOB Pilot (admin application, review process, customization wizard)
* Add Personas and AMO Collections support (display collections in the custom first-run page) to BYOB
* Develop BYOB Pilot application
* Launch BYOB Pilot application publicly (moved to Q3 2009)
 
=== Q1 2009 ===
 
* Collect requirements for merging Partner Repacks with the Firefox build and release process
* Develop proof of concept of BYOB for discussion and demonstration
** Repack author account creation
** Customization wizard (bookmark menu, bookmark toolbar, livemarks, custom first run page, customized start page content)
** Automated repack generation with revision logging
 
=== Q4 2008 ===
 
* Adapt customised Firefox installer repackaging scripts to work with bzip2 compression and new OSX DMG formats
* Adapt XPI-Buddy, used for generating Partner Repacks, to work with Firefox 3.5 and the [[/Distribution_INI_File|/distribution]] customization methods


=== Project objective ===
=== Project objective ===

Latest revision as of 00:11, 23 September 2010

Build Your Own Browser is a web-based application that simplifies light customizations of Mozilla Firefox. You can give it a whirl at byob.mozilla.com.

Weekly Project Update

  • Each Wednesday at 12:00 Pacific / 14:00 Central / 15:00 Eastern
  • +1.650.903.0800 x92 Conf# 283 (US/INTL)
  • irc.mozilla.org #byob for backchannel

Meeting Minutes

2010

2009

Production Notes

Milestones / Schedule

Q4 2010

Build

  • setup triggered, automated build creation via buildbot on the pool of BYOB slaves [CARRYOVER]
    • will use a shared NFS mount to store config information
  • setup signalling between the web app and the buildbot automation system [CARRYOVER]

Q3 2010

Infrastructure

  • Move web application to cluster
  • Transition repack process to buildbot cluster
  • Transition hosting to independant/clustered file store


Previous

Week-by-week milestones, which need to be copied to meeting notes each week as discussion points and updated as required.

  • First cut at timelines based on work progression, discussions. Needs review in meeting for 15 Jul 2009. (the Gantt Project source file can be found here)
timeline/milestones

Design / UX

Webapp Implementation

Repack Build Process

QA

Hosting

Marketing

Target
  • Primary: Affinity groups, charities, non-profits, small to mid-size organizations that previously were not considered for distribution partnerships and custom builds.
  • Secondary: Larger organizations that are willing to create a distribution within the customization guidelines of the BYOB program.
Messaging
Web Site
Emails
  • Needed emails (can find updated suggested copy here: File:Byob-ui-comments v2 JS-dr.pdf )
    • Signup/account verification email
    • Lost password email
    • submit build email
    • build is ready for download email
  • Need to include CAN-SPAM requirements on all emails (unsubscribe? (may not have to if considered services emails only), Mozilla address
Outreach
  • Latest-draft of pitch deck (updated 4/5/10): File:BYOB pitch-deck v7.pdf
  • Older version of pitch deck: File:BYOB pitch-deck v5.pdf
  • Goal of pitch deck: have material that can be presented to potential "beta" partners
  • To-do: create a one-sheet (use the pitch deck as a model)

Metrics/Tracking Requirements

  • Add in Webtrends tracking to capture the following:
    • Pageview/visitor data
    • Conversion funnel data
    • Download data (record download with user click on the create BYOB button
    • Affiliate tracking data integrated into BYOB (e.g., Boy Scout troup creates an affiliate button and has group members post it on their personal website/blog, etc. --> be able to capture this BYOB capture data within WebTrends)
  • Other Metrics/ADU/Download Stats to be entered here


Proposed Enhancements

Bug Fixes

Pilot to Beta/Release

  • [DONE] Automated version updates (e.g. on release of a new version of Firefox, automatically generate new versions of all BYOB distributions) bug 526691
  • [DONE] Add ability for distribution creators to hide their distributions from the public search and "recently added" pages (and equivs) bug 526700
  • Add additional locales to supported installers list bug 526701
  • Add per-locale support for bookmarks (and other customizations as required), similar to the localization support in AMO. bug 538883
  • [DONE] Add ability to upload and add a limited number of search engines to the default set of search plugins bug 538607
  • [DONE] Support bookmark folders in the bookmark toolbar and menu (e.g. define a folder of bookmarks which can then be placed on the bookmark toolbar and/or menu) bug 538888
  • Add ability for admins to add ad-hoc entries to each of the Global, Preferences, Localizable Preferences sections in the distribution.ini file bug 538615
  • Include a selection of recommended add-ons that can be included in the browser
  • Simplify the default persona selection process (e.g. Personas browser, etc.) bug 538889
  • Simplify the default collections selection process, and add preview image to personas customization
  • Add additional Labs projects (i.e. jetpack and ubiquity) to supported customizations (needs input from labs)
  • Support the inclusion of Personas in Firefox 3.6 (may not be a requirement; preference seems to be to continue to include the extension. for discussion)
  • Simplify/shorten the registration process (requires discussion and req defintiion)

Proposed Q1 2010 Work

Administration (non-user facing)

  • [DONE] bug 538603 Modify functions that call split(), which is deprecated in PHP 5.3+
  • [DONE] bug 526691 Add "Update all repacks" for administrators - required for when we launch a product update to re-generate all repacks while maintaining release status.
  • [MISSED] bug 538615 Add ability for admins to add ad-hoc entries to a BYOB repack's distribution.ini
  • [MISSED] (bug needed) Add ability for an admin to add an extension to a given repack (need to discuss model/reqs for adding extensions to ensure ability to scale, and how we'd flag extensions as public)
  • [DONE] bug 516439 Change details link does not show the customizations - would be great fro admins/editors to have a link to a summary page of customizations
  • [DONE] bug 510527 Failed releases are kicked back to user instead of editor/admin
  • [DONE] bug 521252 Only set a custom first-run page in the browser if a customized page is required

Additional Functionality

  • Simplify registration form to minimize info collected, speed up process. Bug needed, dependant on UI work
  • bug 526701 Add support for all locales to be repacked (but no "all" button, please! :)
  • [DONE] bug 538883 Enhance bookmark support to include folders and localized bookmarks
  • [DONE] bug 538607 Add support for adding custom search plugins to a BYOB repack
  • [DONE] bug 526700 Add ability for repack authors to hide their repacks from public searches and "newest" lists

User Interface

  • Re-design home page to incorporate education/instructional information and simplify messaging
  • Re-design config wizard/process to better accomnmodate additional features/functionality
  • Re-design registration to simplify and speed up registration process
  • Review use of modal views with BYOB on lower resolution screens, error pages, etc. Re-design/tweak as necessary.
  • Re-develop copy to incorporate messaging from marketing efforts, simplified text.
  • bug 511146 Improve "Contact Us" form with per-category recipients and auto-response messages

Job Jar (not a priority, but generally smaller nit items/bugfixes)

  • bug 521242 Change recpatcha links to use SSL
  • bug 512665 Use local images for OS icons (causes mixed content warnings)
  • bug 516425 Make the byob HTML 4.0.1 Transitional
  • Various bugfixes

QA

  • Run over all site functions with a fine-toothed comb and file bugs :) There's a bunch of little issues I've run across, and we should document them all and get them into bugzilla.

Medium Term goals (planning for Q2)

  • Medium and long-term planning for additional product integration (fennec, unbranded builds), enterprise support, end-goals
  • bug 503328 Planning localization support w/involvement of l10n team.
  • Discuss addition/value/effort for adding demo account or preview functionality so people can see what the process is like without a need for registration
  • Discuss with RelEng (coop) on setting a clear path/workplan on integrating BYOB with linux cluster for front end and byob buildbot and signing back-end.
  • Requirements definition for adding statistics fed from metrics/log analysis

Medium/Long-Term Enhancements

  • Transition BYOB from OSX to the cluster environment
    • Deploy repack environment w/releng
    • Deploy BYOB on Linux cluster
  • Add l10n support (e.g. BYOB in multiple languages)
  • Add support for the Mozilla MySQL cluster (separate read/write dbs)
  • Add support for the /bundle extension installer

Objectives

Product objective

To create a simple, self-service web application that allows an interested organization or individual to create a customized version of the Firefox browser.

Timeline

Project objective

Targets

Primary

Affinity groups, charities, non-profits, small to mid-size organizations that previously were not considered for distribution partnerships and custom builds.

Secondary

Larger organizations that are willing to create a distribution within the customization guidelines of the BYOB program.