Firefox/Activity Stream: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Current Progress Report=
https://wiki.mozilla.org/Firefox/Activity_Stream/Status/16-May-2017
=Overview=
=Overview=
Activity Stream for Firefox is a collection of all the things you do in the browser that you care about displayed in a rich and meaningful way. We plan to show rich content with images from recent pages, screen shots, downloads, closing sessions, notifications, and  improve your results in the awesome bar.  Eventually we hope to be the central feed of the things you care about.
Activity Stream for Firefox is a collection of all the things you do in the browser that you care about displayed in a rich and meaningful way. We plan to show rich content with images from recent pages, screen shots, downloads, closing sessions, notifications, and  improve your results in the awesome bar.  Eventually we hope to be the central feed of the things you care about.


[[File:Activity-stream-2016-03-19.png|800px|frameless]]
[[File:ActivityStream.png|800px|frameless]]




===Key Documents===
===Key Documents===
* What is Context Graph: https://wiki.mozilla.org/Context_Graph
* Code: https://github.com/mozilla/activity-stream
* Code: https://github.com/mozilla/activity-stream
* Issues: https://github.com/mozilla/activity-stream/issues
* Issues: https://github.com/mozilla/activity-stream/issues
===Trello Boards===
These Trello boards paint a very accurate picture of the various Activity Stream features and project progress:
* Product/UX Trello Board (Desktop): https://trello.com/b/KX3hV8XS/activity-stream
* Product/UX Trello Board (Desktop): https://trello.com/b/KX3hV8XS/activity-stream
* Product/UX Trello Board (iOS MVP): https://trello.com/b/IDwOxfWP/activity-stream-mvp-ios
* Product/UX Trello Board (iOS MVP): https://trello.com/b/IDwOxfWP/activity-stream-mvp-ios
Line 21: Line 26:


