Firechat Enables Private Off-The-Internet (P2P) Messaging Using Mobile Phones

Firechat mesh network

There was a fascinating article posted on Medium this week by the CTO of messaging app Firechat:

In the text he outlines how they do decentralized "off-the-grid" private messaging using an ad hoc mesh network established between users of the Firechat app. It sounds like the app instances join together into some kind of peer-to-peer (P2P) network and then do normal "store-and-forward" messaging.

Of note, the apps do NOT need an Internet connection, or even a cellular network connection - instead they can use the Bluetooth and WiFi radios in the mobile phones to create a private mesh network and connect to other users of the Firechat app.

Naturally, having spent some time exploring P2P networks back when I was playing around with P2P SIP and distributed hash tables (DHTs) and other technologies, I immediately jump into the techie questions:

  • How are they routing messages from one user to another?
  • How is the "directory" of users in P2P mesh maintained?
  • What addresses are they using for the communication? Is this still happening over IP addresses? Or are they using some other kind of addressing?
  • How do users join and leave the mesh network?
  • How do user get authorized to join the private mesh? (Or is it just open to all?)
  • How secure is the communication between the parties?
  • Is the message encrypted or private in any way? Or is it just plain text?
  • How well do smartphone batteries hold up if multiple radios are being used? What is the power impact of joining into a mesh network like this?

None of that is covered in this article, of course... this piece is more about the theory of how this can work given a particular density of users. It introduces the phrase "percolation threshold" and provides some background and research into how these kind of networks can be created.

I've always been fascinated by P2P networks like this sounds to be. The beauty of the Internet... the "Internet Way", so to speak... has been to support distributed and decentralized architectures.

If you think about mail or web servers, they are (or at least were) massively distributed. Anyone could set up a mail or web server - and millions upon millions of them bloomed. While we've certainly seen a great amount of centralization due to market dominance (ex. Gmail), the architecture still is distributed / decentralized.

Except... of course, the directory is still centralized. Mail and web servers rely on the central directory of DNS to resolve domain names into IP addresses so that connections can occur. Most other applications rely on DNS for this as well.

Hence my curiousity about how Firechat is handling the directory and routing issues.

I'm also intrigued by how the article hints at integrating Internet-connected users into the P2P mesh. So you really have a hybrid network that is part P2P and part connected out to cloud-based servers.

(And all of this brings me back to those early days of Skype 8-10 years ago when so many of us were captivated by the P2P mechanisms they created... most all of which is now gone in the post-Microsoft-acquisition as Skype has moved from P2P to server/cloud-based - with one big reason being given that mobile devices apparently had speed and battery life issues participating in true P2P networks.)

A key challenge Firechat faces, of course, is the "directory dilemma" of building up the quantity of users where P2P mesh networks like this can happen. This is the same dilemma facing basically all over-the-top (OTT) messaging apps. "Percolation theory" requires a certain user density for a mesh like this to work.

That will be their struggle.

And in some urban areas I can see this working quite well. Perhaps not so much out in the woods of New Hampshire where I live!

But I wish them well with this. I love to see new explorations of potential new architectures for communication. And I can certainly see instances when ad hoc, distributed/decentralized P2P meshes like these could be quite useful.

And I'm definitely looking forward to some more technical articles that dive down into some of these questions.... I do hope they'll write more soon!

Photo credit: Stanislav Shalunov's article about Firechat

There Was Power In What Happened Last Night (At InterCommunity 2015)

Icomm15 all

There was an amazing power in what happened last night. There was a "magic" ... that I can't quite explain.

I sat in a room in Ottawa, Canada... but yet for 2.5 hours I was connected into a global meeting that brought me together with people all around the world... sitting in their homes, offices... or wherever. And gathered in large groups in New Zealand... Tunisia... El Salvador... Uruguay... New York... DC... the Dominican Republic... more...

The event was the Internet Society's InterCommunity 2015 ... something I wrote about on Circle ID, wrote about here, and talked about twice in my TDYR podcasts: episodes 258 and 259.

For that 2.5 hours we talked about how we are collectively working to bring the opportunities of the Internet to the 50% of the world that doesn't yet have access... we heard stories about the amazing work people are doing... we heard about our new 2015 Global Internet Report that highlights the rise of the "mobile Internet" and both the awesome potential - and pitfalls - that we are seeing... we talked about "Collaborative Governance" and how we need to work together to address the changes the Internet has brought to governance - and how governments adapt to the Internet... we heard from people in different parts of the world about the work they are doing... we talked about Internet security and how our "Collaborative Security" approach can be applied to activities people are doing... we had excellent questions about encryption and open vs closed systems... we talked about needing to speak in clear simple voices to explain these challenges... about the need for a stronger identity for the Internet Society... and so, so, so much more.

