This is an old revision of the document!

Open Technology Fund Grant 2016


Our overriding objective is to enable vulnerable people to communicate safely and resiliently when deprived of the ability to use existing mobile telecommunications infrastructure.

The intention is to pursue this by overhauling the Serval Mesh application to create a new Serval Chat application, that will be more comfortable for users, and that will also incorporate BlueTooth P2P connectivity between Android smart-phones, allowing use of Serval without Serval Mesh Extenders or other open Wi-Fi Access Points.

An original consideration was to create an iOS port of the Serval Mesh application to use the P2P framework introduced in recent version of iOS, however early in the process it became apparent that it would be possible to leverage BlueTooth functionality in later versions of Android to similar ends. Thus the decision was made to pursue the improvement of the existing Android application, because it was already existing, and Android devices have much higher market share than iOS globally, particularly among vulnerable communities. (Nonetheless, an iOS port of the Serval Chat application has commenced under an existing grant from the NLnet Foundation.)


Work Units

WI-1: Investigate Android Bluetooth slow media support.

COMPLETE: Bluetooth support is already in Serval Mesh 0.93. The Dutch students have established that it is possible to transport data via the Wi-Fi Direct discovery protocol, although the throughput is VERY slow at this stage (about 20 - 40 bytes / second), due to some nasty bugs in Wi-Fi Direct, especially on older versions of Android. In principle it should allow speeds of 1 - 10KB/sec under ideal conditions, or similarly be used to coordinate the establishment of transient Wi-Fi connections between handsets. While this is now out of scope for this grant, we are very interested in finding the resourcing to further explore this area.

WI-2: Finish Android Bluetooth slow media support.

COMPLETE: See above: results included in Serval Mesh 0.93.

WI-3: Final UI design and prototype


The core UI functions are present. An alpha build is available via Google Play. The outstanding UI functions are related to handling of blocked contacts, specifically the ability to unblock a previously blocked contact.

WI-4: New Identity Card Protocol


The ID and name fields of public feed bundles are now re-used to provide the public identity information, resulting in a simpler design.

WI-5: MeshMS Identity Card Support


Names are extracted and cached from identity card information in public feed bundles.

WI-6: New "MeshMB" micro-blogging protocol and API


Blog posting, reading & replying privately is completely working in the app. Follow / Ignore / search / list subscriptions API's have been built and tested.

The UI has been restructured to show subscribed feeds in progress, including display newly arrived posts immediately on delivery, and sort items according to relevant timeline.

WI-7: App ready for Alpha Testing


Alpha builds of the new Serval Chat app for Android are now being produced. A publicly testable alpha depends on WI-3.

WI-8: Alpha Release


Depends on WI-7. Alpha builds are being produced, and are available to developers via Google Play.

WI-9: Project management and monitoring


This is a continuous activity, with this wiki providing the authoritative information on the current state.