Context Graph
Contents
Overview
“Context Graph” is a recommender system for the Web. The goal for Context Graph features is to help people find new stuff based on their current context. For example, lots of pages link to a single YouTube video, but there’s no way to get at all those pages from the YouTube video itself. If we can understand this network of links, we can use it to build a better recommendation system.
Activity Stream for Firefox is the first Context Graph feature. It is currently available as a Test Pilot experiment. Initially a much better way to get you to where you’ve been, Activity Stream will evolve to include recommendations for sites you haven't seen.
Other feature explorations have just begun. To participate see the communications channels below.
Key Documents
Context Graph: It’s time to bring context back to the web
Projects
Activity Stream for Desktop, Android, and iOS
Sync/Firefox Accounts
Context Graph Initiative informal projects and technologies stack
Team
Product owner: Nick Chapman
Eng Lead: Chris Karlof
Program Manager:
UR Lead: Gemma Petrie
UX Lead:
Product Marketing:
QA:
Exec Sponsor: Nick Nguyen
Communications
IRC: #contextgraph
Email: context-graph@lists.mozilla.org | subscribe
Recommendation Engine
The Recommendation Engine is an ongoing experiment being built to enable the opportunities described in Nick's Manifesto.
There is an opportunity to disrupt how discovery is done on the web by setting up a parallel graph to the traditional map of the web that isn't based on direct linking and page-content analysis, but instead on how users in the past have interacted with the web and where they found success.
Building this engine is an ongoing process, that can be broken down into four subprojects:
Fathom
Fathom seeks deeper understanding of the structure of a webpage. Where is the body? The title? Is this a "next page" button? Is this a comment form, and are there comments here? By better understanding the parts of a page, we can improve our understanding of how a user interacts with it.
Fathom goes beyond what is needed for the recommendation engine. It will eventually be available as a standalone tool in firefox, enabling addons to set their own rules to make it easier to work with webpages.
Fathom documentation and code: https://github.com/mozilla/fathom/blob/master/README.rst
IRC: #fathom
Heatmap
Heatmap seeks to understand how a user interacts with a webpage and uses that to annotate their history. A user who visits a webpage and hits the back button two seconds later is saying something very different about a page than a user who visits a page, scrolls down, enters something in a form and then bookmarks it! By having a deeper understanding of these behaviors, we can identify successful discovery.
Heatmap Documentation and code: https://github.com/mozilla/heatmap
Miracle
The ingestion process takes a user's history (voluntarily given!), filters out problematic URLs and anonymizes the data as best it can. It then securely communicates the remaining URLs to the server, which stores it in the user's account for aggregate analysis. At any time, the user can delete their data from the server.
This is accompanied by a bucket for all the heuristics, experiments and machine learning that takes the raw data and aggregates it into the recommendation engine. This project is awaiting data before we begin experiments.
Miracle Documentation and code: https://github.com/mozilla/miracle
Recommendation Engine Team
Toby Elliott
Erik Rose
Victor Ng
Hanno Schlichting
Ryan Tilder