<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel><generator>http://textpattern.com/?v=4.4.1</generator>
<title>graphicPUSH - news</title>
<link>http://graphicpush.com/</link>

<description>graphicPUSH is a design site that discusses print design, web development, in-house creative and the business of design.</description>
<pubDate>Fri, 18 May 2012 20:47:16 GMT</pubDate>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/graphicpush" /><feedburner:info uri="graphicpush" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Providing a Front-End API for Form Design</title>
<description>
<![CDATA[<p>As a website grows, form design can rapidly become a convoluted process of <span class="caps">CSS</span> hacks and overwrites. Building a scalable, object-oriented framework from the beginning provides developers and authors a simple <span class="caps">API</span> for building their own forms that adhere to style guidelines and development guidelines.</p>]]>
</description>
<content:encoded><![CDATA[
<p>There are a lot of advantages with crafting logical, object-oriented <span class="caps">CSS</span>, but few are as powerful as the ability to provide a plug-and-play <span class="caps">API</span> to writers and developers. </p>

	<p>The concept is similar to a programmatic <span class="caps">API</span>. Through class names, design options and functionality extensions are exposed to the page author, providing an arsenal of sanctioned toggles they can flip on and off to control how a widget is displayed and operates on their page. This includes colors, width/height, sub-element positioning, animations, even interactive functionality.</p>

	<p>The <span class="caps">API</span> can be set at the page level, but is most useful on the &#8220;block&#8221; level: that is, a chunk of something that needs special attention. The easiest example would be forms, but tables and video/audio components are also candidates.</p>

	<h2>Macro Options for Forms</h2>

	<p>Styling forms is never an insignificant amount of work. When a large site accumulates forms in different positions with different fields doing different things (subscriptions, support, lead generation, surveys, yada yada), the tightly wound <span class="caps">CSS</span> you crafted for your prototype unravels into a bramble of barbed wire as custom style upon custom style is thrown on top.</p>

	<p>Content developers are a finicky bunch. They want options. They should have options. By building our forms <span class="caps">API</span> from the ground up, we can &#8220;expose&#8221; a core set of premeditated options to avoid later <a href="http://oli.jp/img/2011/important-inheritance.png">importanting all the things</a>. Global form options might include:</p>

	<ul>
		<li><strong>Form color</strong><br />
[options: <em>color-white, color-red, color-blue, color-green</em>; default: <em>color-white</em>]</li>
		<li><strong>Form width</strong><br />
[options: any grid class (i.e. c7, c10, c12); default: <em>100%</em>]</li>
		<li><strong>Label positioning</strong><br />
[options: <em>labels-top, labels-left, labels-inline</em>; default: <em>labels-top</em>]</li>
		<li><strong>Submit functionality</strong><br />
[options: traditional post to <span class="caps">URL</span>, <em>submit-ajax</em>; default: traditional post to <span class="caps">URL</span>]</li>
	</ul>

	<h3>Example 1</h3>

	<p>So calling a form with no explicit options called out would produce a &#8220;default&#8221; design &#8212; 100% width, labels on top, plain background &#8212; where data would be posted to a <span class="caps">URL</span> old school style:</p>

<pre class="brush: xml">
<form class="form">
<!-- fields and stuff -->
</form>
 </pre>

	<p><img src="http://graphicpush.com/images/24.png" alt="Forms Example 1: All API options as default" width="500" height="393" /></p>

	<h3>Example 2</h3>

	<p>By contrast, the following <span class="caps">HTML</span> shows a variety of options in place, deviating from the default. This would produce a design 10 grid columns wide with a red aesthetic and labels floated to the left, and where the submission was caught by JavaScript instead of loading a new <span class="caps">URL</span>:</p>

<pre class="brush: xml">
<form class="form color-red labels-left submit-ajax c10">
<!-- fields and stuff -->
</form>
 </pre>

	<p><img src="http://graphicpush.com/images/25.png" alt="Forms API, Example 2, Red Background with labels on left" width="500" height="331" /></p>

	<h3>Example 3</h3>

	<p>And this <span class="caps">HTML</span> would produce a form six grid columns wide, with a blue motif, with labels inline to the fields:</p>

<pre class="brush: xml">
<form class="form color-blue labels-inline c6">
<!-- fields and stuff -->
</form>
 </pre>

	<p><img src="http://graphicpush.com/images/26.png" alt="Forms API, Example 3, blue background with labels inset" width="500" height="330" /></p>

	<p>This flexibility gives developers and content authors the flexibility to dictate form design within an established pattern <em>without</em> breaking broader style standards and without getting hands dirty in code. </p>

	<h2>Micro Options for Forms</h2>

	<p>But what about more discrete options, like controlling highly specific form types? Survey questions that require a numbered rating system are a good example: they require unique styles, but still need to be easily implemented. We extend the <span class="caps">API</span> downward from macro form options to group-level options.</p>

	<p>We&#8217;ll wrap a <code>fieldset</code> with a class of &#8220;numbered-questions&#8221; to explicitly define proper formatting for the <code>&lt;ol&gt;</code> element. Underneath that, we&#8217;ll establish options for each question. Since these are survey questions, we want to allow a rating scale of one to three, or one to five, or one to ten.</p>

	<ul>
		<li><strong>Scale length</strong><br />
[options: <em>one2three, one2five, one2ten</em>; default: none]</li>
	</ul>

	<p>Example:</p>

<pre class="brush: xml">
<form class="form color-blue">
  <!-- standard fields -->
  <fieldset>
    <p class="field">
      <label for="name">Name</label>
      <input type="text" id="name">
    </p>
  </fieldset>
  <!-- survey questions -->
  <fieldset class="color-green numbered-questions survey">
    <legend>Questions</legend>
    <ol>
      <li class="one2five">
        <p class="q">How would you rate this article?</p>
        <label for="q1-a1">1</label>
        <input type="radio" id="q1-a1" name="q1">
        <label for="q1-a2">2</label>
        <input type="radio" id="q1-a2">
        <label for="q1-a3">3</label>
        <input type="radio" id="q1-a3">
        <label for="q1-a4">4</label>
        <input type="radio" id="q1-a4">
        <label for="q1-a5">5</label>
        <input type="radio" id="q1-a5">
      </li>
      <!-- more questions -->
    </ol>
  </fieldset>
</form>
 </pre>

	<p>In summary: We have a form running full width with a blue background. Inside is fieldset wrapping a series of survey questions. We change the color, dictate the questions should be numbered, announce that the radio buttons should be styled as a survey, and that the rating goes from one to five. Something like this:</p>

	<p><img src="http://graphicpush.com/images/27.png" alt="Forms API, example 5, adding a survey question" width="500" height="260" /></p>

	<h2>Modularity</h2>

	<p>The true advantage of this approach lies in the modularity of the rules. We can mix and match colors and layout types as well as blend in more specialized options like survey questions. Example:</p>

<pre class="brush: xml">
<form class="form">
  <!-- standard fields -->
  <fieldset class="color-red c10 labels-left">
    <p class="field">
      <label for="name">Name</label>
      <input type="text" id="name">
    </p>
  </fieldset>
  <fieldset class="color-blue c7">
    <p class="field">
      <label for="email">Email</label>
      <input type="email" id="email">
    </p>
  </fieldset>
  <!-- survey questions -->
  <fieldset class="color-green numbered-questions survey">
    <legend>Questions</legend>
    <ol>
      <li class="one2five">
        <p class="q">How would you rate this article?</p>
        <label for="q1-a1">1</label>
        <input type="radio" id="q1-a1" name="q1">
        <label for="q1-a2">2</label>
        <input type="radio" id="q1-a2">
        <label for="q1-a3">3</label>
        <input type="radio" id="q1-a3">
        <label for="q1-a4">4</label>
        <input type="radio" id="q1-a4">
        <label for="q1-a5">5</label>
        <input type="radio" id="q1-a5">
      </li>
      <!-- more questions -->
    </ol>
  </fieldset>
</form>
 </pre>

	<p><img src="http://graphicpush.com/images/28.png" alt="Forms API, example 5, showing different options" width="500" height="382" /></p>

	<p>We&#8217;re extending the semantic value of the <code>fieldset</code> tag beyond content (that is, the logical clustering of input fields) into the visual presentation.</p>

	<p>By approaching complicated <span class="caps">CSS</span> projects like forms as modular frameworks that invite usage rather than opaque, inextensible monoliths that can&#8217;t budge without complicated workarounds, developers &#8212; both of the content type and of the code type &#8212; are more likely to play by the rules. This brings faster development, less hacks, less code bloat, and stronger allegiance to visual brand standards.</p>
<img src="http://feeds.feedburner.com/~r/graphicpush/~4/lgqHVNsCEYQ" height="1" width="1"/>]]></content:encoded>
<link>http://feedproxy.google.com/~r/graphicpush/~3/lgqHVNsCEYQ/a-front-end-api</link>
<pubDate>Tue, 08 May 2012 13:01:21 GMT</pubDate>
<dc:creator>Kevin Potts</dc:creator>
<guid isPermaLink="false">tag:graphicpush.com,2012-04-10:dbca1f9491b6a357110eb015751d0b7a/635349bf6677b04e93274035ce9fe461</guid>

