Skip to content


Repository files navigation

Funf Open Sensing Framework

The Funf Open Sensing Framework is an Android-based extensible framework, originally developed at the MIT Media Lab, for doing phone-based mobile sensing. Funf provides a reusable set of functionalities enabling the collection, uploading, and configuration for a broad range of data types.

Image of Funf data flow

Gather Rich Data

Over 30 existing probes to gather a wide array of in depth data on users' social behavior.

Easily Configure

Setup data collection across multiple devices by loading a configuration file on the phone, or using the automatic server synchronization.

Customize Collection

Build your own custom probes to collect the data you want. You can extend existing probes or build a new type of probe. You can even combine data from other probes.

Reliably Store

Let Funf ensure the data is reliably stored, encrypted, and transparently moved to disks with available space.

Automatically Upload

Gather data from one or more phones automatically by having the data routinely uploaded to your server.


Easily decrypt and merge many data files into one convenient database.

How to Build

The Funf project can be used as an Android library, or can be packaged as a jar file. The typical method of using Funf is by using the Funf jar file. To build the funf jar file, use the 'release' target of the Ant build script. (Make sure you have ant 1.8.* or later installed.) Then, copy the jar file (bin/funf.jar) to the libs directory of your project. The Android build scripts (Command line Ant or in Eclipse) will take care of compiling the jar.

If you think that you will be making frequent changes to the Funf library, you may want to integrate Funf as a library project. To use it as an Android library, add this project as a library dependency of your Android application project. See the Android documentation for integrating a library project for Eclipse projects or via the command line.