haggle


A content-centric network architecture for opportunistic communication

NEWS! Haggle version 0.4 is now available from the Downloads page or Android Market.


Haggle allows mobile devices to exchange content directly between themselves when they happen to come in close range contact. A Haggle-enabled application could, for example, exchange pictures or songs between mobile phones. The content exchange happens according to a publish/subscribe model, where users express interests via keywords and then receive content items from others according to how well they match the interests. Haggle supports both Bluetooth and WiFi connectivity.

The Haggle implementation on this project page has been developed at Uppsala University and supports many platforms, but mainly targets mobile phones. Example platforms include, Windows mobile, Google Android, Linux, Mac OS X, and iPhone OS. The programming languages used are a mix of C++ and C. But the applications themselves can be written in other languages as well, such as Java and C#.

If you want to know more, read the FAQ or the DeveloperFAQ.

For those interested, here is a recent manuscript describing Haggle. There is also an older paper

You might be interested to learn about other projects using Haggle.

Quickstart Guides

If you are writing an application, then have a look at the API introduction, or the Java equivalent for, e.g., Android development.

Applications

Shown below are a couple of screenshots from our PhotoShare application running on Android phones. You will also find a video showing a visualization demo that gives more information on how Haggle functions internally.

http://wiki.haggle.googlecode.com/hg/images/android-photoshare-screenshots/hero-startup-screen-small.png http://wiki.haggle.googlecode.com/hg/images/android-photoshare-screenshots/hero-gallery-with-attributes-small.png

http://www.youtube.com/watch?feature=player_embedded&v=lhYbiYWGoas' target='_blank'>http://img.youtube.com/vi/lhYbiYWGoas/0.jpg' width='480' height=385 />