<?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>Think Vitamin &#187; Robert Hoekman Jr</title>
	<atom:link href="http://thinkvitamin.com/author/robert-hoekman-jr/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkvitamin.com</link>
	<description>The Web Practitioner&#039;s Blog</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:41:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Read more &#8230; about progressive disclosure</title>
		<link>http://thinkvitamin.com/design/read-more-about-progressive-disclosure/</link>
		<comments>http://thinkvitamin.com/design/read-more-about-progressive-disclosure/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 14:58:22 +0000</pubDate>
		<dc:creator>Robert Hoekman Jr</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.thinkvitamin.com/features/design/read-more-about-progressive-disclosure</guid>
		<description><![CDATA[Progressive disclosure is a method of revealing the details of a feature on an on-demand basis, so that the basic elements of the feature appear by default while the less used or more advanced elements are hidden. These elements are usually just a click or two away, so they remain readily available, but they&#8217;re hidden [...]]]></description>
			<content:encoded><![CDATA[<p><em>Progressive disclosure</em> is a method of revealing the details of a feature on an on-demand basis, so that the basic elements of the feature appear by default while the less used or more advanced elements are hidden. These elements are usually just a click or two away, so they remain readily available, but they&rsquo;re hidden by default to avoid interface clutter for the majority of users who do not need them.</p>
<p>This method is extremely effective for surfacing the right features in an application and hiding the wrong ones. Simply put, progressive disclosure is one of the most effective ways to clean up your application and improve user experiences without sacrificing functionality.</p>
<p>In other words, it&rsquo;s the solution to one of the software&rsquo; industry&rsquo;s biggest problems. The continuous addition of new features to applications invariably results in a more complicated interface, which in turn makes the user experience less desirable. Progressive disclosure gives us a way to keep building new features <em>without complicating the interface</em>.</p>
<p>In this article, we&rsquo;ll explore progressive disclosure by looking at long-established conventions from the world of newspaper design, and then look at how to apply the principle to the web.</p>
<h3>The Fine Art of Newspaper Design</h3>
<p>Newspapers, as you know, have been around for hundreds of years. In this time, newspaper publishers have learned to do quite a few things that seem to make, well, perfect sense. Newspaper designs are obvious, but only because the people who put them together <em>made </em>them obvious.</p>
<p>The actual design of a newspaper varies wildly from one to the next, but  newspapers far and wide adhere to a basic conventions.</p>
<p>First, they offer clear, concise headlines that enable readers to quickly scan a page to find whatever is most interesting.</p>
<p>Headlines serve as the first step in accessing more information. Once you choose a headline that looks interesting, you move on to the article itself.</p>
<p><img src="/images/articles/progressive/cnn.jpg" alt="CNN.com" width="400" height="209" /></p>
<p>And the article is written using the <em>inverted pyramid</em> method.</p>
<h4>The Inverted Pyramid</h4>
<p>The <em>inverted pyramid</em> is a style of presentation in which the most important and all-encompassing details are presented first and the rest of the story is told through progressively less significant, but more detailed pieces of the story. Like an inverted pyramid, it starts broad and gets progressively narrower. It&rsquo;s the way news stories are written.</p>
<p>Journalists everywhere subscribe to this methodology by beginning each story with facts that explain the who, what, when, where, and why of the story. This creates a broad, big picture view of the story so readers can decide whether or not to keep going.</p>
<p>Each subsequent paragraph then offers increasingly specific about the story. Although the additional information helps the reader round out his sense of what happened in the story, each new piece of information decreases in importance.</p>
<p>This is done for a couple of key reasons. First, it enables readers to get the most important information right up front so she can quickly decide whether or not to keep reading. Second, it gives layout designers a way out of sticky design situations. If an article is too long to fit on a single page, but not long enough to warrant a second page, the least important pieces of information &#8211; located at the end of the article &#8211; can be trimmed to adjust its length. Using the inverted pyramid structure means the article can be made shorter or longer as needed.</p>
<p>This isn&rsquo;t so much a problem on the web, but take a look at that first reason again. <em>It enables readers to get the most important information up front.</em></p>
<p>Most newspaper articles start on one page and end on another. Because it&rsquo;s a printed media, space is limited, so long articles are broken up into multiple parts. The first part can have a &ldquo;Continued on A14&rdquo; statement added to the end of it, for example, and the second part can resume with a &ldquo;Continued from A1&rdquo;, very much like a &ldquo;Read more &#8230;&rdquo; link on a web page.</p>
<p>Simple, right? Let&rsquo;s recap.</p>
<p>First, the opening sentences of a news story are the most important, which is why they&rsquo;re at the beginning. Second, anything beyond the critical elements can be relegated to another page.</p>
<p>Instead of cramming everything possible into a single space, newspaper designers split things up into logical chunks. And journalists continue the idea by presenting the most important things from each story first.</p>
<p>You can scan a page to find a headline, read the first few paragraphs of an article, and move on without getting bogged down in details you don&rsquo;t need and that aren&rsquo;t essential to the story.</p>
<p>This is the essence of progressive disclosure.</p>
<h3>Progressive Disclosure on the Web</h3>
<p>So how does all this apply to the web?</p>
<p>It applies to the design of individual features, and the architecture of the site or application as a whole. It gives us a way to surface the essential and most-used features and tuck the less-used features away behind a click.</p>
<p>In Google Calendar, for example, you can click an item listed in the calendar view to see the high-level details of an event.</p>
<p><img src="/images/articles/progressive/Gcal_1.jpg" alt="Google Calendar, calendar view" width="400" height="265" /></p>
<p>To see more details, you simply click &ldquo;edit event details&rdquo;. This takes you to another page that contains all the information available about the event.</p>
<p><img src="/images/articles/progressive/Gcal_2.jpg" alt="Google Calendar, event details" width="400" height="263" /></p>
<p>Here, you can see the guest list, comments that have been made, and reminder options. You started with just a few details and progressively accessed more information by clicking a link.</p>
<p>On this details page is another progressive disclosure style design. To add guests to an event, you need to click &ldquo;Add guests&rdquo;.</p>
<p><img src="/images/articles/progressive/Gcal_3.jpg" alt="Google Calendar, Guest invitation" width="360" height="142" /></p>
<p>Once clicked, a text area is displayed so you can enter the email addresses of people who need to attend the event.</p>
<p><img src="/images/articles/progressive/Gcal_4.jpg" alt="Google Calendar, expanded guest invitation" width="360" height="308" /></p>
<p>Why wait? Why not show the text area when the page loads instead of waiting for the user to click a link?</p>
<p>This is done so that only the most critical features are shown by default. Not everyone uses the calendar to organize multi-person events, and not every event requires a guest list. Since this feature is used less often than most of the others, it is hidden by default so that the interface can remain clean and simple while still offering a ton of useful functionality. </p>
<p><a href="http://www.grandcentral.com">GrandCentral</a> (a call and messaging management system) also makes use of progressive disclosure, and does so in a very simple way that you&rsquo;ve probably seen a number of times on the web already. It applies progressive disclosure through a design pattern known as inline expand to reveal more information about a phone message.</p>
<p>By default, messages in the Inbox are shown in a list, and each item contains a small Play button.</p>
<p><img src="/images/articles/progressive/GC_1.jpg" alt="Grand Central Inbox" width="400" height="64" /></p>
<p>When you click the Play button, the area is expanded and a new interface is revealed that enables you to play the message and learn more about the caller.</p>
<p><img src="/images/articles/progressive/GC_2.jpg" alt="Grand Central, playing message" width="400" height="227" /></p>
<p>Functionality is again hidden to keep the interface simple by default. You can quickly glance at the list of messages to see what&rsquo;s there without the full set of details for each call getting in the way. If you decide to listen to a particular message, you see those details in an on-demand fashion.</p>
<p>Seeing all of the details for all the messages would be overwhelming. Seeing a quick list and expanding select messages to see more is much friendlier.</p>
<h3>Thanks &#8211; you&rsquo;ve changed my life</h3>
<p>As you can see, applying the concept of progressive disclosure is usually a simple matter of &#8230; OK, it&rsquo;s not that simple.</p>
<p>You have to figure out which screen elements (features or content) are critical and which ones aren&rsquo;t, and then figure out how to hide the non-critical elements while still providing quick access to them. But once you have that down, you can stop worrying about how to work in all those fancy new features you&rsquo;ve been wanting to build.</p>
<p>Well, you can worry less anyway.</p>
<p>Kidding aside, don&rsquo;t view this as an excuse to start cramming everything you can imagine into your application. No matter how well you master progressive disclosure, you still want to show restraint when it comes to adding new features.</p>
<p>More complex software has a funny way of resulting in more complex interfaces. Remember to show some restraint.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/design/read-more-about-progressive-disclosure/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Deliverables That Work: Design Description Documents</title>
		<link>http://thinkvitamin.com/business/deliverables-that-work-design-description-documents/</link>
		<comments>http://thinkvitamin.com/business/deliverables-that-work-design-description-documents/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 12:12:35 +0000</pubDate>
		<dc:creator>Robert Hoekman Jr</dc:creator>
				<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.thinkvitamin.com/features/design/deliverables-that-work-design-description-documents</guid>
		<description><![CDATA[Communicating design is tricky business. Designers have invented all kinds of deliverables to handle this job, but we continue to run into the same issues over and over again. First, we forget things. We leave out some small element that, as it turns out, is absolutely essential to making an interaction work, so we need [...]]]></description>
			<content:encoded><![CDATA[<p>Communicating design is tricky business. Designers have invented all kinds of deliverables to handle this job, but we continue to run into the same issues over and over again.</p>
<p>First, we forget things. We leave out some small element that, as it turns out, is absolutely essential to making an interaction work, so we need to revise our designs and send out a new set. Second, we run out of time in our busy schedules and never actually get around to presenting the design work to our clients (whether internal or on the other side of the planet). Third, we forget to include a few extra hours in our project proposals for the inevitable questions developers will have as they dig in and start trying to build the deviously brilliant designs we’ve concocted for them.</p>
<p>Fortunately, there’s a solution to this mess. But for several months now, I apparently couldn’t be bothered to tell you about it.</p>
<p>So today, I’m turning over a new leaf. I’m giving away my secret weapon. (But not until the end of the article.)</p>
<h3>Introducing the Design Description Document (DDD)</h3>
<p><img src="/images/articles/ddd/ddd.jpg" alt="Design Description Document" /></p>
<p>A <strong>Design Description Document (DDD)</strong> is, essentially, a slide deck that shows detailed use cases alongside wireframes or comps in an effort to detail all the interactions in a design. And it has quite a few major benefits.</p>
<p>Typically, when an interaction designer completes a set of task flow diagrams and wireframes, she ZIPs it up and sends it off to whoever is pounding on the wall for them and hopes everything goes well. This method invariably backfires.</p>
<p>The ZIP gets sent to the boss, and the boss comes back with questions. The ZIP gets sent to the development team, and the developers come back with questions. The ZIP gets sent to the Documentation team, and the writers wait until something is in QA, because they know the final product won’t be anywhere near what you designed, and then they write their Help documents as quickly as humanly possible.</p>
<p>The Design Description Document cures all of this. First, it communicates to the boss how each interaction will occur, so he has no questions. Second, it tells the developers exactly how things need to work so they know what to build and can immediately start cranking it out. Third, it gives the Documentation team something they can start writing about sooner than later. After all, if the developers know exactly how everything needs to work, odds are much better that the final product will be in line with the original design.</p>
<p>Do you see a trend here? DDDs are good for everyone. Oh wait, what about the designer?</p>
<p>Well, DDDs are designer-friendly, too. They take very little time to create, they’re wickedly easy to update, and, well, they can be branded, and what designer doesn’t love that?</p>
<p>And in addition to answering questions, it helps prevent you from making mistakes and sending them to everyone you know. Because a DDD includes detailed use cases (more on this in a few), you have to actually write down the steps to complete each interaction. As you do this, you can continually check the wireframe to make sure each step can be performed as you’ve written it. If not, you probably forgot to add something to the wireframe. Now you can fix the wireframe, update the DDD, and send out mistake-free design deliverables.</p>
<h3>The elements of a DDD</h3>
<p><img src="/images/articles/ddd/cover.jpg" alt="Cover slide for a Design Description Document" /></p>
<p>The Cover slide (the first slide in the deck) of every Design Description Document includes a few key elements. Here’s the list:</p>
<ul>
<li>Client name</li>
<li>Project name</li>
<li>Version number of the application</li>
<li>Designer’s name</li>
<li>“Last modified” date</li>
</ul>
<p>Each subsequent slide of the DDD includes a few more essential elements:</p>
<ul>
<li>Wireframe for a single screen, or a storyboard for a complete interaction (you will likely need to scale this down to fit it on the slide, hence the inclusion of a full-size version of each wireframe in your design deliverables)</li>
<li>Detailed, written use cases for each interaction shown in the wireframe or storyboard</li>
<li>The file name of the accompanying full-size wireframe image (e.g. 01-Homepage.jpg)</li>
<li>Notes (if needed)</li>
</ul>
<p>And if you find that you need some extra room for longer explanations, you can always add Notes slides to the equation, either mixed in with the wireframes or at the end of the slide deck.</p>
<h3>The low-down on the how-to</h3>
<p>To put one of these babies together, you need the right software. Fortunately, it’s probably already on your machine. As I said, DDDs are slide decks, which means you can put them together in Microsoft Powerpoint or Apple Keynote. You could, in theory, also use Adobe Illustrator or even use keyframes in Adobe Flash.</p>
<p>I created templates in Powerpoint and Keynote to get you started. I use the Keynote version often, and I find that it’s the easiest, but not everyone is lucky enough to own a Mac.</p>
<p>Both versions make use of “master slides”, and this is where the graphics are located. So that I don’t have to reformat text every time I create a new DDD, I keep a version that has three slides by default: the Cover slide, a Design Description slide, and a Notes slide.</p>
<p>To create a Design Description Document, simply pop open one of these files and do a quick Save As to make a copy without affecting the template. Then:</p>
<ol>
<li>Access the Cover master slide and replace the <strong>ClientName</strong>, <strong>ProjectName</strong>, <strong>Version#</strong>, <strong>DesignerName</strong>, and <strong>DD/MM/YYYY</strong> text with the name of your client and the project, version number, designer name, and date.</li>
<li>Open the Design Description master slide and replace the <strong>AppName</strong> and <strong>V#</strong> text with the appropriate info.</li>
<li>Go to the second slide in the deck and copy and paste it to make new empty slides &#8211; as many as you need to show each wireframe you created. If you have 20 wireframes, create 20 Design Description slides.</li>
<li>Next, either insert a wireframe image or paste one in, and then start writing out use cases in the sidebar for each interaction on that screen.</li>
<li>When you’re done, either send it off as is, or turn it into a PDF. (This is good for preventing people from editing the document.)</li>
</ol>
<p>In Keynote, you can simply export the entire document as a PDF, directly from within Keynote, by choosing File &gt; Export and selecting the PDF tab in the resulting dialog box.</p>
<p>In Powerpoint on Windows &#8211; well, you’ll have to figure that out yourself. I’m allergic to Windows. Can’t go near the darn thing.</p>
<h3>Use cases 101</h3>
<p>These templates are designed to help you write effective use cases, but here is a quick crash course.</p>
<p><img src="/images/articles/ddd/usecase.jpg" alt="Written use case for a Design Description Document" /></p>
<p>First, replace the term “Use case” throughout your Design Description slides with tasks. For example, “Sign in” is a very typical heading for a use case. “Retrieve password” is another.</p>
<p>Next, write out the steps to complete each interaction in the wireframe.</p>
<p>Finally, go back over each step in the use case and look for  <strong>exceptions</strong>. Exceptions are things that can occur if a user doesn’t execute your use case exactly as you intended it. A user who enters an incorrect password on a sign-in screen, for example, needs to be shown an error message. The use case exceptions are where you detail these facts.</p>
<p>To do this, explain which use case step is being excepted, then write out the steps for the alternate use case. In the example shown here, a user can enter an incorrect user name (Step 1 in the use case). To remedy this, we show an inline error message, the user enters the user name again, and clicks the Sign In button.</p>
<h3>Click here to download</h3>
<p>Ha! Made you click.</p>
<p>So, you’re sold? You want the templates so you can create your own Design Description Documents and stop sending out mistakes and answering questions long after a project is over?</p>
<p>Well, then <a href="http://www.rhjr.net/s/ddd">download the template already</a>.</p>
<h3>For just a few cents a day, you can help a designer break the habit</h3>
<p>Once you get the hang of creating your own DDDs, spread the word. The more designers use these templates, the easier life will be for all of us in the future. I can’t tell you how many times I’ve been sent a set of wireframes designed by someone else and had to go hunt them down and ask questions.</p>
<p>With the DDD, life is richer and more rewarding. It’s like one of those commercials where everyone is happy.</p>
<p>For a full collection of templates, visit <a href="http://www.rhjr.net/ddd">www.rhjr.net/ddd</a>.</p>
<p>And if you happen to create a new template in something other than Keynote or Powerpoint, send them to me at “robert at rhjr dot net” and I’ll add them to the collection. (Be sure to give yourself credit in the template. You deserve it.)</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/business/deliverables-that-work-design-description-documents/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.271 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-11 17:31:14 -->