<category>forms</category>
<category>css</category>
<category>api</category>
<category>oocss</category>
<category>front-end</category>
<feedburner:origLink>http://graphicpush.com/a-front-end-api</feedburner:origLink></item>
<item><title>Redefining the "C" in "CSS"</title>
<description>
<![CDATA[<p>In changing my habits around writing <span class="caps">CSS</span>, I&#8217;ve slowly adopted an object-oriented approach that outright rejects the &#8220;cascade&#8221; part of &#8220;cascading style sheets&#8221;.</p>]]>
</description>
<content:encoded><![CDATA[
<p>Over the past two years, I&#8217;ve been slowing transforming the way I write <span class="caps">CSS</span>. When I first started experimenting in 2003ish, there were no best practices around performance and maintenance because no one had scaled <span class="caps">CSS</span> to a true application level of, say, Facebook. So when you wanted to style an element, it was a game of inefficient hyper-qualification:</p>

<pre class="brush: css">
#main #left-column .calendar h4 { color: red; }
 </pre>

	<p>This style of writing <span class="caps">CSS</span> is a road that leads to many dark places, namely style repetition, file size bloat, reliance on the cascade to solve poorly thought-through models and the temptation to <a href="http://oli.jp/img/2011/important-inheritance.png">!important everything</a>. When I started a new site, I simply started writing <span class="caps">CSS</span> in the natural order of its appearance. So files looked like this:</p>

<pre class="brush: css">
#main { some: styles; }
#main #left-column { more: styles; }
#main #left-column .calendar { even more: styles; }
#main #left-column .calendar h4 { you: gotta be kidding me; }
 </pre>

	<p>And then further down the file, years later, I would add this:</p>

<pre class="brush: css">
#main #left-column .widget h4 { please: work; }
 </pre>

	<p>This is all rubbish. My bad habits started from the get-go, and it&#8217;s taken a long time to unravel them. Here&#8217;s my current thinking:</p>

	<ol>
		<li>If I&#8217;m relying on the cascade &#8212; at all &#8212; to dictate how an element is styled, I&#8217;m doing it wrong.</li>
		<li>If I&#8217;m using an #id in the element path, I&#8217;m doing it wrong.</li>
		<li>If I&#8217;m using <code>!important</code>, I&#8217;m doing it wrong.</li>
		<li>If there are more than three levels in the element path, I&#8217;m doing it wrong.</li>
	</ol>

	<p>I&#8217;ve been thinking about #1 specifically for awhile.</p>

	<p>In the Old Model, I would build out expansive, detailed styles for each component, so a button in a column would have styles duplicative of a button in the primary contact form: background-color, text-align, etc. In the new model, elements are built <em>up</em> with classes, so the styles are cumulative. Simplified example:</p>

<pre class="brush: css">
.button { border-radius, box-shadow, border, basic typography }
.major { background: obnoxious, font-size: huge }
.minor { background: subtle, font-size: small; }
 </pre>

	<p>The <span class="caps">HTML</span> would be something like:</p>

<pre class="brush: xml">
bc. <input type="submit" value="Eat me" class="button major">
 </pre>

	<p>These button styles could also be applied to an anchor element, or something like a <code>&lt;span&gt;</code> that&#8217;s being used as a pseudo-link by JavaScript.</p>

	<p>By creating class-based rules that are independent of <span class="caps">DOM</span> context, we have a style sheet where every rule could be shuffled into a random order and it would not affect the browser&#8217;s rendering of an <span class="caps">HTML</span> document.</p>

	<p>This is easily tested by writing <span class="caps">CSS</span> upside down: write your freshest rules at the beginning of the file, not the end. Building re-usable <span class="caps">CSS</span> objects against the gravity of the cascade provides instant visibility to cascade conflicts; if a new rule at the top isn&#8217;t working, you know you have something further down that is competing. Object-orientation becomes encouraged, and bugs are immediately squashed. After new rules are vetted, they can be moved to the appropriate location in the <span class="caps">CSS</span> file.</p>

	<p>Object-oriented <span class="caps">CSS</span> by its nature does not need the cascade. Thus I&#8217;ve started to rethink the &#8220;C&#8221; in &#8220;cascading style sheets&#8221;. I&#8217;m not 100% sure what the word is, but something like cumulative, compiled, cooperative, collated or concerted would all work nicely. I don&#8217;t expect this to catch on, but it has helped me focus on crafting highly efficient and modular rules that add up to something greater instead of heavy rules that squabble with each other and require intervention to untangle.</p>
<img src="http://feeds.feedburner.com/~r/graphicpush/~4/2LZxjZaARlc" height="1" width="1"/>]]></content:encoded>
<link>http://feedproxy.google.com/~r/graphicpush/~3/2LZxjZaARlc/redefining-the-c-in-css</link>
<pubDate>Thu, 15 Mar 2012 12:29:34 GMT</pubDate>
<dc:creator>Kevin Potts</dc:creator>
<guid isPermaLink="false">tag:graphicpush.com,2012-03-15:dbca1f9491b6a357110eb015751d0b7a/23b18dcf5c84ab962e7eb7d0c22237b2</guid>

<category>css</category>
<category>oocss</category>
<category>cascade</category>
<feedburner:origLink>http://graphicpush.com/redefining-the-c-in-css</feedburner:origLink></item>
<item><title>Resurrection of Sound</title>
<description>
<![CDATA[<p>Sick of crappy sound on a crappy Dell laptop, the wife and I went out and spent entirely too much money on a sound system that pumps up the jams. Now music listening is an experience all its own.</p>]]>
</description>
<content:encoded><![CDATA[
<p>About three months ago, I was listening to <a href="http://www.amazon.com/Boxer/dp/B000S5BUXI/ref=sr_shvl_album_2?ie=UTF8&amp;qid=1330691523&amp;sr=301-2">The National&#8217;s <em>Boxer</em></a> on my laptop speakers while working at my kitchen table. It struck me that despite pretty much fawning over every breath and twang in the album, I had never actually heard it properly because the tinny, caustic little laptop tweeters and the unsatisfying iPod earbuds were decimating the quality of the music.</p>

	<h2>Rewind</h2>

	<p>A decade ago (longer?), I worked at an audio equipment store, moonlighted as a club DJ, had just finished a stint as a college radio DJ, was running live sound for jazz and hip hop events, spent almost every free penny on music <a href="http://www.visitphilly.com/shopping/philadelphia/south-street/">here</a> and <a href="http://www.prex.com/">here</a>, and was working on multiple music projects which eventually had releases in the US, Germany and France. I was <em>obsessed</em> with sound. I nerded so hardcore on audio that my current affection for web technology sometimes feels like a cheap rebound affair.</p>

	<p>Over the past ten years, the quality of my sound system has gone downhill faster than a rogue shopping cart. I sold most of my DJ equipment, all of my rack-mounted gear, my best speakers, half of my vinyl, all of my component equipment. Even my fantastic <a href="http://www.echoaudio.com/Products/Discontinued/Gina24/index.php">Gina24</a> sits in a closet. My CDs had been ripped; my vinyl was collecting dust. Quality was kicked to the curb by the greasy landlord of convenience.</p>

	<p>And 10 years later, I was left sitting at the kitchen table, suddenly aware of the filters of compression and shit circuitry through which my music was being gutted. From a history of audiophilish obsession to complacency with a Dell D810&#8217;s &#8220;sound system&#8221;. A long fall indeed.</p>

	<p>Life is too short for listening to music on a Dell D810.</p>

	<h2>The Basics</h2>

	<p>The only blessing about living in the god-forsaken state of Kansas is that our remote family just send us checks for Christmas. So me and the wife took that (and some personal investment) and compiled a sound system that does proper justice to music. What we&#8217;ve started with:</p>

	<ul>
		<li><a href="http://magnepan.com/model_MG_12">Magnepan MG12 speakers.</a> These are planar speakers, so they aren&#8217;t a traditional tweeter/woofer box. They stand about 4.5 feet high, but only about two inches deep; they look like something right out of Space Odyssey 2001. But <em>holy shit</em> do they sound amazing. They are utterly transparent; bad records sound bad, great records sound mind-blowingly good.</li>
		<li><a href="http://www.cambridgeaudio.com/summary.php?PID=292&amp;Title=Azur+840A+%28Version+2%29+Class+XD+amplifier">Cambridge Audio Azur 840A Integrated Amp.</a> Even brand new, this had a big warm sound that delivered the sauce. A perfect complement to the Magnepans.</li>
		<li><a href="http://www.cambridgeaudio.com/summary.php?PID=30&amp;Title=Azur+640C">Cambridge Audio Azur 640c CD player.</a> You think it&#8217;s weird to spend any kind of money on a decent CD player, and then you hear the difference, and suddenly there isn&#8217;t even a choice.</li>
		<li><a href="http://nadelectronics.com/products/made-for-ipod/NAD-IPD-2-Dock-for-iPod"><span class="caps">NAD</span> <span class="caps">IPD</span> 2 iPod Dock.</a> This device uses the proper line-level output of an iPod so you don&#8217;t have to mess around with the headphone jack. Comes with a sweet remote too.</li>
	</ul>

	<p>Add 50&#8217; of speaker wire and some <span class="caps">RCA</span> cables from <a href="http://www.bluejeanscable.com/">Blue Jeans</a>, and the final system plays techno with enough punch to stop your heart and Adele loud enough to break the windows and jazz clearly enough to hear not just the instruments but the physical acoustics of the space in which they were recorded.</p>

	<h2>The Vinyl</h2>

	<p><img src="http://distilleryimage5.instagram.com/003dd0ac646211e19896123138142014_7.jpg" class="forcefit" alt="LP box"></p>

	<p>I&#8217;m a total slut for vinyl. If I were Catholic, it would be part of my weekly confessional. So I was pretty stoked to hook up my <a href="http://www.vinylengine.com/library/vestax/pdx-d3.shtml">Vestax d3 turntable</a> after 12 years in a box. It&#8217;s ugly as sin but built like a tank, and with a bit of cleaning and a brand new Stanton needle, we were partying like it was 1999.</p>

	<p>Acquiring new vinyl is the polar opposite of buying MP3s. Records are a visceral, physical experience: the act of flipping through bins at a record store, the pealing off the cellophane, the weight of the wax, the massive full-color art and elaborate packaging, the <em>feel</em> of the needle touching down. I can&#8217;t justify the cost of records other than they bring more satisfaction.</p>

	<p>Because today&#8217;s artists and labels treat LPs as the premium way to consume their product, the quality of the packaging, printing and vinyl is ten-fold better than the mass-produced crap of the 70s/80s.</p>

	<h2>Next</h2>

	<p>One day, I would love to have a true audiophile quality turntable with a proper pre-amp, but I think I&#8217;m married to the Vestax for another 12 years. (Seriously, you would need a shotgun and a pentagram painted in blood to hurt this thing.) Also maybe some video components if I ever start to care about TV and movies.</p>

	<p>For now, though, I just need to find more storage for my records.</p>
<img src="http://feeds.feedburner.com/~r/graphicpush/~4/HzhM95lXV3I" height="1" width="1"/>]]></content:encoded>
<link>http://feedproxy.google.com/~r/graphicpush/~3/HzhM95lXV3I/resurrection-of-sound</link>
<pubDate>Fri, 02 Mar 2012 12:42:12 GMT</pubDate>
<dc:creator>Kevin Potts</dc:creator>
<guid isPermaLink="false">tag:graphicpush.com,2012-01-21:dbca1f9491b6a357110eb015751d0b7a/716bde467dc6a47e3c09b79005d5c0b5</guid>

<category>sound</category>
<category>music</category>
<category>vinyl</category>
<category>records</category>
<category>audiophile</category>
<feedburner:origLink>http://graphicpush.com/resurrection-of-sound</feedburner:origLink></item>
<item><title>4 AM</title>
<description>
<![CDATA[<p>Sometimes, the most debilitating nightmares are the most effective reminders.</p>]]>
</description>
<content:encoded><![CDATA[
<p>It&#8217;s 4 AM, Monday morning. I&#8217;m sitting at my kitchen table, fingers still stiff from sleep. It&#8217;s the dead quiet part of night; the only sounds are the soft gurgling of the refrigerator and the baritone buzz of the lamp above me. No cars drive by, no dogs bark. Next to me, coffee steams and stinks. It tastes terrible.</p>

	<p>About an hour ago, I woke up feverishly half-dreaming, half-imagining driving off a bridge and becoming locked underneath an ice floe while everyone in the car drowned and I was the only one who could get out. It was painted with a nauseous vividness. I could <em>feel</em> the ice water burning my nostrils and numbing my fingers.</p>

	<p>Several times a week, I wake up surging from the kind of paranoid fears that are so subversive, and so depleting, that they only come creeping around in the sickest hours. Most of the time, I can shut my eyes and will them back to the black through the weight of sleep, and in the morning, I&#8217;ve forgotten. But sometimes, my eyes lock open in a zombie state, the fear grips, and the only way to kill it is to abandon the bed altogether and force my brain to shift into real-world gear by coming downstairs to the kitchen table.</p>

	<p>These 4 AM panic attacks are common, and stressful. I have been in car accidents where people died, and that sickening crunch of metal and suffocating stench of airbag are central plot elements to almost every nightmare. The dreams are always about the people I love. They get worse with age.</p>

	<p>In the real world, the one that starts around 8 AM, everything is fine. Marriage is happy, kids are healthy, job is pretty solid. There&#8217;s a lot of love in my house. I don&#8217;t take this for granted, but I am always afraid I do; always, somewhere deep in a shadowed cavity in my cranium, is a persistent whisper: &#8220;Enjoy it while it lasts.&#8221;</p>

	<p>I have a plan, but I don&#8217;t know my future. My wife and I could spend the next 50 years together and fade into the sunset like the sappiest Nicolas Sparks plot. My kids could grow up to be the next Mia Hamm, or the next great president, or the next Adele. We could retire in a house overlooking the Atlantic ocean, and host awesome Thanksgivings, and have a dozen grandkids to spoil. My life is not perfect, but I still want it to last forever.</p>

	<p>This is why I am thankful for the 4 AM states of cold-sweat panic. Despite the mental ulcers and debilitating lack of sleep, they cast a sharp contrast to reality, and every morning, when the rest of the house wakes up, I am reminded not to take a second afterward for granted.</p>
<img src="http://feeds.feedburner.com/~r/graphicpush/~4/LXsgcAUXiX4" height="1" width="1"/>]]></content:encoded>
<link>http://feedproxy.google.com/~r/graphicpush/~3/LXsgcAUXiX4/4-am</link>
<pubDate>Mon, 20 Feb 2012 11:56:05 GMT</pubDate>
<dc:creator>Kevin Potts</dc:creator>
<guid isPermaLink="false">tag:graphicpush.com,2012-02-20:dbca1f9491b6a357110eb015751d0b7a/0b2d5f4d9b46c1cd66f8bd1136404baf</guid>

<category>dreams</category>
<category>reality</category>
<feedburner:origLink>http://graphicpush.com/4-am</feedburner:origLink></item>
<item><title>2011 Reading Recap</title>
<description>
<![CDATA[<p>Another year, another batch of great reading. Web nerdery was dominated by <span class="caps">ALA</span> books; next year, it won&#8217;t be. Far more success was found in fiction: I read four awesome books that I&#8217;d recommend to anyone.</p>]]>
</description>
<content:encoded><![CDATA[
<h2>Web Design/Development</h2>

	<ol>
		<li><a href="http://easy-readers.net/books/adaptive-web-design/">Adaptive Web Design</a> (Aaron Gustafson)<br />
This is a book about principals and philosophy, not code &#8212; think kitchen design versus recipes. To that end, it&#8217;s very good. The writing is crisp and paced, and the message is correct. But there&#8217;s nothing new here: Aaron waxes on about fluid layouts, progressive enhancement, responsiveness, adaptability &#8212; stuff we&#8217;ve read in a 100 blog posts.</li>
		<li><a href="http://www.abookapart.com/products/responsive-web-design">Responsive Web Design</a> (Ethan Marcotte)<br />
This book is exactly what you expect: an expanded treatise on the original <span class="caps">ALA</span> article. The material is good, but there is not enough. Ethan walks through the development of a basic layout, but there&#8217;s nothing about complex grid systems, data tables, or tactics for approaching info-dense layouts like shopping carts. Some might argue &#8220;this is beyond the scope of an <span class="caps">ALA</span> book&#8221;; I argue that this deeper dive is exactly what we needed.</li>
		<li><a href="http://www.abookapart.com/products/the-elements-of-content-strategy">The Elements of Content Strategy</a> (Erin Kissane)<br />
I wanted so bad to love this book. Erin is an amazing writer, and her articles are to be savored. But this book, even though the writing is far and away the best of the <span class="caps">ABA</span> series, is another &#8220;philosophy&#8221; book: the why is richly explained, but the how is anemic. Content strategy means 100 things to 50 people, and in the end, that&#8217;s the problem: a topic so murky needs powerful voices and bright maps to guide us. And perhaps more than a few dozen pages.</li>
		<li><a href="http://www.abookapart.com/products/mobile-first">Mobile First</a> (Luke Wroblewski)<br />
Once you get past the obligatory &#8220;what does it all mean?&#8221; chapters, Luke lays a foundation for approaching web development from the bottom up: building modules first, independent of layout, and then layering in structural rules once complete. He gives a few tidbits on designing for mobile interfaces (positioning of navigation, for instance), and there are actual code examples to reinforce the message. Overall: the best of the <span class="caps">ABA</span> batch this year.</li>
	</ol>

	<h2>Other Nonfiction</h2>

	<ol>
		<li><a href="http://www.duarte.com/books">Resonate</a> (Nancy Duerte)<br />
A beautiful illustrated guide of visual storytelling via presentations. It covers pacing, tone, infographics, illustrations and more, all with fantastic examples. Stupid people would call this &#8220;a PowerPoint book&#8221;, but it&#8217;s so much more than that.</li>
	</ol>

	<h2>Fiction</h2>

	<ol>
		<li><a href="http://www.amazon.com/Brave-New-World-Aldous-Huxley/dp/0060850523/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1325854115&amp;sr=1-1">Brave New World</a> (Aldous Huxley)<br />
This is a story about the future written two generations ago. Huxley paints a picture of a &#8220;Utopian&#8221; society full of rigid bio-engineering, flying cars and frequent emotionless sex, and what happens when it crashes headlong into a &#8220;primitive&#8221; society with actual morals. The truly unsettling part is how close something written in 1932 &#8212; something that was considered &#8220;ridiculous&#8221; at the time &#8212; comes to life in 2012. (As a side note, I judged this book entirely by the cover: kudos to Harper Perennial for <a href="http://bookcoverarchive.com/book/brave_new_world">awesome art direction</a>.)</li>
		<li><a href="http://www.amazon.com/Confederacy-Dunces-John-Kennedy-Toole/dp/0802130208/ref=sr_1_1?ie=UTF8&amp;qid=1325853832&amp;sr=8-1">A Confederacy of Dunces</a> (John Kennedy Toole)<br />
If this is classic literature, shoot me in the head.</li>
		<li><a href="http://www.amazon.com/Heart-Darkness-Norton-Critical-Editions/dp/0393926362/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1264348043&amp;sr=8-2">Heart of Darkness</a><br />
Joseph Conrad, in only 200 or so pages, paints a bleak and soul-shivering landscape of the African ivory trade 100 years ago. At one point, he describes he is most afraid of the natives because they are <em>not</em> inhuman, that he recognizes something primal within himself through their wild looks and ceremonies. The withering, unapologetic racism is tough to swallow: <em>Heart of Darkness</em> is aptly named.</li>
		<li><a href="http://www.amazon.com/Meaning-Night-Confession-Michael-Cox/dp/0393330346/ref=sr_1_1?ie=UTF8&amp;qid=1325855359&amp;sr=8-1">The Meaning of Night: A Confession</a> (Michael Cox)<br />
Michael Cox&#8217;s opus, this is Victorian England at its darkest: murder, intrigue, opium dens, class division. The story itself is sprawling, full of character and characters; the backdrop however &#8212; the sheer detail of the city and how life was conducted day by day &#8212; is what makes this book sing. The writing falls somewhere between dark Dickens and accessible Poe: in other words, pitch-perfect. (The opening line is one of the best ever: &#8220;After killing the red-haired man, I took myself off to Quinn’s for an oyster supper.”) Highly recommended to anyone who wants to immerse themselves in <em>story</em>.</li>
		<li><a href="http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;field-keywords=moby+dick&amp;x=0&amp;y=0">Moby Dick</a> (Herman Melville)<br />
Having never read this before, I was surprised at the density of non-fiction caking up the thin story. Chapters dawdle on and on about the whaling industry, the mechanics of killing a whale, the economics of it all, and then whale biology, and <em>then</em> sermons about the glory of whaling, and <em>then</em> more long-winded defenses to whaling. It takes over 100 pages for them just to get on the boat, and that&#8217;s where the book slows down! I tried for weeks, but even being 75% through, I just couldn&#8217;t finish it.</li>
		<li><a href="http://www.amazon.com/Terror-Dan-Simmons/dp/3453029054/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1325259444&amp;sr=1-2">The Terror</a> (Dan Simmons)<br />
My second Simmons book (after <em>Drood</em>). The plot revolves around the failed Franklin 1845 expedition of the northwest passage. Unlikable heroes and unlikely villains are trapped in Simmons&#8217; hyper-detailed account of the misery of being locked in ice and hunted by the supernatural. This is a horror story, on every level, from the brutality of the ship members to the thing stalking them on the ice. Highly recommended.</li>
	</ol>
<img src="http://feeds.feedburner.com/~r/graphicpush/~4/KtWe8Gn5Xok" height="1" width="1"/>]]></content:encoded>
<link>http://feedproxy.google.com/~r/graphicpush/~3/KtWe8Gn5Xok/2011-reading-recap</link>
<pubDate>Fri, 06 Jan 2012 13:25:35 GMT</pubDate>
<dc:creator>Kevin Potts</dc:creator>
<guid isPermaLink="false">tag:graphicpush.com,2011-08-16:dbca1f9491b6a357110eb015751d0b7a/e367d726df219804d9b2632eb1a21b59</guid>

<category>2011</category>
<category>books</category>
<category>reading</category>
<feedburner:origLink>http://graphicpush.com/2011-reading-recap</feedburner:origLink></item></channel>
</rss>