But it was FAR more than just the conversations... which were excellent.

It was the CONNECTION that I could feel...

Over 2,300 people registered for the event and some % of those folks were online for the first session last night...

There was power in seeing the faces of all the people around the world.

There was power in hearing the voices of the all the people around the world.

There was power in reading the text comments in the chat or on Twitter and social networks.

For that period of time... geography didn't matter... nationality didn't matter... race didn't matter... gender didn't matter...

We were just people ... connecting ON the Internet... and for the Internet.

Exploring together how we could truly bring about the "Internet of opportunity" that would be available to everyone, everywhere, and that could be trusted for our communication... our conversations... our commerce... and indeed our connections.

Talking really NOT about the technology, but rather the impacts of the Internet on our society... and on our daily lives.

It was a remarkable event.

And this was just the first session! While we in the Americas timezones were getting some sleep, another group of participants was having a second session bringing together even more people across Europe and Asia.

I woke up to see a steady stream of outstanding tweets using the #icomm15 hashtag - as well as email from colleagues and others - showing that the second session was equally amazing.

There was power in what happened last night.

The challenge now, of course, is to move what happened last night from beyond just conversation into the action that we need to truly realize the potential of the Internet.

That will be our task in the days, weeks, months and indeed years ahead...

For me, as I get ready now to make the 7-hour drive back home from Ottawa to New Hampshire, I'm still processing in my mind what it was all about. It may take some time - and reflection - to truly understand.

Yes, on one level it was "just" a meeting of different people tied in via video connections all across the Internet and streaming out to individuals via the Internet. No big deal, right? We can do this all the time, right?

But it was also something more...

There was power in what happened last night.

P.S. Here are some more photos taken by Glenn McKnight of the Ottawa node ...

