<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Light is beautiful</provider_name><provider_url>http://lousodrome.net/blog/light</provider_url><author_name>Julien Guertault</author_name><author_url>http://lousodrome.net/blog/light/author/admin/</author_url><title>Facebook's iOS Infrastructure &#x2013; Light is beautiful</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="3rm6yFkaTT"&gt;&lt;a href="http://lousodrome.net/blog/light/2015/11/02/facebooks-ios-infrastructure/"&gt;Facebook&#x2019;s iOS Infrastructure&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="http://lousodrome.net/blog/light/2015/11/02/facebooks-ios-infrastructure/embed/#?secret=3rm6yFkaTT" width="600" height="338" title="&#x201C;Facebook&#x2019;s iOS Infrastructure&#x201D; &#x2014; Light is beautiful" data-secret="3rm6yFkaTT" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=http://lousodrome.net/blog/light/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><description>In this talk from @Scale 2014, Adam Ernst and Ari Grant present some of the problems met during the development of the native Facebook mobile application, and the solutions developed. The first part, starting at around 7&#x2019;00, explains why the &hellip; Continue reading &rarr;</description></oembed>
