Serval Chat

Serval Chat is the Serval Project's first app for Apple iOS devices like iPhone and iPad, as well as the long-term replacement for Serval Mesh on Android, i.e., Serval Chat will support both Android and iOS: First Android, and then later iOS.

The Serval Chat app is still under development and has not yet been released.

Serval Chat will have the following features:

  • peer-to-peer wireless connection with nearby devices, without needing a mobile data plan or Wi-Fi hotspot
  • secure and private text messaging just like the Serval Mesh app for Android, using MeshMS as the protocol
  • contact management allows users to easily discover who is online (within range), store contacts for offline messaging, and block contacts
  • secure identity cards allow users to reveal information about themselves for other Serval Chat users to recognise them
  • “microblog” secure, anonymous group messaging allows users to share discussion threads with many participants
  • polished and intuitive user interface

The Serval Chat app was inspired by the appearance of the FireChat app for iOS by Open Garden Inc., which makes use of the Multipeer Connectivity Framework that appeared in iOS 7.

Comparison with Serval Mesh

Serval Chat differs from the Serval Mesh app for Android as described in the following table:

Serval Chat Serval Mesh
Motivation Secure messaging for people in danger Secure mobile communications without infrastructure
Purpose Production ready for broad adoption Experimental prototype for early adopters
Platform Apple iOS Android
Availability First release planned for mid 2017 Currently available from Google Play
Network Apple Multipeer (1) Wi-Fi (Bluetooth under development) (1)
Operates without SIM Yes Yes
Operates without Hotspot Yes No (2) (3)
One-to-one messaging Yes Yes
One-to-many messaging Yes No
Identity cards Yes No
Contact blocking Yes No
Peer list Yes (“Nearby”) Yes (“Network contacts”)
File sharing No Yes
Voice calls No Yes (4)
Serval Mesh Extender Yes Yes
Public license (Not yet chosen) GNU GPL
Development commenced 2015 2010
Programming languages C(5), Objective-C, Xcode C(5), Java
Packet protocol Mesh Datagram Protocol (MDP) Mesh Datagram Protocol (MDP)
Persistent data transport Rhizome Rhizome
Messaging protocol MeshMS MeshMS
  • (1) Because Serval Chat and Serval Mesh use different networks, they do not inter-operate.
  • (2) Serval Mesh can use Personal Hotspot mode if no other Hotspot is nearby.
  • (3) Serval Mesh supports Ad Hoc Wi-Fi mode on some rooted Android devices.
  • (4) Voice calls only work under good conditions.
  • (5) The common core component, Serval DNA, is written in portable C.

First prototype

The first prototype of Serval Chat was funded by a grant from NLnet Foundation in 2014, and offered users a simplified subset of the full Serval Chat functionality:

  • simple text names instead of rich media identity cards
  • one-to-one messaging only (MeshMS)
  • basic contact management (Save, Block, Forget)
  • nearby people (Wi-Fi peers)

The current source code is available at https://github.com/servalproject/servalchat-ios-prototype

Original development was done by visiting student Imane Rai during the first half of 2015.

The following diagram shows the navigation structure of the prototype UI:

Diagram of Serval Chat prototype navigation structure


Login