Following up on several conversations I've been having recently - according to the needs of a project in which novice user's phones would communicate bidirectionally with a central server (or each other, through a gateway) - here are a few SW technologies that I think would be useful to explore.
AutoBahn -- An opensource and rather full implementation of
Websockets, and
WAMP written in Pythone and Javascript(node).
WAMP is useful in this case beacuse it can establish roles: publisher, subscriber, broker (with PubSub) , as well as provide a framework for RPC, which allows users to call explicitly exposed remote functions on the server( these could be arduino serial functions, or talk to a video server, or ableton live, or whatever ).