[Standards] 0174 Serverless Messaging: Discovering Capabilities

Peter Saint-Andre stpeter at stpeter.im
Fri Mar 9 02:58:09 UTC 2018

On 3/8/18 9:12 AM, Denver Gingerich wrote:
> On Thu, Mar 08, 2018 at 08:47:50AM -0700, Peter Saint-Andre wrote:
>> On 3/8/18 2:33 AM, Dave Cridland wrote:
>>> I'm aware of people experimenting with this on ad-hoc networks such as
>>> emergent vehicle networks.
>> I heard about such things years ago, too. Are those active projects?
> I can't speak for emergent vehicle projects, but ad-hoc networks are becoming increasing popular for person to person communication given new hardware technology (more on that below).  I suspect related XEP-0174 projects will soon be quite active.
>>> While I agree that it's probably flaky as hell in practise, I think it
>>> remains our best shot at this.
>> Do *we* need to take a shot at this?
>> What scenarios are we or other folks trying to solve for these days?
>> The original use case was ad-hoc 1:1 chat at conferences and local
>> networks not connected to the wider Internet. While that was interesting
>> 12 years ago, is it interesting now? Is there some other interesting
>> problem that serverless messaging can solve?
> I believe "local networks not connected to the wider Internet" are definitely still interesting, perhaps even more interesting today than before.

The XEP-0174 use case was originally for people connected to the same
WiFi hotspot or other link-local network. The technology was driven
forward by Apple (remember when Bonjour was called Rendezvous?) and
hasn't received much attention since they stopped featuring it in iChat.

> There are a number of new devices that allow people to create their own networks when away from an Internet connection.  In particular, see https://www.sonnetlabs.com/ and similar projects.  Sonnet creates an IP network with other Sonnets within a few kilometres - this would be a great place to be able communicate via XMPP without a server, i.e. using mobile XMPP clients on wifi-connected phones.
> Similar devices include https://gotenna.com/pages/mesh - goTenna does not create an IP network like Sonnet, but instead uses its own proprietary protocols over the air and with connected Bluetooth devices.  I suspect we'd be able to go far beyond goTenna's capabilities by using XMPP with a less proprietary device like Sonnet.

Yes, I'm familiar with such technologies, having worked on peer-to-peer,
end-to-end encrypted, long-range radio communication devices for IoT (no
longer my current project). There are significant challenges involved in
building such things - battery life, power consumption, sleepy nodes,
firmware size, OTA updates (!), bandwidth limitations (our devices
operated at ~900 MHz), eliminating a dependency on centralized towers
(LoRaWAN, LTE-M, etc.), strong security including use a secure enclave
and a proper manufacturing process to bootstrap trust (hardware is
hard), protecting privacy over a radio frequency transport through
techniques like channel hopping and seemingly random time schedules,
etc. I am not convinced that XMPP is the right approach for such
applications. Something like Apache Mynewt might a more appropriate
foundation (it's being driven forward by some of the original technical
minds behind Silver Spring Networks), but even then there's a lot of
work required to build a true mesh protocol in a private and secure way
(e.g., the native LoRaWAN security is not strong and that architecture
depends on towers anyway).

> It is the long-term goal of the Soprani.ca family of projects that I'm working on (which includes https://jmp.chat/ among others) to build and/or integrate a device like Sonnet into existing phones so that we can replace some of the cell network functionality with something that gives people a bit more freedom.  See https://wiki.soprani.ca/ThePlan#Long-range_radios (where we explicitly call out XEP-0174 as a way of doing this) for more details.

Those are great aspirations. However, I am skeptical that XMPP meets the
design goals in this space.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 873 bytes
Desc: OpenPGP digital signature
URL: <http://mail.jabber.org/pipermail/standards/attachments/20180308/5e8947ec/attachment.sig>

More information about the Standards mailing list