InterCommunity 2015 on July 7/8 - Join In To Voice Your Opinion! (And I'll Be In Ottawa)

Intercommunity2015 squareHow do we as a society address some of the most critical concerns about Internet governance? Internet security? connecting the entire world? (including all the Internet of Things?) This week on July 7 and 8 you have a unique opportunity to get involved with discussions - and actions - related to these questions at the Internet Society's InterCommunity 2015 event.

It is an event happening ON the Internet... not tied to any one physical location but rather bringing together thousands of people around the world in a global conversation.

You can register for free at:

You can join in from your home, office, or wherever you have connectivity. The meeting will be taking place in two different sessions:

  • 7 July 2015 from 20:00 to 22:30 UTC
  • 8 July 2015 from 06:00 to 08:30 UTC

(Use this time zone converter to find out what times these are for you!)

As the agenda shows, we'll have sessions on Internet access, governance and security - and a chance to interact with people on all of these issues.

Now, there are what we call "regional nodes" around the world where larger groups of people will be gathering together to have face-to-face conversations and to also join into the global conversation. If you are near one of those locations you are welcome to go to the meeting place there to meet other people in your region.

I'll actually be in Ottawa, Ontario, Canada, at the node there... if you are in Ottawa I look forward to seeing you there!

I'm very much looking forward to this meeting in part because these issues are so critical... and also because InterCommunity 2015 is an experiment in doing a global meeting across the Internet - and that is to something we need to do more of! So I'm looking forward to seeing how it all works out!

Please do join with us over the next few days and be part of this conversation!

P.S. InterCommunity 2015 is a meeting of the members of the Internet Society, but if you are not already a member (membership is free) you can join as part of the registration process.

P.P.S You can also follow the #icomm15 hashtag during the event on Twitter ( ) and other social networks.

Updated "Directory Dilemma" Article Now On CircleID...

Back in December, 2014, I published a post here called "The Directory Problem - The Challenge For Wire, Talko And Every Other "Skype-Killer" OTT App". After receiving a good bit of feedback, I've now published a new version over on CircleID:
The Directory Dilemma - Why Facebook, Google and Skype May Win the Mobile App War

I incorporated a good bit of the feedback I received and also brought in some newer numbers and statistics. Of note, I now have a section on WebRTC where I didn't before. You'll also notice a new emphasis in the title... I'm now talking about the potential winners versus the challengers. I also chose "Directory Dilemma" not only for the alliteration but also because the situation really isn't as much a "problem" as it is an overall "dilemma". It may or may not be a "problem".

I'm not done yet.

I'm still seeking feedback. I intend to do yet another revision of this piece, but in doing so intend to:

  • Change it from the informal tone at the beginning to more of a "paper" style;
  • Include a bit more about potential solutions.

Comments and feedback are definitely welcome... either as comments here on this site, on social media or as email to "[email protected]".

I'm not sure when I'll do that next iteration, but probably later this year.

Thanks in advance!

P.S. An audio commentary on this topic is available... see the embedded audio plater at the bottom of this post... (below the graphic)

Directory dilemma

Will iOS 9 Make My iPad2 Usable Again?

Massive Glacier

I have one very simple question amidst all the media hype about Apple's WWDC announcements yesterday:

Will iOS 9 make my iPad2 usable again?

Yes, all that other stuff announced yesterday sounds cool... but I have this more basic question.

You see, I made a mistake.

I believed Apple when they said that iOS 8 would run on an iPad2. I mean, the device is from 2011 - it was "only" three years old when iOS 8 came out last year. It was still working very well with iOS 7 and I was excited to try out iOS 8.

To be crystal clear, Apple is correct - iOS 8 does "run" on an iPad2. But...

... it... r...u...n...s... s... o... o... o... o.... o.... o... o... ... g... l... a... c... i... a... l... l... y... ... s... s... l... l... o... o... o... w... w... w... l... l... l... y... y... y...

... that it's hardly worth using. It takes a long time to open up applications, to bring up the keyboard, to switch between applications, etc. It is so slow that I've really stopped using it for almost everything but occasionally reading documents when traveling.

Yes, I do realize this is a very definite "first world problem" in that much of the world doesn't have access to even a device such as an iPad2. So who am I to complain about how slow a device is?

I acknowledge that.

But the iPad2 did work very well with iOS 7 ... and the cynical view is that iOS 8 seemed to be a way to make all of us iPad2 users get frustrated enough to buy new devices. And sure, that's perhaps great for Apple's revenue (assuming we don't buy an Android device instead) ... but it's not great for all the electronic waste of discarded devices. I'd like to continue using what is otherwise a perfectly fine device.

In the WWDC announcement yesterday, Apple's Craig Federighi mentioned that iOS 9 was slimmed down to be able to be upgraded easier over-the-air. He said that it was to help make sure it would run on all devices.

My request to Apple would be simply that - please make iOS 9 truly run on the iPad2!

If Apple is going to claim to still "support" the iPad2, they should do so in a way that lets you use the device in the manner in which we used it when we purchased it.

Or... they should simply be truthful about it and drop the iPad2 from the list of supported devices. Then we all who have them can at least know and not bother upgrading iOS. (And we can figure out what we want to do with the device...)

Will iOS 9 make my iPad2 usable again? I don't know... but I'll definitely be upgrading when it is released because at this point I don't know that Apple can make the device worse than it is running iOS 8. :-)

Photo credit: an image of a massive glacier by David Stanley on Flickr

WebRTCHacks Publishes Analysis of Facebook and WhatsApp Usage of WebRTC

WebrtchacksThe team over at webrtcH4cKS (aka "WebRTCHacks") have been publishing some great articles about WebRTC for a while now, and I thought I'd point to two in particular worth a read. Philipp Hancke has started a series of posts examining how different VoIP services are using WebRTC and he's started out exploring two of the biggest, Facebook and WhatsApp, in these posts:

Those articles are summaries explaining the findings, with much-longer detailed reports also available for download:

Both of these walk through the packet captures and provide a narrative around what is being seen in the discovery process.

A common finding between both reports is that the services are not using the more secure mechanism of DTLS for key exchange to set up encrypted voice channels. Instead they are using the older SDES mechanism that has a number of challenges, but, as noted by the report, is typically faster in enabling a call setup.

All in all the reports make for interesting reading. It's great to see both Facebook and WhatsApp using WebRTC and I think this will only continue to help with the overall growth of WebRTC as a platform. As an audio guy, I was pleased to see that Facebook Messenger is using the Opus codec, which is of course the preferred codec for WebRTC... but that doesn't necessarily mean that it has to be implemented by companies using WebRTC within their own closed products. Kudos to the Facebook team for supporting Opus!

Thanks to Philipp Hancke for writing these reports and I look forward to reading more in the series!

Wow! Cisco To Acquire Tropo's Communications Application Platform

Tropo siteWOW! In companion blog posts today Cisco and Tropo announced Cisco's intent to acquire the Tropo team and platform:

As someone who was at Voxeo in 2009 and helped launch Tropo (and wrote many of the early blog posts about it[1], as well as some of the python samples), I'm thrilled for the team there now that this is happening.[2]

Congratulations to all involved!

Over the years since leaving Voxeo, I've written about Tropo from time to time and continued to watch its progress. I've continued to be very impressed by what they've done over the years. They've truly made it easy for people to create powerful applications using simple programming languages.

It looks like the Tropo website is struggling right now so here is a snippet of their announcement post:

Six years ago we launched Tropo with the idea to make it easy to power phone calls through a simple API. Since then, we’ve empowered thousands of developers to add voice and messaging to their applications.

From our very first sign-up in 2009, to powering thousands of mobile and voice applications, our mission has been the same: to make real-time communications more accessible and productive through great APIs.

Today we’re thrilled to share that Tropo is joining Cisco’s Collaboration Technology Group. Together we’ll enable completely new ways of communicating by opening up Cisco’s collaboration products to every developer on the planet (and maybe some off the planet…hey, they need collaborative tools on the International Space Station!)  :)

Knowing a good number of folks at Cisco, too, I think this is a great win for them in that they'll be able to make some of their products and services more accessible to developers.

I remember well back in 2009 when Jonathan Taylor (then CEO of Voxeo) brought in the Adhearsion team and "Voxeo Labs" was set up. Tropo was the first of the Voxeo Labs products, along with a number of others that were released over the following years. I watched as Voxeo Labs was then spun off from Voxeo in 2012 as a separate company and then Voxeo was acquired by Aspect in 2013... and Voxeo Labs was renamed to Tropo.

I watched, too, as the Tropo team continued their heavy involvement with WebRTC and brought that technology even deeper into their various services.

Congratulations to Jonathan Taylor, Jason Goecke, Johnny Diggz and all the rest of the Tropo team on this acquisition!

I look forward to seeing what Tropo and Cisco will do together to make it even easier to create voice, chat, messaging and other kinds of applications!

UPDATE #1: Jonathan Taylor has published a post on Facebook that outlines some of the history that led to this announcement. He includes this information related to Cisco:

We were even more surprised when Cisco approached us about acquiring Tropo. Selling Tropo was the last thing on our minds. But the potential was clearly huge for both companies, and over the course of the discussion, the deal terms clearly quite attractive. So here we are today!

UPDATE #2: A number of news stories are appearing on Techmeme.

UPDATE #3: Writing over on NoJitter, Zeus Kerravala dives into more detail about the acquisition based on his pre-briefing with Cisco's Rowan Trollope. Zeus' article: Cisco to CPaaS Providers: Game On!

[1] Although in the time since I left in 2011, my account was understandably removed from the Tropo site and the author on all those posts I wrote between 2009-2011 was changed to someone else. :-)

