<?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>Insights, Ramblings from within the Walls of Denver Interactive Agency, Imulus</title>
	<atom:link href="http://imulus.com/blog/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://imulus.com/blog</link>
	<description>Ramblings, Random Thoughts and Coding Goodness</description>
	<lastBuildDate>Thu, 02 Feb 2012 20:11:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JCPenney&#8217;s New Logo</title>
		<link>http://imulus.com/blog/kathryn/opinion/jc-penneys-new-logo/</link>
		<comments>http://imulus.com/blog/kathryn/opinion/jc-penneys-new-logo/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 00:27:57 +0000</pubDate>
		<dc:creator>Kat</dc:creator>
				<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2625</guid>
		<description><![CDATA[Am I the only one who doesn&#8217;t like the new JCPenney logo? I feel like people have an &#8220;Emperor&#8217;s New Clothes&#8221; complex &#8211; no one wants to come out and say it&#8217;s bad because everyone wants to believe it works. 
JCPenney&#8217;s new CEO Ron Johnson is a former Apple and Target retail executive so this [...]]]></description>
			<content:encoded><![CDATA[<p><img class="right" src="http://imulus.com/blog/wp-content/uploads/2012/02/jcp-logo.png" alt="jcp-logo" title="jcp-logo" /></a>Am I the only one who doesn&#8217;t like the new JCPenney logo? I feel like people have an &#8220;Emperor&#8217;s New Clothes&#8221; complex &#8211; no one wants to come out and say it&#8217;s bad because everyone wants to believe it works. </p>
<p>JCPenney&#8217;s new CEO Ron Johnson is a former Apple and Target retail executive so this guy must have the Midas touch. So of course people are going to flock to his feet praising his good works with little hesitation. I really don&#8217;t want to make a Tim Tebow analogy… so I won&#8217;t.</p>
<p>Let&#8217;s get one thing straight: I don&#8217;t dislike what he has done to the overall brand. In fact, I really like everything he&#8217;s done so far &#8211; except the logo. I get that they are branding around America and nationalism and local businesses to combat the Swedish invader H&#038;M. However, do they have to be so damn literal? What happened to a concept being subtle?</p>
<p>I also understand that they are keeping in line with the box in the previous logo, but the previous logo had no strong concept behind the box. They are building on an empty concept and injecting a cliche concept. Furthermore, I feel like it is about to fall over. It is extremely top and left heavy. I see no balance, no elegance, no subtlety.</p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/kathryn/opinion/jc-penneys-new-logo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imulus Product Tsar</title>
		<link>http://imulus.com/blog/george/concepts/imulus-product-tsar/</link>
		<comments>http://imulus.com/blog/george/concepts/imulus-product-tsar/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 19:08:34 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[concepts]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2621</guid>
		<description><![CDATA[It&#8217;s well discussed that service based companies often have a rough go at producing viable products. There is an inherent tension between provisioning resources for products vs addressing immediate billable service work. Pay the bills now, or invest in an uncertain future?
Many who&#8217;ve commented on this tension seem to believe it&#8217;s either or. Companies that [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s well discussed that service based companies often have a rough go at producing viable products. There is an inherent tension between provisioning resources for products vs addressing immediate billable service work. Pay the bills now, or invest in an uncertain future?</p>
<p>Many who&#8217;ve commented on this tension seem to believe it&#8217;s either or. Companies that try both often fail at one, or worse yet, they sell both short. At Imulus, we love doing the client work and believe it helps us discover new ideas for products. From day one, we decided client work would always be core to our identity, so the decision to move the company entirely into products just isn&#8217;t on the table. </p>
<p>During the last few years we&#8217;ve stumbled down the product path. Stacks was rolled out about a year or so behind schedule. Support Details was a quick win, but we&#8217;ve been slow to update it with exciting new functionality. In recent months we&#8217;ve added several other products to the cooker. This has prompted us to more closely examine the product development relationship with services. </p>
<p>Last month we implemented the idea of a Product Tsar. </p>
<p>The Product Tsar is a temporary 4 month stint with the responsibility to oversee product development. We are currently pulling from our developer team to fill the Tsar role, although that may change in the future. Bruce Clark has been helping to head up Stacks development and has nicely transitioned into this role. The first two weeks are used to gather product ideas, review what&#8217;s been accomplished and map out a list of items for development. The co-founders and the Product Tsar get together to prioritize the product development based on a combination of factors including revenue potential, complexity and street cred. We then make a time commitment to the Product Tsar. In this 4 month stint we&#8217;ve committed to a minimum of 15 hours of dedicated product work each week. </p>
<p>As the weeks progress, the Tsar reports in weekly, to update our Project Managers and co-founders on the status of products. The weekly status offers the Tsar a chance to gauge how busy the office is and what un-utilized resources could be applied toward product work. </p>
<p>Once the 4 months are over, the co-founders will review the Tsar&#8217;s work and the next senior developer on our team will take the reigns.</p>
<p>So far it seems to be working for us, but only time will tell. </p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/george/concepts/imulus-product-tsar/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Do Everything, Accomplish Nothing.</title>
		<link>http://imulus.com/blog/scott/web-design/do-everything-accomplish-nothing/</link>
		<comments>http://imulus.com/blog/scott/web-design/do-everything-accomplish-nothing/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 19:27:50 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2615</guid>
		<description><![CDATA[Users find websites for a variety of reasons. For the most part they are on your site to accomplish a goal. Maybe it is to find a product, learn something or download something. I can almost guarantee that they are not there to be confused and overwhelmed by information. I believe that far too many [...]]]></description>
			<content:encoded><![CDATA[<p>Users find websites for a variety of reasons. For the most part they are on your site to accomplish a goal. Maybe it is to find a product, learn something or download something. I can almost guarantee that they are not there to be confused and overwhelmed by information. I believe that far too many sites are much too complex and confusing for users. This happens for a variety of reasons. We hear from companies all the time how they need to provide vast amounts of information and that almost all of this needs to be accessible from the homepage. Not just on the homepage, but &#8220;above the fold.&#8221; The result of this becomes as overly complex and overly crowded mess of a site where the user is so overwhelmed by the shear quantity of choices that they simply choose to leave. As with the following example, Continental attempts to give the user access to just about everything they would want to do. As a result the user is overwhelmed and confused.</p>
<p><a href="http://imulus.com/blog/wp-content/uploads/2012/01/continental.jpg"><img src="http://imulus.com/blog/wp-content/uploads/2012/01/continental.jpg" alt="continental" title="continental" width="520" height="405" class="aligncenter size-full wp-image-2616" /></a></p>
<p>One reason for this is that there is a general sense of fear that if something is visible on the homepage, that users will not find it. Another is the use of analytics and tools that measure how far users scroll down a page which perpetuates this fear. The flaw I find in this data is that it typically includes all visitors to the site. Anyone who had ever looked at website analytics knows that a site gets a lot of very unqualified traffic from search engines. The behavior of this unqualified traffic can overwhelm and mask the behavior of users who actually intended to be on your site and have a task to accomplish. These users behave very differently and will be more likely to go a few pages deep into the site to complete their task. Target is an example of a site with a ton of content, yet they keep the content on the homepage focused to a primary goal. This makes the experience for the user much less intimidating and invites the user to explore further.</p>
<p><a href="http://imulus.com/blog/wp-content/uploads/2012/01/target.jpg"><img src="http://imulus.com/blog/wp-content/uploads/2012/01/target.jpg" alt="target" title="target" width="520" height="364" class="aligncenter size-full wp-image-2617" /></a></p>
<p>What these qualified users need is a simple experience that gives them clear information that is focused on the primary goals of the site and doesn&#8217;t try to do everything at once. One of the reasons that mobile apps are so popular is their simplicity. They are typically focused on a simple set of functions and they rarely require much of a learning curve. People are easily overwhelmed by a plethora of options, so give them the simplicity that they seek. Think about the objectives of your site and distill them down to just a few. Give those objectives the attention that they deserve and you will greatly increase your chances of accomplishing them. The secondary objectives can be pushed lover on the page or deeper in the site. A motived user will find them, especially if they are intrigued by the site and weren&#8217;t scared off by an overly complex page. This site for Billings is a great example of reducing choices for the user, and focusing on the primary goals of the page.</p>
<p><a href="http://imulus.com/blog/wp-content/uploads/2012/01/billings.jpg"><img src="http://imulus.com/blog/wp-content/uploads/2012/01/billings.jpg" alt="billings" title="billings" width="520" height="349" class="aligncenter size-full wp-image-2618" /></a></p>
<p>Users make decisions about your company within a few seconds of landing on the page. Do you want to have that impression to be one of confusion or would you rather communicate a clear and simple message that will intrigue a user and draw them into the site? So when planning a site, think about the objectives of the site, and then prioritize those objectives. If the site could do only one thing, what would that be?</p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/scott/web-design/do-everything-accomplish-nothing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wireframes Are For Designers</title>
		<link>http://imulus.com/blog/aida/web-design/wireframes-are-for-designers/</link>
		<comments>http://imulus.com/blog/aida/web-design/wireframes-are-for-designers/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 16:00:58 +0000</pubDate>
		<dc:creator>Aida</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2583</guid>
		<description><![CDATA[Here at Imulus, we strongly believe in how important the wireframing process is for all of our projects. Recently we shifted our process in the wireframing stage to lessen the confusion with our clients. We decided not to present wireframes to the client. Wireframes are an essential step in the process for the designer,  [...]]]></description>
			<content:encoded><![CDATA[<p>Here at Imulus, we strongly believe in how important the wireframing process is for all of our projects. Recently we shifted our process in the wireframing stage to lessen the confusion with our clients. We decided not to present wireframes to the client. Wireframes are an essential step in the process for the designer,  but they can be a waste of time for the client. The process can end up hurting the project and its goals. </p>
<p><strong>Why? </strong><br />
During our wireframe presentations we noticed that wireframes can cause a lot of confusion. Wireframes that expressed creative layouts were declined by the client because they would have difficulty visualizing the design once fully designed and functional. We’re humans. We have a better understanding of something that we see rather than trying to visualize something that’s shown to us in grey boxes. Because of this, clients approved wireframes that made most sense to them — the one with a very traditional layout.<br />
<div id="attachment_2597" class="wp-caption aligncenter" style="width: 277px"><img src="http://imulus.com/blog/wp-content/uploads/2012/01/wireframe.gif" alt="Traditional wireframe layout" title="wireframe" width="277" height="188" class="size-full wp-image-2597" /><p class="wp-caption-text">Traditional wireframe layout</p></div></p>
<p>Wireframes are more about content structure — what goes where within the layout. They lack the ability to convey brand-specific features and how contrast impacts content hierarchy. </p>
<p>Wireframes can hurt the project due to the following reasons&#8230;</p>
<ol>
<li><strong>They are static</strong> — Sure, design is static too, but has a bigger impact to the client than wireframes. Clients want to see the design.</li>
<li><strong>They can’t express dynamic interaction</strong> — Trying to explain dynamic interaction through wireframes confuses the client even more. In some instances, we’ll prototype specific dynamic features.</li>
<li><strong>They can be misinterpreted</strong> &#8211; Clients can change their mind once they see the design. What they understood in the wireframe can look different to them in the design. </li>
<li><strong>They can waste a lot of time</strong> &#8211; Designers can be stuck in “revision land” for a while. This also affects Project Managers as time is wasted on back and forth with a client.</li>
</ol>
<p>Our plan here at Imulus is to only do this for website design projects and so far it has been very successful. Web and mobile applications will require wireframe approvals by the client. These projects are complex in context and we want to make sure that the flow of user interaction is ironed out at the wireframing stage.  </p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/aida/web-design/wireframes-are-for-designers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Support Details on Rails</title>
		<link>http://imulus.com/blog/bryce/javascript/support-details-on-rails/</link>
		<comments>http://imulus.com/blog/bryce/javascript/support-details-on-rails/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 18:58:02 +0000</pubDate>
		<dc:creator>Bryce</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CoffeeScript]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2582</guid>
		<description><![CDATA[We here at Imulus have spread our wings a bit and decided to get into the Rails game.  I have had a crush on Ruby for a long time, causing me to jump on the Rails bandwagon when version 1.0 was in beta.  I fell off the wagon before Rails 2 came out, [...]]]></description>
			<content:encoded><![CDATA[<p>We here at Imulus have spread our wings a bit and decided to get into the <a href="http://rubyonrails.org/">Rails</a> game.  I have had a crush on <a href="http://ruby-lang.org">Ruby</a> for a long time, causing me to jump on the Rails bandwagon when version 1.0 was in beta.  I fell off the wagon before Rails 2 came out, being consumed by development work that wasn&#8217;t on the web.  When Rails 3 and then Rails 3.1 came out with great support for unobtrusive javascript as well as the asset pipeline, several of us started to get involved again.</p>
<p>We&#8217;ve been wanting to continue work on <a href="http://www.supportdetails.com">Support Details</a> for some time now. Since it was in .NET sitting on top of a homegrown CMS that it really didn&#8217;t need to be coupled to, our frontend developers had trouble moving forward on it. As a lark, I decided to port over the site to Rails.  The main functionality was done in a couple of hours and we managed to iron out most of the other main points in spare hours over the next few days.  We decided to update some of our detection to be way more accurate, and that took a few more days, but we can now tell if you are on Windows 3.1 running <a href="http://en.wikipedia.org/wiki/Mosaic_(web_browser)">NCSA Mosaic</a></p>
<p>We didn&#8217;t want to stop there though.  We were very excited about using <a href="http://coffeescript.org/">CoffeeScript</a> and <a href="http://sass-lang.com/">Sass</a> in the new Rails 3.1 asset pipeline to create readable code that could generate our Javascript and CSS. <a href="http://imulus.com/blog/taylor">Taylor</a> and <a href="http://imulus.com/blog/casey">Casey</a> jumped onto migrating the existing Javascript and CSS over to using CoffeeScript and Sass.  After running through the asset pipeline which would combine and minify our Javascript and CSS we had significantly reduced our asset download size.</p>
<p>While that was a great first step, we wanted to go further and make Support Details even faster.  We started by using <a href="https://github.com/tobi/delayed_job">Delayed Job</a> to send e-mails on a background queue, rather than tying up the main web thread.  Then we decided that we wanted to take advantage of a CDN and so we used the excellent <a href="https://github.com/rumblelabs/asset_sync">Asset Sync</a> gem to compile and deploy our assets to Amazon S3/Cloudfront when we pushed to <a href="http://www.heroku.com/">Heroku</a>.  After all of these changes our initial page load time was cut by more that half.</p>
<p>But wait, there&#8217;s more.  We&#8217;ve had many requests to localize Support Details for different languages.  Thanks to the support of various friends of Imulus, we are pleased to offer Support Details in <a href="http://supportdetails.jp/">Japanese</a>, <a href="http://supportdetails.ru/">Russian</a>, <a href="http://it.supportdetails.com/">Italian</a> and <a href="http://pt.supportdetails.com">Portuguese</a>.  We plan on adding more languages in the future, and if you want to help in translation please feel free to <a href="mailto:pr@imulus.com">give us a holler</a> and we can send you a list of phrases we need for the translation.</p>
<p>We have a lot more planned for Support Details, and we have some more great Rails applications in the pipeline which we should be releasing for your viewing pleasure in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/bryce/javascript/support-details-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;What&#8217;s Next in Web Design&#8221; Rebuttal</title>
		<link>http://imulus.com/blog/kathryn/web-design/whats-next-in-web-design-rebuttal/</link>
		<comments>http://imulus.com/blog/kathryn/web-design/whats-next-in-web-design-rebuttal/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 17:03:59 +0000</pubDate>
		<dc:creator>Kat</dc:creator>
				<category><![CDATA[creativity]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[future of web design]]></category>
		<category><![CDATA[graphic design]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2577</guid>
		<description><![CDATA[I recently read an article titled &#8220;What&#8217;s Next in Web Design.&#8221; The conclusion of the article states:
&#8220;Better interaction design, less graphic design. Better user experience, less debates about taste. Faster technology, more reliable design standards.&#8221;
What I find interesting is I&#8217;ve been seeing the opposite in web trends. With the introduction of more web friendly fonts [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read an article titled &#8220;<a href="http://www.informationarchitects.jp/en/whats-next-in-web-design/">What&#8217;s Next in Web Design.</a>&#8221; The conclusion of the article states:</p>
<p>&#8220;Better interaction design, less graphic design. Better user experience, less debates about taste. Faster technology, more reliable design standards.&#8221;</p>
<p>What I find interesting is I&#8217;ve been seeing the opposite in web trends. With the introduction of more web friendly fonts and more flexibility in development, web design is starting to look more and more artistic and refined. Designers are able to explore their artistic roots with illustration, sketching, painting, etc.<br />
<img src="http://imulus.com/blog/wp-content/uploads/2011/12/mailchimp.png"><br />
When you look at a site that is so beautifully designed, it just makes you feel good. It&#8217;s the intangibles that can make a difference. Things that click tracking, heatmaps, and analytics can&#8217;t measure. I also find it interesting that, yes, of course the author is arguing the benefits of minimalist web design. Look at their <a href="http://www.informationarchitects.jp">site</a>. Almost as minimalistic as it gets. </p>
<p>Minimalist design style has its place in web design, but it is far from the end-all for web design. Sites like <a href="http://www.apple.com/">Apple</a> have been so successful because:<br />
1. Their web design matches their brand style<br />
2. They are able to display big, beautiful photography and not every company can afford that level of photography.<br />
3. The amount of information they have packed into their website demands a simplistic design style in order not to overwhelm their audience.<br />
<img src="http://imulus.com/blog/wp-content/uploads/2011/12/apple.png"><br />
While I agree that a design that is too cluttered and flowery can be extremely frustrating when I am looking for something specific, but why must it be one or the other? That is the challenge of web design: creating a web <em>experience</em>. Combining form and function so they work together seamlessly.</p>
<p>Would you hire an architect to design a building that meets the needs of keeping you warm and a roof over your head but is a plain box? No. You hire an architect to create something beautiful but still functions as a well structured building.</p>
<p>Bottom line, the minimalist approach works, but not for everyone, and not as often as many people think. Personally, I am seeing more creativity and interesting visuals than something flat and boring but usable. Pairing usability and beauty is a web designer&#8217;s job. So rather than casting off graphic design as unnecessary, I foresee it becoming more and more crucial. </p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/kathryn/web-design/whats-next-in-web-design-rebuttal/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Beyond the Mouse: The Future of Computer Interaction</title>
		<link>http://imulus.com/blog/scott/opinion/the-future-of-computer-interactio/</link>
		<comments>http://imulus.com/blog/scott/opinion/the-future-of-computer-interactio/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 20:23:43 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[concepts]]></category>
		<category><![CDATA[creativity]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2557</guid>
		<description><![CDATA[Having used computers for almost 30 years, and as a designer of interfaces, I often wonder what&#8217;s next. The mouse had been declared dead year ofter year, yet they continue to reign supreme. The recent videos from Microsoft have prompted a lot of discussion and there are often stories about the latest ideas in interface [...]]]></description>
			<content:encoded><![CDATA[<p>Having used computers for almost 30 years, and as a designer of interfaces, I often wonder what&#8217;s next. The mouse had been <a href="http://techcrunch.com/2011/06/03/windows-ate-the-mouse/">declared dead</a> year ofter year, yet they continue to reign supreme. The <a href="http://www.youtube.com/watch?v=a6cNdhOKwi0">recent videos from Microsoft</a> have prompted a lot of discussion and there are often stories about the latest ideas in interface design. Many of these, including the <a href="http://www.youtube.com/watch?v=Zp-_oUwdSeY&#038;feature=related">Microsoft vision</a> often champion a Minority Report like interface where the user manipulates an interface in front of them through touch or gestures. The Microsoft videos have tons of this type of interaction. While this is really cool to look at and may actually come to pass for certain applications, I don&#8217;t foresee anything like this for the typical desktop user being effective.<br />
<a href="http://imulus.com/blog/wp-content/uploads/2011/12/minority-report-ui1.jpg"><img src="http://imulus.com/blog/wp-content/uploads/2011/12/minority-report-ui1.jpg" alt="minority-report" title="minority-report" width="545" height="363" class="aligncenter size-full wp-image-2562" /></a><br />
The simple reason is laziness. Well, that may be a little harsh. It&#8217;s really a matter of muscle fatigue. Touch screen interfaces while very effective on phones and tablets have a serious flaw when it comes to traditional desktop work. Imagine having your arms constantly extended in front of you touching your screen for everything that you now use a mouse for. By the end of an 8 hour day you would be unable to lift your arms. If you put the screen down on the desk to alleviate the stress on your arms than you end up with a strained neck from looking down all day.<br />
<a href="http://imulus.com/blog/wp-content/uploads/2011/12/ms1.png"><img src="http://imulus.com/blog/wp-content/uploads/2011/12/ms1.png" alt="ms1" title="ms1" width="545" height="319" class="aligncenter size-full wp-image-2559" /></a><br />
The reason keyboards and mice have been around for so long with little change is because they work. They allow the user to rest their arms on the desk and use very little muscular effort to interact with the computer. Any replacement for this arrangement must meet this need. I do see merit and opportunity in touch and gesture interfaces on the desk as an input for an upright screen. This still allows the user to look straight ahead and rest their arms on the desk, yet may allow for a more customized and varied system for input and manipulation. This type of system is explored in the Microsoft video and aspects are seen in ideas like <a href="http://www.pranavmistry.com/projects/mouseless/">Mouseless</a> and the <a href="http://ht.ly/7HYn8">EXOpc</a>.<br />
<a href="http://imulus.com/blog/wp-content/uploads/2011/12/ms2.png"><img src="http://imulus.com/blog/wp-content/uploads/2011/12/ms2.png" alt="ms2" title="ms2" width="545" height="313" class="aligncenter size-full wp-image-2560" /></a><br />
The major advantage of this system is that it allows the interface to change according to the needs of the user and the context of the work they are doing. The options available when a user is working in Photoshop could be completely different from what would be available in Microsoft Word. And while touch interfaces are useful, they really won&#8217;t reach their potential until they gain a tactile element. A desktop that was adaptable and tactile would offer a much better experience for users and might finally spell the end for the venerable mouse. Until that day comes, mice will continue to inhabit the desks of the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/scott/opinion/the-future-of-computer-interactio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reserved usernames to avoid vanity URL collision</title>
		<link>http://imulus.com/blog/casey/opinion/reserved-usernames-to-avoid-vanity-url-collision/</link>
		<comments>http://imulus.com/blog/casey/opinion/reserved-usernames-to-avoid-vanity-url-collision/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 23:29:08 +0000</pubDate>
		<dc:creator>Casey O&#39;Hara</dc:creator>
				<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2551</guid>
		<description><![CDATA[As we continue to add support for more languages on our tech support management application, Support Details, one thing we&#8217;ve considered is how vanity URLs will impact the introduction of new features. In the short future we plan to add support for custom accounts, so it made sense to compile a list of usernames we&#8217;d [...]]]></description>
			<content:encoded><![CDATA[<p>As we continue to add support for more languages on our tech support management application, <a href="http://supportdetails.com/">Support Details</a>, one thing we&#8217;ve considered is how vanity URLs will impact the introduction of new features. In the short future we plan to add support for custom accounts, so it made sense to compile a list of usernames we&#8217;d reserve out of the gate to avoid collision in the future.</p>
<p>Here&#8217;s our running list:</p>
<pre><code>
reserved_usernames = [
	# Companies we'd love to have use our service
	# so we'll reserve them to be safe
	'supportdetails',
	'support-details',
	'stacks',
	'imulus',
	'github',
	'twitter',
	'facebook',
	'google',
	'apple',

	# Generic reserved words
	'about',
	'account',
	'activate',
	'add',
	'admin',
	'administrator',
	'api',
	'app',
	'apps',
	'archive',
	'archives',
	'auth',
	'blog',
	'cache',
	'cancel',
	'careers',
	'cart',
	'changelog',
	'checkout',
	'codereview',
	'compare',
	'config',
	'configuration',
	'connect',
	'contact',
	'create',
	'delete',
	'direct_messages',
	'documentation',
	'download',
	'downloads',
	'edit',
	'email',
	'employment',
	'enterprise',
	'faq',
	'favorites',
	'feed',
	'feedback',
	'feeds',
	'fleet',
	'fleets',
	'follow',
	'followers',
	'following',
	'friend',
	'friends',
	'gist',
	'group',
	'groups',
	'help',
	'home',
	'hosting',
	'hostmaster',
	'idea',
	'ideas',
	'index',
	'info',
	'invitations',
	'invite',
	'is',
	'it',
	'job',
	'jobs',
	'json',
	'language',
	'languages',
	'lists',
	'login',
	'logout',
	'logs',
	'mail',
	'map',
	'maps',
	'mine',
	'mis',
	'news',
	'oauth',
	'oauth_clients',
	'offers',
	'openid',
	'order',
	'orders',
	'organizations',
	'plans',
	'popular',
	'post',
	'postmaster',
	'privacy',
	'projects',
	'put',
	'recruitment',
	'register',
	'remove',
	'replies',
	'root',
	'rss',
	'sales',
	'save',
	'search',
	'security',
	'sessions',
	'settings',
	'shop',
	'signup',
	'sitemap',
	'ssl',
	'ssladmin',
	'ssladministrator',
	'sslwebmaster',
	'status',
	'stories',
	'styleguide',
	'subscribe',
	'subscriptions',
	'support',
	'sysadmin',
	'sysadministrator',
	'terms',
	'tour',
	'translations',
	'trends',
	'unfollow',
	'unsubscribe',
	'update',
	'url',
	'user',
	'weather',
	'webmaster',
	'widget',
	'widgets',
	'wiki',
	'ww',
	'www',
	'wwww',
	'xfn',
	'xml',
	'xmpp',
	'yaml',
	'yml',

	# Top 50 languages by speaking population
	'chinese',
	'mandarin',
	'spanish',
	'english',
	'bengali',
	'hindi',
	'portuguese',
	'russian',
	'japanese',
	'german',
	'wu',
	'javanese',
	'korean',
	'french',
	'vietnamese',
	'telugu',
	'chinese',
	'marathi',
	'tamil',
	'turkish',
	'urdu',
	'min-nan',
	'jinyu',
	'gujarati',
	'polish',
	'arabic',
	'ukrainian',
	'italian',
	'xiang',
	'malayalam',
	'hakka',
	'kannada',
	'oriya',
	'panjabi',
	'sunda',
	'panjabi',
	'romanian',
	'bhojpuri',
	'azerbaijani',
	'farsi',
	'maithili',
	'hausa',
	'arabic',
	'burmese',
	'serbo-croatian',
	'gan',
	'awadhi',
	'thai',
	'dutch',
	'yoruba',
	'sindhi',

	# Country TLDs
	'ac',  # Ascension Island
	'ad',  # Andorra
	'ae',  # United Arab Emirates
	'af',  # Afghanistan
	'ag',  # Antigua and Barbuda
	'ai',  # Anguilla
	'al',  # Albania
	'am',  # Armenia
	'an',  # Netherlands Antilles
	'ao',  # Angola
	'aq',  # Antarctica
	'ar',  # Argentina
	'as',  # American Samoa
	'at',  # Austria
	'au',  # Australia
	'aw',  # Aruba
	'ax',  # and
	'az',  # Azerbaijan
	'ba',  # Bosnia and Herzegovina
	'bb',  # Barbados
	'bd',  # Bangladesh
	'be',  # Belgium
	'bf',  # Burkina Faso
	'bg',  # Bulgaria
	'bh',  # Bahrain
	'bi',  # Burundi
	'bj',  # Benin
	'bm',  # Bermuda
	'bn',  # Brunei Darussalam
	'bo',  # Bolivia
	'br',  # Brazil
	'bs',  # Bahamas
	'bt',  # Bhutan
	'bv',  # Bouvet Island
	'bw',  # Botswana
	'by',  # Belarus
	'bz',  # Belize
	'ca',  # Canada
	'cc',  # Cocos (Keeling) Islands
	'cd',  # Democratic Republic of the Congo
	'cf',  # Central African Republic
	'cg',  # Republic of the Congo
	'ch',  # Switzerland
	'ci',  # CÃ´te d'Ivoire
	'ck',  # Cook Islands
	'cl',  # Chile
	'cm',  # Cameroon
	'cn',  # People's Republic of China
	'co',  # Colombia
	'cr',  # Costa Rica
	'cs',  # Czechoslovakia
	'cu',  # Cuba
	'cv',  # Cape Verde
	'cx',  # Christmas Island
	'cy',  # Cyprus
	'cz',  # Czech Republic
	'dd',  # East Germany
	'de',  # Germany
	'dj',  # Djibouti
	'dk',  # Denmark
	'dm',  # Dominica
	'do',  # Dominican Republic
	'dz',  # Algeria
	'ec',  # Ecuador
	'ee',  # Estonia
	'eg',  # Egypt
	'eh',  # Western Sahara
	'er',  # Eritrea
	'es',  # Spain
	'et',  # Ethiopia
	'eu',  # European Union
	'fi',  # Finland
	'fj',  # Fiji
	'fk',  # Falkland Islands
	'fm',  # Federated States of Micronesia
	'fo',  # Faroe Islands
	'fr',  # France
	'ga',  # Gabon
	'gb',  # United Kingdom
	'gd',  # Grenada
	'ge',  # Georgia
	'gf',  # French Guiana
	'gg',  # Guernsey
	'gh',  # Ghana
	'gi',  # Gibraltar
	'gl',  # Greenland
	'gm',  # The Gambia
	'gn',  # Guinea
	'gp',  # Guadeloupe
	'gq',  # Equatorial Guinea
	'gr',  # Greece
	'gs',  # South Georgia and the South Sandwich Islands
	'gt',  # Guatemala
	'gu',  # Guam
	'gw',  # Guinea-Bissau
	'gy',  # Guyana
	'hk',  # Hong Kong
	'hm',  # Heard Island and McDonald Islands
	'hn',  # Honduras
	'hr',  # Croatia
	'ht',  # Haiti
	'hu',  # Hungary
	'id',  # Indonesia
	'ie',  # Republic of Ireland  Northern Ireland
	'il',  # Israel
	'im',  # Isle of Man
	'in',  # India
	'io',  # British Indian Ocean Territory
	'iq',  # Iraq
	'ir',  # Iran
	'is',  # Iceland
	'it',  # Italy
	'je',  # Jersey
	'jm',  # Jamaica
	'jo',  # Jordan
	'jp',  # Japan
	'ke',  # Kenya
	'kg',  # Kyrgyzstan
	'kh',  # Cambodia
	'ki',  # Kiribati
	'km',  # Comoros
	'kn',  # Saint Kitts and Nevis
	'kp',  # Democratic People's Republic of Korea
	'kr',  # Republic of Korea
	'kw',  # Kuwait
	'ky',  # Cayman Islands
	'kz',  # Kazakhstan
	'la',  # Laos
	'lb',  # Lebanon
	'lc',  # Saint Lucia
	'li',  # Liechtenstein
	'lk',  # Sri Lanka
	'lr',  # Liberia
	'ls',  # Lesotho
	'lt',  # Lithuania
	'lu',  # Luxembourg
	'lv',  # Latvia
	'ly',  # Libya
	'ma',  # Morocco
	'mc',  # Monaco
	'md',  # Moldova
	'me',  # Montenegro
	'mg',  # Madagascar
	'mh',  # Marshall Islands
	'mk',  # Republic of Macedonia
	'ml',  # Mali
	'mm',  # Myanmar
	'mn',  # Mongolia
	'mo',  # Macau
	'mp',  # Northern Mariana Islands
	'mq',  # Martinique
	'mr',  # Mauritania
	'ms',  # Montserrat
	'mt',  # Malta
	'mu',  # Mauritius
	'mv',  # Maldives
	'mw',  # Malawi
	'mx',  # Mexico
	'my',  # Malaysia
	'mz',  # Mozambique
	'na',  # Namibia
	'nc',  # New Caledonia
	'ne',  # Niger
	'nf',  # Norfolk Island
	'ng',  # Nigeria
	'ni',  # Nicaragua
	'nl',  # Netherlands
	'no',  # Norway
	'np',  # Nepal
	'nr',  # Nauru
	'nu',  # Niue
	'nz',  # New Zealand
	'om',  # Oman
	'pa',  # Panama
	'pe',  # Peru
	'pf',  # French Polynesia
	'pg',  # Papua New Guinea
	'ph',  # Philippines
	'pk',  # Pakistan
	'pl',  # Poland
	'pm',  # Saint-Pierre and Miquelon
	'pn',  # Pitcairn Islands
	'pr',  # Puerto Rico
	'ps',  # Palestinian territories
	'pt',  # Portugal
	'pw',  # Palau
	'py',  # Paraguay
	'qa',  # Qatar
	're',  # RÃ©union
	'ro',  # Romania
	'rs',  # Serbia
	'ru',  # Russia
	'rw',  # Rwanda
	'sa',  # Saudi Arabia
	'sb',  # Solomon Islands
	'sc',  # Seychelles
	'sd',  # Sudan
	'se',  # Sweden
	'sg',  # Singapore
	'sh',  # Saint Helena
	'si',  # Slovenia
	'sj',  # Svalbard and  Jan Mayen Islands
	'sk',  # Slovakia
	'sl',  # Sierra Leone
	'sm',  # San Marino
	'sn',  # Senegal
	'so',  # Somalia
	'sr',  # Suriname
	'ss',  # South Sudan
	'st',  # SÃ£o TomÃ© and PrÃ­ncipe
	'su',  # Soviet Union
	'sv',  # El Salvador
	'sy',  # Syria
	'sz',  # Swaziland
	'tc',  # Turks and Caicos Islands
	'td',  # Chad
	'tf',  # French Southern and Antarctic Lands
	'tg',  # Togo
	'th',  # Thailand
	'tj',  # Tajikistan
	'tk',  # Tokelau
	'tl',  # East Timor
	'tm',  # Turkmenistan
	'tn',  # Tunisia
	'to',  # Tonga
	'tp',  # East Timor
	'tr',  # Turkey
	'tt',  # Trinidad and Tobago
	'tv',  # Tuvalu
	'tw',  # Republic of China (Taiwan)
	'tz',  # Tanzania
	'ua',  # Ukraine
	'ug',  # Uganda
	'uk',  # United Kingdom
	'us',  # United States of America
	'uy',  # Uruguay
	'uz',  # Uzbekistan
	'va',  # Vatican City
	'vc',  # Saint Vincent and the Grenadines
	've',  # Venezuela
	'vg',  # British Virgin Islands
	'vi',  # United States Virgin Islands
	'vn',  # Vietnam
	'vu',  # Vanuatu
	'wf',  # Wallis and Futuna
	'ws',  # Samoa
	'ye',  # Yemen
	'yt',  # Mayotte
	'yu',  # Yugoslavia
	'za',  # South Africa
	'zm',  # Zambia
	'zw'   # Zimbabwe
]
</code></pre>
<p>
It is a merged list of the recommendations from <a href="http://www.quora.com/How-do-sites-prevent-vanity-URLs-from-colliding-with-future-features">this Quora discussion</a>, <a href="http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains"> this list of country TLDs</a> and <a href="http://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers"><br />
this list of languages<br />
</a>
</p>
<p>
<strong>How to Contribute:</strong><br /> Gist: <a href="https://gist.github.com/1453705">https://gist.github.com/1453705</a></p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/casey/opinion/reserved-usernames-to-avoid-vanity-url-collision/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Powder: A Backbone-powered iPad webapp</title>
		<link>http://imulus.com/blog/casey/html5/powder-a-backbone-powered-ipad-webapp/</link>
		<comments>http://imulus.com/blog/casey/html5/powder-a-backbone-powered-ipad-webapp/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 06:26:17 +0000</pubDate>
		<dc:creator>Casey O&#39;Hara</dc:creator>
				<category><![CDATA[CoffeeScript]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2541</guid>
		<description><![CDATA[
Winter is upon us, and like many folks in Colorado we&#8217;re stoked to hit the mountains. Given the recent snowfall and our experimentation with HTML5 localStorage, it seemed natural to push it a bit further and do something fun.
Enter Powder, an HTML5 webapp for tracking the snow conditions at your favorite ski resorts.
Powder is an [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://imulus.com/blog/wp-content/uploads/2011/12/powder-ipad.png"><img class="size-full wp-image-2543 alignright right" title="Powder screenshot" src="http://imulus.com/blog/wp-content/uploads/2011/12/powder-ipad.png" alt="Powder screenshot" width="210" height="272" /></a></p>
<p>Winter is upon us, and like many folks in Colorado we&#8217;re stoked to hit the mountains. Given the recent snowfall and our <a href="/blog/casey/opinion/an-interesting-challenge/" target="_blank">experimentation with HTML5 localStorage</a>, it seemed natural to push it a bit further and do something fun.</p>
<p>Enter <a href="http://powder.herokuapp.com" target="_blank">Powder</a>, an HTML5 webapp for tracking the snow conditions at your favorite ski resorts.</p>
<p>Powder is an experiment using <a href="http://documentcloud.github.com/backbone/">backbone.js</a> to power an iPad webapp. On the client, Powder uses the browser&#8217;s native HTML5 localStorage mechanism to save the users&#8217;s preferences, the list of resorts the user chooses to track. On the server, Powder uses Sinatra to fetch and parse various snow/ski reports from <a href="http://onthesnow.com/"></a><a href="http://onthesnow.com/">http://onthesnow.com/</a> then serve it up as JSON to the browser.</p>
<h3>The Stack</h3>
<ul>
<li>
<a href="https://github.com/sinatra/sinatra">Sinatra</a> for feed parsing</li>
<li>
<a href="https://github.com/sstephenson/sprockets">Sprockets</a> for asset packaging</li>
<li>
<a href="https://github.com/jashkenas/coffee-script/">CoffeeScript</a> because it&#8217;s better than JavaScript</li>
<li>
<a href="https://github.com/nex3/sass">SCSS</a> because it&#8217;s better than CSS</li>
<li>
<a href="https://github.com/documentcloud/backbone">Backbone</a> for client-side structure</li>
<li>
<a href="https://github.com/sstephenson/eco">Eco</a> for Backbone templating</li>
<li>
<a href="http://dev.w3.org/html5/webstorage/">localStorage</a> for client-side persistence</li>
</ul>
<p>Powder is free and open source, <a href="http://github.com/imulus/powder" target="_blank">hosted on GitHub</a>. We&#8217;d love to have you join us in making Powder better. Feel free to fork the project and help us make a kickass iPad webapp.</p>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/casey/html5/powder-a-backbone-powered-ipad-webapp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Interesting Challenge</title>
		<link>http://imulus.com/blog/casey/opinion/an-interesting-challenge/</link>
		<comments>http://imulus.com/blog/casey/opinion/an-interesting-challenge/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 23:28:34 +0000</pubDate>
		<dc:creator>Casey O&#39;Hara</dc:creator>
				<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://imulus.com/blog/?p=2533</guid>
		<description><![CDATA[Last week we had a client call us with an interesting problem. They have a tradeshow kiosk they&#8217;d like to use to capture form data from users and collect it at the end of each day.
The challenge: the kiosk doesn&#8217;t have an internet connection and can&#8217;t run a webserver. It can display webpages, but only [...]]]></description>
			<content:encoded><![CDATA[<p>Last week we had a client call us with an interesting problem. They have a tradeshow kiosk they&#8217;d like to use to capture form data from users and collect it at the end of each day.</p>
<p>The challenge: the kiosk doesn&#8217;t have an internet connection and can&#8217;t run a webserver. It can display webpages, but only through an IE8 iframe.</p>
<p>If the kiosk had a net connection we&#8217;d build a static form to post the data to a remote webservice. But that&#8217;s out. If the kiosk could run a webserver we&#8217;d build a simple webapp to handle the data locally. But that&#8217;s out, too.</p>
<p>We decided to solve the problem by saving the data to localStorage. localStorage is a key-value store built into most modern browsers, and a perfect mechanism for persisting simple form data. It has a minimal JavaScript API (setters and getters) via the window&#8217;s localStorage object that makes it really easy to work with.</p>
<h3>Here&#8217;s how we did it:</h3>
<p>We started by setting up a simple Storage class to interface with localStorage. This isn&#8217;t entirely necessary, but makes it easier to save and retrieve the data without having to parse/stringify on every transaction. <i>(Yes, we love CoffeeScript.)</i></p>
<pre><code>
class Storage

  constructor: (@name)->
    @data = []

    # Check to see if the object already
    # exists in localStorage
    # If it does, grab the value
    # Otherwise, create a key in localStorage
    # with an empty array of data
    if localStorage[@name]?
      do @fetch
    else
      # We need to stringify the data as JSON
      # because it is stored as a string
      localStorage.setItem(@name, JSON.stringify(@data))

  # Pull the data out of localStorage and populate
  # the instance's @data array property
  # We need to parse the data as JSON
  # because it is stored as a string
  fetch: ->
    @data = JSON.parse(localStorage.getItem(@name))

  # Add an item to the instance's @data array and
  # re-save to localStorage
  add: (data) ->
    @data.push data
    localStorage.setItem(@name, JSON.stringify(@data))
</code></pre>
<p>Next, we set up a Form class to observe the form on the page and do some simple validation before finally committing it to a storage instance.</p>
<pre><code>
class Form

  constructor: (@$form, name)->
    @storage  = new Storage(name)
    @$fields  = $('input, textarea, select', @$form)

    @$form.submit (event) =>
      event.preventDefault()
      if @validate()
        do @save
        do @clear

  save: ->
    data = {}

    @$fields.each ->
      name  = $(this).attr('name')
      value = $(this).val()
      data[name] = value

    @storage.add data

  clear: ->
    @$fields.each ->
      $field = $(this)
      type = $field.attr('type')
      $field.val('') if type is 'text'

  validate: ->
    data = {}
    valid = true

    # Simple 'required' validation
    # Loop over each of the form fields
    # If the field is required, then check to see if it is blank
    @$fields.each ->
      $field = $(this)
      value = $field.val()
      required = $field.hasClass('required')
      if required and value is ''
        valid = false
        $field.addClass('invalid')
      else
        $field.removeClass('invalid')

    return valid
</code></pre>
<p>The client needed a means of retrieving the data, so we set up way to grab all of the data and render out a table with each of the entries.</p>
<pre><code>
class ResultsTable
  constructor: (@$table, name) ->
    @storage  = new Storage(name)
    @results = @storage.data
    $head_tr = $(&#x27;&lt;tr /&gt;&#x27;)

    for field, value of @results[0]
      $head_tr.append $(&#x27;&lt;td /&gt;&#x27;).text(field)

    $(&#x27;thead&#x27;, @$table).append $head_tr

    for result in @results
      $tr = $(&#x27;&lt;tr /&gt;&#x27;)
      $tr.append $(&#x27;&lt;td /&gt;&#x27;).text(value) for field, value of result
      $(&#x27;tbody&#x27;, @$table).append $tr
</code></pre>
<p>Finally, an example of how to pull it all together.</p>
<p>On the form page:</p>
<pre><code>
&lt;form id=&quot;user-form&quot; action=&quot;#&quot;&gt;
  &lt;input type=&quot;text&quot; name=&quot;first_name&quot; /&gt;
  &lt;input type=&quot;text&quot; name=&quot;last_name&quot; /&gt;
  &lt;button type=&quot;submit&quot;&gt;Submit&lt;/button&gt;
&lt;/form&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
  $(document).ready(function(){
    new Form($(&#x27;form#user-form&#x27;), &#x27;kiosk&#x27;);
  });
&lt;/script&gt;
</code></pre>
<p>On the results page:</p>
<pre><code>
&lt;table id=&quot;results&quot;&gt;
&lt;/table&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
  $(document).ready(function(){
    new ResultsTable($(&#x27;#results&#x27;), &#x27;kiosk&#x27;);
  });
&lt;/script&gt;
</code></pre>
<p>Given the constraints, we feel like this is great solution. Lucky for us, the browser environment was predictable and IE8 has support for localStorage. All in all, it was a fun experiment with localStorage.</p>
<style type="text/css">#content .post pre code { font: 0.9em/1.6em "Monaco", "Lucida Console", Monospace; } </style>
]]></content:encoded>
			<wfw:commentRss>http://imulus.com/blog/casey/opinion/an-interesting-challenge/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

