Firefox/Activity Stream: Difference between revisions
No edit summary |
|||
Line 9: | Line 9: | ||
* 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 | ||
* Product/UX Trello Board: 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 (Android MVP): https://trello.com/b/8dWJHkim/activity-stream-mvp-android | |||
* Product/UX Trello Board (Roadmap Mobile): https://trello.com/b/8LT9t6cs/mobile-activity-stream-roadmap | |||
===Other Resources=== | ===Other Resources=== |
Revision as of 13:39, 9 November 2016
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.
Key Documents
- What is Context Graph: https://wiki.mozilla.org/Context_Graph
- Code: https://github.com/mozilla/activity-stream
- Issues: https://github.com/mozilla/activity-stream/issues
- 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 (Android MVP): https://trello.com/b/8dWJHkim/activity-stream-mvp-android
- Product/UX Trello Board (Roadmap Mobile): https://trello.com/b/8LT9t6cs/mobile-activity-stream-roadmap
Other Resources
- Desktop MVP: https://docs.google.com/document/d/1lCdgLbF4z758SVD90BCFhZaaMT50Pz0tR5D0yCIVtro/edit
- Original Desktop UX: https://mozilla.invisionapp.com/share/GA5RW90CW Mocks v1
- Analytics blog: http://emtwo.github.io/
Install
Stable Release
Activity Stream is available as a Test Pilot experiment and can be downloaded by signing up for Test Pilot, our feature testing platform for Firefox. Android and iOS are in development, stay tuned.
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:
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
- Q3: Consistent cross platform experience
- Q3: Trending and recommended items (powered by Pocket)
- Q3: Easier access to the best pages from history
- Q3: Cross platform validation
- Q4: Begin landing code in Firefox across platforms
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
Schedule
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 | WIP | 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 | |
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-executive-summary - requires login
Engineering
Activity Stream [status: green]
Highlights
- v1.1.3 deployed Sept 1.
- Issue #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 #892
- [Done] - Metadata service internal testing and rating system #56
- [Done] - Improve highlight UI and include synced tabs #1007
- [Done] - Scoring/Ranking highlights landed but pref'd off commit
- [Done] - bug fixes (youtube bgcolor), chores, and performance work
Current Sprint:
- Local page parsing internal testing
- Metadata service experiment #1084
- Scoring highlights experiment #1085
- Add Sentry support #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
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:
[Jared] email list with instructions on building addon that uses a dev instance of fathom- 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
Product owner: Nick C.
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