=Install=
=Install=
Activity Stream has been available as a [https://testpilot.firefox.com/experiments/activity-stream Test Pilot experiment], though the team is now in the process of landing Activity Stream in [https://www.mozilla.org/en-US/firefox/channel/desktop/ Firefox Nightly].


===Stable Release===
===Firefox Nightly Release===
In order to use this fast, but bare bones version of Activity Stream, start (or install) the latest Firefox Nightly (Firefox 55) and navigate to <pre>about:config</pre>


Activity Stream is available as a [https://testpilot.firefox.com/experiments/activity-stream Test Pilot experiment] and can be downloaded by signing up for [https://testpilot.firefox.com/ Test Pilot], our feature testing platform for Firefox.  Android and iOS are in development, stay tuned.
Go ahead and search for the configuration preference: <pre>browser.newtabpage.activity-stream.enabled</pre>
and change it's value to '''True'''


===Developer Release===
===Developer Release===


The developer release is updated each time code is committed to master in GitHub. This is version is less stable than the version that's released to Test Pilot. Use with caution:
The developer release is updated each time code is committed to master in GitHub. This version is used to experiment and validate the core functionality of the product before integrating it into Firefox.  Use this release to look into the future of the product, and to try out new Activity Stream experimental and 'in-development' features.


https://moz-activity-streams-dev.s3.amazonaws.com/dist/latest.html
https://moz-activity-streams-dev.s3.amazonaws.com/dist/latest.html


'''Note''': The data being collected by the add-on is [https://github.com/mozilla/activity-streams/blob/master/data_dictionary.md documented in the repo].
'''Note''': The data being collected by the add-on is [https://github.com/mozilla/activity-stream/blob/master/docs/v1-test-pilot/data_dictionary.md documented in the repo].


=Reporting Issues=
=Reporting Issues=
Line 48: Line 56:


==Product Plan==
==Product Plan==
* Q3: Consistent cross platform experience
* Test Pilot Graduation, MVP complete Q2 2017
* Q3: Trending and recommended items (powered by Pocket)
* Pref'd on in Firefox Nightly Q2 2017
* Q3: Easier access to the best pages from history
* Activity Stream completely ported to Firefox as a system add-on Q3 2017, ships pref'd off in Firefox 56
* Q3: Cross platform validation
* Activity Stream to ship as default about:newtab and about:home in Firefox 57 Q4 2017
* Q4: Begin landing code in Firefox across platforms


==Success==
==Success==
Line 59: Line 66:
* Activity Stream in the hands of all our users
* Activity Stream in the hands of all our users
* Users have easy access to their favorite things in Firefox and therefore spend more time using it
* Users have easy access to their favorite things in Firefox and therefore spend more time using it
==Schedule==
[[File:AS schedule.png|1000px|frameless]]


===Product Milestones===
===Product Milestones===
Line 75: Line 79:
| 3a|| WIP || Mobile MVP || Android and iOS browsers have basic functionality of Activity Stream enabled. || Stefan
| 3a|| WIP || Mobile MVP || Android and iOS browsers have basic functionality of Activity Stream enabled. || Stefan
|-
|-
| 3b || WIP || Desktop Engagement || Desktop has demonstrated user value in increasing median activity stream interactions by weekly cohort. || Tim
| 3b || DONE || Desktop Engagement || Desktop has demonstrated user value in increasing median activity stream interactions by weekly cohort. || Tim
|-
|-
| 4 || || Enabling for all users ||  Need to plan, define, and engineer activity stream to release to all users. || Stefan/Tim
| 4 || WIP || Enabling for all users ||  Activity Stream Desktop is landing in Firefox 57 || Stefan/Tim
|-
|-
| 5 ||  || Product focused features ||  Full stack teams to deliver coherent features across all clients driving engagement in Firefox || Team
| 5 ||  || Product focused features ||  Full stack teams to deliver coherent features across all clients driving engagement in Firefox || Team
Line 83: Line 87:


= Data & Metrics =
= Data & Metrics =
https://sql.telemetry.mozilla.org/dashboard/activity-stream-executive-summary - requires login
https://sql.telemetry.mozilla.org/dashboard/activity-stream-metrics-summary - requires login
 
= Engineering =
 
Activity Stream [status: green]
 
Highlights
* v1.1.3 deployed Sept 1.
* Issue [https://github.com/mozilla/activity-stream/issues/1145 #1145] initially a chemSpill, but downgraded as root cause is quickly enable and disable of addon could result in crash.  This potentially only happens on updates of large profiles.  We are using Sentry to monitor it's frequency.
* Risks:
** Improve content relevance through scoring system - we're waiting on final review from PM on going live with an experiement
** Metadata parser - new server instances needs Sec/Ops review
 
Last Sprint
* [Done] - Share Button with Social API [https://github.com/mozilla/activity-stream/issues/892 #892]
* [Done] - Metadata service internal testing and rating system [https://github.com/mozilla/page-metadata-service/issues/56 #56]
* [Done] - Improve highlight UI and include synced tabs [https://github.com/mozilla/activity-stream/issues/1007 #1007]
* [Done] - Scoring/Ranking highlights landed but pref'd off [https://github.com/mozilla/activity-stream/commit/0cb496c commit]
* [Done] - bug fixes (youtube bgcolor), chores, and performance work
 
Current Sprint:
* Local page parsing internal testing
* Metadata service experiment [https://github.com/mozilla/activity-stream/issues/1084 #1084]
* Scoring highlights experiment [https://github.com/mozilla/activity-stream/issues/1085 #1085]
* Add Sentry support [https://github.com/mozilla/activity-stream/issues/747 #747]
 
Changelog: https://github.com/mozilla/activity-stream/blob/master/CHANGELOG.md
 
Mobile sprint tasks:
 
https://wiki.mozilla.org/Firefox/Activity_Stream/Mobile_Sprint_Planning
 
'''[[Firefox/Activity_Stream_Updates | Past Updates]]'''
 
== Milestones ==
Desktop:
 
https://github.com/mozilla/activity-stream/milestones
 
Current mobile team work:
 
https://wiki.mozilla.org/Firefox/Activity_Stream/Mobile_Sprint_Planning
 
== Cross Team Projects ==
 
==== Page MetaData Parsing ====
Problem: embedly proxy server has limitations in performance, client-side intelligence in display heuristics, and has a high cost.
 
Questions and Goals:
* How do we land and prioritize the work to use Local page meta data parsing?
* What dependencies and risks are there?
** Performance could hang the main thread for ~100ms per page till we get Loci/worker queue
** Quality of the parsing results and image identification could be lower than embedly
** Advanced storage of page indices is needed to improve scoring, de-duplication, and intelligence of displayed content.
 
=====Working Plan=====
Goals:
* Develop infrastructure to refine rulesets for the Fathom library for Activity Stream
* Experiment, debug, and evaluate client performance/stability of local parsing.
 
Approach:
* [server] test rulesets and resolve embedly licensing cost.
* [server] work on testing and improving rulesets (with improved feedback from client thumbs up/down)
* [client] Land local parsing pref'd off to evaluate performance for internal testing
* [client] Improve feedback on good/bad highlights to help develop analytics in understand good/bad rulesets.
 
Task right now:
* <strike>[Jared] email list with instructions on building addon that uses a dev instance of fathom</strike>
* More people test this via setting embedly server endpoint via about:config
* [K8] land PR pref'd off to test Fathom library/rules locally to eval performance and stability
 
==== Rank/Scoring heuristics for content relevance ====
Problem: current query of places.db has limitations in flexibility and inclusion of other signals.
 
Solution: How can we build system that could help us learn programmatically what types of content is more engaging for users measured by click-through-rate (CTR)?
 
Questions and Goals:
* How do we land a scoring system
* How can we maintain low latency of computation?
 
==== Signals ====
'''Problem''': the heuristics for ranking page value, frecency or scoring, could improve by adding more signals from user activity
 
'''Solution''': Let's experiment with a basic set of new signals that are already available (e.g. share events, etc...) and add them to a scoring system to test how we can improve relevance to users measured by CTR.
 
'''Hypothesis''':  If we deploy a scoring/ranking system and feed it more signals making score more accurate, we will achieve higher interactions on page.
 
'''Work to do this:
'''* Andrei and team working on MVP of scoring and ranking system in Activity Stream as an experiment which can be preffed on/off.
 
* Nan/Olivier working on storage to store signals.
 
Two groups of signals here:
 
* A: What user signals can we record now and feed into Activity Stream's scoring system?
 
* B: What user signals can we enable in gecko and feed into Activity Stream's scoring system for the long term or understanding what signals matter?  We could consider uplifting behind a pref, where AS can flip the pref.
 
'''Actions''':
* Identify what signals are in A vs B - @Brendan can you identify this and update the sheet?
* How do we get A into scoring system or the current query system.
* Do we want to do work in gecko now to enable B signals? If yes, who can do this?
 
==== Performance ====
Problem: If we parse pages locally, we need to preserve performance which could be impacted if we parse many pages.  Storing parsed page meta data would also improve reduce duplicate computations on existing pages.
 
Solution:
* Loci, a worker queue that could parse pages without blocking the main thread.
* Advanced storage to store page meta data for fast queries by score.


=Team - RACI =
=Team - RACI =

Latest revision as of 01:33, 30 May 2017

Current Progress Report

https://wiki.mozilla.org/Firefox/Activity_Stream/Status/16-May-2017

Overview

Activity Stream for Firefox is a collection of all the things you do in the browser that you care about displayed in a rich and meaningful way. We plan to show rich content with images from recent pages, screen shots, downloads, closing sessions, notifications, and improve your results in the awesome bar. Eventually we hope to be the central feed of the things you care about.

ActivityStream.png


Key Documents

Trello Boards

These Trello boards paint a very accurate picture of the various Activity Stream features and project progress:

Other Resources

Install

Activity Stream has been available as a Test Pilot experiment, though the team is now in the process of landing Activity Stream in Firefox Nightly.

Firefox Nightly Release

In order to use this fast, but bare bones version of Activity Stream, start (or install) the latest Firefox Nightly (Firefox 55) and navigate to

about:config

Go ahead and search for the configuration preference:

browser.newtabpage.activity-stream.enabled

and change it's value to True

Developer Release

The developer release is updated each time code is committed to master in GitHub. This version is used to experiment and validate the core functionality of the product before integrating it into Firefox. Use this release to look into the future of the product, and to try out new Activity Stream experimental and 'in-development' features.

https://moz-activity-streams-dev.s3.amazonaws.com/dist/latest.html

Note: The data being collected by the add-on is documented in the repo.

Reporting Issues

If you find a bug or have a suggestion, please submit it on GitHub:

https://github.com/mozilla/activity-stream/issues/new

Planning

Goals

  • Help users reconnect with their favorite things from around the web
  • Finish tasks across devices
  • Give users more control of their activities in Firefox
  • Define Firefox as the helpful user agent that’s looking out for you

Product Plan

  • Test Pilot Graduation, MVP complete Q2 2017
  • Pref'd on in Firefox Nightly Q2 2017
  • Activity Stream completely ported to Firefox as a system add-on Q3 2017, ships pref'd off in Firefox 56
  • Activity Stream to ship as default about:newtab and about:home in Firefox 57 Q4 2017

Success

  • Effective cross discipline teams solving problems across platforms
  • Validation of key assumptions through metrics and user interviews
  • Activity Stream in the hands of all our users
  • Users have easy access to their favorite things in Firefox and therefore spend more time using it

Product Milestones

Status Phase Description Owner
1 DONE Vision Define high level goals how Activity Stream fits into the Context Graph initiative Chapman
2 DONE Design and Planning How do we ship Activity Stream on mobile and what infrastructure do we need to meet our objectives Team
3a WIP Mobile MVP Android and iOS browsers have basic functionality of Activity Stream enabled. Stefan
3b DONE Desktop Engagement Desktop has demonstrated user value in increasing median activity stream interactions by weekly cohort. Tim
4 WIP Enabling for all users Activity Stream Desktop is landing in Firefox 57 Stefan/Tim
5 Product focused features Full stack teams to deliver coherent features across all clients driving engagement in Firefox Team

Data & Metrics

https://sql.telemetry.mozilla.org/dashboard/activity-stream-metrics-summary - requires login

Team - RACI

Product owner: Nick C., Barbara B. (Mobile)

Eng Leads: Tim S., Stefan A.

Program Management: Edwin W., Jenn C.

UX Leads: Aaron B., Amy L., Bryan B.

UR Lead: Gemma P.

Product Marketing: Mike H.

QA: Peter D., Aaron T., Kevin B.

Exec Sponsor: Mark Mayo/Nick Ngyuen

Communications

IRC: #activity-stream

Slack: firefox-team.slack.com - please email to be added to group

Email:

  • activity-stream@lists.mozilla.org *all* | [subscribe]
  • as-team@mozilla.com *paid-staff* | [subscribe]


VidyoRoom: ActivityStream