Open Technology Fund Grant 2016

Objectives

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.)

Milestones

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

COMPLETE.

All required UI functions are present. An alpha build is available via Google Play. While this work-unit is complete, we are not completely satisfied with the result, and expect to continue work on our own to improve the UI. Specifically, the completed UI is rather minimalistic, and initial internal user-testing has uncovered certain tasks that are more complicated to perform than they should be, in particular, the common task of adding and following the feed of a contact.

WI-4: New Identity Card Protocol

COMPLETE

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

COMPLETE

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

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

COMPLETE

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

COMPLETE

A publicly testable Alpha build exists, and is also available for direct download from http://developer.servalproject.org/files/

WI-8: Alpha Release

COMPLETE.

A publicly testable Alpha build exists, and is also available for direct download from http://developer.servalproject.org/files/

WI-9: Project management and monitoring

COMPLETE

All tasks under this contract are now believed to be complete.


Login