[2] In full disclosure, I should note that I am a very minor shareholder in Tropo after exercising a few options upon leaving Voxeo in 2011. I had no knowledge of this acquisition and have not participated actively with Tropo since leaving in 2011.

Wire Launches WebRTC Voice/Chat Web App For Windows, Linux, more - Includes High TLS Security

Yesterday the team over at Wire launched a new WebRTC-based "Wire for Web" app that lets people on Windows, Linux or any other platform now communicate with people using Wire on iOS, Android or OS X. You can get to it simply at:
If you already have an account you simply sign in with your credentials. If you don't have an account you can easily create one.

I've been running both the native Mac OS X client and the web client for a bit now (I was part of web beta program for Wire) and it is truly amazing how well the team has made the web experience to be seamless between the web and native client. Here's a screenshot showing both side by side (click/tap for a larger image):

Screenshot wire for web

In the web view on the right you have the browser bars at the top and one of the images did not go the full width of the column, but otherwise the experience and visual display has been essentially identical between the two platforms. The synchronization between the two is nearly instantaneous and all the features work really, really well.

Notifications in the web browser (if you allow them) work great to alert you to new messages.

And the voice calls from within the web browser have the same outstanding audio quality I've come to expect from Wire.

All in all the web implementation is quite excellent.

This new web app also addresses a concern I had from the initial launch of Wire back in December - the lack of a client for users on Microsoft Windows. With this web app Windows users - and Linux users - can now equally participate in communication over Wire. This is all courtesy of WebRTC that allows modern browsers to be able to use voice and chat from directly within the browser. Wire co-founder and CTO Alan Duric published a post about how they use WebRTC.

