ICSI
Home | About | Examples | Documentation
About Fathom
Install Fathom

Why Fathom?

The browser's ubiquity, combined with the diversity of applications it hosts, makes it the ideal target for a wide range of network measurement and troubleshooting tasks. However, it's currently way too hard to conduct truly generic network-level I/O from within a web page. Today, the only real option for building web-driven network experiments that require truly flexible network I/O capabilities consists of Java applets. (For example, that's how we built the ICSI Netalyzr.) However, the use of Java suffers from multiple shortcomings.

First of all, its networking capabilities remain largely decoupled from the browser. However, for the user real-world connectivity problems manifest in crippled page rendering, which is difficult to capture accurately and portably in Java. Second, the applet security policy limits the runtime's capabilities, precluding e.g. pings and traceroutes, as well as access to host-local information about network properties such as wireless signal strength. Finally, its availability is becoming increasingly unpredictable as virtually no normal websites employ Java.

We believe the complexity and richness of today's Internet applications requires a fresh look at realizing browser-based network measurement. Accordingly, Fathom allows you to conduct measurements from right inside the page, accessing the DOM as you normally would, while at the same time providing a wide array of network-related APIs.

How can I get Fathom?

We currently provide Fathom in form of a Firefox extension. To explore the platform, just download it into your browser. One of the cool things about Fathom is that we figured out a way to realize it entirely as a JavaScript-only Firefox extension, so it remains open-source by definition.

Who's behind Fathom?

We are researchers with a strong history in network monitoring and browser architecture. Our team: Mohan Dhawan, Justin Samuel, Renata Teixeira, Christian Kreibich, Nick Weaver, Mark Allman, and Vern Paxson.