<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
  >
<channel>
  <title>FunctionSource Posts</title>
  <atom:link href="http://functionsource.com/feed/entries" rel="self" type="application/rss+xml" />
  <link>http://functionsource.com</link>
  <description>Your Source for Developer News</description>
  <lastBuildDate>Wed, 19 Sep 2012 13:42:27 +0000</lastBuildDate>
  <language>en</language>
  <sy:updatePeriod>hourly</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <generator>http://viewjs.com/</generator>
  <image>
    <url>http://functionsource.com/favicon.ico</url>
    <title>FunctionSource</title>
    <link>http://functionsource.com</link>
  </image>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/smart-app-banners</guid>
      <title>Smart App Banners: How to use them, and their limitations</title>
      <link>http://functionsource.com/post/smart-app-banners</link>
      <pubDate>Wed, 19 Sep 2012 13:42:27 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[The "Smart App Banner" feature in iOS 6 promises to let you pimp your app without the ugly splash screens that drive people so nuts. If you want to throw a meta tag on your home page, or on the incoming page (e.g. if referrer != yourself), then you are golden. If you want to do much more... no cigar, as this post discusses. I created some <a href="http://almaer.com/downloads/smartappbanners/">simple tests</a> to play with the feature. <a href="http://functionscopedev.wordpress.com/2012/09/19/smart-app-banners/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p><img alt="" src="http://functionscopedev.files.wordpress.com/2012/09/smartappbanner.png?w=520" width="520" title="smartappbanner" /></p>
<p>The &#8220;Smart App Banner&#8221; feature in iOS 6 promises to let you pimp your app without the ugly splash screens that drive people so nuts (especially for freaking content sites&#8230;. looking at you The Verge, and ABC):</p>
<p><img alt="" height="480" src="http://functionscopedev.files.wordpress.com/2012/09/appsplash.png?w=320&h=480" width="320" title="appsplash" /></p>
<p>Ugh, I just want to read your content! Anyway, back to the smart app banners. I was very curious to play with them and see what kind of controls I could put in place.</p>
<p>It all comes down to:</p>
<pre>
&lt;meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL"&gt;
</pre>
<p>The good news:</p>
<ul>
<li>Since iOS is in charge of what to show, the area &#8220;trusted&#8221; (how long until people fake it out?)
</li><li>If the application is unavailable (device / OS doesn&#8217;t support it, or in the wrong region), it won&#8217;t be shown
</li><li>The system knows if the app is installed (wouldn&#8217;t want to tell the web site&#8230; privacy an all) so it can flip the action from install to open
</li><li>You can pass a &#8220;URL&#8221; as an argument (app-argument), meaning you can give the site deep link ability. In our case, we can pass <code>walmart://product?id=X</code> on a product details page, and when if you open the app it can display the product.
</li><li>Affiliate info can be passed in (affiliate-data).
</li><li>I wanted to see if I could dynamically add the meta tag, and <a href="http://almaer.com/downloads/smartappbanners/dynamic.html">that works fine</a>.
</li></ul>
<p>The bad news:</p>
<ul>
<li>I would like to be able to say &#8220;If the user has the app installed already, don&#8217;t bother showing the &#8216;OPEN&#8217; for this page please&#8221;. E.g. I am just trying to use this to push downloads.
</li><li>I would like to be able to say &#8220;If the user doesn&#8217;t have the app installed, don&#8217;t bother showing the &#8216;INSTALL&#8217; for this page please&#8221;. E.g. I am just trying to give you a nice deep link here.
</li><li>I would like to be able to tweak the messaging and call to action. E.g. &#8220;To see rich details of this product, open in the native app&#8221;
</li><li>I would like to declare &#8220;I don&#8217;t want to bug the users, so only show the message once a month&#8221;
</li><li>I would like to declare &#8220;Place this above the view port, so it isn&#8217;t in the users face, but if the user scrolls up they will see it&#8221;
</li><li>As a developer of dynamic apps where the client does the rendering, you are severely limited. Dynamically adding the meta tag works (as stated above), but it doesn&#8217;t seem to work when I: a) <a href="http://almaer.com/downloads/smartappbanners/change.html">change the meta tag</a>, b) <a href="http://almaer.com/downloads/smartappbanners/remove.html">remove the meta tag</a>. If you imagine pushState&#8217;ing around and wanting to turn off the banners, no cigar.
</li></ul>
<p>This feature has a ton of potential. If you want to throw a meta tag on your home page, or on the incoming page (e.g. if referrer != yourself), then you are golden. If you want to do much more&#8230; no cigar.</p>
<br />  <img border="0" alt="" height="1" src="http://stats.wordpress.com/b.gif?host=functionscopedev.wordpress.com&#038;blog=19979274&#038;post=1260&#038;subd=functionscopedev&#038;ref=&#038;feed=1" width="1" />]]></content:encoded>
      
        <category><![CDATA[ios]]></category>
      
        <category><![CDATA[mobile]]></category>
      
      <comments>http://functionsource.com/post/smart-app-banners#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/fallback-the-other-nativeweb-hybrid-model-used-by-the-new-facebook-ios-application</guid>
      <title>Fallback: The other native+web Hybrid model, used by the new Facebook iOS application</title>
      <link>http://functionsource.com/post/fallback-the-other-nativeweb-hybrid-model-used-by-the-new-facebook-ios-application</link>
      <pubDate>Thu, 23 Aug 2012 17:28:03 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[I have witnessed a new approach that aims to give you a compromise of "I want to be able to update the apps outside of a native update cycle" and "I have to use Web tech to do that". Fallback rendering, which Facebook uses in its latest native iOS application. <a href="http://functionscopedev.wordpress.com/2012/08/23/fallback-the-other-nativeweb-hybrid-model-used-by-the-new-facebook-ios-application/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p><img src="http://newsroom.fb.com/imagelibrary/displaymedia.ashx?MediaDetailsID=2872&amp;SizeID=2" /></p>
<p>There have been many trends as folks shimmy between using native and Web technology for mobile. There are the extremes of pure native, or pure HTML. Then we have the world of the WebView&#8230; ranging from simple &#8220;stick in some Web Content here&#8221; to PhoneGap-esque bridge technology to bidirectionally speak between Web and native.</p>
<p>I have witnessed a new approach that aims to give you a compromise of &#8220;I want to be able to update the apps outside of a native update cycle&#8221; and &#8220;I have to use Web tech to do that&#8221;.</p>
<p>It was interesting to see that <a href="https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920">the new Facebook for iOS app use this technique</a>:</p>
<blockquote><p>
To solve this, we came up with a different plan to let you use the newest features without requiring you to update the entire app: a &#8220;fallback&#8221; renderer. When the news feed team designs a new type of story, Facebook for iOS downloads something it doesn&#8217;t quite understand. When we detect this, we use a &#8220;fallback&#8221; renderer to show the pertinent information in the new story in a format the app already understands. In the meantime, we create a new custom renderer and have it ready for our next app update. For areas within the app where we anticipate making changes more often, we will continue to utilize HTML5 code, as we can push updates server side without requiring people to download a new version of the app.
</p></blockquote>
<p>This is a great backstop. Not only does it give you some future proofing, but it also can let you get out of jail.</p>
<p>For example, if I look at my Walmart apps, being able to checkout is critical to the business. If I bring this functionality to the world of native and something goes wrong, I want to be able to immediately fall back to an experience that works. This model gives me that ability.</p>
<br />  <img height="1" width="1" border="0" alt="" src="http://stats.wordpress.com/b.gif?host=functionscopedev.wordpress.com&#038;blog=19979274&#038;post=1258&#038;subd=functionscopedev&#038;ref=&#038;feed=1" />]]></content:encoded>
      
        <category><![CDATA[facebook]]></category>
      
        <category><![CDATA[native]]></category>
      
      <comments>http://functionsource.com/post/fallback-the-other-nativeweb-hybrid-model-used-by-the-new-facebook-ios-application#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/collide-the-atlanta-collision</guid>
      <title>Collide; The Atlanta Collision</title>
      <link>http://functionsource.com/post/collide-the-atlanta-collision</link>
      <pubDate>Mon, 09 Jul 2012 14:30:13 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[Collide itself focused on the "collaborative development" side of shared coding. I don't think this is the full breath of what they had working at Google though. I really hope that the world gets to see the full vision of the web development tools that they had put together. I have heard that it is pretty special. If Google isn't going to use the work, maybe we can see more open sourced, and once Bruce and team revolutionize revenue generation... maybe they can switch back and get back to developers :) <a href="http://functionscopedev.wordpress.com/2012/07/09/collide-the-atlanta-collision/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p><img src="http://asset1.cbsistatic.com/cnwk.1d/i/tim/2012/07/09/Collide-screenshot.png" /></p>