Alan also clued me in to the strong degree that the Wire team takes security extremely seriously. In fact I would say they take it more seriously than many other similar web apps I've seen. If you go over to Qualys SSL Labs and plug in "" you get a result of an "A+":

Ssllabs app wire com

The same can NOT be said of other similar web interfaces that I tested from similar services.

I've been writing about Wire for a bit now (see my various articles) and I have it running on my Mac all the time, primarily because of the great value I get out of a couple of group chats that I am in. From a chat / messaging perspective it's one of the best I've seen and I find it extremely useful.

Curiously, I don't find myself using Wire as much for actual calls, primarily because I find that much of my interaction has moved to video calls, and Wire doesn't support those yet. When I do use Wire the audio quality is truly amazing, but that has to do with the audio pedigree of the team behind Wire, and the fact that they are using the Opus codec. On a larger level, there is also the continued "directory dilemma" that I've written about, namely that Wire has the same struggle as most other new tools in that you need to gather a strong "directory" of people who are actually using the app for it to be an app that people regularly use. Most of the people with whom I regularly communicate aren't users of Wire ... yet.

Still, the release of this "Wire for Web" gives me hope that Wire may be able to build some momentum now that, for example, Microsoft Windows users can now join in. Time will tell... but this will definitely help!

Kudos to the team at Wire for this very excellent web release?

P.S. If you are using Wire, or try it out, you should be able to find me on Wire as "Dan York".

Note: an audio podcast about this topic is also available:

WhatsApp Calling Arrives on iOS - More Telecom Disruption Ahead!

Whatsapp callingAs I checked my AppStore updates on my iPhone this week I was surprised but pleased to see that WhatsApp now includes "WhatsApp Calling". As it says:
"Call your friends and family using WhatsApp for free, even if they're in another country. WhatsApp calls use your phone's Internet connection rather than your cellular plan's voice minutes. Data charges may apply.

How many ways can you spell "disruption"?
(Hint: w - h - a - t - s - a - p - p)

Sure, there have been a zillion mobile apps providing Over-The-Top (OTT) voice services, many of which I've written about here on this site.

But this is WhatsApp!

This is the application that just passed 800 million monthly active users! (Techmeme link) With projections to hit 1 billion monthly active users by the end of the year.

Oh, and it's owned by Facebook! :-)

Now, I personally don't use WhatsApp that much right now. The people who I want to message are primarily using iMessage, Facebook Messenger or Wire. (And every once in a great while I'll fire up Skype on my iPhone.)

But obviously there are 800 million people who do use WhatsApp each month... and they now have free calling! (If they are on Android, iOS or BlackBerry 10... and subject to a staggered rollout, i.e. people will get the actual ability to call over the next while.)

It will be fascinating to see how this plays out.

WhatsApp provides a messaging app with a very simple user experience (UX) that works seamlessly inside the iPhone. Now that same app can be used for calling. And most importantly, WhatsApp has the massive directory of users.

The legacy telcos are going to be saying good bye to even more of their diminishing calling revenue...

Interesting times ahead!

More on this topic:

Congrats to the Jitsi Team On Their Acquistion By Atlassian


Congratulations to Emil Ivov and the whole team behind Jitsi for their acquisition by Atlassian! As they say on the Jitsi news page:

The Jitsi Community just got a lot stronger! BlueJimp, founder of Jitsi, is now part of Atlasssian! The plan is to keep Jitsi at the cutting edge of innovation by keeping it open and in the hands of those who created it in the first place: the open source community.

The news is outlined in an article on TechCrunch and explained in more detail in a HipChat blog post.

To be clear, Atlassian is acquiring the company BlueJimp that employed the founders of Jitsi, but in the process they are also effectively getting the open source Jitsi project. It's great to read in their blog post, though, that they intend to continue to support and invest in the project.

I've been a big fan of Jitsi for quite some time as it was one of the earliest VoIP clients to support both IPv6 and DNSSEC. I wrote about this support both here and also over on the Deploy360 blog and recorded this video interview with Emil Ivov:

Previously I'd also written about Jitsi's support for DNSSEC as it was the first softphone to do so.

More recently I've been using Jitsi's WebRTC-based video bridge for some of the remote participation work we've been experimenting with inside the IETF.

It's all great work and I'm delighted that Emil and his team have found a home inside of Atlassian. I hope it works well for them all and I hope we see further evolution of Jitsi and other similar products.

Congrats to the whole team!

If you found this post interesting or useful, please consider either: