A PCRE internal error occured. This might be caused by a faulty plugin

====== MeshMS ====== {{ :content:technologies:screenshot-serval-mesh-0.90-messaging.png?200|Screenshot of Serval Mesh pre-release 0.90 “Shiny” MeshMS screen }} MeshMS is a secure, one-to-one [[http://en.wikipedia.org/wiki/Text_messaging|text messaging]] service, similar to [[http://en.wikipedia.org/wiki/Short_Message_Service|SMS]], implemented in the [[Serval Mesh]], using [[Rhizome]] to transport messages between devices. ==== Documentation ==== * [[MeshMS API]] ==== Protocol ==== A MeshMS *conversation* is stored and transported as two [[Rhizome Journal]] bundles, one for each direction (“ply”). Each ply bundle identifies its [[subscriber|sender]] and [[subscriber|recipient]], which are the same in the other ply, except swapped. Each party creates the bundle for its own outgoing ply and is the only one able to modify the bundle. To send a message, the sending party appends a structure containing the message's text to the journal's payload using the [[MeshMS log]] format. The updated bundle is conveyed to the other party using whatever [[Rhizome]] transport is available. When the message arrives, the recipient appends an acknowledgemnt to its own ply bundle, which gets conveyed back to the sender in similar fashion. This allows MeshMS to display a "delivered" indication on sent messages (but not "read). At present, a MeshMS message can be up to 32767 bytes of [[http://en.wikipedia.org/wiki/UTF-8|UTF-8]] encoded [[http://en.wikipedia.org/wiki/Unicode|Unicode]] text. In future, the MeshMS message could be extended to include images, videos, contacts, links, and other multimedia content. See [[MeshMS extended content]]. ==== User interface ==== The [[MeshMS user interface]] displays the messages from the two bundles in an interleaved fashion, using the acknowledgements in each journal to derive the topological order. There are two implementations of a MeshMS UI: * [[Serval Mesh]] * [[Serval Chat]]