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
- 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
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|
|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)|
|Peer list||Yes (“Nearby”)||Yes (“Network contacts”)|
|Voice calls||No||Yes (4)|
|Serval Mesh Extender||Yes||Yes|
|Public license||(Not yet chosen)||GNU GPL|
|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|
- (5) The common core component, Serval DNA, is written in portable C.
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: