User Tools

Site Tools


Serval Mesh app for iPhone

The Serval Project did not choose the Apple iPhone as the smart-phone platform for the original Serval Mesh (app for Android) because:

  • iOS had poor support for essential telephony functions (speaker, microphone, audio stream synchronisation)
  • sharing and distributing free iOS apps was and remains very limited:
    • it is impossible to “side load” apps onto iPhones – iOS apps can only be installed from the Apple App Store
    • Apple retain tight control over the content of their app store
    • Apple may not allow an app that upsets their business model or business partners
    • Apple Store licence terms are incompatible with the GNU public license
  • the Android app development environment was far more permissive and flexible, particularly with regards to:
    • programmatic Wi-Fi network control
    • rooting (jailbreaking) to allow installation of an alternative Wi-Fi device driver for Wi-Fi Ad Hoc mode
    • long running background processes and inter-process communication
    • support for native code compilation using GCC

The Mesh Extender device was conceived in 2013 as a way to provide Serval to non-Android devices using Bluetooth or Wi-Fi Direct. The idea was to develop an iOS app that delegated all Wi-Fi Ad Hoc or long-range communications, encryption, Rhizome storage, Mesh Datagram Protocol (MDP), and other core Serval services to the Mesh Extender, and simply acted as a rich front-end to these services. To date, such an app has not been developed.

Serval Chat (app for iOS) was conceived in 2014, not as an “iOS port” of Serval Mesh (app for Android), but as a completely new app focussed exclusively on secure, resilient text messaging – both one-to-one and in groups – with a far simpler and more polished user interface than Serval Mesh.

content/tech/serval_mesh_for_iphone.txt · Last modified: 23/02/2015 00:22 by Andrew Bettison