Context Graph

From MozillaWiki
Jump to: navigation, search


“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


Activity Stream for Desktop, Android, and iOS

Sync/Firefox Accounts

NMX - New Mobile Experience

Context Graph Initiative informal projects and technologies stack CG diagram.png


Product owner: Nick Chapman

Eng Lead: Chris Karlof

Program Manager:

UR Lead: Gemma Petrie

UX Lead:

Product Marketing:


Exec Sponsor: Nick Nguyen


IRC: #contextgraph

Email: | 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 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:

IRC: #fathom


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:


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:

Recommendation Engine Team

Toby Elliott

Erik Rose

Victor Ng

Hanno Schlichting

Ryan Tilder