Haggle

Haggle is a networking system for content-centric opportunistic communication, which allows mobile devices to exchange content directly between themselves whenever they happen to come in close range. The content to exchange is based on the interests that users declare. Haggle supports both Bluetooth and WiFi connectivity (Bluetooth currently requires root).

Haggle runs as a background service and applications have to be specifically written to take advantage of the communication it offers. A simple publish/subscribe API makes it easy to write applications that could, for example, exchange pictures or songs between mobile phones based on users' interests (as our PhotoShare application does).

Haggle has been developed at Uppsala University, Sweden, and supports many platforms, but mainly targets mobile phones. The programming languages used are a mix of C++ and C, but applications themselves can be written in other languages as well, such as Java and C#.