<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Marked As Pertinent</title>
	<atom:link href="http://markedaspertinent.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://markedaspertinent.wordpress.com</link>
	<description>rails, design, art, business by BJ Clark</description>
	<lastBuildDate>Wed, 23 Jun 2010 04:31:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='markedaspertinent.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Marked As Pertinent</title>
		<link>http://markedaspertinent.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://markedaspertinent.wordpress.com/osd.xml" title="Marked As Pertinent" />
	<atom:link rel='hub' href='http://markedaspertinent.wordpress.com/?pushpress=hub'/>
		<item>
		<title>All the things we don&#8217;t know that we don&#8217;t know</title>
		<link>http://markedaspertinent.wordpress.com/2010/06/22/all-the-things-we-dont-know-that-we-dont-know/</link>
		<comments>http://markedaspertinent.wordpress.com/2010/06/22/all-the-things-we-dont-know-that-we-dont-know/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 04:31:31 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[bduf]]></category>
		<category><![CDATA[dunning kruger effect]]></category>
		<category><![CDATA[iterations]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=130</guid>
		<description><![CDATA[One of the things that really changed how I thought about building software was learning about the Dunning-Kruger Effect. I didn't know that's what I was called, mind you, but I certainly had witnessed it and once it was explained, it made perfect sense. What is the Dunning-Kruger effect?=<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=130&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>[Paraphrasing] There are lots of things we don&#8217;t know that we don&#8217;t know about [the project we were working on]. Agile is how we optimize our process for learning those things. &#8211; Ward Cunningham</p></blockquote>
<p>One of the things that really changed how I thought about building software was learning about the Dunning-Kruger Effect. I didn&#8217;t know that&#8217;s what I was called, mind you, but I certainly had witnessed it and once it was explained, it made perfect sense. What is the Dunning-Kruger effect?</p>
<blockquote><p>&#8220;people reach erroneous conclusions and make unfortunate choices but their incompetence robs them of the metacognitive ability to realize it.&#8221;  - http://en.wikipedia.org/wiki/Dunning-kruger_effect</p></blockquote>
<p>What does that have to do with Agile? Well, some of the seeds for Agile, at least from Kent Beck and Ward Cunningham&#8217;s influence came from the days when those two guys shared a lab and were partners in R&amp;D at Tektronix. I&#8217;ve written about this before, but basically, their job was to come up with, every set period of time, some idea that Tektronix should pay a team of guys to develop out into a product or tool. So, KB and WC would come into work every morning and one of them would propose an idea and they would spend the morning trying to hack the idea into working software. If it wasn&#8217;t working, they&#8217;d go back to working on whatever was the last best idea, and then at the end of the time period, they always had something that worked that they could turn over as an idea. This is where some of the seeds of TDD, iteration, and other ideas that are now staples of Agile came from.</p>
<p>But why would you do that? Why would you essentially start over every morning? Well, as it turns out, humans are really bad at knowing what they don&#8217;t know. So why not come up with an idea and just work on that idea until you had something? Let&#8217;s explore that. . .</p>
<h2>BDUF is for those that don&#8217;t understand the Dunning-Kruger Effect</h2>
<p>I don&#8217;t feel like this is a very controversial topic (that might also be the other end of the K-D Effect) because I think this one has already won out. It certainly has in the ruby community. I&#8217;ll go ahead an explain it though. BDUF stands for &#8220;Big Design Up Front&#8221; and most non-enterprisy, non-corporate software teams know, you can&#8217;t design all of your code before you write your code. And the agilists out there will even say that the only way to write truly simple clean code is to write a test first. I hope this isn&#8217;t a big shock to anyone. If we examine why this is true, we pretty quickly get to a point where you say &#8220;we don&#8217;t know enough about the code to design the code without first writing some code&#8221;. In other words, we don&#8217;t know what we don&#8217;t know about the code yet, we have to learn what we don&#8217;t know and adapt our application architecture as we learn. I guess if you get a CS degree, you&#8217;ll run up against a whole set of folks that don&#8217;t believe this, but I&#8217;ll go out on a limb and say that most of those folks also don&#8217;t write much software. Anyway, suffice to say, we&#8217;ve got a whole set of practices, red-green-refactor, continuous integration and deployment, to optimize against doing BDUF (among other things, surely).</p>
<h2>Specification Documents are for those that don&#8217;t understand the Dunning-Kruger Effect</h2>
<p>Another example (I think more important and less widely accepted, and the real reason I wrote this post) of the optimization for all the &#8220;things you don&#8217;t know that you don&#8217;t know&#8221; in Agile is that we don&#8217;t write spec docs. We don&#8217;t start out a project with a giant document that spells out everything we&#8217;re going to build. That&#8217;s not to say no one knows what we&#8217;re building, or has a vision of what it looks like when it&#8217;s done, au-con-trair, that&#8217;s definite a recipe for disaster (and, I think, most people&#8217;s biggest fear that haven&#8217;t participated in an Agile project). We spend the time to write all of this down in whatever format we would need to give it to a developer and walk away. Why? Well it&#8217;s that damn Dunning-Kruger effect. You *can&#8217;t* actually write a good spec, and not only that, those that don&#8217;t know this are the ones that precisely think it&#8217;s possible. No matter how many lines of code you&#8217;ve written, or UI&#8217;s you&#8217;ve designed, or businesses you&#8217;ve started, you will never know enough about what you don&#8217;t know to write a document that will cover every edge case, angle, possibility, challenge and decision that has to be made to successfully create quality software.</p>
<p>I hear this lot when I tell people this: &#8220;But you <em>can</em> change your spec&#8221; or &#8220;Good specs <em>allow</em> for learning&#8221;. I&#8217;m sure you can and I&#8217;m sure they do. Change and learning is precisely what agile is all about and not just embracing change, but optimizing for it. You&#8217;re *always* going to change that spec. Every project I&#8217;ve ever been on, at one point or another, something was too hard or expensive to be worth it and we&#8217;ve always changed what we&#8217;re going to do. Most of the time, this something was a surprise. It wasn&#8217;t what we <em>thought</em> would be hard or even something we <em>thought</em> we needed to do! I&#8217;ll even go further to say that some of the more successful projects I&#8217;ve been on, not only did we optimize for learning things early, we optimized for being able to change things easily.</p>
<p>The problem with writing a spec and then changing it, however, is that usually this renders part of the spec useless, or worse yet, it renders useless some &#8220;real work&#8221; you have already done. There&#8217;s a million quips and anecdotes people use for this, &#8220;Fail fast. . .&#8221;,  &#8221;If you&#8217;re not embarrassed when you launch your project, you waited too long&#8221;, etc. The reason people say these things is precisely because they&#8217;ve experienced the Dunning-Kruger effect. They&#8217;ve written a spec or built software thinking they had their bases covered, that they knew things, but they didn&#8217;t end up knowing everything and not all of what they thought they knew ended up being true. And many of these people have come to the conclusion that if they would have done less planning, and got to implementing even faster, they would have learned important information that they didn&#8217;t know they didn&#8217;t know earlier and saved themselves work. XP is about optimizing for this in a technical setting, &#8220;The Lean Startup&#8221; is about optimizing for this in a marketing and product development setting.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=130&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2010/06/22/all-the-things-we-dont-know-that-we-dont-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>
	</item>
		<item>
		<title>Summer Has Arrived</title>
		<link>http://markedaspertinent.wordpress.com/2010/06/13/summer-has-arrived/</link>
		<comments>http://markedaspertinent.wordpress.com/2010/06/13/summer-has-arrived/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 01:53:17 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[cooking]]></category>
		<category><![CDATA[culinary]]></category>
		<category><![CDATA[dinner]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=122</guid>
		<description><![CDATA[Since the weather was so wonderful here in Portland today, my wife and I decided to make fajitas for dinner. Instead of your regular &#8220;grill some chicken, fry some veggies&#8221; fajitas, I decided to do a version I saw Alton Brown do on good eats. The interesting thing here is that I&#8217;m cooking the meat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=122&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since the weather was so wonderful here in Portland today, my wife and I decided to make fajitas for dinner. Instead of your regular &#8220;grill some chicken, fry some veggies&#8221; fajitas, I decided to do a version I saw Alton Brown do on good eats.</p>
<p><a href="http://markedaspertinent.files.wordpress.com/2010/06/img_0499.jpg"><img class="size-full wp-image-123 alignnone" title="Steak on the coals" src="http://markedaspertinent.files.wordpress.com/2010/06/img_0499.jpg?w=700&#038;h=525" alt="Skirt steak cooked directly on charcol" width="700" height="525" /></a></p>
<p>The interesting thing here is that I&#8217;m cooking the meat (skirt steak) directly on the charcoal. No grill, no foil, no pan, just meat directly to red hot glowing chunk charcoal. This develops and intensely smokey flavor in the meat. You can see there are large areas of &#8220;burnt&#8221; meat, but it&#8217;s not actually burnt, it&#8217;s just caramelized and full of flavor. I&#8217;ve never had skirt steak so tasty, very caveman, in a good way.</p>
<p><a href="http://markedaspertinent.files.wordpress.com/2010/06/img_0503.jpg"><img class="alignnone size-full wp-image-124" title="Fajita Veggies" src="http://markedaspertinent.files.wordpress.com/2010/06/img_0503.jpg?w=700&#038;h=525" alt="" width="700" height="525" /></a></p>
<p>When the steak was done (3 minutes per side, don&#8217;t even think about touching it while it cooks, and then let it rest 15 minutes), I put a cast iron skillet directly on to the coals and let it get smoking hot. I put the standard white onion and green/red pepper that I drizzled with a little olive oil and salt and pepper. The skillet was so hot the veggies instantly started to caramelize and you have to stir them almost constantly or you will get a little burning. Cooking the veggies takes less than 5 minutes (definately don&#8217;t over cook them) and the flavor is also amazing. If you ever wonder why veggies take so much better in good chinese food, it&#8217;s because they cook them super super hot like this. As a side note, if you want to make really great stir fry and don&#8217;t have a really nice gas wok stove, this is actually a good way to do it.</p>
<p><a href="http://markedaspertinent.files.wordpress.com/2010/06/img_0506.jpg"><img class="alignnone size-full wp-image-125" title="Fajitas" src="http://markedaspertinent.files.wordpress.com/2010/06/img_0506.jpg?w=700&#038;h=525" alt="" width="700" height="525" /></a></p>
<p>Enjoy with a Cascadian Black Ale and plenty of guacamole, preferably on your beautiful patio with your bride.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=122&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2010/06/13/summer-has-arrived/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>

		<media:content url="http://markedaspertinent.files.wordpress.com/2010/06/img_0499.jpg" medium="image">
			<media:title type="html">Steak on the coals</media:title>
		</media:content>

		<media:content url="http://markedaspertinent.files.wordpress.com/2010/06/img_0503.jpg" medium="image">
			<media:title type="html">Fajita Veggies</media:title>
		</media:content>

		<media:content url="http://markedaspertinent.files.wordpress.com/2010/06/img_0506.jpg" medium="image">
			<media:title type="html">Fajitas</media:title>
		</media:content>
	</item>
		<item>
		<title>A trip to Baltimore in June</title>
		<link>http://markedaspertinent.wordpress.com/2010/06/03/a-trip-to-baltimore-in-june/</link>
		<comments>http://markedaspertinent.wordpress.com/2010/06/03/a-trip-to-baltimore-in-june/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 01:15:01 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://markedaspertinent.wordpress.com/2010/06/03/a-trip-to-baltimore-in-june/</guid>
		<description><![CDATA[I&#8217;m taking a trip to Baltimore between June 7th and June 11th. #railsconf<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=120&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m taking <a href='http://dplr.it/guest/837a017087a7e45bf67f'>a trip to Baltimore</a> between June 7th and June 11th.</p>
<p>#railsconf</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=120&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2010/06/03/a-trip-to-baltimore-in-june/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>
	</item>
		<item>
		<title>Rubymine &#8211; A Love Story</title>
		<link>http://markedaspertinent.wordpress.com/2010/03/10/rubymine-a-love-story/</link>
		<comments>http://markedaspertinent.wordpress.com/2010/03/10/rubymine-a-love-story/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 23:54:04 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubymine]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=108</guid>
		<description><![CDATA[I started writing code in Flash 5. I actually learned OOP in ActionScript, but that&#8217;s another post all together. My point is, my first code editor was Flash. Then I moved to Dreamweaver + Homesite. Then I used BBEdit for a while. Then I found Rails and Textmate and I was in love. I&#8217;ve never [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=108&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I started writing code in Flash 5. I actually learned OOP in ActionScript, but that&#8217;s another post all together. My point is, my first code editor was Flash. Then I moved to Dreamweaver + Homesite. Then I used BBEdit for a while. Then I found Rails and Textmate and I was in love. I&#8217;ve never done Java or ASP so I had no need for an IDE, or so I thought.</p>
<p>Anyway, about 6-8 months ago, I looked into Rubymine. I knew Pivotal Labs used Jetbrain&#8217;s IdeaJ IDE with a ruby plugin for a long time, so I thought a Rails specific version might be pretty interesting. I&#8217;ve used it full time, every day, since I tried it out and I really love it. I find it super productive and it has all the tools that I use my development flow all in one app.</p>
<p>First of all, I&#8217;ll state for the record that Rubymine is not a text editor. I still use Textmate every day. You won&#8217;t open up random files in Rubymine to edit them. Second, I don&#8217;t edit CSS in Rubymine. I use CSSEdit from MacRabbit. So I have no idea how it does with CSS. I also don&#8217;t really use Rubymine on my laptop. Most of the win I get from Rubymine is that it&#8217;s SUPER efficient</p>
<p>Here&#8217;s what my Rubymine setup looks like:</p>
<p><a href="http://markedaspertinent.files.wordpress.com/2010/03/rubymine.jpg"><img class="aligncenter size-full wp-image-112" title="rubymine" src="http://markedaspertinent.files.wordpress.com/2010/03/rubymine.jpg?w=690&#038;h=220" alt="Rubymine setup" width="690" height="220" /></a></p>
<p>Things to note:</p>
<ol>
<li>Close the file browser and use split windows. Get rid of the toolbar, you don&#8217;t need that.</li>
<li>Open up the Run tab on the bottom and move that out to a different window. Then fire up a Rails console and it will be out in that window also. Move this window over to your other monitor (stop reading if you don&#8217;t have one, you&#8217;re dead to me) and make the editor full screen.</li>
<li>If you open up the preferences go to Editor =&gt; Editor Tabs and check &#8220;Show Tabs in a single row&#8221;</li>
<li>I&#8217;ll leave this up to the reader, but figuring out how to get Spork up and running is all kinds of win.</li>
<li>I use a modified version of the Mavenlink theme. I&#8217;m using Menlo in 14pt and 1.4 line spacing for my font.</li>
<li>I have loads of my own tab expansions, which are called Live Templates in Rubymine. (&#8216;%=&#8217; + tab outputs &lt;%=  %&gt;). The default ones are lacking, I should package some of mine up, but since I created tons of my own in Textmate, most won&#8217;t make sense to you. Suffice to say, I don&#8217;t like haml, I like erb + live templates. That&#8217;s how many I have. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>My favorite Rubymine features:</p>
<ol>
<li>Command + B with your cursor on any Ruby/Rails method will take you to where that method is defined. This is way better than any documentation because I CAN READ RUBY CODE. I have been known to write out code just to command+b it and remember if it&#8217;s the method I want.</li>
<li>Control + H on any Ruby/Rails method shows you inline documentation. Win.</li>
<li>Control + Spacebar in .feature files will let you &#8216;live complete&#8217; Cucumber scenarios you&#8217;ve already written, including the substitution regex in them. If you don&#8217;t understand how much win this is, I can&#8217;t help you. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Refactor =&gt; Rename is fucking awesome. Rubymine 2.0.2 will even rename &#8220;some_message&#8221; in SomeModel.should_receive(:some_message). Rubymine is pretty smart about this stuff, and when it isn&#8217;t they&#8217;ll fix it (I requested the should_receive stuff and they made it happen).</li>
<li>Item #4 reminds me of my favorite feature over all. Jetbrains is actively developing Rubymine, so if you have a feature request, or you find a bug, or something annoys you, <strong>THEY WILL FIX IT</strong>. I don&#8217;t know about you, but I am morally against Textmate at this point because I don&#8217;t think the creator is working on it anymore. He won&#8217;t open source it though, because it still makes him money (and I&#8217;ve heard the internals are a nightmare). Rubymine&#8217;s developers use Cucumber to test it, and I think I even heard they use Rubymine to build Rubymine. They are committed to the product, to making it better, and to listening to the Rails community. I&#8217;m willing to bet, if the community were to put it&#8217;s weight behind it, we&#8217;d see even greater support.</li>
</ol>
<p>My gripes:</p>
<ol>
<li>Rubymine is buggy. It just is. But I&#8217;m over it. They&#8217;ll fix them. If you find a bug in Textmate (like I don&#8217;t know, search), you&#8217;re never going to see a fix. Never.</li>
<li>Rubymine will sometimes need to re-index your project. This usually isn&#8217;t convenient, but if you want all those cool features I just spoke about, and search that&#8217;s fast, and lots of the other things that make Rubymine awesome, then suck it up and take it. You need a break anyway.</li>
<li>Rubymine can&#8217;t keep up with Yehuda. That&#8217;s just the facts. Rubymine has to know alot about Rails, Gems, Bundler, Cucumber, etc and changes in all those underlying libraries will sometimes make it painful to upgrade them and have Rubymine&#8217;s awesome features. That&#8217;s just life in the fast paced world. Having said that, Rubymine does a GREAT job trying to keep up. For example, it already supports bundler 0.7. Rubymine 2.0.2 will support bundler 0.8 and most of Rails 3.0. It&#8217;s got support for haml and sass and spork and lots of cutting edge stuff. And again, they are actively keeping it up to date (can I mention that enough?!?).</li>
<li>Rubymine is a resource hog, but then again, it&#8217;s not like I have a lot of other stuff going on my laptop, so it&#8217;s not usually a big deal. Also, I&#8217;m sure others see this more as I have a SSD drive and it makes this not a big deal.</li>
</ol>
<p>Chris Bailey prompted me to write this post, and he&#8217;s got some stuff on his post about Rubymine I&#8217;d like to clear up:</p>
<blockquote><p>Doesn&#8217;t work (well) with MacOS X Spaces &#8211; prevents switching to another space when you select another app</p></blockquote>
<p>I have no idea if this is true or not. I don&#8217;t use Spaces, sorry. However, I will say, I don&#8217;t switch away from the app much through out the day. Also, submit a bug! They&#8217;ll fix it if they can.</p>
<blockquote><p>File tabs:</p>
<ul>
<li>They go to multiple rows too easily.</li>
<li>They just don&#8217;t look right/good.  I&#8217;m not sure if it&#8217;s because they&#8217;re non-native tabs or what.</li>
<li>I understand, but don&#8217;t like how the rows swap when you change to a different tabs.  You lose track of where a file is in the tabs.</li>
</ul>
</blockquote>
<p>I address this above, but I&#8217;ll re-iterate. Making tabs into a single line in the preferences will make Rubymine majorly better.</p>
<blockquote><p>Find in project is nowhere near as fast, or presented as usefully as Ack in Project for TextMate.  It does provide more options, such as filtering files by directory or type and so on, but the speed is generally far more important.</p></blockquote>
<p>This is puzzling because I have found find to be very fast. And yes, it has MASSIVELY more and better options than Textmate. I haven&#8217;t used Ack in project much, so I can&#8217;t comment.</p>
<blockquote><p>Also seems to crash enough that it bothers me.  I can tolerate an occasional crash, although with TextMate I&#8217;ve run it for weeks on end with no crash, using it constantly.  I&#8217;ve had several either hangs or crashes with RubyMine in the short couple weeks I&#8217;ve been trying it out.</p></blockquote>
<p>I know Pat Maddox has seen his share of crashes. I never see crashes. I don&#8217;t know why, but Rubymine is actually more stable for me than Textmate. Even on big projects.</p>
<blockquote><p>The refactoring bits were just ok.  This is a really hard feature in general though.  Simple refactorings I used, like renaming a method worked fine.  But, changing the name of a model class did about 1/4 of the work needed and was questionable as to whether it was an advantage over just doing it all myself.  It got all the obvious, low-hanging fruit, but it seemed to completely ignore Rails helpers and views.  It misses a bunch of things that I&#8217;m not surprised at of course, such as table names in SQL conditions (e.g. in named_scopes), model name used anywhere in JavaScript or CSS (which isn&#8217;t uncommon in Rails code), and then the one that I&#8217;d like to see it do a better job on, but that is hard of course is on associations.  So, in my application, I was refactoring our &#8220;Deal&#8221; model to be &#8220;HotelDeal&#8221;.  We have a &#8220;Hotel&#8221; model and it has_many deals.  Thus in the code you&#8217;d routinely see things like &#8220;hotel.deals&#8221; to reference that association.  It didn&#8217;t handle any of those.  Not surprising, but starts to devalue the refactoring feature.</p></blockquote>
<p>I&#8217;d submit bugs for these things. Also, I don&#8217;t know what version Chris was using, but this stuff has been getting better with recent versions.</p>
<p>At the end of the day, there are probably specialized tools that do each of the things that Rubymine does just a little bit better. GitX is definitely a better git/diff reader. Textmate is better for just plain editing files. CSSEdit is better for CSS. Terminal is a better shell. But for me, being able to have all of these things in one tool, and the few Rails specific things that Rubymine does provide, make up for the small things it doesn&#8217;t get right. If you give Rubymine 10 minutes, I&#8217;m sure you&#8217;ll always go back to what you were using before. However I gave Rubymine a month, and now that it&#8217;s 8-9 months later, I wouldn&#8217;t ever consider going back to Textmate.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=108&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2010/03/10/rubymine-a-love-story/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>

		<media:content url="http://markedaspertinent.files.wordpress.com/2010/03/rubymine.jpg" medium="image">
			<media:title type="html">rubymine</media:title>
		</media:content>
	</item>
		<item>
		<title>Bundler: Oh the fail I know.</title>
		<link>http://markedaspertinent.wordpress.com/2010/03/08/bundler-oh-the-fail-i-know/</link>
		<comments>http://markedaspertinent.wordpress.com/2010/03/08/bundler-oh-the-fail-i-know/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 23:42:05 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[bundler]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rails 3]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=100</guid>
		<description><![CDATA[I first started using Bundler 0.7.6 in December '09 in a Rails 2.3.5 project. We also use Bundler (not sure what version we started with) in our main Rails 2.3.x app that powers www.Goldstar.com. In the 3+ months that we have been using bundler, it has, by far, been the largest pain point and time sink of any part of our toolset to the point that today, I proclaimed on twitter, than in it's current state, I can't recommend Rails 3.0 to anyone starting or upgrading a product.

Now, if you know me, you know that this is pretty out-of-left-field. I'm a HUGE Rails evangelist. And I truly believe that it's right for many projects in all kinds of scenarios.

Anyway, on to the fail. . .<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=100&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>First, a disclaimer: I don&#8217;t want to be negative. I am only writing this because I feel it deserves attention by the community and because I love Rails so much that the fact that something is making me lose faith in it truly makes me a little sad.</em></p>
<p>I first started using Bundler 0.7.6 in December &#8217;09 in a Rails 2.3.5 project. We also use Bundler (not sure what version we started with) in our main Rails 2.3.x app that powers www.Goldstar.com. In the 3+ months that we have been using bundler, it has, by far, been the largest pain point and time sink of any part of our toolset to the point that today, I proclaimed on twitter, than in it&#8217;s current state, I can&#8217;t recommend Rails 3.0 to anyone starting or upgrading a product.</p>
<p>Now, if you know me, you know that this is pretty out-of-left-field. I&#8217;m a HUGE Rails evangelist. And I truly believe that it&#8217;s right for many projects in all kinds of scenarios.</p>
<p>Anyway, on to the fail. . .</p>
<p>Bundler 0.7.x had lots of issues, too numerous to count. However, it did have the option to pass a yaml file to it via &#8211;build-options that would allow you to pass a few arguments into the various gems it needed to build. This was good enough for us, and we followed the convention we use with database.yml to have all the correct options in the various environments we use to dev/deploy our rails apps.</p>
<p>Builder 0.8 soon followed suit (I believe in January) and messed us up by changing the path inside the bundler folder that all the gems where kept at to be name-spaced to what version of ruby you were using. I&#8217;m not sure what this was meant to fix, but it broke a few things for us and it broke Rubymine (my personal editor of choice). But hey, we upgraded.</p>
<p>I&#8217;m going to leave out all the pain that was causes by upgrading to 0.8 and just say that we are currently using Bundler 0.8 in dev and production, except that a bug, where older version of already cached gems won&#8217;t upgrade unless you rm -rf the bundler directory (json-pure-1.2.2 to json-pure-1.2.4 fwiw) is breaking our deploys to production. This means that every deploy to production, we can&#8217;t be sure the bug isn&#8217;t going to break it, so we must rebuild every gem in the app (of which there are MANY) every time we deploy. This just isn&#8217;t going to work for us.</p>
<p>Now, we&#8217;d like to move to Bundler 0.9 because it promises to fix our issue (bundle install correctly updates gems as required). However, &#8211;build-options has been removed from 0.9. Because &#8211;build-options was removed, bundler has moved to a don&#8217;t-vendor-some-of-your-gems solution where it will use gems from the system if they aren&#8217;t in the bundle. This allows you to pass different incantations to `gem install` for different gems (mysql, pg, etc) and it will use those already built gems when you later do `bundle install`. But that means we&#8217;re back to managing gem installs on all of our different systems in different ways, which was one of the few things that Bundler did significantly better than config.gem!</p>
<p>Our systems developer, Steven Baker, is currently working on re-implimenting a solution to the &#8211;build-options issue, which he first ran by &#8220;Carlhuda&#8221; in hopes that they might include it and we&#8217;re not going down a road that will just end in us playing by ourselves and having to re-impliment our Gemfile or build_options.yml file for whatever solution is, but this brings me to my point:</p>
<p>Rails 3.0, because it relies on Bundler, is not in anyway stable/useable/suggested unless you want to pretty continuously fix/re-impliment/cry yourself to sleep because of Bundler. Carl L. has posted a roadmap which shows at least 2 more revisions as well as closing 20+ currently open issues. I have no idea what the issue velocity is on the project, but to me, it looks like it&#8217;s in the months and not days or weeks before Bundler is going to be stable. And, as with every version before it, there have been major downsides to the implementation, that have forced pretty major <strong>breaking</strong> changes. In other words, every version of bundler is a new experiment (not to mention the various gem management techniques that merb used which were also a source of headaches), and I have little confidence that just slapping 0.9 or 0.10 is going to change that.</p>
<p><strong>Bottom line: A significant piece of Rails 3 is still in the &#8220;spike&#8221; phase, and shows little to no promise that it will become solid enough to trust for _months_.</strong></p>
<p>Please skip the &#8220;Patches are accepted&#8221; (we&#8217;re working on one kthxbye) and &#8220;Why are you even using bundler?&#8221; (troll). I&#8217;m not here to indict or blame anyone, just to report our experience and clarify why I&#8217;ve lost significant confidence in Rails because numerous people have asked.</p>
<p>Sidenote: I&#8217;m putting this at the bottom, because it&#8217;s secondary to the point of the post, but why, precisely, do we *have* to use Bundler to make Rails 3 work? Who made this decision? If it was the same people that wrote Bundler, doesn&#8217;t anyone see a problem with that (NIH)? I&#8217;m assuming there were discussions in the rails-high-council private campfire room at some point, but obviously us peons aren&#8217;t privy to those. Config.gem wasn&#8217;t the easiest thing to use, but I&#8217;ve successfully used it for close to a year with very few issues and had it&#8217;s eccentricities worked out pretty well. To have it completely removed from Rails 3, and replaced by an experiment, seems a bit premature.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=100&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2010/03/08/bundler-oh-the-fail-i-know/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>
	</item>
		<item>
		<title>UX Fail: Colorblindness Round 2</title>
		<link>http://markedaspertinent.wordpress.com/2009/12/12/ux-fail-colorblindness-round-2/</link>
		<comments>http://markedaspertinent.wordpress.com/2009/12/12/ux-fail-colorblindness-round-2/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 19:25:58 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bjclark.me/2009/12/12/ux-fail-colorblindness-round-2/</guid>
		<description><![CDATA[Found another example. Charts/Graphs! I can&#8217;t, in any way, tell which of those lines belong to which label. They both look green to me.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=95&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Found another example. Charts/Graphs!</p>
<p><img alt="" src="http://idisk.me.com/bjclark/Public/Pictures/Skitch/WunderMap_Interactive_Radar___Weather_Stations___Weather_Underground-20091212-112542.jpg" title="W Underground Graph" class="alignleft" width="544" height="445" /></p>
<p>I can&#8217;t, in any way, tell which of those lines belong to which label. They both look green to me.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=95&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2009/12/12/ux-fail-colorblindness-round-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>

		<media:content url="http://idisk.me.com/bjclark/Public/Pictures/Skitch/WunderMap_Interactive_Radar___Weather_Stations___Weather_Underground-20091212-112542.jpg" medium="image">
			<media:title type="html">W Underground Graph</media:title>
		</media:content>
	</item>
		<item>
		<title>Writing &#8220;Scaleable&#8221; JQuery &#8211; Shu</title>
		<link>http://markedaspertinent.wordpress.com/2009/12/01/writing-scaleable-jquery-shu/</link>
		<comments>http://markedaspertinent.wordpress.com/2009/12/01/writing-scaleable-jquery-shu/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 04:41:50 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[scaleable code]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[shuhari]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=86</guid>
		<description><![CDATA[Recently, I&#8217;ve been thinking a lot about what it means to do really great front end development (HTML, Javascript, CSS). And, one of the key issues things I keep hitting upon is writing &#8220;scaleable&#8221; front end code. I use the word scaleable in a couple ways: Writing code well in a way that you could [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=86&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently, I&#8217;ve been thinking a lot about what it means to do really great front end development (HTML, Javascript, CSS). And, one of the key issues things I keep hitting upon is writing &#8220;scaleable&#8221; front end code. I use the word scaleable in a couple ways:</p>
<ol>
<li>Writing code well in a way that you could keep adding developers and they could each increase productivity linearly.</li>
<li>Writing code that will work for increasingly larger sites.</li>
<li>Writing code that is maintainable, testable, and extendable.</li>
</ol>
<p>I know others have thought about this, some people call it &#8220;best practices&#8221;, some people call it frameworks, Yahoo even went as far as to create the YUI family of libraries. I think deep down, most people were trying to think about how to &#8220;scale&#8221; whatever it was they were doing.  This entry is the first in a series of writing jQuery code that &#8220;scales&#8221;.</p>
<p>Another thing I probably need to address before we get started is &#8220;Shu&#8221;. It comes from the Japanese phrase &#8220;<a href="http://en.wikipedia.org/wiki/Shuhari" target="_blank">Shuhari</a>&#8220;, which I learned from Alistair Cockburn and is common in the Agile circles, and &#8220;describes the stages of learning to mastery&#8221;. Once you&#8217;re aware that there are certain levels of mastery of something, you start asking yourself which level you&#8217;re at and what level others are.</p>
<p>JQuery is awesome, and I love it. For along time, I treated javascript as a 2nd class citizen, but I&#8217;ve recently been really digging into it and making it &#8220;scaleable&#8221;.</p>
<p>In Dan Cederholm&#8217;s recent book, he introduces some jQuery that I&#8217;m lumping into the &#8220;Shu&#8221; box (ba-da ching!).<br />
<code><br />
$(document).ready(function(){<br />
$("#loc-adv a").click(function(){<br />
$("#map").slideToggle("slow");<br />
return false;<br />
});<br />
});</code></p>
<p>Now don&#8217;t get me wrong, this code is perfectly acceptable, especially for the situation it&#8217;s presented in (a small, static site, built by 1-2 developers). I&#8217;m all for not complicating things if they don&#8217;t need to be. This code is the simplest thing that could possibly work, and that&#8217;s <em>awesome</em>. However, we&#8217;re talking about scaling javascript up to larger sites, more developers, and maintainable in legacy applications, and there are some things about this code which don&#8217;t make it very scaleable.</p>
<p>First, it&#8217;s not really re-useable. Sure, you could include it in any page that has the `#loc-adv` a link and a map, and it&#8217;s going to work, but what if  you needed multiple maps in one page or had multiple links. All of a sudden, you&#8217;re going to need to repeat yourself, and we don&#8217;t do that.</p>
<p>Second, if you put this right in your page, as it&#8217;s presented in the book, you can&#8217;t use it on other pages without repeating yourself. Maintaining this code could be painful if you put it in more than one page.</p>
<p>Third, the only way this code is going to fire is if you click the link. There&#8217;s no way to call it from other code, or test it, and you&#8217;ll have to attach it to multiple elements if you add another link or some other element that needs to reveal the map.</p>
<p>What if you want to link to the page with the map open? This code won&#8217;t account for that.</p>
<p>I&#8217;m not going to address all these issues in this post. I&#8217;m going to leave that up for the &#8220;Ha&#8221; and &#8220;Ri&#8221; posts. Look for them in a couple days.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=86&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2009/12/01/writing-scaleable-jquery-shu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>
	</item>
		<item>
		<title>UX Fail: Colorblindness</title>
		<link>http://markedaspertinent.wordpress.com/2009/11/11/ux-fail-colorblindness/</link>
		<comments>http://markedaspertinent.wordpress.com/2009/11/11/ux-fail-colorblindness/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 21:34:21 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[UX]]></category>
		<category><![CDATA[colorblindness]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=80</guid>
		<description><![CDATA[According to wikipedia as much as 10% of males (~15 million people in the US) have red-green color blindness.  Why is that important? Well, for me personally, it&#8217;s important because I&#8217;m in that 10%. For a designer, it&#8217;s important because that&#8217;s probably more than the number of people who use, say, Safari and Chrome to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=80&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>According to <a href="http://en.wikipedia.org/wiki/Color_blindness#Prevalence" target="_blank">wikipedia</a> as much as 10% of males (~15 million people in the US) have red-green color blindness.  Why is that important? Well, for me personally, it&#8217;s important because I&#8217;m in that 10%. For a designer, it&#8217;s important because that&#8217;s probably more than the number of people who use, say, Safari and Chrome to browser your site. Do you care if your site works in Safari and Chrome? Do you care if it&#8217;s useable to people with color blindness?</p>
<p><img class="alignright" title="Google Wave Presence" src="http://idisk.me.com/bjclark/Public/Pictures/Skitch/BJ_-_Google_Wave-20091111-130353.jpg" alt="" width="180" height="139" />I was reminded of this when I checked out Google Wave recently. When I signed in, I had 1 contact: the person that invited me. Their presence was shown by either a red or a green dot. Not an icon, but a dot. Not a large dot, a small dot.</p>
<p>So here&#8217;s the problem: I have no clue, litterally none, whether that person is there or not, because I can&#8217;t tell if that&#8217;s red or if that&#8217;s green.</p>
<p>Now, I&#8217;ve had this conversation so many times I can tell you what you&#8217;re thinking. You want to ask me, &#8220;What color is it?&#8221;. I can&#8217;t tell you. They are either green or red, but I don&#8217;t know. In fact, I can&#8217;t even tell if they are the same or different colors. Both of the dots look green, unless I think they are red, then they look red. I know, it doesn&#8217;t make sense. I literally can&#8217;t tell what color they are. I&#8217;m actually red-green-brown color blind, so they could be brown and I&#8217;d have no idea. All I know is: Google, you&#8217;re doing it wrong.</p>
<p>Facebook on the other hand, did it mostly ok. The blue moon is great for away. A green dot for available? That&#8217;s just lazy (and 2 different metaphors).</p>
<p><img class="aligncenter" title="Facebook Chat Presence" src="http://idisk.me.com/bjclark/Public/Pictures/Skitch/Facebook_%7C_Home-20091111-131701.jpg" alt="" width="210" height="284" /></p>
<p>Update:</p>
<p>Here&#8217;s an example of a red/green combo I can differentiate and one I can&#8217;t.</p>
<p><img class="alignnone" title="UX Green/Red" src="http://idisk.me.com/bjclark/Public/Pictures/Skitch/Artwork-20091201-175339.jpg" alt="" width="113" height="165" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=80&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2009/11/11/ux-fail-colorblindness/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>

		<media:content url="http://idisk.me.com/bjclark/Public/Pictures/Skitch/BJ_-_Google_Wave-20091111-130353.jpg" medium="image">
			<media:title type="html">Google Wave Presence</media:title>
		</media:content>

		<media:content url="http://idisk.me.com/bjclark/Public/Pictures/Skitch/Facebook_%7C_Home-20091111-131701.jpg" medium="image">
			<media:title type="html">Facebook Chat Presence</media:title>
		</media:content>

		<media:content url="http://idisk.me.com/bjclark/Public/Pictures/Skitch/Artwork-20091201-175339.jpg" medium="image">
			<media:title type="html">UX Green/Red</media:title>
		</media:content>
	</item>
		<item>
		<title>Twitter Claim Chowder</title>
		<link>http://markedaspertinent.wordpress.com/2009/10/21/twitter-claim-chowder/</link>
		<comments>http://markedaspertinent.wordpress.com/2009/10/21/twitter-claim-chowder/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 01:31:09 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=75</guid>
		<description><![CDATA[Today both Microsoft and Google announced partnerships with Twitter for including tweets in their search results. If I had to guess, I would think they were paying for this data. In other words, Twitter just figured out how to make some money. Remember when Jason Calacanis said he&#8217;d pay $250k to be a &#8220;suggested&#8221; follow [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=75&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today both Microsoft and Google announced partnerships with Twitter for including tweets in their search results. If I had to guess, I would think they were paying for this data. In other words, Twitter just figured out how to make some money.</p>
<p>Remember when <a href="http://www.techcrunch.com/2009/03/12/how-much-is-a-suggested-slot-on-twitter-worth-jason-calacanis-offers-250000/" target="_blank">Jason Calacanis said he&#8217;d pay $250k to be a &#8220;suggested&#8221; follow</a> and TechCrunch said this was how twitter would make money:</p>
<blockquote><p>If other companies feel the same way, sellingthese slots could be a lucrative side business for Twitter. At $120,000 a pop, 20 slots would generate $2.4 million in revenues the first year.</p></blockquote>
<p>And then there was S<a href="http://www.wired.com/techbiz/people/news/2008/08/portfolio_0804" target="_blank">am Gustin on Wired.com on 8/04/08</a> lamenting that waiting to make money was going to hurt them:</p>
<blockquote><p>Stone&#8217;s hesitance to &#8220;monetize&#8221; Twitter echoes that of other major Web 2.0 companies, such as<a style="color:#007ca5;text-decoration:none;outline-style:none;outline-width:initial;outline-color:initial;margin:0;padding:0;" href="http://www.portfolio.com/culture-lifestyle/goods/gadgets/2008/07/16/Facebooks-Impact-on-CEOs">Facebook</a> and YouTube, whose founders have said they&#8217;d build their audience first and <a style="color:#007ca5;text-decoration:none;outline-style:none;outline-width:initial;outline-color:initial;margin:0;padding:0;" href="http://www.portfolio.com/news-markets/top-5/2008/03/26/Capitalizing-on-Social-Networks">find revenue streams later</a>. But those giants have shown that converting eyeballs into money hasn&#8217;t exactly been easy; Facebook has yet to start generating meaningful profit, and Google has said on a number of occasions that it has yet to find the right business model for monetizing YouTube&#8217;s considerable traffic. Twitter, despite some plans Stone has up his sleeve, may very well find itself in the same position.</p></blockquote>
<p><a href="http://www.avc.com/a_vc/2008/01/twitters-busine.html" target="_blank">Remember when Fred Wilson said that Twitter would make money the same way Facebook would</a>:</p>
<blockquote><p>I think you have to look no farther than facebook to see where all of this is headed. They are the Google of social media. They are going to figure it out When they do something that works (becoming a platform for third party apps) others will follow in their wake. When they make a mistake (beacon version one) others will learn from that mistake. I am not saying that twitter is going to monetize exactly the way facebook is going, but I think that&#8217;s a good place to look for inspiration right now.</p></blockquote>
<p>Remember when <a href="http://www.readwriteweb.com/archives/help_twitter_find_a_revenue_model.php" target="_blank">Bernard Lunn (10/15/2008)</a> was complaining because Twitter wouldn&#8217;t tell us how they planned to make money? Oh noes:</p>
<blockquote>
<p style="text-align:left;margin:1em 0;padding:0;"><a style="text-decoration:none;outline-style:none;outline-width:initial;outline-color:initial;color:#cc0000;margin:0;padding:0;" href="http://www.twitter.com/">Twitter</a> is the poster child for the &#8216;scale first, don&#8217;t even think about revenue at launch, monetize much, much later&#8217; model of startup. In the current climate, ventures like that probably won&#8217;t get funded. Which is a shame. Twitter is addictive and fun and even occasionally useful. If anybody can pull this business model off, it will be Twitter. It has scale, seem to be moving mainstream and they&#8217;ve even fixed their reliability issues.</p>
<p style="text-align:left;margin:1em 0;padding:0;">But Twitter won&#8217;t survive if it doesn&#8217;t find a great revenue model. This matters to all of us.</p>
<p style="text-align:left;margin:1em 0;padding:0;">
</blockquote>
<p style="text-align:left;margin:1em 0;padding:0;">So, what now that they know how they are going to make monies?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=75&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2009/10/21/twitter-claim-chowder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>
	</item>
		<item>
		<title>Minimalism &amp; The Simplest Thing That Could Possibly Work</title>
		<link>http://markedaspertinent.wordpress.com/2009/09/15/minimalism-the-simplest-thing-that-could-possibly-work/</link>
		<comments>http://markedaspertinent.wordpress.com/2009/09/15/minimalism-the-simplest-thing-that-could-possibly-work/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 21:09:07 +0000</pubDate>
		<dc:creator>BJ Clark</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[minimalism]]></category>
		<category><![CDATA[product design]]></category>

		<guid isPermaLink="false">http://bjclark.me/?p=58</guid>
		<description><![CDATA[One of the core tenants of Agile/XP/TDD/Getting Real/Lean (etc) is doing the simplest thing that could possibly work. TDD says you should write a test and then only write enough code to make it pass. Lean says you should think about "minimal marketable features". Paul Graham says you should launch just as soon as you have 1 feature that anyone would care about (here and here). Why is this so important? The fact of the matter is that 80% of your users use 20% of your app. That is to say, most people don't care about most of what you have built. So why build it?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=58&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2 style="font-size:1.5em;"><span style="font-weight:normal;font-size:13px;">One of the core tenants of Agile/XP/TDD/Getting Real/Lean (etc) is doing the simplest thing that could possibly work. TDD says you should write a test and then only write enough code to make it pass. Lean says you should think about &#8220;minimal marketable features&#8221;. Paul Graham says you should launch just as soon as you have 1 feature that anyone would care about (<a href="http://news.ycombinator.com/item?id=646194" target="_blank">here</a> and <a href="http://vimeo.com/6584513">here</a>). Why is this so important? The fact of the matter is that 80% of your users use 20% of your app. That is to say, most people don&#8217;t care about most of what you have built. So why build it?</span><a href="http://markedaspertinent.files.wordpress.com/2009/09/gist_dashboard.png"></a></h2>
<p>It turns out it&#8217;s really hard to know what people want before you make it. There are certainly ways to mitigate it, user observation testing, paper prototyping, but sometimes these things end up taking more time than just doing <em>the simplest thing that could possibly work</em>. In the end, you just need to build it, get it out there and see if anyone cares.</p>
<p>Well, the other side of this coin is that it&#8217;s also really hard to limit yourself to doing the simplest thing that could possibly work. You have to say &#8220;no&#8221; to many things and many people, including yourself, and people just aren&#8217;t good at that. No one wants to be the guy that always &#8220;puts down others ideas&#8221;.</p>
<h2>Helvetification</h2>
<p><img class="alignright size-medium wp-image-62" title="Helvetireader" src="http://markedaspertinent.files.wordpress.com/2009/09/screen.jpg?w=300&#038;h=197" alt="Helvetireader" width="300" height="197" /></p>
<p>I&#8217;m very happy to be seeing a new trend in web apps, minimalism. I can only hope, that it continues to pervade all corners of software, both web based and desktop based. The tip of the spear seems to be the &#8220;helvetification&#8221; of popular apps. Some examples:</p>
<ul>
<li><a href="http://helvetireader.com/" target="_blank">helvetireader</a></li>
<li><a href="http://www.iamadtaylor.com/helvetical/" target="_blank">helvetical</a></li>
<li><a href="http://www.josefrichter.com/helvetwitter/" target="_blank">helvetwitter</a></li>
<li><a href="http://www.josefrichter.com/helvetimail/" target="_blank">helvetimail</a></li>
</ul>
<h2><span style="font-weight:normal;font-size:13px;">So what is so interesting about some new skins for some web apps? Is it just that I really like Helvetica? Well, I do like Helvetica, but the really interesting thing about these skins is not that they change the fonts and colors, it&#8217;s that they actually hide or remove significant parts of the apps. I&#8217;ve been using Helvetireader for probably over a year now, and I can&#8217;t stand to use google reader without it. I *hate* what GReader has become. It&#8217;s got tons of stuff I could care less about (probably say, 80% of it&#8217;s functionality). Starred Items? I use delicious. Trends? Really? And my favorite &#8220;Browse for stuff&#8221;. Uh, what? Isn&#8217;t that what using the internet is? What if Google Reader was the simplest thing that could possibly work? I think it would look like Helvetireader.</span></h2>
<h2 style="font-size:1.5em;">But Wait, There&#8217;s more!</h2>
<p>So how does a couple skins for a couple web apps me that this is a trend? Well my friends, I didn&#8217;t think it did until I saw this:</p>
<p><a href="http://markedaspertinent.files.wordpress.com/2009/09/lite-facebook-com.jpg"><img class="aligncenter size-full wp-image-63" title="lite.facebook.com" src="http://markedaspertinent.files.wordpress.com/2009/09/lite-facebook-com.jpg?w=630&#038;h=628" alt="lite.facebook.com" width="630" height="628" /></a></p>
<p>What is this? It looks like facebook, but they&#8217;ve gotten rid of all the crap I don&#8217;t care about. Lite.Facebook.com is supposed to be a version for &#8220;low bandwidth users&#8221;, but boy it sure does look like a minimal version of Facebook to me, and I like it. Compare it to say, myspace, and we&#8217;re talking <a href="http://images.google.com/images?client=safari&amp;rls=en&amp;q=Donald+Judd&amp;oe=UTF-8&amp;um=1&amp;ie=UTF-8&amp;sa=X&amp;oi=image_result_group&amp;ct=title&amp;resnum=1" target="_blank">Donald Judd</a> levels of minimalism. And have you seen an Amazon Kindle? What about <a href="http://lab.arc90.com/experiments/readability/" target="_blank">Readability from Arc90</a> (which happens to be <a href="http://search.twitter.com/search?q=readability+arc90" target="_blank">really popular</a>)? All of a sudden, we&#8217;re starting to get into trend categories, and I haven&#8217;t even mentioned how minimalism is the entire strategy of Apple, 37Signals, Twitter, and Tumblr.</p>
<h2>But Features Are Good!</h2>
<h2 style="font-size:1.5em;"><a href="http://markedaspertinent.files.wordpress.com/2009/09/gist_dashboard.png"><img style="float:right;border:0 initial initial;" title="Gist Dashboard" src="http://markedaspertinent.files.wordpress.com/2009/09/gist_dashboard.png?w=300&#038;h=228" alt="Gist Dashboard" width="300" height="228" /></a></h2>
<p>Well, features can be good, but they can also be terrible. Recently, an interesting sounding website called &#8220;Gist&#8221; launched. What does Gist do? &#8220;Gist is designed to help the professional email user who often opens up their inbox only to feel like it&#8217;s helplessly out of control&#8221; (via <a href="http://www.readwriteweb.com/archives/personal_relationship_manager_gist_launches_to_public.php">ReadWriteWeb</a>).  When I think of designing a site that is supposed to &#8220;take control&#8221; of something which is in chaos, I think of clean, minimal, organization. I would think that this tool would help me get to inbox zero, where there&#8217;s nothing in my email inbox but whitespace and the freedom to actually get my work done. So when I see screen shots like the one to the right, I can&#8217;t but help to think, &#8220;Is this really the simplest thing that could possibly work?&#8221;  This is a site that&#8217;s coming out of beta today. Not something that has been around for a decade. How would anyone know where to look, or what any of those boxes do?</p>
<h2>Minimalism != the simplest thing that could possibly work</h2>
<p>I could give you a bunch of definitions from famous artists and architects about minimalism, but I&#8217;m going to just say that minimalism isn&#8217;t the simplest thing that could possibly work, it&#8217;s when you <em>optimize</em> <em>tsttcpw</em>. The important point here is that it&#8217;s important here is that if you do more than <em>tsttcpw</em>, then you&#8217;re much less likely to rip out the parts that no one cares about. And I hope it&#8217;s apparent that, people <strong>want </strong>you to remove this crap. They don&#8217;t want more features, they want better experiences. They want that 20% of your application to be 100% of your focus, and they want the 20% to get better, not slowly become 18%, then 12%, then 10% because you keep adding crap they don&#8217;t care about. Minimalism, whether it&#8217;s in design, or any thing else, is taking that 20% and making it 100%.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/markedaspertinent.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/markedaspertinent.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/markedaspertinent.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/markedaspertinent.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/markedaspertinent.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/markedaspertinent.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/markedaspertinent.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/markedaspertinent.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/markedaspertinent.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/markedaspertinent.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/markedaspertinent.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/markedaspertinent.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/markedaspertinent.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/markedaspertinent.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=markedaspertinent.wordpress.com&amp;blog=6136521&amp;post=58&amp;subd=markedaspertinent&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://markedaspertinent.wordpress.com/2009/09/15/minimalism-the-simplest-thing-that-could-possibly-work/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a40808433170b81d6cbc22d5565e0b61?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">BJ Clark</media:title>
		</media:content>

		<media:content url="http://markedaspertinent.files.wordpress.com/2009/09/screen.jpg?w=300" medium="image">
			<media:title type="html">Helvetireader</media:title>
		</media:content>

		<media:content url="http://markedaspertinent.files.wordpress.com/2009/09/lite-facebook-com.jpg" medium="image">
			<media:title type="html">lite.facebook.com</media:title>
		</media:content>

		<media:content url="http://markedaspertinent.files.wordpress.com/2009/09/gist_dashboard.png?w=300" medium="image">
			<media:title type="html">Gist Dashboard</media:title>
		</media:content>
	</item>
	</channel>
</rss>
