|
|
(35 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
| | {{outdated}} |
| | |
| <section begin=summary />{{RoadmapSummary | | <section begin=summary />{{RoadmapSummary |
| |icon=F1-icon-128.png | | |icon=F1-icon-128.png |
Line 4: |
Line 6: |
| |pagetitle=F1 2011 Roadmap | | |pagetitle=F1 2011 Roadmap |
| |owner=Bryan Clark | | |owner=Bryan Clark |
| |updated=March 29, 2011 | | |updated=April 18, 2011 |
| |status=Draft
| |
| |description=User Goals: | | |description=User Goals: |
| * Create a fun, fast, and reliable system that encourages people to share | | * Create a fun, fast, and reliable system that encourages people to share |
Line 16: |
Line 17: |
| }}<section end=summary /> | | }}<section end=summary /> |
|
| |
|
| {{draft}}
| |
|
| |
|
| == Overview == | | == Overview == |
|
| |
|
| Mozilla F1 is a simple and fast sharing service designed to enhance the sharing experience of the browser, ''Firefox'', when sharing web sites. | | [[Labs/F1|Mozilla F1]] is a simple and fast sharing service designed to enhance the sharing experience of the browser, ''Firefox'', when sharing web sites. |
|
| |
|
| ; name : The name F1 is a project name that is not necessarily the final name when compared with more standardized/branded names like Firefox Share. | | ; name : The name F1 is a project name that is not necessarily the final name when compared with more standardized/branded names like Firefox Share. |
Line 35: |
Line 35: |
| ** [https://bugzilla.mozilla.org/buglist.cgi?columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Web%20Client&product=Mozilla%20Services&query_format=advanced&resolution=---&query_based_on= Share:Web Client] for the web UI bits running inside the FF chrome | | ** [https://bugzilla.mozilla.org/buglist.cgi?columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Web%20Client&product=Mozilla%20Services&query_format=advanced&resolution=---&query_based_on= Share:Web Client] for the web UI bits running inside the FF chrome |
|
| |
|
| == Timeline == | | == Feature Blocks == |
| | |
| Here's a timeline of goals and the items needed to complete those goals.
| |
| | |
| * [https://bugzilla.mozilla.org/buglist.cgi?columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&component=Share%3A%20Firefox%20Client&component=Share%3A%20Web%20Client&product=Mozilla%20Services&query_format=advanced&resolution=---&query_based_on= All bugs] and by the ETA
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-03-25&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&component=Share%3A%20Firefox%20Client&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-03-25]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-01&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&component=Share%3A%20Firefox%20Client&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-04-01]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-08&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&component=Share%3A%20Firefox%20Client&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-04-08]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-15&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&component=Share%3A%20Firefox%20Client&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-04-15]
| |
| | |
| * [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&resolution=---&product=Mozilla%20Services Server:Share] and by ETA
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-03-25&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&resolution=---&product=Mozilla%20Services 2011-03-25]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-01&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&resolution=---&product=Mozilla%20Services 2011-04-01]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-08&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&resolution=---&product=Mozilla%20Services 2011-04-08]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-15&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Server%3A%20Share&resolution=---&product=Mozilla%20Services 2011-04-15]
| |
| | |
| * [https://bugzilla.mozilla.org/buglist.cgi?columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Firefox%20Client&product=Mozilla%20Services&query_format=advanced&resolution=---&query_based_on= Share:Firefox Client] and by the ETA
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-03-25&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Firefox%20Client&resolution=---&product=Mozilla%20Services 2011-03-25]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-01&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Firefox%20Client&resolution=---&product=Mozilla%20Services 2011-04-01]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-08&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Firefox%20Client&resolution=---&product=Mozilla%20Services 2011-04-08]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-15&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Firefox%20Client&resolution=---&product=Mozilla%20Services 2011-04-15]
| |
| | |
| * [https://bugzilla.mozilla.org/buglist.cgi?columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Web%20Client&product=Mozilla%20Services&query_format=advanced&resolution=---&query_based_on= Share:Web Client] and by the ETA
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-03-25&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-03-25]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-01&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-04-01]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-08&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-04-08]
| |
| ** [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=2011-04-15&columnlist=assigned_to%2Cbug_status%2Cshort_desc%2Cstatus_whiteboard&component=Share%3A%20Web%20Client&resolution=---&product=Mozilla%20Services 2011-04-15]
| |
| | |
| === Firefox 5 ===
| |
| | |
| :''Due: April 13th 2011''
| |
| | |
| '''Project Management'''
| |
| | |
| {| width="100%" cellpadding="3"
| |
| |-
| |
| | style="background-color: #efefef;width:55%;"| '''Item'''
| |
| | style="background-color: #efefef;"| '''Bug'''
| |
| | style="background-color: #efefef;"| '''Status'''
| |
| | style="background-color: #efefef;"| '''ETA'''
| |
| |-
| |
| | Agreement w/ Twitter regarding API usage || {{bug|645909}} || <span style="color:orange;">in progress</span> || -
| |
| |-
| |
| | Agreement w/ Facebook regarding API usage || {{bug|645910}} || <span style="color:orange;">in progress</span> || -
| |
| |-
| |
| | Agreement w/ bit.ly regarding API usage || {{bug|646273}} || <span style="color:orange;">in progress</span> || -
| |
| |}
| |
|
| |
|
| '''User Experience''' | | The are the feature blocks which appear in the [[Firefox/Flight Tracking]]. These feature blocks are in top down order of priority. The '''required''' line indicates a minimal set we would not back out of the release train if they all landed. ''These feature sets should conform to the [[Feature Page Structure]]'' |
| : ''UX Tracking Bug {{bug|642684}}''
| |
|
| |
|
| {| width="100%" cellpadding="3"
| | === [[Labs/F1/Feature Blocks/F1|Minimal F1 Feature]] === |
| |-
| |
| | style="background-color: #efefef;width:55%;"| '''Item'''
| |
| | style="background-color: #efefef;"| '''Bug'''
| |
| | style="background-color: #efefef;"| '''Status'''
| |
| | style="background-color: #efefef;"| '''ETA'''
| |
| |-
| |
| | Need to fetch all Google Contacts || {{bug|644404}} || <span style="color:gray;">not started</span> || -
| |
| |-
| |
| | Sometimes FF4 jumps to 100% CPU || {{bug|642629}} || <span style="color:gray;">not started</span> || -
| |
| |-
| |
| | Use idle time to pull in the web UI || {{bug|642671}} || <span style="color:gray;">not started</span> || -
| |
| |-
| |
| | Sharing preferences || {{bug|645802}} || <span style="color:gray;">not started</span> || -
| |
| |-
| |
| | Disabling sharing during Private Browsing? || {{bug|644769}} || <span style="color:gray;">not started</span> || -
| |
| |}
| |
|
| |
|
| '''Q/A and Test'''
| | : ''This is the bare minimum pieces needed to use the F1 share feature starting with 1 working account (Twitter)'' |
| : ''Unit Test Tracking Bug {{bug|642681}}'' | |
|
| |
|
| {| width="100%" cellpadding="3" | | {| class="fullwidth-table sortable" style="width: 800px;" |
| |- | | |- |
| | style="background-color: #efefef;width:55%;"| '''Item''' | | | style="font-weight: bold; background: #DDD; width:35%" | Feature |
| | style="background-color: #efefef;"| '''Bug''' | | | style="font-weight: bold; background: #DDD; width:35%" | Status |
| | style="background-color: #efefef;"| '''Status''' | | | style="font-weight: bold; background: #DDD; width:10%" | ETA |
| | style="background-color: #efefef;"| '''ETA''' | | | style="font-weight: bold; background: #DDD; width:20%" | Owner |
| |- | | |- |
| | Document FFShare and Panel APIs and behaviour || {{bug|642646}} || - || 2011-03-18
| | {{#lst:Labs/F1/Feature Blocks/Firefox Preferences|status}} |
| |- | | |- |
| | Test plan and harness || {{bug|642648}} || - || 2011-03-25
| | {{#lst:Labs/F1/Feature Blocks/Twitter|status}} |
| |- | | |- |
| | Functional test plan and harness || {{bug|642651}} || - || 2011-03-25
| | {{#lst:Labs/F1/Feature Blocks/Sharing Server|status}} |
| |} | | |} |
|
| |
|
| | === [[Labs/F1/Feature Blocks/Facebook|Facebook Sharing Account]] === |
|
| |
|
| '''FF Integration'''
| | : ''Implement the Facebook account interface'' |
| | |
| {| width="100%" cellpadding="3"
| |
| |-
| |
| | style="background-color: #efefef;width:55%;"| '''Item'''
| |
| | style="background-color: #efefef;"| '''Bug'''
| |
| | style="background-color: #efefef;"| '''Status'''
| |
| | style="background-color: #efefef;"| '''ETA'''
| |
| |-
| |
| | Get rid of hashchange, switch to postMessage || {{bug|642655}} || - || 2011-03-25
| |
| |-
| |
| | Introduce API version number in path || {{bug|642652}} || - || 2011-03-25
| |
| |-
| |
| | Measure startup time, ensure no measurable impact || {{bug|642674}} || - || 2011-03-25
| |
| |-
| |
| | Turn dump() calls into proper logging of sorts || {{bug|642679}} || - || 2011-03-25
| |
| |-
| |
| | API for storing oauth tokens and account profiles || {{bug|642660}} || - || 2011-04-01
| |
| |}
| |
| | |
| === Post-Firefox 5 ===
| |
| | |
| :''tracking other items which are important to land after FF5''
| |
| | |
| {| width="100%" cellpadding="3"
| |
| |-
| |
| | style="background-color: #efefef;"| '''Item'''
| |
| | style="background-color: #efefef;"| '''Bug'''
| |
| | style="background-color: #efefef;"| '''Status'''
| |
| | style="background-color: #efefef;"| '''ETA'''
| |
| |-
| |
| | - || - || <span style="color:gray;">not started</span> || -
| |
| |}
| |
| | |
| == People ==
| |
| | |
| :''An out of date list of many of the people involved''
| |
| | |
| ; Bryan Clark : Project Management
| |
| ; Andy Chung : Visual Designer
| |
| ; Stephen Horlander : UX Designer
| |
| ; Laura Mesa, Mayumi Matsuno, Caitlin Looney : Product Marketing
| |
| ; James Burke : Client side developer
| |
| ; Shane Caraveo : Server side developer
| |
| ; Philipp von Weitershausen : Client / Server developer
| |
| ; Mike Connor : Services coordination
| |
| ; Yvan Boily : Server side security review
| |
| ; Curtis Koenig : Client side security review
| |
| ; Jonathan Griffin : Q/A Integration
| |
| ; Philippe Chiasson : Service side operations
| |
| | |
| == Problems Use Cases ==
| |
| | |
| These are the existing use cases that exist and we believe F1 helps to solve.
| |
| | |
| === Copy & Paste ===
| |
| | |
| Alice finds a hilarious [http://icanhascheezburger.com/2011/03/08/funny-pictures-talk-qwerty-to-me/ LOL Cat] she wants to send to her friends. Now she enters the precarious world of focus, selection, and the clipboard.
| |
|
| |
|
| Here is the only route of success (assuming no keyboard shortcuts):
| | === [[Labs/F1/Feature Blocks/GMail|GMail Sharing Account]] === |
|
| |
|
| # Single click into the URL bar — ''this should focus and select the entire URL''
| | : ''Implement the GMail account interface'' |
| # Click the Edit Menu to open the menu
| |
| # Click the Copy Menu Item to copy the text to the clipboard
| |
| # Open a tab with your sharing service — ''either a new tab, reusing an existing tab, or using the current tab''
| |
| # Focus / Open the services compose interface — ''compose message, what's on your mind?, what's happening, etc.''
| |
| # Click the Edit Menu to open the menu
| |
| # Click the Paste Menu Item to paste the URL into the text entry
| |
|
| |
|
| At each of these steps exists a number of ways to fail, we'll only cover a few major ones here.
| | * This is GMail only, not the [[Labs/F1/Feature Blocks/Google Apps|Google Apps Sharing Account]] even though they are very similar |
|
| |
|
| ; 1 focus : with anything more than a single click into the URL bar a user will not be selecting the entire URL which will block the rest of the steps
| | === [[Labs/F1/Feature Blocks/JavaScript Share API|JavaScript Share API]] === |
|
| |
|
| ; 2,3 selection : when the user goes to copy the URL they risk changing the focus/selection of the URL which will block them from copying or make them copy the wrong text
| | : ''[https://github.com/mozilla/f1/wiki/navigator-share-api navigator.share] api'' |
|
| |
|
| ; 4,5 transition : if the user doesn't already have the service open they will now have to load the page which can be slow and systems like often are not ready for immediate sharing.
| | === [[Labs/F1/Feature Blocks/Localized Share Services|Localized Share Services]] === |
|
| |
|
| ; 6,7 focus : And finally if the user clicks anywhere else besides the text entry as they are choosing to paste there will be no notification of the failed state they entered.
| | : ''Additional sharing services which are popular in different locales'' |
|
| |
|
| === NASCAR of Sharing === | | === [[Labs/F1/Feature Blocks/Anonymous URL Stats|Anonymous URL Statistics]] === |
|
| |
|
| Beth uses Digg.com to share all her links but the [http://icanhascheezburger.com/ LOL Cat site] she likes doesn't include a "digg this" link as one of it's service.
| | : ''Anonymous URL sharing statistics'' |
|
| |
|
| John needs to scan through a [http://mozillalabs.com/messaging/files/2010/11/social-icons.png long list of icons] for various services he's never heard of to find the service he uses. Each site lists the services differently so he always needs to hunt for the service he uses.
| | === [[Labs/F1/Feature Blocks/Yahoo Mail|Yahoo Mail Sharing Account]] === |
|
| |
|
| On the other side of the coin site designers must either include all the icons of all possible (of an infinitely expanding list of) services to create a "NASCAR" effect or limit to a few popular services.
| | : ''Implement the Yahoo Mail account interface'' |