<?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>12 Spokes</title>
	<atom:link href="http://blog.12spokes.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.12spokes.com</link>
	<description>Ruby on Rails development</description>
	<lastBuildDate>Tue, 11 Jun 2013 18:25:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>Trail Notes:  Focus Edition</title>
		<link>http://blog.12spokes.com/trail-notes/trail-notes-focus-edition/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=trail-notes-focus-edition</link>
		<comments>http://blog.12spokes.com/trail-notes/trail-notes-focus-edition/#comments</comments>
		<pubDate>Tue, 11 Jun 2013 15:52:13 +0000</pubDate>
		<dc:creator>Ethan</dc:creator>
				<category><![CDATA[Trail Notes]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1652</guid>
		<description><![CDATA[Every week, we poll the Spokes to discover new and interesting resources, sometimes around a given topic.  This week&#8217;s question:  &#8221;What keeps you in the zone, be it philosophy, tool, or process?&#8221; &#8220;Sorry, I have to catch my train&#8220;  &#8211; I have two young kids, and I&#8217;m the one responsible for picking them up from the [...]]]></description>
				<content:encoded><![CDATA[<p><em>Every week, we poll the Spokes to discover new and interesting resources, sometimes around a given topic.  This week&#8217;s question:  &#8221;What keeps you in the zone, be it philosophy, tool, or process?&#8221;</em></p>
<p>&#8220;<a href="http://www.dinneralovestory.com/sorry-i-have-to-catch-my-train/">Sorry, I have to catch my train</a>&#8220;  &#8211; I have two young kids, and I&#8217;m the one responsible for picking them up from the sitter. Being curcumscribed by their schedule is the best incentive for me to stay on task. This article about making time for dinner resonates with me: Those little mouths to feed are enough to keep me focused all day, so I can get out of the office with precisely 8 minutes to make it home in time to make dinner and meet 6 pm bedtimes.   <em>-Erin</em></p>
<p><a href="https://chrome.google.com/webstore/detail/chromodoro/mipdbifffceniaiejmikimkmnobmefke">Chromodoro</a> is a free, super lightweight and configurable chrome-browser-based pomodoro timer. I use the pomodoro system as the basic structure of my work days, and I use this app all day every day. I always have chrome open anyway, and this app stays out of the way but keeps my time usage in check.<em>-Matt</em></p>
<p><a href="http://www.simplynoise.com">Simply Noise</a> is  running on my machine for at least 4 hours a day.  Brown noise, half volume, oscillating is my configuration of choice, and it keeps me tranquil and focused. <em>-Ethan</em></p>
<p><a href="http://nobackend.org/index.html">noBackend</a> lets front-end developers concentrate on their work without thinking about the server-side of the system.  While it won&#8217;t replace backend teams, it&#8217;s interesting to think of having them focussed on truly application-specific backend problems. It seems like you could get MVPs up even faster and cheaper. Definitely something to keep an eye on. The lesson for this week&#8217;s theme?  &#8221;Focus on the parts of the app that really matter.&#8221; <i>-Trey</i></p>
<p>I&#8217;ve usually got music playing, and for extreme focus I make it instrumental, so my brain isn&#8217;t following along with the words.  <a href="https://itunes.apple.com/us/artist/ravi-shankar/id13219">Ravi Shankar</a> and <a href="https://itunes.apple.com/us/artist/miles-davis/id44984">Miles Davis</a> are two standbys.  <em>-Clay</em></p>
<p><a href="http://focusmanifesto.com/">The Focus Manifesto</a> - From the writer of zen habits, this quick read is great to refer back to when you&#8217;re feeling overwhelmed by the never-ending stream of modern life&#8217;s distractions. I read it in one sitting, which is unprecedented for my very distracted self. The PDF version is free. <em>-Dave</em></p>
<p><a href="http://nutritionfacts.org/">Nutrition facts</a> - So maybe it&#8217;s not directly about focus, but has a big impact. Nutrition! <em>-Cody</em></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/trail-notes/trail-notes-focus-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>12 Spokes builds three MVPs in three days</title>
		<link>http://blog.12spokes.com/web-design-development/three-mvps-in-three-days/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=three-mvps-in-three-days</link>
		<comments>http://blog.12spokes.com/web-design-development/three-mvps-in-three-days/#comments</comments>
		<pubDate>Mon, 10 Jun 2013 21:19:36 +0000</pubDate>
		<dc:creator>Erin</dc:creator>
				<category><![CDATA[Agile development]]></category>
		<category><![CDATA[Love letters to 12 Spokes]]></category>
		<category><![CDATA[MVPs]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Web Design & Development]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1483</guid>
		<description><![CDATA[As promised, here&#8217;s a peek at what we achieved at the annual 12 Spokes companywide retreat. Prior to the retreat, we divided everyone into three teams and asked them to come up with a concept that they would build during our three full days of company retreat. What we didn&#8217;t tell them is that they [...]]]></description>
				<content:encoded><![CDATA[<p>As promised, here&#8217;s a peek at what we achieved at the annual 12 Spokes companywide retreat. Prior to the retreat, we divided everyone into three teams and asked them to come up with a concept that they would build during our three full days of company retreat. What we didn&#8217;t tell them is that they were going to have to play client and hand their concept off to another team.</p>
<p>Everyone arrived at the cabin on Monday night, and there was carousing and lasagna. On Tuesday morning at 9 am, we convened, broke the news that the teams wouldn&#8217;t be building their own products, and let them loose. Because the teams were now working on unfamiliar concepts, they had to take a few hours to meet with their &#8220;clients&#8221; and get to know the requirements before diving in. They then spent the next two and a half days finishing their products (well, between 9 and 5. After 5, we caroused some more.) We pulled the plug at 4:30 pm on Thursday. Here&#8217;s a glimpse of what the Spokes can do in such a short span of time. (I know, you&#8217;d like to see the apps in action, but none is on a public server—yet. We&#8217;ll keep you posted on that.)</p>
<p><a href="http://blog.12spokes.com/web-design-development/three-mvps-in-three-days/attachment/img_1077/" rel="attachment wp-att-1617"><img class="alignleft  wp-image-1617" alt="IMG_1077" src="http://blog.12spokes.com/wp-content/uploads/2013/05/IMG_1077-200x300.png" width="300" /></a><strong>Chronicle</strong></p>
<p><strong>What it is</strong>: a time tracker for iPhone. A very opinionated time tracker.</p>
<p><strong>Client team</strong>: Adam, Colleen and Matt</p>
<p><strong>Development team</strong>: Ethan, Erik and Clay</p>
<p><strong>The clients&#8217; goals</strong>: &#8220;Chronicle describes your workday. It uses a simple timer to track your activity throughout the day. At the end of every day it emails you a beautiful report of your daily activity.&#8221;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://blog.12spokes.com/web-design-development/three-mvps-in-three-days/attachment/khaos/" rel="attachment wp-att-1616"><img class="alignleft size-medium wp-image-1616" alt="Khaos" src="http://blog.12spokes.com/wp-content/uploads/2013/05/Khaos-300x157.png" width="300" height="157" /></a><strong>Khaos</strong></p>
<p><strong>What it is</strong>: an addictive, crazy strategy game with numbers and projectiles.</p>
<p><strong>Client team</strong>: Ethan, Erik and Clay</p>
<p><strong>Development team</strong>: Dave, Drew, Chris and Cody</p>
<p><strong>The clients&#8217; goals</strong>: The interface should be simple; the game surface is a rectangle full of circles.  Half the circles are red, half the circles are blue, each with an integer inside. The goal is to convert all circles on the game board to your team&#8217;s color. Our goal will be to have a playable prototype.&#8221;</p>
<p>&nbsp;</p>
<p><a href="http://blog.12spokes.com/web-design-development/three-mvps-in-three-days/attachment/ruckus3/" rel="attachment wp-att-1615"><img class="alignleft size-medium wp-image-1615" alt="ruckus3" src="http://blog.12spokes.com/wp-content/uploads/2013/05/ruckus3-300x239.png" width="300" height="239" /></a><strong>RuckusMail</strong></p>
<p><strong>What it is</strong>: an application that allows for team-wide collaboration on an email</p>
<p><strong>Client team</strong>: Dave, Drew, Chris and Cody</p>
<p><strong>Development team</strong>: Adam, Colleen and Matt</p>
<p><strong>The clients&#8217; goals</strong>: For our weekly update emails to clients, &#8220;We want a better collaboration tool than Github for writing updates, but we still love being able to write our updates with Markdown (because it means less time WYSIWYGing and more time typing). We also want our branding and tone to be consistent.&#8221;</p>
<p><strong>What we learned</strong>: In a focussed environment with a sharp group of developers and designers, you can build a compelling Minimum Viable Product (MVP) in three days. We are now exploring how to offer the same results to our customers. Stay tuned! Have a time-sensitive MVP? <a title="Contact 12 Spokes" href="http://www.12spokes.com/contact-us">Let&#8217;s talk</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/web-design-development/three-mvps-in-three-days/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trail Notes #5</title>
		<link>http://blog.12spokes.com/trail-notes/trail-notes-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=trail-notes-5</link>
		<comments>http://blog.12spokes.com/trail-notes/trail-notes-5/#comments</comments>
		<pubDate>Tue, 04 Jun 2013 18:03:54 +0000</pubDate>
		<dc:creator>Jeff Mueller</dc:creator>
				<category><![CDATA[Trail Notes]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1632</guid>
		<description><![CDATA[iOS game development in HTML5? or… How I learned to stop worrying and love the DOM Just when I was about to start recommending native, someone comes along and proves how good HTML5 apps can be. — Trey Airmail Being a fan of Sparrow, I was pretty bummed when Google bought it and shut it down. Airmail feels [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.scrambledapp.com/articles/for-developers/">iOS game development in HTML5? or… How I learned to stop worrying and love the DOM</a> Just when I was about to start recommending native, someone comes along and proves how good HTML5 apps can be. — <em>Trey</em></p>
<p><a href="http://airmailapp.info/">Airmail</a> Being a fan of <a href="http://sparrowmailapp.com/">Sparrow</a>, I was pretty bummed when Google bought it and shut it down. Airmail feels like Sparrow, but it&#8217;s still being actively developed. Version 1.0 will set you back $2 on the Mac App Store. — <em>Jeff</em></p>
<p><a href="http://progrium.com/localtunnel/">localtunnel</a> A free service to expose a localhost port online. Install the gem, give it a port number, and it spits out a temporary URL that others can use to access a local instance of your app. This is great for sharing sites temporarily without having to deploy to a web server. For a paid alternative with SSL support and configurable subdomains, take a look at <a href="https://forwardhq.com/">Forward</a>. — <em>Erik</em></p>
<p><a href="http://bradfrostweb.com/blog/post/beyond-squishy-the-principles-of-adaptive-design/">Beyond Squishy: The Principles of Adaptive Design</a> Brad Frost blowing minds. Here he pulls in all sorts of responsive/adaptive techniques and concepts that have been creeping into our collective consciousness over the last few years and spits out an exciting vision for the future. — <em>Clay</em></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/trail-notes/trail-notes-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefighting on Rails: Watch Ethan&#8217;s presentation at Railsconf!</title>
		<link>http://blog.12spokes.com/web-design-development/firefighting-on-rails-watch-ethans-presentation-at-railsconf/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=firefighting-on-rails-watch-ethans-presentation-at-railsconf</link>
		<comments>http://blog.12spokes.com/web-design-development/firefighting-on-rails-watch-ethans-presentation-at-railsconf/#comments</comments>
		<pubDate>Fri, 31 May 2013 17:00:42 +0000</pubDate>
		<dc:creator>Erin</dc:creator>
				<category><![CDATA[Love letters to 12 Spokes]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Design & Development]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1609</guid>
		<description><![CDATA[Ethan, one of our Ruby on Rails developers, presented a talk at RailsConf 2013 a few weeks ago, and now you can watch the presentation, even if you didn&#8217;t make the conference. It was awesome, and you don&#8217;t just have to take my word for it—Ethan&#8217;s previously moribund Twitter feed blew up with praise from [...]]]></description>
				<content:encoded><![CDATA[<p>Ethan, one of our <a href="http://www.12spokes.com/about-us" target="_blank">Ruby on Rails developers</a>, presented a talk at <a href="http://www.railsconf.com/2013/" target="_blank">RailsConf 2013</a> a few weeks ago, and now you can <strong><a href="http://www.confreaks.com/videos/2472-railsconf2013-firefighting-on-rails" target="_blank">watch the presentation</a></strong>, even if you didn&#8217;t make the conference. It was awesome, and you don&#8217;t just have to take my word for it—Ethan&#8217;s <a href="https://twitter.com/EthanVizitei" target="_blank">previously moribund Twitter feed</a> blew up with praise from fellow conference-goers afterward.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/web-design-development/firefighting-on-rails-watch-ethans-presentation-at-railsconf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faster mobile-first: Automagically creating static layouts for old IE with SASS</title>
		<link>http://blog.12spokes.com/web-design-development/faster-mobile-first-automagically-creating-static-layouts-for-old-ie-with-sass/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=faster-mobile-first-automagically-creating-static-layouts-for-old-ie-with-sass</link>
		<comments>http://blog.12spokes.com/web-design-development/faster-mobile-first-automagically-creating-static-layouts-for-old-ie-with-sass/#comments</comments>
		<pubDate>Thu, 16 May 2013 19:46:28 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[HTML / CSS]]></category>
		<category><![CDATA[SASS]]></category>
		<category><![CDATA[Web Design & Development]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1552</guid>
		<description><![CDATA[&#8220;Mobile-first&#8221; responsive web design is the now-mainstream best practice of using min-width media queries to only serve up the styles that are needed for the device that&#8217;s loading the page. For a more detailed explanation, read this fantastic article. First reading about the mobile-first approach in 2011 was a real &#8220;ah-ha!&#8221; moment for me. Sure, [...]]]></description>
				<content:encoded><![CDATA[<p><strong>&#8220;Mobile-first&#8221; responsive web design</strong> is the now-mainstream best practice of using min-width media queries to only serve up the styles that are needed for the device that&#8217;s loading the page. For a more detailed explanation, <a href="http://bradfrostweb.com/blog/web/mobile-first-responsive-web-design/">read this fantastic article</a>.</p>
<p>First reading about the mobile-first approach in 2011 was a real &#8220;ah-ha!&#8221; moment for me. Sure, mobile-first was &#8212; and still is &#8212; tricky, but the payoff is huge in terms of performance: The classic example is a big ol&#8217; full-page background image. Using a mobile-first approach, you&#8217;d probably make the call that someone using their smartphone while standing in line at the grocery store on a 3G connection isn&#8217;t going to want to wait 5 or more seconds for a site background to load. So you&#8217;d wrap that 200KB sucker in a min-width media query, and <em>voila</em>, now it only loads for devices with tablet-size screens.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="html" style="font-family:monospace;">@media only screen and (min-width: 700px) {
&nbsp;
  body { background: url(&quot;/path/to/really/big/image.jpg&quot;) no-repeat center center; }
&nbsp;
}</pre></td></tr></table></div>

<p>So mobile-first is a really wonderful thing and doubtless the best way to approach responsive design. However, there&#8217;s a party pooper at every celebration, and as is so often the case in front-end development, the buzzkill here is old versions of Internet Explorer. <strong>Our old foes IE8 and below don&#8217;t recognize media queries, and will only process styles that <em>aren&#8217;t</em> enclosed in media queries.</strong> So when you code out your shiny new site or app using mobile-first, (the admittedly quickly diminishing number of) users of these browsers are left them with a less-than-ideal smartphone layout.</p>
<p><img src="http://blog.12spokes.com/wp-content/uploads/2013/05/media-queries.png" alt="Illustration of IE8 and below ignoring media queries" width="660" height="418" class="aligncenter size-full wp-image-1569" /></p>
<p>You can solve this problem in one of two ways: introduce a polyfill dependency like <a href="https://github.com/scottjehl/Respond">respond.js</a> that makes old versions of IE understand media queries, or write additional CSS to serve up a static, fixed-width layout for IE8 and below.</p>
<p>Now that a) 12 Spokes now longer officially supports IE7, and b) IE8 is being firmly sunsetted by Microsoft, I&#8217;m opting for the simplicity of the latter approach &#8212; and as with all things, it seems, <strong>SASS offers us an almost effortless way to provide old versions of IE with a fixed-width layout</strong>.</p>
<h3>Step 1: Add a conditional class to detect old IE</h3>
<p>The first thing to do is add a conditional class to your page that is only triggered when the browser is IE8 or below. (If you use <a href="http://html5boilerplate.com/">HTML5 Boilerplate</a>, this is already done for you &#8212; however, the class names vary depending on what version of Boilerplate you use.) In the simplified example below, if the browser is Internet Explorer and the version is lower than IE9, then the class &#8220;.oldie&#8221; gets appended to the html tag. Otherwise, the html tag is just left as-is.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="html" style="font-family:monospace;">&lt;!--[if lt IE 9]&gt; &lt;html class=&quot;oldie&quot;&gt; &lt;![endif]--&gt;
&lt;!--[if gt IE 8]&gt;&lt;!--&gt; &lt;html&gt; &lt;!--&lt;![endif]--&gt;</pre></td></tr></table></div>

<h3>Step 2: SASS to the rescue</h3>
<p>The first mixin below (<strong>breakpoint</strong>) is basically Chris Coyier&#8217;s <a href="http://css-tricks.com/naming-media-queries/">Naming Media Queries</a> mixin. It simply sets up easy-to-use variables for each screen width.</p>
<p>The second mixin (<strong>breakpoint-ie</strong>), however, is where things get interesting: It runs the &#8220;breakpoint&#8221; mixin to output the usual media-query-specific CSS, but ALSO outputs the exact same CSS under the &#8220;.oldie&#8221; class, so IE8 and below can see it.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="html" style="font-family:monospace;">@mixin breakpoint($breakpoint) {
&nbsp;
  @if $breakpoint == mini-tablet {
    @media only screen and (min-width: 480px) { @content; }
  }
&nbsp;
  @else if $breakpoint == tablet {
    @media only screen and (min-width: 768px) { @content; }
  }
&nbsp;
  @else if $breakpoint == desktop {
    @media only screen and (min-width: 960px) { @content; }    
  }
&nbsp;
}
&nbsp;
/// &quot;breakpoint-ie&quot; mixin
@mixin breakpoint-ie($breakpoint) {
&nbsp;
  @include breakpoint($breakpoint) { @content; }
  .oldie &amp; { @content; }
&nbsp;
}</pre></td></tr></table></div>

<h3>Uh, how would I use this?</h3>
<p>Say, for example, that you decide that at the &#8220;tablet&#8221; breakpoint, you want your main navigation to be floated to the right. You want your static old-IE layout to reflect this change, so instead of using the usual &#8220;breakpoint&#8221; mixin, you bust out:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="html" style="font-family:monospace;">nav.main-nav {
  @include breakpoint-ie(tablet) { float: right; }    
}</pre></td></tr></table></div>

<p>This SCSS outputs the following CSS:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="html" style="font-family:monospace;">@media only screen and (min-width: 768px) {
  nav.main-nav { float: right; }  
}
&nbsp;
.oldie nav.main-nav { float: right; }</pre></td></tr></table></div>

<p>And that&#8217;s it! Anything layout-wise you want old IE to know about, you simply use the &#8220;breakpoint-ie&#8221; mixin, instead of the &#8220;breakpoint&#8221; one. SASS will do the rest for you.</p>
<p>Of course, I still recommend testing thoroughly &#8212; and you will no doubt still end up making the inevitable old-IE-specific tweak here and there. Overall, however, I&#8217;ve found that this mixin saves me a huge amount of time when I&#8217;m developing mobile-first. And hopefully in a couple of years, we won&#8217;t need it at all anymore.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/web-design-development/faster-mobile-first-automagically-creating-static-layouts-for-old-ie-with-sass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trail Notes #4</title>
		<link>http://blog.12spokes.com/trail-notes/trail-notes-4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=trail-notes-4</link>
		<comments>http://blog.12spokes.com/trail-notes/trail-notes-4/#comments</comments>
		<pubDate>Wed, 01 May 2013 14:24:10 +0000</pubDate>
		<dc:creator>Adam Anderson</dc:creator>
				<category><![CDATA[Trail Notes]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1519</guid>
		<description><![CDATA[In this May Day edition of Trail Notes: A better git difftool, Rails 4 New Hotness, Animation in the 1930s, and Conan O'Brien.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.kaleidoscopeapp.com/">Kaleidoscope</a> I&#8217;m not a fan of GUI git clients, but GUI diff tools are another story. With Kaleidoscope configured as your default diff tool, you can do things like this:</p>
<pre><code>git difftool master..</code></pre>
<p>Kaleidoscope pops open with a beautiful, easy-to-read diff of the master branch and the current feature branch. I&#8217;ve been using this trick to quickly look over all of my changes before issuing a pull request. — <em>Jeff</em></p>
<p>You can wait for the barrage of “What’s New in Rails 4” blog posts, or you can spend half an hour reading the Rails 4 CHANGELOGs for  <a href="https://github.com/rails/rails/blob/4-0-stable/actionmailer/CHANGELOG.md">ActionMailer</a>, <a href="https://github.com/rails/rails/blob/4-0-stable/actionpack/CHANGELOG.md">ActionPack</a>, <a href="https://github.com/rails/rails/blob/4-0-stable/activemodel/CHANGELOG.md">ActiveModel</a>, <a href="https://github.com/rails/rails/blob/4-0-stable/activerecord/CHANGELOG.md">ActiveRecord</a>, <a href="https://github.com/rails/rails/blob/4-0-stable/activesupport/CHANGELOG.md">ActiveSupport</a>, and <a href="https://github.com/rails/rails/blob/4-0-stable/railties/CHANGELOG.md">Railties</a>. — <em>Adam</em></p>
<p><a href="http://www.wimp.com/theanimation/">Animation in the 1930s</a> This is a fascinating look into animation studios in the 30s/40s and the process it took to create an animated cartoon. — <em>Colleen</em></p>
<p><a href="http://teamcoco.com/video/simpsons-serious-jibber-jabber">Serious Jibber Jabber</a> is an interview series by Conan O&#8217;Brian. In this 1 hour and 20 minute video Conan discusses the Simpsons with other former and current Simpsons writers. As someone who grew up watching the Simpsons pretty much every day, this is a fun video to watch. — <em>Drew</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/trail-notes/trail-notes-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Save the web from another set of Bootstrap buttons</title>
		<link>http://blog.12spokes.com/web-design-development/save-the-web-from-another-set-of-bootstrap-buttons/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=save-the-web-from-another-set-of-bootstrap-buttons</link>
		<comments>http://blog.12spokes.com/web-design-development/save-the-web-from-another-set-of-bootstrap-buttons/#comments</comments>
		<pubDate>Thu, 25 Apr 2013 12:29:53 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[HTML / CSS]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[SASS]]></category>
		<category><![CDATA[Web Design & Development]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1487</guid>
		<description><![CDATA[View demo and download I love my 3-year-old and my constantly puking or feuding cats. Well, one cat anyway. The other one I tolerate because I love my wife. But anyway, when it comes down to it, if too many of the aforementioned family members and I are together in our little house, it&#8217;s really [...]]]></description>
				<content:encoded><![CDATA[<p><a style="display: block; padding: 5px 10px; text-align: center; color: white; background: #CC3D8A;" href="http://blog.12spokes.com/bootstrap-buttons/index.html">View demo and download</a></p>
<p>I love my 3-year-old and my constantly puking or feuding cats. Well, one cat anyway. The other one I tolerate because I love my wife. But anyway, when it comes down to it, if too many of the aforementioned family members and I are together in our little house, it&#8217;s really hard to get any work done. So I often work at a co-working place here in Portland, Maine, called <a href="http://www.thinktankportland.com/">ThinkTank</a>. The place is full of other designers and developers, which is great because we can talk shop and occasionally help each other with problems we&#8217;re having.</p>
<p>I was helping a developer here troubleshoot the CSS for a sticky navbar this morning for a project management app he&#8217;s working on. He got the menu working perfectly in the end, and the app&#8217;s design looks really slick. <b>Except for the buttons.</b> There they were: That ubiquitous royal blue. The classic &#8220;danger&#8221; red. The weird way the buttons go darker on hover. Another set of default Bootstrap buttons sitting in a repo, waiting to be unleashed on the internet. And for good reason: Bootstrap is an <i>amazing</i> resource if design and front-end development is not your primary skill set. Other than the hover states (totally my own subjective opinion), the framework&#8217;s set of buttons is a joy to behold: easy on the eyes and with a really thoughtfully created set of button classes (except for .btn-inverse &#8211; has anyone ever used this one??).</p>
<p>&#8220;So you&#8217;re going to customize these buttons so they match the design, right?&#8221;, I asked the developer. &#8220;Uh.. yeah, I think I am?&#8221;, he replied uncertainly. But I could hear it in his voice: These buttons were going out into the world stock. And that&#8217;s cool. I get it: Overwriting 7 button classes, each with their own hover and active states (not to mention some extra CSS for the drop down menu stuff), is a LOT of work. And it&#8217;s not easy work either: CSS gradient syntax is a bear for the uninitiated &#8211; and even though they&#8217;re on the way out now, you&#8217;ve got to account for all the vendor prefixes because Bootstrap uses them. If I were a developer, I&#8217;d skip the buttons, too.</p>
<p>At 12 Spokes, we use Bootstrap for a number of projects, and we go to great lengths to make sure the final design looks nothing like the Bootstrap defaults. We do this by starting with the Bootstrap source (in our case, <a href="https://github.com/thomas-mcdonald/bootstrap-sass">bootstrap-sass</a>) and customizing almost all the color, font and layout variables to match the project&#8217;s design comp. I would guess, however, that most people (me included, when I got started) simply download Bootstrap&#8217;s compiled CSS and JS, throw them into a project, and overwrite when necessary (or sigh, accept, and move on, in the case of the buttons).</p>
<p>For these &#8220;vanilla&#8221; Bootstrap users, who might want an easy way to customize the color scheme of Bootstrap&#8217;s button set, I present <a href="http://blog.12spokes.com/bootstrap-buttons/index.html">bootstrap-buttons.sass</a>. </p>
<p><img src="http://blog.12spokes.com/bootstrap-buttons/img/screenshot2.png" alt="Setting the color variables in bootstrap-buttons.sass" /></p>
<p><strong>Simply open the SASS file (you don&#8217;t need to know SASS &#8211; just how to compile it), enter new values for the seven color variables at the top of the file, and then include the compiled CSS <i>below</i> the Bootstrap style sheet.</strong> </p>
<p><img src="http://blog.12spokes.com/bootstrap-buttons/img/screenshot.png" width="502" height="159" alt="Adding bootstrap-buttons compiled CSS to your document" /></p>
<p>Voila! A new set of button colors without a whole lot of work. I&#8217;m going to forward this to my developer friend here at ThinkTank, and I hope you find it useful, too.</p>
<p><a style="display: block; padding: 5px 10px; text-align: center; color: white; background: #CC3D8A;" href="http://blog.12spokes.com/bootstrap-buttons/index.html">View demo and download</a></p>
<p>PS &#8211; And hey, don&#8217;t feel like you have to stop with the button colors: play around with the button-creator mixin to change other aspects of the buttons&#8217; appearance and make &#8216;em even less Bootstrap-y looking.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/web-design-development/save-the-web-from-another-set-of-bootstrap-buttons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trail Notes #3</title>
		<link>http://blog.12spokes.com/trail-notes/trail-notes-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=trail-notes-3</link>
		<comments>http://blog.12spokes.com/trail-notes/trail-notes-3/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 20:19:16 +0000</pubDate>
		<dc:creator>Adam Anderson</dc:creator>
				<category><![CDATA[Trail Notes]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1508</guid>
		<description><![CDATA[Packery This is a javascript layout library that looks like it has some pretty cool possibilities for dashboard-style layouts. Haven&#8217;t played with it yet, but I can’t wait to! — Chris Egghead.io John Lindquist’s screencasts have really helped me get up to speed on AngularJS. Well recommended. — Erik Patterns If you&#8217;ve ever wanted a quick way to [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://packery.metafizzy.co/">Packery</a> This is a javascript layout library that looks like it has some pretty cool possibilities for dashboard-style layouts. Haven&#8217;t played with it yet, but I can’t wait to! — <em>Chris</em></p>
<p><a href="http://www.egghead.io/">Egghead.io</a> John Lindquist’s screencasts have really helped me get up to speed on AngularJS. Well recommended. — <em>Erik</em></p>
<p><a href="http://krillapps.com/patterns/">Patterns</a> If you&#8217;ve ever wanted a quick way to test a regular expression on a set of sample data, look no further than Patterns. Available on the Mac App Store, Patterns supports a number of regex engines, including Ruby. — <em>Jeff</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/trail-notes/trail-notes-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trail Notes #2</title>
		<link>http://blog.12spokes.com/trail-notes/trail-notes-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=trail-notes-2</link>
		<comments>http://blog.12spokes.com/trail-notes/trail-notes-2/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 16:44:58 +0000</pubDate>
		<dc:creator>Adam Anderson</dc:creator>
				<category><![CDATA[Trail Notes]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1474</guid>
		<description><![CDATA[Breaking the 1000 ms Time to Glass Mobile Barrier You can always make it faster! And after seeing Google&#8217;s analysis of the impact of &#8216;slow&#8217;, you should! — Trey A Lovely Tale of a Tea Farming Couple in Sri Lanka Perfect pick-me-up for a rainy morning. I love that today&#8217;s technology gives us the ability to share [...]]]></description>
				<content:encoded><![CDATA[<p><a href="https://www.youtube.com/watch?v=Il4swGfTOSM" target="_blank">Breaking the 1000 ms Time to Glass Mobile Barrier</a> You can always make it faster! And after seeing Google&#8217;s analysis of the impact of &#8216;slow&#8217;, you should! — <em>Trey</em></p>
<p><a href="http://www.seriouseats.com/2013/04/tea-farming-sri-lanka-video.html" target="_blank">A Lovely Tale of a Tea Farming Couple in Sri Lanka</a> Perfect pick-me-up for a rainy morning. I love that today&#8217;s technology gives us the ability to share such heart-felt, charming stories from around the world. — <em>Colleen</em></p>
<p><a href="http://www.foragoodstrftime.com/" target="_blank">For a Good Strftime</a> I can <b>never</b> remember most of the ruby format directives. For a Good Strftime provides a convenient drag-and-drop interface for building custom date/time formats, which I find myself doing far more often that I&#8217;d like. — <em>Matt</em></p>
<p><a href="http://www.blouinartinfo.com/news/story/863587/what-the-secret-contents-of-frida-kahlos-wardrobe-say" target="_blank">What the Secret Contents of Frida Kahlo&#8217;s Wardrobe Say</a> After Frida Kahlo died in 1954, Diego Rivera locked up her clothes with instructions for them not to be revealed for decades. Now they are on display in a Mexico City museum. As you&#8217;d expect, they are more than just clothes—Kahlo carefully selected them for the message they conveyed. — <em>Erin</em></p>
<p><a href="http://blog.codeclimate.com/blog/2013/03/27/rails-insecure-defaults/" target="_blank">Rails&#8217; Insecure Defaults</a> Bryan Helmkamp (<a href="https://twitter.com/brynary" target="_blank">@brynary</a>) provides a simple guide to Rails&#8217; Insecure Defaults with plenty of explanation and insight into forthcoming fixes and best practices to help limit your app&#8217;s exposure. — <em>Adam</em></p>
<p><a href="http://blog.forecast.io/post/46590845205/skycons-unobtrustive-animated-weather-icons" target="_blank">Skycons: Unobtrustive Animated Weather Icons</a> Built by the <a href="http://darkskyapp.com/" target="_blank">Dark Sky</a> team for use on <a href="http://forecast.io" target="_blank">Forecast.io</a>, these icons represent an excellent use of the HTML5 canvas element, and the thought that went into the user experience they provide is pretty admirable, too. — <em>Jeff</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/trail-notes/trail-notes-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trail Notes #1</title>
		<link>http://blog.12spokes.com/trail-notes/1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=1</link>
		<comments>http://blog.12spokes.com/trail-notes/1/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 15:56:54 +0000</pubDate>
		<dc:creator>Adam Anderson</dc:creator>
				<category><![CDATA[Trail Notes]]></category>

		<guid isPermaLink="false">http://blog.12spokes.com/?p=1454</guid>
		<description><![CDATA[Chart.js &#8211; A beautiful, canvas-based charts library. It even makes doughnuts.- Clay Nathan for You &#8211; It is quite possibly the best show in the world right now. - Dave pv &#8211; The pv gem makes Pivotal Tracker feel like git (in a good way). View your assigned stories from the command line, start/finish/accept/reject them, or use [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.chartjs.org/" target="_blank">Chart.js</a> &#8211; A beautiful, canvas-based charts library. It even makes <a href="http://www.chartjs.org/docs/#doughnutChart" target="_blank">doughnuts</a>.- <em>Clay</em></p>
<p><a href="http://www.comedycentral.com/shows/nathan-for-you" target="_blank">Nathan for You</a> &#8211; It is quite possibly the <a href="http://youtu.be/f2rgzsO-AMM" target="_blank">best show</a> in the world right now. - <em>Dave</em></p>
<p><a href="http://www.psychedeli.ca/2013/03/29/pv-a-shell-interface-for-pivotal-tracker" target="_blank">pv</a> &#8211; The pv gem makes Pivotal Tracker feel like git (in a good way). View your assigned stories from the command line, start/finish/accept/reject them, or use the open command to open a story in your browser. <em>- Jeff</em></p>
<p><a href="http://elouwebdesign.com/designing-for-humans/" target="_blank">Designing for Humans</a> &#8211; There are so many great, subtle aspects to interaction design that I think normally get overlooked that this article brings to light. I especially dug the MailChimp Voice &amp; Tone link since that conversation has come up frequently on both inner-company projects and client projects trying to establish what type of personality the application should exhibit. Great read. -<em> Colleen</em></p>
<p><a href="http://jezebel.com/5991792/woman-in-tech-tweets-about-sexist-dudes-in-tech-dude-get-fired-internet-meltdown-ensues" target="_blank">Lindy West&#8217;s Coverage of Adria Richards and PyCon</a> &#8211; I love that we have a culture that makes the need for policies about stuff like this moot. I wish the larger communities could say the same. We need to work on not writing policies for conferences, but shaping the culture, admittedly a much harder task, but also a more effective one. - <em>Trey</em></p>
<p><a href="http://searls.testdouble.com/posts/2013-03-21-jasmine-tactics-screencast.html" target="_blank">Jasmine Tactics</a> &#8211; An in-depth screencast by Justin Searls (<a href="https://twitter.com/searls" target="_blank">@searls</a>) detailing the transition of a JavaScript codebase from untested jQuery spaghetti into tested, class-based JavaScript. - <em>Adam</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.12spokes.com/trail-notes/1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
