<?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/"
	>

<channel>
	<title>Full Disclosure &#187; Programming</title>
	<atom:link href="http://www.fullstopinteractive.com/blog/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fullstopinteractive.com/blog</link>
	<description>A weblog from Full Stop Interactive</description>
	<lastBuildDate>Mon, 21 Nov 2011 19:45:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Juicer: Command Line Tool for Shipping Frontend Code.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/03/juicer-command-line-tool-for-shipping-frontend-code/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/03/juicer-command-line-tool-for-shipping-frontend-code/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 13:34:09 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=2018</guid>
		<description><![CDATA[Juicer is like CSSEmbed on, uh, steroids. Worth checking out for anything more than the smallest of projects. figure out which files depend on each other and merge them together, reducing the number of http requests per page view, thus improving performance use YUI Compressor or Google Closure Compiler to compress code, thus improving performance [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/cjohansen/juicer"><span class="first-letter">J</span>uicer</a> is like <a href="https://github.com/nzakas/cssembed/">CSSEmbed</a> on, uh, steroids. Worth checking out for anything more than the smallest of projects.</p>
<ul>
<blockquote>
<li>figure out which files depend on each other and merge them together, reducing the number of http requests per page view, thus improving performance</li>
<li>use YUI Compressor or Google Closure Compiler to compress code, thus improving performance</li>
<li>verify that your JavaScript is safe to minify/compress by running JsLint on it</li>
<li>cycle asset hosts in CSS files</li>
<li>add &#8220;cache busters&#8221; to URLs in CSS files</li>
<li>recalculate relative URLs in CSS files, as well as convert them to absolute (or convert absolute URLs to relative URLs)</li>
<li>embed images into stylesheets using data-uris</li>
</blockquote>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/03/juicer-command-line-tool-for-shipping-frontend-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pinboard Redux.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/03/pinboard-redux/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/03/pinboard-redux/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 14:11:19 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1889</guid>
		<description><![CDATA[Maciej Ceglowski recaps the bombardment of traffic Pinboard received when Yahoo burned Delicious to the ground. Aside from the obvious technical interest the article may have provoked, Maciej is a terrific writer. You could know nothing about online bookmarking or servers and be thoroughly entertained.]]></description>
			<content:encoded><![CDATA[<p><span class="first-letter">M</span>aciej Ceglowski <a href="http://pinboard.in/blog/173/">recaps the bombardment of traffic Pinboard received</a> when Yahoo burned Delicious to the ground. Aside from the obvious technical interest the article may have provoked, Maciej is a terrific writer. You could know nothing about online bookmarking or servers and be thoroughly entertained.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/03/pinboard-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Hash-Bang Conversation.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/02/the-hash-bang-conversation/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/02/the-hash-bang-conversation/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 15:11:36 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[article]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1784</guid>
		<description><![CDATA[Mike Davies kicked off a discussion around the Gawker and Twitter URL pattern. I can&#8217;t reproduce a tenth of what has been said around the Internet here, but I&#8217;d like to add a few thoughts on behalf of good design. Let&#8217;s start by establishing the relevant arguments: Mike Davies, Breaking the Web with Hash-Bangs: Gawker, [...]]]></description>
			<content:encoded><![CDATA[<p><span class="first-letter">M</span>ike Davies kicked off a discussion around the Gawker and Twitter URL pattern. I can&#8217;t reproduce a tenth of what has been said around the Internet here, but I&#8217;d like to add a few thoughts on behalf of good design. Let&#8217;s start by establishing the relevant arguments:</p>
<p>Mike Davies, <a href="http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs"><em>Breaking the Web with Hash-Bangs</em></a>:</p>
<blockquote><p>Gawker, like Twitter before it, built their new site to be totally dependent on JavaScript, even down to the page URLs. The JavaScript failed to load, so no content appeared, and every URL on the page was broken. In terms of site brittleness, Gawker’s new implementation got turned up to 11.</p></blockquote>
<p>A follow-up from Tim Bray, <em><a href="http://www.tbray.org/ongoing/When/201x/2011/02/09/Hash-Blecch">Broken Links</a></em>:</p>
<blockquote><p>There is no piece of dynamic AJAXy magic that requires beating the Web to a bloody pulp with a sharp-edged hashbang. Please stop doing it.</p></blockquote>
<p>Jeremy Keith in <em><a href="http://adactio.com/journal/4346/">Going Postel</a></em>:</p>
<blockquote><p>I’m always surprised when I come across a site that <em>deliberately</em> chooses to make its content harder to access.</p></blockquote>
<h3>What are we really talking about here?</h3>
<p>Each of these articles, from people more brilliant than I, none of whom I have ever had the chance to meet or speak with, presumes you understand one critical fact: his individual cause is not the only thing you need to worry about.</p>
<p>The ostensible focus of the discussion is the brittleness of hash-bang style URLs. In fact, Jeremy Keith is having a conversation about accessibility. Tim Bray focuses on robustness, flexibility, and the curious indifference to basic computer science principles. Mike Davies touches on many points with concerns regarding JavaScript dependence, exclusive site crawling, broken analytics, and more. <a href="http://blog.benward.me/post/3231388630">Ben Ward partially defends JavaScript-based URLs</a> on the grounds of increased performance, though he also acknowledges at least temporary problems as browsers embrace a new paradigm.</p>
<h3>Web development is an intricate puzzle.</h3>
<p>The anti-hash-bangers, as we&#8217;ll call them, are fighting a hopeless rearguard action here, and they know it. They are a much needed force for conservatism, a constant reminder of not only the way things used to be but <em>why</em> they used to be that way. Thoughtful conversation regarding—and intense advocacy for—strong engineering and pervasive accessibility is undeniably good. Nobody wants information to be hidden or compelling experiences to be walled off by immature decisions.</p>
<p>This, however, is a woefully incomplete picture of the Internet, which has now extended its tentacles into nearly every device imaginable and will continue to do so. Web pages are merely a small part, a part which until just recently looked and performed about as unsatisfactorily as theoretically possible. Complete page refreshes, limited control of layout, abrupt—literally instantaneous—transitions between state, a set of utilitarian typefaces, and a browser landscape so bereft of consistency as to discourage even the strong-hearted.</p>
<p>Fortunately, we are rapidly moving out of that phase into a place where websites built with the common tools of the browser can look and feel as delightful as native applications. This is a wonderful achievement. Loading only tiny bits of information as necessary; choosing typefaces appropriate to the tone of the site while maintaining accessibility; rounding corners, dropping shadows, and fading elements all via native, hardware-accelerated browser features rather than with clever hacks and verbose JavaScript techniques is the irresistible tide of the future.</p>
<p>We must, therefore, always balance the desire to delight visitors in thousands of large and small ways with the tactical needs of reliability, accessibility, and speed. I know Mike Davies, Tim Bray, Jeremy Keith, Ben Ward and all the other hard-working, smart web designers and developers understand this fact implicitly. Their tireless efforts to speak for the traditional strengths of the Internet are inspiring. I merely note that empathy for the user means good visual and interactive design not just a web page that always loads correctly and in the last place you looked for it.<sup><a href="http://www.fullstopinteractive.com/blog/2011/02/the-hash-bang-conversation/#footnote_0_1784" id="identifier_0_1784" class="footnote-link footnote-identifier-link" title="Please don&amp;#8217;t foist a false dilemma of either good engineering or good design onto this conversation. There will inevitably be growing pains and temporary setbacks, but everyone should agree the ultimate goal is both good engineering and good design.">1</a></sup></p>
<ol class="footnotes"><li id="footnote_0_1784" class="footnote">Please don&#8217;t foist a false dilemma of <em>either</em> good engineering <em>or </em>good design onto this conversation. There will inevitably be growing pains and temporary setbacks, but everyone should agree the ultimate goal is <em>both</em> good engineering <em>and</em> good design.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/02/the-hash-bang-conversation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML(5?)</title>
		<link>http://www.fullstopinteractive.com/blog/2011/02/html5/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/02/html5/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 14:05:44 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1781</guid>
		<description><![CDATA[Bruce Lawson and John Foliot debate the wisdom of WHATWG&#8217;s abandonment of HTML version numbers. Bruce: The only function of a DOCTYPE is to keep the browser out of Quirks Mode. The HTML5 DOCTYPE &#60;!DOCTYPE HTML&#62; is the shortest string that does this reliably. And note that there&#8217;s no version number on that. John: My larger objection is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://html5doctor.com/html5-living-standard/"><span class="first-letter">B</span>ruce Lawson and John Foliot debate</a> the wisdom of WHATWG&#8217;s abandonment of HTML version numbers.</p>
<p>Bruce:</p>
<blockquote><p>The only function of a DOCTYPE is to keep the browser out of <a href="http://en.wikipedia.org/wiki/Quirks_mode">Quirks Mode</a>. The <abbr>HTML</abbr>5 DOCTYPE <code>&lt;!DOCTYPE HTML&gt;</code> is the shortest string that does this reliably. And note that there&#8217;s no version number on that.</p></blockquote>
<p>John:</p>
<blockquote><p>My larger objection is around perception of the spec: developers who think that just because it&#8217;s spec&#8217;ed at<abbr>WHATWG</abbr> this week that it&#8217;s good to go, bring it on, to heck with permanence and legacy! It&#8217;s a continued &#8220;fix-it-in-the-mix&#8221; attitude far-removed from the real world of large corporations and government.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/02/html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A List Apart #323</title>
		<link>http://www.fullstopinteractive.com/blog/2011/02/a-list-apart-323/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/02/a-list-apart-323/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 14:48:28 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1776</guid>
		<description><![CDATA[Despite new authors each week, A List Apart manages to maintain an approachable tone across a variety of topics. This week&#8217;s articles from Jim Ray and Debra Gelman are no exception. Cross Platform Scalable Vector Graphics with svgweb by Jim Ray Despite all the attention being paid to canvas, there’s still a place for good [...]]]></description>
			<content:encoded><![CDATA[<p><span class="first-letter">D</span>espite new authors each week, <a href="http://alistapart.com">A List Apart</a> manages to maintain an approachable tone across a variety of topics. This week&#8217;s articles from Jim Ray and Debra Gelman are no exception.</p>
<p><a href="http://www.alistapart.com/articles/cross-platform-scalable-vector-graphics-with-svgweb/">Cross Platform Scalable Vector Graphics with svgweb</a> by Jim Ray</p>
<blockquote><p>Despite all the attention being paid to canvas, there’s still a place for good ole SVG, particularly for developers looking to replace plug-ins like Flash for data visualization.</p></blockquote>
<p><a href="http://www.alistapart.com/articles/designing-web-registration-forms-for-kids/">Designing Web Registration Processes for Kids</a> by Debra Gelman</p>
<blockquote><p>Designing websites for kids is a fascinating, challenging, rewarding, and exasperating experience: You’re trying to create a digital experience for people who lack the cognitive capacity to understand abstraction. You’re trying to establish brand loyalty with people who are influenced almost exclusively by their peers. And you’re trying to communicate subjective value propositions to people who can only see things in black-and-white.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/02/a-list-apart-323/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Locomotive.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/02/locomotive/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/02/locomotive/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 15:50:53 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1707</guid>
		<description><![CDATA[Locomotive is an open source, Ruby on Rails CMS. The site and demo don&#8217;t look awful. As far as I can tell, Refinery is about the only other decent Rails CMS available at the moment. Everything else looks hideous. I&#8217;d love to know if there are any other well-designed Rails content management systems out there.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.locomotivecms.com/"><span class="first-letter">L</span>ocomotive</a> is an open source, Ruby on Rails CMS. The site and demo don&#8217;t look awful. As far as I can tell, <a href="http://refinerycms.com/">Refinery</a> is about the only other decent Rails CMS available at the moment. Everything else looks hideous. I&#8217;d love to know if there are any other well-designed Rails content management systems out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/02/locomotive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Humans.txt.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/01/humans-txt/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/01/humans-txt/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 14:09:13 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1615</guid>
		<description><![CDATA[An intriguing idea. I admit leaving a digital call sign has always appealed to me but defacing a client&#8217;s site was out of the question. Here&#8217;s a way to unobtrusively provide authorship information: Humans.txt.]]></description>
			<content:encoded><![CDATA[<p><span class="first-letter">A</span>n intriguing idea. I admit leaving a digital call sign has always appealed to me but defacing a client&#8217;s site was out of the question. Here&#8217;s a way to unobtrusively provide authorship information: <a href="http://humanstxt.org/">Humans.txt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/01/humans-txt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Strict Mode Support in Firefox 4.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/01/javascript-strict-mode-support-in-firefox-4/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/01/javascript-strict-mode-support-in-firefox-4/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 14:08:44 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1613</guid>
		<description><![CDATA[Admittedly an advanced topic, be aware that browsers are starting to support JavaScript strict mode.]]></description>
			<content:encoded><![CDATA[<p><span class="first-letter">A</span>dmittedly an advanced topic, be aware that <a href="http://hacks.mozilla.org/2011/01/ecmascript-5-strict-mode-in-firefox-4/">browsers are starting to support JavaScript strict mode</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/01/javascript-strict-mode-support-in-firefox-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Death Knell of OpenID.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/01/the-death-knell-of-openid/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/01/the-death-knell-of-openid/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 14:08:29 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1610</guid>
		<description><![CDATA[It feels like just yesterday we were debating including OpenID support in a client&#8217;s application. Now, it&#8217;s been so thoroughly trashed the thought is anathema. 37signals on dropping support for OpenID: We&#8217;re sad to see OpenID go. The promise was grand. Life would be simpler if we only had one login, but in this case, [...]]]></description>
			<content:encoded><![CDATA[<p><span class="first-letter">I</span>t feels like just yesterday we were debating including OpenID support in a client&#8217;s application. Now, it&#8217;s been so thoroughly trashed the thought is anathema. <a href="http://productblog.37signals.com/products/2011/01/well-be-retiring-our-support-of-openid-on-may-1.html" target="_self">37signals on dropping support for OpenID</a>:</p>
<blockquote><p>We&#8217;re sad to see OpenID go. The promise was grand. Life would be simpler if we only had one login, but in this case, the cure was worse than the disease.</p></blockquote>
<p>I was one of the people who used OpenID at 37signals to support multiple accounts. Now that single sign-on is handled by 37signals ID, I guess I can retire it. Not that they&#8217;re giving me a choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/01/the-death-knell-of-openid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Offline Storage.</title>
		<link>http://www.fullstopinteractive.com/blog/2011/01/html5-offline-storage/</link>
		<comments>http://www.fullstopinteractive.com/blog/2011/01/html5-offline-storage/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 20:23:25 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[short]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.fullstopinteractive.com/blog/?p=1617</guid>
		<description><![CDATA[Offline storage support in HTML5 is a big deal. If you don&#8217;t know what it is or understand it, read this informative article from HTML5 Doctor. We used offline storage to make our Scrabble / Words with Friends helper app TwoLetters behave just like a native app for the iPhone.]]></description>
			<content:encoded><![CDATA[<p><span class="first-letter">O</span>ffline storage support in HTML5 is a big deal. If you don&#8217;t know what it is or understand it, read <a href="http://html5doctor.com/go-offline-with-application-cache/">this informative article from HTML5 Doctor</a>. We used offline storage to make our Scrabble / Words with Friends helper app <a href="http://www.fullstopinteractive.com/twoletters/">TwoLetters</a> behave just like a native app for the iPhone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fullstopinteractive.com/blog/2011/01/html5-offline-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

