Blogs

RedMonk

Skip to content

Facebook’s new native IoS client – a kingmaker for MQTT. IBM + Facebook = No Shit?

Last year I wrote a post about a World Made of Messages, which examined how lightweight asynchronous messaging is becoming increasingly important in Web and Internet of Things. Perhaps most interesting from an enterprise consumer convergence perspective is that Facebook was adopting a messaging protocol invented by IBM. Anyway – this week Facebook announced it would stop offering lame mobile experiences by offering a new native IoS client… and it is deepening its commitment to MQTT.

Twitter’s own Chris Cansyk alerted me to the update with this tweet.

So what is Facebook Engineering saying?

Developers always have to deal with constraints. Some are technical, some design, and some are driven by product requirements. We began rebuilding Facebook for iOS while a new native app – Facebook Messenger – was starting to gain traction in the wild. Our challenge was to completely incorporate both the foundations and UI of Messenger, and in doing so take advantage of all the heavily-tested code the messages team works so hard on. When you tap “Messages” in Facebook for iOS, you’re seeing the same code that runs as a standalone app in Facebook Messenger.

To accomplish this we built a system of modules. Modules provide view controllers that are presented when you tap a bookmark in the left navigation menu. News Feed, Messages, Friends—they’re all modules. Modules also specify their dependencies. For example, we use MQTT to update notifications, messages, and bookmarks. At application startup, we walk the dependency graph and ensure that our MQTT service has started before we start listening for new notifications. Even as we add new features, our modular system ensures that our application setup happens in the right place, at the right time.

That’s a pretty solid commitment, all right. IBM has been seeking pervasive status for its message queue (MQ) technology since I joined the industry in 1995. It looks like it just finally got there. I don’t want to confuse a protocol with an implementation but in a week when Dave Winer questioned the status of tent.io and app.net began its play for real time stream utility status I can’t help noting that IBM and MQTT.org are in the game.

Winer, the inventor of RSS, said:

RSS won not because of its great design, but because there was a significant amount of valuable content flowing through it. Formats and protocols by themselves are meaningless. That’s what I say about specs. Show me content I can get at through the protocol, and I’ll say something.

Whether or not you like Facebook, there is now going to be a metric crapload of content flowing across MQTT. It just got anointed by Facebook.

disclosure: IBM is a client

Categories: Uncategorized.

Comment Feed

10 Responses

  1. Interesting times. Facebook’s iOS app actually acknowledges use of the libmosquitto library, and mosquitto itself (an Open Source implementation of an MQTT broker) recently hit version 1.0 after 3 years of development and incubation. It provides the sandbox broker for the Eclipse M2M community, and I happen to know it has been adopted in some very interesting areas that I can’t talk about just yet. As you say, metric craploads of data – that’s pretty exciting. Now if IBM leverage that on-ramp to the broader WMQ ecosystem, it could be a very interesting experience.

    Probably a cooler article about why Facebook chose MQTT in the first place is om/notes/facebook-engineering/building-facebook-messenger/10150259350998920 from last year, when the Messenger team de-cloaked and talked about its efficiency and utility for that product.

    Congrats to Andy Stanford-Clark and Roger Light, who really made all of this possible.

    disclosure: I was formerly involved with MQTT at IBM, and continue to be a flag-waver for its progress at Eclipse Paho.

  2. Thanks for the link Andy — corrupted above but should be — http://www.facebook.com/notes/facebook-engineering/building-facebook-messenger/10150259350998920

    Simon KaegiAugust 24, 2012 @ 6:19 pmReply
  3. “I don’t want to confuse a protocol with an implementation but in a week when Dave Winer questioned the status of tent.io and app.net began its play for real time stream utility status I can’t help noting that IBM and MQTT.org are in the game.”

    ….this sentence is hilarious. It’s like managing to put apples, oranges, 2 x 4s and chef knives in the same group and then comparing them.

    • walker. disagree, you don’t compare those things? my point… MQTT now has content flow. winer otoh questioned TENT.io on the basis it didn’t. app.net is an app/aiming for utility status, rather than a protocol.

      jgovernorAugust 28, 2012 @ 1:47 pmReply
  4. C’mon, man. Not even apples and oranges. Apples and furry goats. MQTT has value an and important role, but is lacking in a few very key dimensions as a ubiquitous communications protocol: 1) lack of discoverability 2) no web-friendly API 3) almost non-existing error handling 4) lack of any interoperable scheme for complex data. I’m actually a fan of MQTT, but it sure bugs the sh!t out of me when something is overhyped and/or misrepresented. Which ultimately is not good for broad-based MQTT acceptance if it fails to live up to unrealistic expectations that have been set. It will absolutely play a role in the internet of things and other application areas, but let’s keep it real, OK?

  5. apples, oranges, goats … and rabbits.

    RabbitMQ just added MQTT support – http://www.rabbitmq.com/blog/2012/09/12/mqtt-adapter/



Some HTML is OK

or, reply to this post via trackback.

Continuing the Discussion

  1. […] “IBM has been seeking pervasive status for its message queue technology since I joined the industry in 1995. It looks like it just finally got there. I don’t want to confuse a protocol with an implementation but in a week when Dave Winer questioned the status of tent.io and app.net began its play for real time stream utility status I can’t help noting that IBM and MQTT.org are in the game,” Governor blogged. […]

  2. […] Governor wrote a nice post on Facebook’s expanding usage of MQ-TT. I’ve written about WebSphere MQ’s native telemetry transport (MQ-TT) capabilities in […]

  3. […] post mentions that they are using MQTT extensively for notifications and updates. This has led to analysts like James Governor and news outlets like ReadWriteWeb writing pieces on the change. Of course, the endpoints […]

  4. […] was some big growth in the MQTT community last year – lots of new software implementations, another significant use of the protocol in Facebook’s updated mobile apps, and increasing numbers of folks discovering the […]