<p>The Web IDEs keep developing, and Google open sourced a piece of their work with <a href="http://code.google.com/p/collide/">Collide</a>, which is a now open project created by the GWT team from Atlanta. Well, the former team.</p>
<p><a href="http://www.twitter.com/stshank">Stephen Shankland</a> has <a href="http://news.cnet.com/8301-1023_3-57468444-93/google-scraps-and-shares-web-based-collab-coding-tool/">shown the link with the team that no longer exists</a>.</p>
<p>The Google Atlanta team is now largely the <a href="http://www.monetology.com/">Monetology</a> team. As I have mentioned before, although I am personally not a &#8220;GWT kind of guy&#8221;, the team that developed it are truly top drawer and amazing engineers. They also got into the weeds to hunt out the ugly corners of browsers and showed us tricks that everyone could use (e.g. Closure Compiler and more).</p>
<p>Collide itself focused on the &#8220;collaborative development&#8221; side of shared coding. I don&#8217;t think this is the full breath of what they had working at Google though. I really hope that the world gets to see the full vision of the web development tools that they had put together. I have heard that it is pretty special. If Google isn&#8217;t going to use the work, maybe we can see more open sourced, and once Bruce and team revolutionize revenue generation&#8230; maybe they can switch back and get back to developers :)</p>
<br />  ]]></content:encoded>
      
        <category><![CDATA[developer_tools]]></category>
      
        <category><![CDATA[gwt]]></category>
      
        <category><![CDATA[ide]]></category>
      
      <comments>http://functionsource.com/post/collide-the-atlanta-collision#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/firefox-mobile-os-the-incredible-hard-journey-that-must-be-done</guid>
      <title>Firefox Mobile OS; The incredible hard journey that must be done</title>
      <link>http://functionsource.com/post/firefox-mobile-os-the-incredible-hard-journey-that-must-be-done</link>
      <pubDate>Mon, 02 Jul 2012 17:25:07 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[How Mozilla find a niche in the mobile OS space? They have gone after the International market with Boot to Gecko and the now announced name of <a href="http://blog.mozilla.org/blog/2012/07/02/firefox-mobile-os/">Firefox Mobile OS</a>. They aren't looking to come out on Verizon and go up against the Droids and the iPhone right away. That is a tough fight. Notice the wording in the title of the announcement (and the theme in most of the posts on the topic) "Mozilla Gains Global Support". <a href="http://functionscopedev.wordpress.com/2012/07/02/firefox-mobile-os-the-incredible-hard-journey-that-must-be-done/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p><img src="http://blog.mozilla.org/files/2012/07/FFOS2.png" /></p>
<p>I feel for the Firefox Mobile OS team the same way that I feel for someone going off on a tough road. Not even just a trip up Everest, but something you have to do. Maybe Frodo&#8217;s trek? :)</p>
<p>Mozilla&#8217;s <a href="http://www.mozilla.org/en-US/mission/">mission</a> is to &#8220;to promote openness, innovation and opportunity on the Internet.&#8221; One area of focus has to be the world of mobile, and it has been in different ways over the years. Having a great browser on iOS or Android can only get you so far though with the closed ecosystems (amazing that Windows is open!) especially iOS.</p>
<p>How can they find a niche in the OS space though? They have gone after the International market with Boot to Gecko and the now announced name of <a href="http://blog.mozilla.org/blog/2012/07/02/firefox-mobile-os/">Firefox Mobile OS</a>. They aren&#8217;t looking to come out on Verizon and go up against the Droids and the iPhone right away. That is a tough fight. Notice the wording in the title of the announcement (and the theme in most of the posts on the topic) &#8220;Mozilla Gains Global Support&#8221;.</p>
<blockquote><p>
The Firefox OS for mobile devices is built on Mozilla&#8217;s &#8220;Boot to Gecko project&#8221; which unlocks many of the current limitations of web development on mobile, allowing HTML5 applications to access the underlying capabilities of a phone, previously only available to native applications. Telef&#243;nica&#8217;s Digital unit joined forces with Mozilla earlier this year to take this work and showcase a new phone architecture where every phone feature (calling, messaging, games, etc.) is an HTML5 application.</p>
<p>Due to the optimization of the platform for entry-level smartphones and the removal of unnecessary middleware layers, mobile operators will have the ability to offer richer experiences at a range of price points including at the low end of the smartphone price range, helping to drive adoption across developing markets.
</p></blockquote>
<p>Can Mozilla win with a strategy that hits areas of the world that aren&#8217;t smartphoney yet? The business model of mobile is not the same everywhere. What if the carriers don&#8217;t subsidize phones and paying for a full price iPhone is a few months wage? Can Android own that market though?</p>
<p>From my Palm days I remember the carriers REALLY wanting a third player, but there is only so much they do. Being able to easily customize the experience &#8220;by changing a web page&#8221; is technically powerful, but is it enough compared to the massive app ecosystems elsewhere?</p>
<p>Then there is the &#8220;it will never work. The Web isn&#8217;t good enough to be the OS.&#8221; Here I disagree. A constant frustation has been people telling me that webOS&#8217;s issues were due to the Web. webOS != the Web. That being said, building a mobile operating system that <b>consistently responds</b> as well as the top competition and also handles the battery well (the other side of the coin) is hard work. Long toil work, not sexy work. It takes time and blood.</p>
<p>So, Mozilla has a long trek ahead of itself. Fortunately they have their mission by their side, and resources to take the long road to get there. I will be brutal here, but I haven&#8217;t thought that Firefox was competitive with Chrome/Safari wrt Mac performance&#8230; but with the latest versions I have been shocked. They pulled it off. Apart from scrolling (which is far from smooth for me) the beast is frigging fast. And I give them massive kudos for pulling that all back. Remember, they had to do so back from using XUL. I am sure much blood was shed there, and I look forward to seeing them fight on mobile.</p>
<p>Our Web may be ugly, as democracies are, but the dictatorship won&#8217;t work in the long run. Even if you have the best king in the world, what happens when he dies?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/functionscopedev.wordpress.com/1253/"><img src="http://feeds.wordpress.com/1.0/comments/functionscopedev.wordpress.com/1253/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/functionscopedev.wordpress.com/1253/"><img src="http://feeds.wordpress.com/1.0/delicious/functionscopedev.wordpress.com/1253/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/functionscopedev.wordpress.com/1253/"><img src="http://feeds.wordpress.com/1.0/facebook/functionscopedev.wordpress.com/1253/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/functionscopedev.wordpress.com/1253/"><img src="http://feeds.wordpress.com/1.0/twitter/functionscopedev.wordpress.com/1253/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/functionscopedev.wordpress.com/1253/"><img src="http://feeds.wordpress.com/1.0/stumble/functionscopedev.wordpress.com/1253/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/functionscopedev.wordpress.com/1253/"><img src="http://feeds.wordpress.com/1.0/digg/functionscopedev.wordpress.com/1253/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/functionscopedev.wordpress.com/1253/"><img src="http://feeds.wordpress.com/1.0/reddit/functionscopedev.wordpress.com/1253/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=functionscopedev.wordpress.com&#038;blog=19979274&#038;post=1253&#038;subd=functionscopedev&#038;ref=&#038;feed=1" alt="" height="1" border="0" width="1" />]]></content:encoded>
      
        <category><![CDATA[firefox]]></category>
      
        <category><![CDATA[mobile]]></category>
      
        <category><![CDATA[os]]></category>
      
      <comments>http://functionsource.com/post/firefox-mobile-os-the-incredible-hard-journey-that-must-be-done#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/chrome-on-ios-chrome-junior-is-nice-but-i-hope-for-a-big-brother</guid>
      <title>Chrome on iOS; Chrome Junior is nice, but I hope for a big brother</title>
      <link>http://functionsource.com/post/chrome-on-ios-chrome-junior-is-nice-but-i-hope-for-a-big-brother</link>
      <pubDate>Fri, 29 Jun 2012 04:29:03 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[<a href="http://itunes.apple.com/us/app/chrome/id535886823?mt=8">Chrome for iOS</a> has hit the <a href="http://www.bgr.com/2012/06/28/chrome-top-free-ios-app-launch-day-apple-google/">top of the app store</a>, and having more browser competition is great. The keynote didn't go into any of the details, so you were left wondering. <a href="http://functionscopedev.wordpress.com/2012/06/28/chrome-on-ios-chrome-junior-is-nice-but-i-hope-for-a-big-brother/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p><a href="http://itunes.apple.com/us/app/chrome/id535886823?mt=8">Chrome for iOS</a> has hit the <a href="http://www.bgr.com/2012/06/28/chrome-top-free-ios-app-launch-day-apple-google/">top of the app store</a>, and having more browser competition is great. The keynote didn&#8217;t go into any of the details, so you were left wondering:</p>
<ul>
<li>Is it their rendering engine?
</li><li>I don&#8217;t see how it can be v8 (can&#8217;t write a JIT)
</li><li>Did they do some kind of deal with Apple to get the exec bit turned on so they would at least get a Nitro boost?
</li></ul>
<p><img src="https://p.twimg.com/Awh5jqfCIAEntn3.png:large" /></p>
<p>Nada. Just a &#8220;chrome&#8221; around UIWebView that is 2 to 3x slower at pure JavaScript. This isn&#8217;t the be all and end all for performance, and they can still pull out some tricks to give you an enhanced perceived performance (more agressive preloading etc), but it is hard to use a browser when you know it is crippled. The UX has some nice touches (and gestures), but it has also been strange for me to get used to the URL bar always on the top (even though it gives you more room as their is no need for the bottom toolbar). I bet I would get used to that. I also found that I would get false positives on edge swipes. Having access to my shared history + passwords etc is a great feature, and the tab management is much nicer than Safari, but all in all I think it gets relegated to the &#8220;browsers&#8221; folder with Dolphin and friends.</p>
<p>I look forward to some healthy competition, and I really hope that we get to a world where we really get to see Chrome shine. I want v8, Chrome APIs, and all of its goodness. I was hoping that some changes to the app store guidelines would enable some of that, and I hope that in the future we have a chance at the v8 piece.</p>
<p>And then there is the <code>ChromeWebView</code> dream.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/functionscopedev.wordpress.com/1251/"><img src="http://feeds.wordpress.com/1.0/comments/functionscopedev.wordpress.com/1251/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/functionscopedev.wordpress.com/1251/"><img src="http://feeds.wordpress.com/1.0/delicious/functionscopedev.wordpress.com/1251/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/functionscopedev.wordpress.com/1251/"><img src="http://feeds.wordpress.com/1.0/facebook/functionscopedev.wordpress.com/1251/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/functionscopedev.wordpress.com/1251/"><img src="http://feeds.wordpress.com/1.0/twitter/functionscopedev.wordpress.com/1251/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/functionscopedev.wordpress.com/1251/"><img src="http://feeds.wordpress.com/1.0/stumble/functionscopedev.wordpress.com/1251/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/functionscopedev.wordpress.com/1251/"><img src="http://feeds.wordpress.com/1.0/digg/functionscopedev.wordpress.com/1251/" alt="" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/functionscopedev.wordpress.com/1251/"><img src="http://feeds.wordpress.com/1.0/reddit/functionscopedev.wordpress.com/1251/" alt="" border="0" /></a> <img src="http://stats.wordpress.com/b.gif?host=functionscopedev.wordpress.com&#038;blog=19979274&#038;post=1251&#038;subd=functionscopedev&#038;ref=&#038;feed=1" alt="" height="1" border="0" width="1" />]]></content:encoded>
      
        <category><![CDATA[chrome]]></category>
      
        <category><![CDATA[ios]]></category>
      
      <comments>http://functionsource.com/post/chrome-on-ios-chrome-junior-is-nice-but-i-hope-for-a-big-brother#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/android-path</guid>
      <title>Android on the path to mobile Web success?</title>
      <link>http://functionsource.com/post/android-path</link>
      <pubDate>Thu, 28 Jun 2012 15:26:15 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[We saw mobile Web developers rejoice at the news that Chrome is the default browser for Jelly Bean, although it is only on <a href="https://twitter.com/viviancromwell/status/218049693047980032">some devices</a> (so far Nexus 7, not on the Galaxy Nexus).

For Android to rise the steps to the land of developer happiness I think that we would like to see more steps.... <a href="http://functionscopedev.wordpress.com/2012/06/28/android-path/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p><img width="600" src="http://iasos.com/audioclp/StairwayToHeaven-D-4d.jpg" /></p>
<p>We saw mobile Web developers rejoice at the news that Chrome is the default browser for Jelly Bean, although it is only on <a href="https://twitter.com/viviancromwell/status/218049693047980032">some devices</a> (so far Nexus 7, not on the Galaxy Nexus).</p>
<p>For Android to rise the steps to the land of developer happiness I think that we would like to see more steps:</p>
<ul>
<li>Make Chrome default all over (darn OEMs get in the way I know)
</li><li>Make Chrome the power of the WebView (and update the WebView API itself to be richer)
</li><li>Have Chrome update itself independently of the OS updates
</li><li>Have the WebView able to update itself
</li><li>Have the WebView versioned so apps can target it?
</li><li>And then the mother-lode: Have a Chrome WebView that you can take to other platforms too :)
</li></ul>
<p>What would you like to see?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/functionscopedev.wordpress.com/1249/"><img alt="" src="http://feeds.wordpress.com/1.0/comments/functionscopedev.wordpress.com/1249/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/functionscopedev.wordpress.com/1249/"><img alt="" src="http://feeds.wordpress.com/1.0/delicious/functionscopedev.wordpress.com/1249/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/functionscopedev.wordpress.com/1249/"><img alt="" src="http://feeds.wordpress.com/1.0/facebook/functionscopedev.wordpress.com/1249/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/functionscopedev.wordpress.com/1249/"><img alt="" src="http://feeds.wordpress.com/1.0/twitter/functionscopedev.wordpress.com/1249/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/functionscopedev.wordpress.com/1249/"><img alt="" src="http://feeds.wordpress.com/1.0/stumble/functionscopedev.wordpress.com/1249/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/functionscopedev.wordpress.com/1249/"><img alt="" src="http://feeds.wordpress.com/1.0/digg/functionscopedev.wordpress.com/1249/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/functionscopedev.wordpress.com/1249/"><img alt="" src="http://feeds.wordpress.com/1.0/reddit/functionscopedev.wordpress.com/1249/" border="0" /></a> <img alt="" width="1" src="http://stats.wordpress.com/b.gif?host=functionscopedev.wordpress.com&#038;blog=19979274&#038;post=1249&#038;subd=functionscopedev&#038;ref=&#038;feed=1" height="1" border="0" />]]></content:encoded>
      
        <category><![CDATA[android]]></category>
      
        <category><![CDATA[browser]]></category>
      
        <category><![CDATA[chrome]]></category>
      
        <category><![CDATA[webview]]></category>
      
      <comments>http://functionsource.com/post/android-path#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/typing-in-brackets-in-the-cloud-sublime</guid>
      <title>Typing in Brackets in the Cloud. Sublime.</title>
      <link>http://functionsource.com/post/typing-in-brackets-in-the-cloud-sublime</link>
      <pubDate>Wed, 27 Jun 2012 13:26:30 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[<a href="http://c9.io/site/blog/2012/06/cloud9ide-new-features/">Cloud9 IDE</a> get collaboration and more, <a href="http://brackets.io/">Adobe Brackets</a> moves forward, and <a href="http://www.sublimetext.com/blog/articles/sublime-text-2-0-released">Sublime Text 2</a> rounds out the fun advances. <a href="http://functionscopedev.wordpress.com/2012/06/27/typing-in-brackets-in-the-cloud-sublime/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p>It is great to see the innovation in editors. Of course, we are biased. One of the reasons we did Bespin back in the day was to explore new ways to collaborate on software. We didn&#8217;t want to build &#8220;Eclipse on the Web&#8221; but rather build something different. Something that fit on the Web and could be a companion, another tool.</p>
<p>Today we see two new releases in the Web based editor space that make me smile.</p>
<p><a href="http://c9.io/site/blog/2012/06/cloud9ide-new-features/">Cloud9 IDE</a> launches with a couple of very important features. The biggest one is collaboration:</p>
<blockquote><p>
You can now collaborate on your code with real-time co-editing and embedded chat. Pair programming, code reviews, going to a conference and teaching a group of students the art of programming &#8211; everything about the way we code together will never be the same again.
</p></blockquote>
<p>One of the things we wanted to do was to have open collaboration sessions so you could sit and watch Brendan Eich hack on JavaScript and the like :)</p>
<p><a href="http://brackets.io/">Adobe Brackets</a> has a fantastic UI and focuses more on the designer world. The world of the live preview. It is also satisfying to see Adobe take this on, and the manner of which they are doing so (in the open), especially given some chats that we had in the Bespin days :)</p>
<ul>
<li>Tools shouldn&#8217;t get in your way. Instead of cluttering up your coding environment with lots of panels and icons, the Quick Edit UI in Brackets puts context-specific code and tools inline.
</li><li>Brackets is in sync with your browser. With Live Development, Brackets works directly with your browser to push code edits instantly, set breakpoints, and jump back and forth between your real source code and the browser view.
</li><li>Do it yourself. Because Brackets is open source, and built with HTML, CSS and JavaScript, you can help build the best code editor for the web.
</li></ul>
<p>But Web based coding tools aren&#8217;t the only ones that are innovating. <a href="http://www.sublimetext.com/blog/articles/sublime-text-2-0-released">Sublime Text 2</a> is moving fast and where I used to see Textmate, I now see Sublime.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/functionscopedev.wordpress.com/1245/"><img alt="" src="http://feeds.wordpress.com/1.0/comments/functionscopedev.wordpress.com/1245/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/functionscopedev.wordpress.com/1245/"><img alt="" src="http://feeds.wordpress.com/1.0/delicious/functionscopedev.wordpress.com/1245/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/functionscopedev.wordpress.com/1245/"><img alt="" src="http://feeds.wordpress.com/1.0/facebook/functionscopedev.wordpress.com/1245/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/functionscopedev.wordpress.com/1245/"><img alt="" src="http://feeds.wordpress.com/1.0/twitter/functionscopedev.wordpress.com/1245/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/functionscopedev.wordpress.com/1245/"><img alt="" src="http://feeds.wordpress.com/1.0/stumble/functionscopedev.wordpress.com/1245/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/functionscopedev.wordpress.com/1245/"><img alt="" src="http://feeds.wordpress.com/1.0/digg/functionscopedev.wordpress.com/1245/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/functionscopedev.wordpress.com/1245/"><img alt="" src="http://feeds.wordpress.com/1.0/reddit/functionscopedev.wordpress.com/1245/" border="0" /></a> <img alt="" width="1" src="http://stats.wordpress.com/b.gif?host=functionscopedev.wordpress.com&#038;blog=19979274&#038;post=1245&#038;subd=functionscopedev&#038;ref=&#038;feed=1" height="1" border="0" />]]></content:encoded>
      
        <category><![CDATA[editors]]></category>
      
      <comments>http://functionsource.com/post/typing-in-brackets-in-the-cloud-sublime#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/modules-in-javascript-the-next-big-question</guid>
      <title>Modules in JavaScript; The next big question</title>
      <link>http://functionsource.com/post/modules-in-javascript-the-next-big-question</link>
      <pubDate>Tue, 26 Jun 2012 14:33:46 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[Isaac has just written an interesting <a href="http://blog.izs.me/post/25906678790/on-es-6-modules">piece on ES6 modules</a> from his perspective (which is an important one having creating npm and now leading node.js).

He first takes a look at the issues with loaders in the wild, and then offers up a potential solution.... which interestingly doesn't have a <code>module</code> formal keyword. <a href="http://functionscopedev.wordpress.com/2012/06/26/modules-in-javascript-the-next-big-question/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p>One of JavaScript&#8217;s weaknesses has been that of modularization. Born from the land of <code>&lt;script&gt;</code> we have lived the life of <code>#include</code>. Our <code>function(){}</code> wrappers and checks are to <code>#ifdef</code>.</p>
<p>We could get away with this when we were sprinkling Ajax dust into web pages via jQuery, but as soon as you get larger, you find yourself building some kind of dependency / package management system. The community has certainly offered up a lot of choice in that regard, and with CommonJS and node&#8230; along came many more.</p>
<p>Now that JavaScript is evolving again (once Harmony was reached) we can look to attack the problem head on and TC-39 is doing just that with their Module work.</p>
<p>Isaac has just written an interesting <a href="http://blog.izs.me/post/25906678790/on-es-6-modules">piece on ES6 modules</a> from his perspective (which is an important one having creating npm and now leading node.js).</p>
<p>He first takes a look at the issues with loaders in the wild, and then offers up a potential solution&#8230;. which interestingly doesn&#8217;t have a <code>module</code> formal keyword.</p>
<blockquote><p>
<b>The current implementations:</b></p>
<ul>
<li>Impose boilerplate restrictions on the programmer. This is ugly and error-prone, and there is no easy way to catch many of these errors early.
</li><li>Are not inter-operable with code that uses a different module system (or none at all).
</li><li>Either require that all modules be present in the page at the start, or delay the execution of the program unacceptably. (No one does sync XHR. I&#8217;m talking about r.js/AMD and the YUI3 seed file here.)
</li><li>Leaks internal implementation details in unfortunate ways, so that users are sometimes surprised when behavior violates intuitions.
</li><li>Do not isolate global leakage, making a missing var a felony, when it shouldn&#8217;t even be a misdemeanor. (At best, they wrap in a function.)
</li><li>To varying degrees, line and column numbers are obscured. (Sometimes just the first line&#8217;s column; sometimes the stack traces are completely meaningless.)
</li></ul>
</blockquote>
<p>These days JavaScript isn&#8217;t just about a browser, but at the same time it is the only viable option inside the browser. We need to take care at how we codify modules as we will be stuck with the implications for a long time to come. We need to get it right.</p>
<br />  ]]></content:encoded>
      
        <category><![CDATA[javascript]]></category>
      
        <category><![CDATA[modules]]></category>
      
      <comments>http://functionsource.com/post/modules-in-javascript-the-next-big-question#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/the-right-level-of-complexify</guid>
      <title>The right level of Complexify</title>
      <link>http://functionsource.com/post/the-right-level-of-complexify</link>
      <pubDate>Fri, 22 Jun 2012 14:50:15 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[There is always a lot of chatter on passwords and forcing their <a href="http://www.explainxkcd.com/2011/08/10/password-strength/">complexity</a> for users.

Want to add a sane "choose password" component? There are many, but <a href="http://danpalmer.me/jquery-complexify">complexify</a> is a good new one. <a href="http://functionscopedev.wordpress.com/2012/06/22/the-right-level-of-complexify/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p>There is always a lot of chatter on passwords and forcing their <a href="http://www.explainxkcd.com/2011/08/10/password-strength/">complexity</a> for users.</p>
<p>It is incredibly agrevating to see &#8220;when password rules go wild&#8221;:</p>
<ul>
<li>Rules are so complex that you need twenty tries to get one through (and end up with a simpler password as you try to match the rules)
</li><li>Not allowed to use characters such as space, so you can&#8217;t use a passphrase which is actually more secure (password length!)
</li><li>Unable to paste a password which makes you curse since you use 1Password or Lastpass or &#8230;.
</li></ul>
<p>At this point I almost wish there were password standards so you could see &#8220;ok, this site is sane, they use Sanity-A.&#8221;</p>
<p><img height="287" title="complexify" alt="" width="420" src="http://functionscopedev.files.wordpress.com/2012/06/complexify.png?w=420&h=287" /></p>
<p>Want to add a sane &#8220;choose password&#8221; component? There are many, but <a href="http://danpalmer.me/jquery-complexify">complexify</a> is a good new one:</p>
<blockquote><p>
Complexify&#8217;s default settings will enforce a minimum level of complexity that would mean brute-forcing should take ~600 years on a commodity desktop machine. The &#8216;perfect&#8217; password used to scale the complexity percentage would take 3&#215;10^33 years. These are equivalent to a 12 character password with uppercase, lowercase and numbers included, and a 25 character password with uppercase, lowercase, numbers and a wide range of punctuation.
</p></blockquote>
<p>Of course, you can also look into supporting <a href="https://browserid.org/">BrowserID</a> and OAuth-iness.</p>
<br />  ]]></content:encoded>
      
        <category><![CDATA[components]]></category>
      
        <category><![CDATA[security]]></category>
      
      <comments>http://functionsource.com/post/the-right-level-of-complexify#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
    <item>
      <guid isPermaLink="true">http://functionsource.com/post/lispyscript</guid>
      <title>LispyScript</title>
      <link>http://functionsource.com/post/lispyscript</link>
      <pubDate>Wed, 20 Jun 2012 16:19:52 +0000</pubDate>
      <dc:creator>Dion Almaer</dc:creator>
      <description><![CDATA[Santosh Rajan has created <a href="https://github.com/santoshrajan/lispyscript">LispyScript</a>, which allows you to write your JavaScript in a Lisp-like syntax. With the tree based structure you can write macros to change the tree before it is all serialized out as JavaScript. <a href="http://functionscopedev.wordpress.com/2012/06/20/lispyscript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
      <content:encoded><![CDATA[<p><img width="600" src="http://wtw.tarka.org/images/willothewispflipped.jpg" /></p>
<p>Santosh Rajan loves JavaScript and macros. He wanted to merge those two worlds and he ended up at an interesting well trodden place. The magical world of Liiiiisp!</p>
<p>He has created <a href="https://github.com/santoshrajan/lispyscript">LispyScript</a>, which allows you to write your JavaScript in a Lisp-like syntax. With the tree based structure you can write macros to change the tree before it is all serialized out as JavaScript.</p>
<p>This is the same old JavaScript object model. You aren&#8217;t in the world of <code>car</code> and <code>cdr</code>, this is the minimal amount of work to get to macros.</p>
<p>See it in action:</p>
<div class="gist" id="gist-2960736">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="gist-highlight">
<pre><div class="line" id="LC1">// All Javascript functions, objects and literals can be used in LispyScript. </div><div class="line" id="LC2">(Array.prototype.forEach.call [1, 2, 3]</div><div class="line" id="LC3">&nbsp;&nbsp;(function (elem index list)</div><div class="line" id="LC4">&nbsp;&nbsp;&nbsp;&nbsp;(console.log elem)))</div><div class="line" id="LC5"><br /></div><div class="line" id="LC6">// You can access object methods and properties using the "." notation.</div><div class="line" id="LC7">(console.log (.greet {greet: "hello"}))</div><div class="line" id="LC8"><br /></div><div class="line" id="LC9">// You can also use the &#039;get&#039; expression to access a property of an object.</div><div class="line" id="LC10">(console.log (get "greet" {greet: "hello"}))</div><div class="line" id="LC11">(console.log (get 1 [1, 2, 3]))</div><div class="line" id="LC12"><br /></div><div class="line" id="LC13">// You can &#039;set&#039; variables too.</div><div class="line" id="LC14">(set window.onload (function () (alert "Page Loaded")))</div><div class="line" id="LC15"><br /></div><div class="line" id="LC16">// Now let us create a Lisp like &#039;let&#039; macro in LispyScript.</div><div class="line" id="LC17">(macro let (names vals rest...)</div><div class="line" id="LC18">&nbsp;&nbsp;((function ~names ~rest...) ~@vals))</div><div class="line" id="LC19"><br /></div><div class="line" id="LC20">(let (name email tel) ("John" "john@example.org" "555-555-5555")</div><div class="line" id="LC21">&nbsp;&nbsp;(console.log name)</div><div class="line" id="LC22">&nbsp;&nbsp;(console.log email)</div><div class="line" id="LC23">&nbsp;&nbsp;(console.log tel))</div></pre>
</div></div>
</div>
</div>
<p>This all comes down to: do you want to write your JavaScript in Lisp to gain the benefit of macros. It is early work (MIT licensed) and Santosh is looking for help!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/functionscopedev.wordpress.com/1238/"><img alt="" src="http://feeds.wordpress.com/1.0/comments/functionscopedev.wordpress.com/1238/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/functionscopedev.wordpress.com/1238/"><img alt="" src="http://feeds.wordpress.com/1.0/delicious/functionscopedev.wordpress.com/1238/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/functionscopedev.wordpress.com/1238/"><img alt="" src="http://feeds.wordpress.com/1.0/facebook/functionscopedev.wordpress.com/1238/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/functionscopedev.wordpress.com/1238/"><img alt="" src="http://feeds.wordpress.com/1.0/twitter/functionscopedev.wordpress.com/1238/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/functionscopedev.wordpress.com/1238/"><img alt="" src="http://feeds.wordpress.com/1.0/stumble/functionscopedev.wordpress.com/1238/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/functionscopedev.wordpress.com/1238/"><img alt="" src="http://feeds.wordpress.com/1.0/digg/functionscopedev.wordpress.com/1238/" border="0" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/functionscopedev.wordpress.com/1238/"><img alt="" src="http://feeds.wordpress.com/1.0/reddit/functionscopedev.wordpress.com/1238/" border="0" /></a> <img width="1" alt="" height="1" src="http://stats.wordpress.com/b.gif?host=functionscopedev.wordpress.com&#038;blog=19979274&#038;post=1238&#038;subd=functionscopedev&#038;ref=&#038;feed=1" border="0" />]]></content:encoded>
      
        <category><![CDATA[language]]></category>
      
        <category><![CDATA[lisp]]></category>
      
      <comments>http://functionsource.com/post/lispyscript#social</comments>
      <slash:comments>0</slash:comments>
    </item>
  
  </channel>
</rss>