Labs/F1/Roadmap: Difference between revisions

< Labs‎ | F1
m (Mark as outdated)
 
(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 &mdash; ''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 &mdash; ''either a new tab, reusing an existing tab, or using the current tab''
# Focus / Open the services compose interface &mdash; ''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''

Latest revision as of 23:03, 19 April 2018

Ambox outdated.png THIS PAGE MAY BE OUTDATED
This article is in parts, or in its entirety, outdated. Hence, the information presented on this page may be incorrect, and should be treated with due caution until this flag has been lifted. Help by editing the article, or discuss its contents on the talk page.
F1-icon-128.png F1 2011 Roadmap
Owner: Bryan Clark Updated: 2018-04-19
User Goals:
  • Create a fun, fast, and reliable system that encourages people to share
  • Embrace the different types/levels of sharing people are comfortable with

Platform Goals:

  • Create a trusted partner for people to share links through
  • Standardize pieces of the link sharing activity, open it up to more players
  • Reduce the sharing NASCAR effect on sites
    • Work with sites to provide mutually beneficial user interactions


Overview

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.
tech
The project is both a hosted service and an add-on to Firefox. The hosted service acts as an OAuth proxy service which the add-on uses to push shares through.

Components

F1 has 3 bugzilla components for bug tracking

Feature Blocks

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

Minimal F1 Feature

This is the bare minimum pieces needed to use the F1 share feature starting with 1 working account (Twitter)
Feature Status ETA Owner
F1 Preferences/Account Settings Preferences pane landed, blocked on bug 653002 for OS styling 2011-05-05 Bryan Clark
F1 Twitter Account Initial prototype. Blocked on staging server running bug 650900 and bug 653002 for OS styling. 2011-04-27 Bryan Clark
Share Server Blocked on staging server, bug 650900 2011-05-05 Bryan Clark

Facebook Sharing Account

Implement the Facebook account interface

GMail Sharing Account

Implement the GMail account interface

JavaScript Share API

navigator.share api

Localized Share Services

Additional sharing services which are popular in different locales

Anonymous URL Statistics

Anonymous URL sharing statistics

Yahoo Mail Sharing Account

Implement the Yahoo Mail account interface