{"id":3862,"date":"2012-08-24T17:26:19","date_gmt":"2012-08-24T17:26:19","guid":{"rendered":"http:\/\/redmonk.com\/jgovernor\/?p=3862"},"modified":"2012-08-24T17:26:19","modified_gmt":"2012-08-24T17:26:19","slug":"facebooks-new-native-ios-client-a-kingmaker-for-mqtt-ibm-facebook-no-shit","status":"publish","type":"post","link":"https:\/\/redmonk.com\/jgovernor\/facebooks-new-native-ios-client-a-kingmaker-for-mqtt-ibm-facebook-no-shit\/","title":{"rendered":"Facebook&#8217;s new native IoS client &#8211; a kingmaker for MQTT. IBM + Facebook = No Shit?"},"content":{"rendered":"<p>Last year I wrote a post about a <a href=\"http:\/\/redmonk.com\/jgovernor\/2011\/11\/04\/ibm-grassroots-seed-world-made-of-messages-internet-of-things-smarter-planet-by-open-source-pachube-next-10-years\/\">World Made of Messages<\/a>, 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 &#8211; this week Facebook announced it would stop offering lame mobile experiences by offering a new native IoS client&#8230; and it is <em>deepening<\/em> its commitment to MQTT.<\/p>\n<p>Twitter&#8217;s own Chris Cansyk alerted me to the update with this tweet.<\/p>\n<blockquote class=\"twitter-tweet\">\n<p>&#8220;Under the hood: Rebuilding Facebook for iOS&#8221; wow, FB uses MQTT, that&#8217;s legit cc: <a href=\"https:\/\/twitter.com\/mqttorg\"><s>@<\/s><b>mqttorg<\/b><\/a> <a href=\"https:\/\/t.co\/1GxnXYBx\" title=\"https:\/\/www.facebook.com\/notes\/facebook-engineering\/under-the-hood-rebuilding-facebook-for-ios\/10151036091753920\">facebook.com\/notes\/facebook\u2026<\/a><\/p>\n<p>&mdash; Chris Aniszczyk (@cra) <a href=\"https:\/\/twitter.com\/cra\/status\/238691403931197440\" data-datetime=\"2012-08-23T17:37:20+00:00\">August 23, 2012<\/a><\/p><\/blockquote>\n<p><script src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>So what is <a href=\"http:\/\/www.facebook.com\/Engineering \">Facebook Engineering<\/a> <a href=\"https:\/\/www.facebook.com\/notes\/facebook-engineering\/under-the-hood-rebuilding-facebook-for-ios\/10151036091753920\">saying<\/a>?<\/p>\n<blockquote><p>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 &#8211; Facebook Messenger &#8211; 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 &#8220;Messages&#8221; in Facebook for iOS, you&#8217;re seeing the same code that runs as a standalone app in Facebook Messenger.<\/p>\n<p>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\u2014they&#8217;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.<\/p><\/blockquote>\n<p>That&#8217;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&#8217;t want to confuse a protocol with an implementation but in a week when Dave Winer <a href=\"http:\/\/scripting.com\/stories\/2012\/08\/22\/protocolsDontMeanMuch.html\">questioned the status of tent.io<\/a> and app.net began its play for real time stream utility status I can&#8217;t help noting that IBM and MQTT.org are in the game. <\/p>\n<p>Winer, the inventor of RSS, said:<\/p>\n<blockquote><p>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&#8217;s what I say about specs. Show me content I can get at through the protocol, and I&#8217;ll say something.<\/p><\/blockquote>\n<p>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. <\/p>\n<p>disclosure: IBM is a client <\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &#8211; this week Facebook announced it<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[],"class_list":["post-3862","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9wfjh-10i","_links":{"self":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/3862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/comments?post=3862"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/3862\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/media?parent=3862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/categories?post=3862"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/tags?post=3862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}