<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ben&#039;s blog and portfolio &#187; Articles</title>
	<atom:link href="http://benthinkin.net/articles/feed" rel="self" type="application/rss+xml" />
	<link>http://benthinkin.net</link>
	<description>Website design by Ben Gremillion</description>
	<lastBuildDate>Wed, 25 Apr 2012 00:00:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Questions part 6: Aftermath&#160;and beyond</title>
		<link>http://benthinkin.net/articles/process/questions-part-6-aftermathand-beyond</link>
		<comments>http://benthinkin.net/articles/process/questions-part-6-aftermathand-beyond#comments</comments>
		<pubDate>Wed, 25 Apr 2012 00:00:51 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[critical thinking]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[problem solving]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=484</guid>
		<description><![CDATA[There&#8217;s life after launch. Reassessing, maintaining and adjusting the website requires critical evaluation from time to time. I often tweak sites with questions like these. Part six of six.]]></description>
			<content:encoded><![CDATA[<p>When asked about the success of his large company, Herb Kelleher said, &#8220;We have a strategic plan. It&#8217;s called doing things.&#8221;</p>
<p>Process and plans are attempts to control the future by studying the past. Trouble is, past experiences are not tomorrow&#8217;s work. The popular formula of &#8220;discovery, design, execution, and launch&#8221; work on paper, but the inevitable bullet points that follow each step only work if you write the points yourself. Even in the same project, client and team will vary over lifespan of development. Creative projects demand improvisation.</p>
<p>Instead of a process, when working on a digital project like a site or an app, I have questions.</p>
<h2>Lifespan of the digital project</h2>
<ul>
<li>
		<strong>Is the digital project meeting its goals?</strong>
	</li>
<li>
		<strong>Is the digital project meeting goals that you didn&#8217;t know you had?</strong>
	</li>
<li>
		<strong>What questions do you have?</strong><br />
		You&#8217;re free to ask these questions. You&#8217;ll learn more if you ask your own.
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/process/questions-part-6-aftermathand-beyond/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questions part 5: Launch</title>
		<link>http://benthinkin.net/articles/process/question-part-5-launch</link>
		<comments>http://benthinkin.net/articles/process/question-part-5-launch#comments</comments>
		<pubDate>Thu, 19 Apr 2012 00:00:30 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[problem solving]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[stress]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=480</guid>
		<description><![CDATA[Rather than the end of a project, launch is a milestone in a digital project&#8217;s lifetime. Part five of six.]]></description>
			<content:encoded><![CDATA[<p>When asked about the success of his large company, Herb Kelleher said, &#8220;We have a strategic plan. It&#8217;s called doing things.&#8221;</p>
<p>Process and plans are attempts to control the future by studying the past. Trouble is, past experiences are not tomorrow&#8217;s work. The popular formula of &#8220;discovery, design, execution, and launch&#8221; work on paper, but the inevitable bullet points that follow each step only work if you write the points yourself. Even in the same project, client and team will vary over lifespan of development. Creative projects demand improvisation.</p>
<p>Instead of a process, when working on a digital project like a site or an app, I have questions.</p>
<h2>During and after launch</h2>
<ul>
<li>
		<strong>Apps: Assuming it&#8217;s an iOS app, have you followed Apple&#8217;s criteria?</strong>
	</li>
<li>
		<strong>How will you celebrate?</strong><br />
		This isn&#8217;t trivial. Unexpected, tangible pats on the back are critical for long-term team morale.
	</li>
<li>
		<strong>Do you have a regular checkup plan?</strong>
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/process/question-part-5-launch/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questions part 4: Refining</title>
		<link>http://benthinkin.net/articles/process/questions-part-4-refining</link>
		<comments>http://benthinkin.net/articles/process/questions-part-4-refining#comments</comments>
		<pubDate>Thu, 12 Apr 2012 00:00:54 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[critical thinking]]></category>
		<category><![CDATA[problem preventing]]></category>
		<category><![CDATA[problem solving]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=475</guid>
		<description><![CDATA[Most digital projects I&#8217;ve worked on treat user testing as a last-minute event, if it occurs at all. If I&#8217;m lucky enough to have time for problem solving before launch, I ask these questions. Part four of six.]]></description>
			<content:encoded><![CDATA[<p>When asked about the success of his large company, Herb Kelleher said, &#8220;We have a strategic plan. It&#8217;s called doing things.&#8221;</p>
<p>Process and plans are attempts to control the future by studying the past. Trouble is, past experiences are not tomorrow&#8217;s work. The popular formula of &#8220;discovery, design, execution, and launch&#8221; work on paper, but the inevitable bullet points that follow each step only work if you write the points yourself. Even in the same project, client and team will vary over lifespan of development. Creative projects demand improvisation.</p>
<p>Instead of a process, when working on a digital project like a site or an app, I have questions.</p>
<h2>During refinement</h2>
<ul>
<li>
		<strong>Follow <a href="http://www.vitsoe.com/en/gb/about/dieterrams/gooddesign"><span>Dieter Rams&#8217; guidelines</span></a>.</strong>
	</li>
<li>
		<strong>What steps can you remove or consolidate to improve flow and user experience?</strong><br />
		&#8220;It&#8217;s better to retreat a foot than advance an inch.&#8221;
	</li>
<li>
		<strong>Have you documented your work?</strong><br />
		Comments in code should not state what the code does, but what you intend it to do.
	</li>
<li>
		<strong>Have you identified and tested against your assumptions?</strong><br />
		Worst-case scenarios often begin with either &#8220;huh, I didn&#8217;t think of that&#8221; or end with &#8220;but they weren&#8217;t supposed to do it that way.&#8221;
	</li>
<li>
		<strong>Which team members are working on their own initiative? Which team members are distracted?</strong><br />
		A creative person can be coerced to work, but not to work well.
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/process/questions-part-4-refining/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questions part 3: Testing</title>
		<link>http://benthinkin.net/articles/process/questions-part-3-testing</link>
		<comments>http://benthinkin.net/articles/process/questions-part-3-testing#comments</comments>
		<pubDate>Thu, 05 Apr 2012 20:00:18 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[problem preventing]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=472</guid>
		<description><![CDATA[User testing can reveal funny (or disasterous) observations about a digital project. Accepting and dealing with the difference between expectations and reality requires a sense of humor and asking the right questions. Part three of six.]]></description>
			<content:encoded><![CDATA[<p>When asked about the success of his large company, Herb Kelleher said, &#8220;We have a strategic plan. It&#8217;s called doing things.&#8221;</p>
<p>Process and plans are attempts to control the future by studying the past. Trouble is, past experiences are not tomorrow&#8217;s work. The popular formula of &#8220;discovery, design, execution, and launch&#8221; work on paper, but the inevitable bullet points that follow each step only work if you write the points yourself. Even in the same project, client and team will vary over lifespan of development. Creative projects demand improvisation.</p>
<p>Instead of a process, when working on a digital project like a site or an app, I have questions.</p>
<h2>During testing</h2>
<ul>
<li>
		<strong>In what unexpected ways did people use the digital project?</strong>
	</li>
<li>
		<strong>How did people&#8217;s expectations differ from what their experience? Were they delighted or frustrated?</strong>
	</li>
<li>
		<strong>What did the user get done without hesitation?</strong><br />
		(Hint: That&#8217;s where you&#8217;re doing well.)
	</li>
<li>
		<strong>Did they compliment the digital project?</strong><br />
		If so, then it needs more work. But if they focus on getting something done, then you&#8217;re doing well. &#8220;Nice app&#8221; is bad. &#8220;Look what I did&#8221; is good.
	</li>
<li>
		<strong>If someone pokes fun at your digital project, pay attention.</strong><br />
		The ridiculous can be eye-opening.
	</li>
<li>
		<strong>Is the team still actively engaged?</strong><br />
		Lackluster projects often stem from a team just trying to fulfill a someone else&#8217;s requirements.
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/process/questions-part-3-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questons part 2: Design</title>
		<link>http://benthinkin.net/articles/process/questons-part-2-design</link>
		<comments>http://benthinkin.net/articles/process/questons-part-2-design#comments</comments>
		<pubDate>Wed, 28 Mar 2012 00:00:30 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[critical thinking]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[problem preventing]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=468</guid>
		<description><![CDATA[No two apps or websites, are the same. Neither are the roads between concept and first draft. But questions arise from wading knee-deep into code and pixels. Part two of six.]]></description>
			<content:encoded><![CDATA[<p>When asked about the success of his large company, Herb Kelleher said, &#8220;We have a strategic plan. It&#8217;s called doing things.&#8221;</p>
<p>Process and plans are attempts to control the future by studying the past. Trouble is, past experiences are not tomorrow&#8217;s work. The popular formula of &#8220;discovery, design, execution, and launch&#8221; work on paper, but the inevitable bullet points that follow each step only work if you write the points yourself. Even in the same project, client and team will vary over lifespan of development. Creative projects demand improvisation.</p>
<p>Instead of a process, when working on a digital project like a site or an app, I have questions.</p>
<h2>During development</h2>
<ul>
<li>
		<strong>How can the design make information easy to understand or manipulate?</strong>
	</li>
<li>
		<strong>How does the project <a href="http://www.informationisbeautiful.net/"><span>visually communicate</span></a> its goals?</strong>
	</li>
<li>
		<strong>What <a href="http://handcraftedcss.com/"><span>details can you add</span></a> that people won&#8217;t notice at first glance, but won&#8217;t detract from the user experience?</strong>
	</li>
<li>
		<strong>Apps: Does the app &#8220;feel&#8221; ergonomic, unobtrusive and useful?</strong><br />
		<a href="http://www.communi-k.net/interactive/mobile-apps/2011/09/mobile-websites-are-not-mobile-apps/"><span>App design is not website design</span></a>. Think of the app as a handheld object, like a kitchen utensil or a garden tool.
	</li>
<li>
		<strong>Does everyone who gets their hands dirty in code/graphics/UX/management have a say in the digital project&#8217;s outcome?</strong><br />
		A team who works with someone is worlds better than a team who works for someone. &#8220;What do you think?&#8221; is good to ask. &#8220;Hey, I had this idea&hellip;&#8221; is good to hear.
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/process/questons-part-2-design/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questions part 1: Concept</title>
		<link>http://benthinkin.net/articles/process/questions-part-1-concept</link>
		<comments>http://benthinkin.net/articles/process/questions-part-1-concept#comments</comments>
		<pubDate>Wed, 21 Mar 2012 19:55:36 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[getting started]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[problem preventing]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=464</guid>
		<description><![CDATA[How should one start a website or app? Everyone has different questions in the beginning. These are mine. Part one of six.]]></description>
			<content:encoded><![CDATA[<p>When asked about the success of his large company, Herb Kelleher said, &#8220;We have a strategic plan. It&#8217;s called doing things.&#8221;</p>
<p>Process and plans are attempts to control the future by studying the past. Trouble is, past experiences are not tomorrow&#8217;s work. The popular formula of &#8220;discovery, design, execution, and launch&#8221; work on paper, but the inevitable bullet points that follow each step only work if you write the points yourself. Even in the same project, client and team will vary over lifespan of development. Creative projects demand improvisation.</p>
<p>Instead of a process, when working on a digital project like a site or an app, I have questions.</p>
<h2>Concept</h2>
<ul>
<li>
		<strong>What problem(s) does this digital project solve?</strong><br />
		Great apps make a task easier, or fill a need that people (not the client) have.
	</li>
<li>
		<strong>Is the digital project more fun or more serious?</strong><br />
		The difference will inform its &#8220;persona.&#8221;
	</li>
<li>
		<strong>Is the digital project more of a utility or more of a game?</strong><br />
		Good utilities fulfill a need; good games hold attention.
	</li>
<li>
		<strong>When will the digital project launch?</strong><br />
		Nothing sets priorities like a deadline with consequences.
	</li>
<li>
		<strong>How will you promote the digital project? </strong><br />
		Word of mouth is great, but often requires a sustained kickstart.
	</li>
<li>
		<strong>How will you measure the success of (or lack of) the digital project?</strong>
	</li>
<li>
		<strong>On which platform(s) will this digital project run?</strong><br />
		<a href="http://www.abookapart.com/products/responsive-web-design"><span>There&#8217;s a difference</span></a> in designing for desktop browsers, screen readers, iPhones, iPads, or a combination thereof.
	</li>
<li>
		<strong>Who is responsible for what?</strong>
	</li>
<li>
		<strong>Do the stakeholders want to educate, entertain or empower people, or do they want an digital project?</strong><br />
		<a href="http://www.techrepublic.com/blog/tech-manager/technical-solutions-looking-for-a-problem/6996"><span>Solutions without problems</span></a> can work, but rarely thrive.
	</li>
<li>
		<strong>Does the client want to copy the success of others?</strong><br />
		&#8220;Isn&#8217;t there a better way to&hellip;?&#8221; is good. &#8220;I love this app/website/graphic/tool/gimmick. Can you make one?&#8221; is bad.
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/process/questions-part-1-concept/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Little rewards and fewer frustrations makes content management less of a chore</title>
		<link>http://benthinkin.net/articles/thinking-content/little-rewards-and-fewer-frustrations-makes-content-management-less-of-a-chore</link>
		<comments>http://benthinkin.net/articles/thinking-content/little-rewards-and-fewer-frustrations-makes-content-management-less-of-a-chore#comments</comments>
		<pubDate>Thu, 08 Mar 2012 00:00:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[aesthetics]]></category>
		<category><![CDATA[critical thinking]]></category>
		<category><![CDATA[problem preventing]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=461</guid>
		<description><![CDATA[Every website content management system lets people curate content. But I discovered that if the CMS itself is fun and painless, people are more inclined to update.]]></description>
			<content:encoded><![CDATA[<p>I once had a problem with other people&#8217;s chores.</p>
<p>My clients found updating their websites tedious. Not that I blamed them, but especially since <a href="http://www.seomoz.org/blog/googles-freshness-update-whiteboard-friday" target="_blank"><span>search engines prefer sites with fresh content</span></a>, frequent content changes are important. We tried scheduling, hiring out and brainstorming before finding two solutions: speed and humor.</p>
<h2>&#8220;Like slogging through maple syrup&#8221;</h2>
<p>At the time, I was building custom content management systems to let people manage their own sites. <a href="/articles/process/when-is-web-design-not-a-product-when-it-is-a-process"><span>I was able to streamline the update process</span></a>. A sluggish system led to lost trains of thought, a common source of frustration.</p>
<p>We also reviewed the CMS&#8217;s design. By removing one piece at a time, we discovered fewer than half the widgets on a given page were necessary at any time. Identifying and trimming away extra parts helped people focus on their work.</p>
<h2>A little character</h2>
<p>But speed wasn&#8217;t enough. So on a whim, I added funny sayings to user feedback. For example, instead of displaying &#8220;Blog post saved,&#8221; the system said &#8220;Blog post saved. You&#8217;ve just made the world a better place,&#8221; or &#8220;Blog post deleted. We&#8217;re sorry for your loss.&#8221; People saw one of a dozen feel-good messages, randomly selected every time they completed a task.</p>
<p>They came to expect it. And they liked it.</p>
<p>Over time people updated their sites more often because they looked forward to those tiny rewards. A few well-placed words made mundane chores bearable.</p>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/thinking-content/little-rewards-and-fewer-frustrations-makes-content-management-less-of-a-chore/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lessons from building word clouds</title>
		<link>http://benthinkin.net/articles/thinking-content/lessons-from-building-word-clouds</link>
		<comments>http://benthinkin.net/articles/thinking-content/lessons-from-building-word-clouds#comments</comments>
		<pubDate>Tue, 07 Feb 2012 03:38:20 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[case study]]></category>
		<category><![CDATA[getting started]]></category>
		<category><![CDATA[problem solving]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=450</guid>
		<description><![CDATA[<img src="/content_resources/063-wordcloud/w-spin.png" alt="spinning W illustration" style="float:right" />I&#8217;d never built a word cloud before. A collection of user-entered answers to weekly questions sounded like a maintenance headache if people used it, or a failure if they didn&#8217;t. The client set high expectations, but neither of us saw what was coming.]]></description>
			<content:encoded><![CDATA[<p>When a client asked for a custom word cloud to let people feel they were interacting with the company. Whether or not it would help, I was tasked with creating the cloud for their site.</p>
<p>A &#8220;word cloud&#8221; is a collection of phrases related to a topic. In this case, the client was asking for user feedback. Working as a web developer for <a href="http://www.kgbtexas.com"><span>KGBTexas</span></a>, I integrated a table into the client&#8217;s WordPress database and wrote PHP to handle entries. This included preventing people from entering the same phrase more than once, tallying how often the same phrase, and judging between space- and comma-separated words.</p>
<ul>
<li><strong>The cloud grew larger than I anticipated.</strong> Two weeks after launch, we had 150 more words than I originally expected. Fortunately I&#8217;d arranged the site&#8217;s layout to allow for growth. Also, using CSS, I designed the site&#8217;s overall width to adapt to different sized screens, from large monitors to iPhones.</li>
<li><strong>People entered either single words or words with commas.</strong> After two days rewrote the entry-checking code to split phrases by comma &#8212; but only when users used commas.</li>
<li><strong>People misspelled some words, which counted as separate entries.</strong> The client did not ask for me to correct this.</li>
<li><strong>At least one person tried to comment on the cloud by entering their comment in the word field.</strong> Lesson for next time: An easy feedback mechanism to report </li>
<li><strong>&#8220;Sexy&#8221; was the most NSWF word anyone tried to enter.</strong> My profanity checking function was unnecessary.</li>
<li><strong>There was no need to organize answers per question.</strong> Even after the client changed the question to which they expected replies, they did not want to reset the word cloud. Good thing I didn&#8217;t waste time writing a way to do so.</li>
</ul>
<h2>Lessons for next time</h2>
<ul>
<li>Plan for growth.</li>
<li>Save some budget for manual phrase management after launch.</li>
<li>Add a separate &#8220;report a problem&#8221; feedback mechanism.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/thinking-content/lessons-from-building-word-clouds/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A jQuery snippet to hide unnecessary support</title>
		<link>http://benthinkin.net/articles/code/a-jquery-snippet-to-hide-unnecessary-support</link>
		<comments>http://benthinkin.net/articles/code/a-jquery-snippet-to-hide-unnecessary-support#comments</comments>
		<pubDate>Sat, 21 Jan 2012 20:10:02 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[aesthetics]]></category>
		<category><![CDATA[customizing]]></category>
		<category><![CDATA[problem preventing]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=444</guid>
		<description><![CDATA[We had a list of links that wouldn&#8217;t sit still. The client would occasionally change the links, including some to PDF files. To accommodate users, we added a link to Adobe Reader. But when the list had no PDFs, the Reader link became superfluous. Conventional wisdom would have left the Reader link on the page [...]]]></description>
			<content:encoded><![CDATA[<p>We had a list of links that wouldn&#8217;t sit still. The client would occasionally change the links, including some to PDF files. To accommodate users, we added a <a href="http://get.adobe.com/reader/"><span>link to Adobe Reader</span></a>. But when the list had no PDFs, the Reader link became superfluous.</p>
<p>Conventional wisdom would have left the Reader link on the page no matter what. Users are free to ignore what they don&#8217;t need. But in our campaign against clutter, we wanted to remove the link when the page contained no PDFs.</p>
<p>To keep from checking for PDFs manually, I wrote this quick jQuery function.</p>
<h3>Sample HTML</h3>
<pre><code>&lt;p&gt;<span class="label-2">&lt;a href="test.html"&gt;link 1&lt;/a&gt;</span>&lt;/p&gt;
&lt;p&gt;&lt;<span class="label-2">a href="test.html"&gt;link 2&lt;/a&gt;</span>&lt;/p&gt;
&lt;p&gt;&lt;<span class="label-2">a href="test.</span><span class="label-4">pdf</span><span class="label-2">"&gt;link 3&lt;/a&gt;</span>&lt;/p&gt;
&lt;p&gt;&lt;<span class="label-2">a href="test.html"&gt;link 4&lt;/a&gt;</span>&lt;/p&gt;

&lt;div <span class="label-6">id="pdf_link"</span>&gt;&lt;a href="http://get.adobe.com/reader/"&gt;Get Adobe Reader&lt;/a&gt;&lt;/div&gt;</code></pre>
<h3>The jQuery</h3>
<pre><code>function bt_reveal_support ( <span class="label-2">condition</span>, <span class="label-6">support_id</span> ){
	var <span class="label-1">x</span> = $(<span class="label-2">condition</span>).<span class="label-1">length</span>;
	if ( <span class="label-1">x</span> <span class="label-7">&gt; 0</span> ) {
		$(<span class="label-6">support_id</span>).<span class="label-5">show()</span>;
	}
	else {
		$(<span class="label-6">support_id</span>).<span class="label-8">hide()</span>;
	}
}

bt_reveal_support('<span class="label-2">a[href</span><span class="label-3">$=</span><span class="label-4">pdf</span><span class="label-2">]</span>', '<span class="label-6">#pdf_link</span>');</code></pre>
<h3>In English</h3>
<p><span class="label-1">Count</span> <span class="label-2">every anchor element</span> (that is, every link) that <span class="label-3">ends with</span> “<span class="label-4">pdf</span>”. If there&#8217;s <span class="label-7">more than one</span>, then <span class="label-5">show</span> the appropriate link to Adobe Reader. If not, <span class="label-8">hide</span> the Adobe Reader link.</p>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/code/a-jquery-snippet-to-hide-unnecessary-support/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a useful not-found search results page</title>
		<link>http://benthinkin.net/articles/thinking-content/useful-search-results-page</link>
		<comments>http://benthinkin.net/articles/thinking-content/useful-search-results-page#comments</comments>
		<pubDate>Wed, 21 Dec 2011 18:25:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[case study]]></category>
		<category><![CDATA[customizing]]></category>
		<category><![CDATA[problem solving]]></category>

		<guid isPermaLink="false">http://benthinkin.net/?p=436</guid>
		<description><![CDATA[The trouble with complex search tools is all the dead ends. When a client asked for a way to search their inventory, I went a step further: A search tool that doesn&#8217;t leave people guessing what might yield results.]]></description>
			<content:encoded><![CDATA[<h2>Big trucks, nothing found</h2>
<p>I once worked with a client who sold trucks. Big trucks. Trucks so big that their &#8220;light&#8221; vehicles regarded my car as a speed bump. And they sold plenty of them. The first set of data was a 8MB, pipe-delimited text file that, I was told, could change daily.</p>
<p>Writing a script to interpret the data in a timely manner was challenging, but doable. The search tool I wrote handled 237 pages of results, eight trucks per page, on its trial run. But the interesting part came when we <em>didn&#8217;t</em> find trucks.</p>
<p>At first, if a search yielded no results, the site displayed a &#8220;nothing found&#8221; message. But I wanted to do more. I wanted the site to say &#8220;that search didn&#8217;t work, here&#8217;s why.&#8221;</p>
<h2>Searches worth the effort</h2>
<p>I wrote a MySQL query find out how many new and used trucks of each brand.</p>
<pre><code>SELECT
	<span class="label-1">COUNT(v.id)</span> AS tally,
	<span class="label-3">CONCAT(make_title,'-',vehicle_type)</span>
FROM
	<span class="label-4">&hellip;</span>
WHERE
	<span class="label-2">mk.id = md.make_id AND</span>
	<span class="label-2">md.id = v.model_id</span>
GROUP BY
	<span class="label-3">CONCAT(make_title,'-',vehicle_type)</span>
ORDER BY
	make_title,
	vehicle_type</code></pre>
<p>In English: Find <span class="label-1">how many</span> of <span class="label-3">each truck</span> are in <span class="label-4">the database</span>. Label them like &#8220;<span class="label-2">Ford-used</span>&#8221; or &#8220;<span class="label-2">Volvo-new</span>&#8221;.</p>
<p>Once I knew which models were in the database, I could provide links to people that would guarantee results. Even better, the script helped people make an informed decision by revealing how many results to expect.</p>
<p><img src="/content_resources/063-grande-search-tool/sample1.png" alt="example of the no-results screen" /></p>
<p>Clicking a number in the table at the intersection of, say, new and Mack, would search for new Mack trucks.</p>
<h2>Unexpected results</h2>
<p>This query (modified to remove sensitive data) produced surprises:</p>
<ul>
<li>The client&#8217;s seven brands in stock, the only used trucks were Fords.</li>
<li>Mack trucks were sometimes abbreviated MCK.</li>
<li>Western Star trucks were sometimes labeled &#8220;WESTERNSTAR&#8221; or just &#8220;WEST&#8221;.</li>
<li>Some models had been labeled with the client&#8217;s first name.</li>
</ul>
<p>The client used these unexpected hiccups to clean up their data over the next week.</p>
<p>Rather than leave people at a dead-end, <a href="http://www.grandetruck.com/search"><span>the vehicle search tool</span></a> was helpful, unobtrusive, adaptive and useful in ways we hadn&#8217;t imagined.</p>
]]></content:encoded>
			<wfw:commentRss>http://benthinkin.net/articles/thinking-content/useful-search-results-page/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

