A number of tech news outlets, including WIRED, GigaOm, and MIT Technology Review, have recently started writing about Multipeer Connectivity ("one weird trick that the NSA hates"). Since the NSHipster article on the subject has been linked to in a lot of this coverage, I wanted to share some additional thoughts on the matter:
Multipeer Connectivity(http://nshipster.com/multipeer-connectivity/) represents a significant shift in the opposite direction of how we conventionally think about mobile applications. Nearly every app on your phone operates in a client-server model, with the device making requests to remote cloud services to send and receive messages, photos, and videos. The new APIs introduced by Apple in iOS 7 make it just as easy to communicate with other devices around you instead. While this was technically possible before, creating a robust implementation was prohibitively difficult for all but the most experienced and capable development firms.
The timing is important, too: recent advances in Bluetooth technology have coincided with growing fears of domestic surveillance programs and web service data breaches. As users become more mindful of the security and privacy implications of technologies they rely on, moving back in the direction of local, ad-hoc networking like what Multipeer Connectivity provides begins to make a lot of sense. You can see similar trends in related technologies, like WebRTC, which allows browsers to connect directly to each other.
Not relying on an internet service to act as a middleman has profound implications on security and privacy. Over an encrypted, local network, you have a great degree of certainty that the person you’re communicating with is who they claim to be, and that no one else can eaves drop on your conversation.
This method of communication is immune to firewalls like the ones installed in China and North Korea. It’s immune to attempts to block social networks like Twitter, as we’ve seen done in Egypt, Libya, and Turkey. It’s immune to surveillance programs like those run by the NSA, as well as anti-competitive traffic-limiting measures from internet service providers like Comcast.
Beyond security and privacy implications, there are significant performance gains to be had as well to local networking. It’s about as fast as transferring files from your MacBook to your TimeMachine drive. And since it doesn’t rely on an internet connection, it’ll still work on the subway, or anywhere where there’s no cell coverage or WiFi available.
It’s still early for this paradigm, and I think we’ll see a lot of new applications as users and developers alike begin to understand what’s possible.
@sjmadsen
That's just one session, though. Messages can be propagated across a graph of connections in a similar manner to how distributed databases are replicated across many nodes, with each only having direct connections to small number of them. It'd be great if
MCSession
accommodated more out-of-the-box, but this can be worked around.Forgive my imprecise language here. I didn't originally mean to imply that those speeds are achievable over Bluetooth—I was talking about local (i.e. no internet) connections, like over WiFi. That sentence has been clarified as: