Modular Web Design Creating Reusable Components For User Experience Design
Modular Web Design Creating Reusable Components For User Experience Design
W E B D E S I G N
Creating Reusable Components for User Experience Design
This page intentionally left blank
Nathan Curtis iii
M O D U L A R
W E B D E S I G N
Creating Reusable Components for User Experience Design
Nathan Curtis
Modular Web Design: Creating Reusable Components for User
Experience Design and Documentation
Nathan Curtis
New Riders
1249 Eighth Street
Berkeley, CA 94710
510/524-2178
510/524-2221 (fax)
Notice of Rights
All rights reserved. No part of this book may be reproduced or transmitted in any form by any means, electronic, mechanical,
photocopying, recording, or otherwise, without the prior written permission of the publisher. For information on getting
permission for reprints and excerpts, contact [email protected] .
Notice of Liability
The information in this book is distributed on an “As Is” basis, without warranty. While every precaution has been taken in the
preparation of the book, neither the author nor Peachpit shall have any liability to any person or entity with respect to any loss
or damage caused or alleged to be caused directly or indirectly by the instructions contained in this book or by the computer
software and hardware products described in it.
Trademarks
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where
those designations appear in this book, and Peachpit was aware of a trademark claim, the designations appear as requested by
the owner of the trademark. All other product names and services identified throughout this book are used in editorial fashion
only and for the benefit of such companies with no intention of infringement of the trademark. No such use, or the use of any
trade name, is intended to convey endorsement or other affiliation with this book.
ISBN-13: 978-0-321-60135-3
ISBN–10: 0-321-60135-1
987654321
Printed and bound in the United States of America
To my son Liam,
with whom I build.
To my daughter Caroline,
who tears down with glee.
that it’s easy to snap each piece into place. For designers, that means using templates
with grids, asset libraries, and more. Second, organize your pieces into piles, first by color
but then those other “special” and miscellaneous piles. For designers, that means creat-
ing categorized, reusable chunks that are easy to find and use.
But what if, by sheer magic, when you dumped out your box, pieces magically aligned into
helpful rows and columns based on color, shape, size, and special use? You could just
glance at the table and grab the piece you need for each step. That’s LEGO nirvana!
A table of near-perfectly organized LEGO pieces, arranged so that you can scan, choose, and use each piece
to quickly build your ship.
That’s usually how I feel when I’m assembling layouts based on reusable page compo-
nents, even if they only solve 70 percent or 80 percent of the overall page design I need.
I’m excited about creating the custom work needed for the last, focused innovation that’s
needed. But I get off to a great start, don’t have to reinvent any wheels, and have a
framework that’s consistent with the overall design system. Your teammates, your
engineers, and—most importantly—your users appreciate this.
Preface ix
This book covers two concepts: designing with components and standardizing an experi-
ence with a component library.
Part I explores design principles and techniques for chunking your design into compo-
nents, and using those components to effectively design rich interactions and communi-
cate them to others. Over the first six chapters, we’ll cover the following:
1. Define. Understand components and how they fit in the design process.
2. Divide. Break down your page designs into meaningful chunks.
3. Vary. Communicate how a component changes under different conditions.
4. Combine. Assemble components together to form page designs.
5. Reuse. Apply principles for embedding and linking component instances in your
artwork.
6. Document. Create useful deliverables to illustrate component-based designs.
With a solid foundation in component-based design principles and reuse, Part II teaches
you how to build (chapters 7 through 11) and manage (chapters 12 through 15) a library of
reusable component assets:
7. Appraise. Ask all the right questions to make sure you’re ready to invest in a library.
8. Discover. Figure out what goes in—and what stays out of—your library.
9. Organize. Define categories, variations, names, keywords, and more.
10. Setup. Select your software tools, create templates, and decide conventions.
11. Build. Create each reusable chunk and package them up for everyone else.
12. Administer. Know your role as librarian, and be ready to curate the collection.
13. Guide. Document the role each component plays in your experience.
14. Adopt. Execute a planned series of activities so that your library takes hold.
15. Integrate. Transform how your team gets work done using components.
With that in mind, let’s break it down.
Acknowledgments
WITH THE TRUST OF MICHAEL NOLAN and the team at Peachpit Press, this project got
started down the right path. As for my lead editors Valerie Witte (project editing) and
Jeff Riley (development), you kept me organized, the work flowing, and the mood as light
as it needed to be. To Maureen Forys, Charlene Will, and the rest of the Peachpit team, I
offer a hearty—if also a bit meek—thanks for sharing your keen sense, creating a pol-
ished design, and putting up with me and my pesky “details.” This book is immeasurably
better—less wordy, less one-sided, and more accessible to those who think about compo-
nents less than I do—based on the feedback of my technical editor Austin Govella.
Through my work over the past five years, I’ve been exposed to design and library efforts
across many, many organizations. I’m deeply appreciative to those who have given me the
opportunity to learn, explore, and apply modular principles in ways that led to this book,
including (in alphabetical order): Melinda Baker, Gordon Baty, Holly Beaver, Randall Blair,
Carrie Garzich, David Hewitt, Barney Kirby, Crystal Kubitsky, Lee Fuhr, Livia Labate, Paula
Lawley, Elijah Lovejoy, Tim McLaughlin, James Melzer, Francis Rupert, Marilyn Salzman,
Yann Schwermer, Julia Stewart, Deanne Stock, Janet Wallin, Jim Webb, and so many oth-
ers. Certainly not the least, Robert Fabricant and those with him at Frog Design have influ-
enced me significantly through their inspiringly creative yet structured design delivery.
To my guest contributors, I send a hearty thanks for your effort. To Todd Warfel, keep
it real. To Joe Lamantia, keep it modular. To Nate Koechley, keep it standard. To Keith
Dufresne, keep rounding corners in wireframes! And to Christian Crumlish, my pattern
foil who provided timely feedback and turned in twice the number of guest contributions I
asked for, keep sharing the faith!
Jennifer Bohmbach, an information architect on Sun.com at the time, approached me
after a conference talk and told me about this “component library” her team built.
Through my work with the incomparable Sun.com and Cisco.com design teams, my belief
in the potential of design systems is forever changed. Andrew Payne, you’re the quint-
essential maverick we can’t do without—never let us designers tell you how it’s done!
Chris Haaga, your colorful quips are exceeded by how you masterfully tune the dials of
standards and creativity to keep the train moving. Martin Hardee, you are the master
evangelist and design director, getting everything—and everyone—to gel in just the right
way. This book would never have happened without my own “Gang of Four.” Thanks for
giving me a ticket to ride your train.
Acknowledgments xi
Chapter 1 Define 3
Rectangles! 5
For Designers, Engineers, and Everyone Else, Too 9
Components and Patterns 11
Divide and Conquer 16
Chapter 2 Divide 19
Beyond Pages 19
A Design’s Hierarchy 20
Page Chunks 22
Chunks Matter 26
From Sketching to Code 27
Example: Product 31
Example: Article 33
Example: Search Results 35
Example: Portal 37
Notes 38
Chapter 3 Vary 39
Varying Components 40
Variation via Pictures 43
Variation via Words 53
Pictures and Words Together 59
Notes 62
Chapter 4 Combine 63
Assembling Pages 64
Common Combos 70
From Projects to Systems 76
Chapter 5 Reuse 79
The Curse of Embedded Artwork 80
A More Dynamic Design 80
Reuse in Design Software 85
The Essential Links 91
A Culture of Linked Files 95
Unifying Design and Documentation 99
Index 316
This page intentionally left blank
I
COMPONENT
DESIGN
This page intentionally left blank
3
1
D E F I N E
http://sports.yahoo.com/nba http://sports.yahoo.com/nba
Page Design Component by Component
1 2 3
7 16
17
18
9 12
19
10
13
14 20
15
11
21
22
Figure 1.1 The Yahoo Sports NBA page, on the left displayed as a complete page design and on the right
broken down into 22 separate component parts. (Reproduced with permission of Yahoo! Inc. © 2009 Yahoo!
Inc. YAHOO! and the YAHOO! Logo are registered trademarks of Yahoo! Inc. This book is neither endorsed,
affiliated nor sponsored by Yahoo! Inc.)
Rectangles! 5
Once you’ve broken a page into components, you can do all sorts of things with these
smaller bits: define something; vary how it looks in different scenarios; and annotate,
prioritize, phase, build, maintain, and reuse it.
By dividing the page into components, a designer, an engineer, and other project partici-
pants can understand an entire solution but also focus on each part separately: a header
and footer navigation system; photo galleries; or even the tone, quantity, and length of
each headline in a list.
Components are essential for reusing a design in multiple places across a user experience.
By breaking down a design into components, you increase the likelihood that you can
reuse individual pieces again in other places with little or no modification.
Reusable components increase consistency, improve design productivity, reduce (or even
eliminate) subsequent implementation time, and let you minimize the impacts of updates
since many page designs rely on the same part. You can establish a modular design by
creating sensible boundaries between each component, and then recombining them over
and over in systematic ways.
In the Yahoo Sports experience, you’ll find header components like a logo, primary naviga-
tion, and secondary navigation bars repeated together, virtually unchanged, across nearly
every page of the experience. However, there are components on sports homepages
(such as for football, baseball, and tennis) that can be reused on other page types. For
example, you could reuse “Recent Injuries & Transactions” and “Latest Photos” compo-
nents on sports pages, team pages, player pages, game recaps, box scores, scoreboards,
and many, many other pages, too. Each instance may be used in different locations with
different content for different purposes, but the underlying component structure remains
the same.
I’ve never worked with Yahoo staff on any projects—including Yahoo Sports pages—and
I break down this page only for the sake of an example. But I’m guessing that the boundar-
ies I drew are pretty consistent with their understanding, too. Why’s that? Components
are usually all the same shape.
Rectangles!
Components are almost always rectangular.
In fact, every component in the Yahoo Sports NBA page is rectangular (Figure 1.2). In the
page’s body area (below the header and above the footer), a three-column layout emerges.
Within each column, each component is stacked one on top of another, except for two
components (#5 and #6) that span across left and center column.
6 CHAPTER 1: Define
http://sports.yahoo.com/nba http://sports.yahoo.com/nba
Page Design By Component Rectangles
1 21 22
3
4
14
15
16
7
10
17
11
8
12 18
13
19
20
Figure 1.2 The same Yahoo Sports NBA page layout, rendered as component rectangles corresponding
to the final layout, but with all other interface detail removed. Header (top of page) and footer (bottom of
page) components are displayed as gray boxes, whereas remaining components in the body of the page are
white boxes. (Reproduced with permission of Yahoo! Inc. © 2009 Yahoo! Inc.)
Rectangles! 7
In fact, a component is almost always visually bound by a rectangle, even if the visual style
includes properties like rounded corners and drop shadows. And there’s a reason for this:
The very nature of HTML—and the content within containers such as <div> tags—forces
page designs to be defined by arrangements of rectangular blocks in which each chunk is
displayed. That’s not such a bad thing, actually.
Since page chunks are rectangular, we can establish a modular, grid-based framework in
which we place, align, and maneuver components to assemble a page. It’s easy to imagine
yourself snapping different components into place within columns of standard widths
and other well-defined areas of a layout. By contrast, it’s pretty hard to imagine how you’d
efficiently arrange chunks of nonstandard sizes and shapes. In fact, modular reuse could
be difficult if not impossible under such circumstances. Rectangles easily fit into other
rectangles.
Of course, not all authoring environments require page components to be rectangular.
Flash is a great example, in which you can arrange, overlay, and publish against compo-
nents of almost any shape you can imagine. Plus, technology promises to evolve and our
publishing environments may support more frameworks for us to lay out content in rich,
interesting, and still systematic and modular ways—beyond just rectangles. But today,
and for the foreseeable future, we’ll be working in environments that generally rely on
markup to arrange rectangular blocks within a page layout.
So you introduce the basic principles of a design system approach: a modular set
of components and guidelines to improve consistency (which the designer cares
about) and efficiency (which the business side cares about). And the light goes on!
For the first time, the designer sees an opportunity to change this dynamic and get
out of the weeds, maybe. Unfortunately, the biggest challenge to achieving this goal
is not creative (ie., the creation of the assets and guidelines); it is cultural.
The general concept of a design system will have immediate appeal to a number of
stakeholders, particularly in an engineering-centric organization.
Good software development relies on modularity and reuse of both back-end and
front-end libraries. So your development team will seem like a good partner. Stan-
dard assets, such as UI widgets or layout templates, have obvious benefits for
developers. But be careful: While modularity is at the core of software development,
chances are that developers define the components a bit differently than you do.
This problem can quickly become a morass as you debate the definition of a
component or a template. Language becomes very slippery when dealing with
abstractions. And chances are that the development team has already baked their
definitions into the code in some way. So don’t try to convince them that you are
right and they are wrong about whether search is a single component or multiple,
separate components. It can be hard to move the effort forward and not get bogged
down in very abstract debates.
If you can’t quickly agree on a glossary of terms and a notation system for referring
to various elements of the design system, such as “Controls” (e.g., a “submit” but-
ton), “Components” (e.g., a login widget), and “Templates” (e.g., a product page),
then you might consider introducing a new language on purpose to separate differ-
ent uses. We created a modular Web design system for Dell Computer in the late
1990s that helped them scale from $14 million to $55 million in sales in two years.
It was organized around “Atoms” and “Molecules.” This may seem goofy, but it
avoided a lot of potential confusion. Everyone knew what we meant by a molecule
(the metaphor was easy to relate to). And a Product Display molecule was not con-
fused with the underlying software component(s) that it might contain.
This worked for a time, long enough to get the system embedded in their organi-
zation, though I doubt anyone at Dell now would recognize these terms. Design
systems require a certain religious fervor to drive adoption, particularly in the early
stages. Language, both text and symbols, is an important part of the conversion
process.
For Designers, Engineers, and Everyone Else, Too 9
High
one or both of the key players who use them: designers and
engineers. Designers are responsible for defining the organiza-
HTML Markup
tion, interactions, layout, and visual style of a user experience,
whether within a Web browser (which is the primary focus of
this book) or across other devices (such as a phone, kiosk, or
tablet). Thinking modularly and using concepts like compo-
nents are vital for a design to create a cohesive, holistic experi- [Source] [Source] [Source]
Comp
[Source] [Source] [Source]
Fidelity
roles with titles like information architect, interaction designer, Photos
Wireframe
role simply as designer, except for special cases where a more
[Source] [Source] [Source]
Low
pixel-perfect way. Figure 1.3 depicts these screen visualizations
on a continuum, ending with the actual, formal HTML markup
interpreted by a browser to render a component design. Figure 1.3 A photo gallery
component rendered at
Designers rely on engineers to build the applications, con- different fidelities during
tent management systems, and other technical frameworks a design and develop-
on which an experience is built, published, and maintained. ment process, perhaps
Engineers are just as often referred to as developers or pro- from its first consider-
ation within a sketch
grammers. They create code to build software, databases, and through wireframes and
infrastructure to support a living, breathing, and evolving tech- comps to its ultimate
nical system. And, more often than not, thinking modularly is definition and publishing
already a part of their psyche. via final HTML markup
and styles.
10 CHAPTER 1: Define
Producers (and their cousins, site strategists) who work with stakeholders to collect,
organize, strategize, and even produce content in components that guide them toward
consistent and informed application of a design system
Publishers who routinely assemble pages (whether through a content management
system, cobbled together HTML of their own, or a mix of the two) using components
that afford a plug-and-play model for building
Some of these partners may have been exposed to techniques for design reuse before,
and may even jump to the conclusion that components are the same as design patterns.
What Is a Pattern?
A pattern is a solution to a recurring design problem, such that you could use the solution
many times and never use it the same way twice.
For example, there’s no reason for you not to employ the common tenets of tabs (such as
at least two tabs are required), video playback (that can be played or paused), or authenti-
cation (that, at a minimum, requires some form of username and password). Patterns are
essential in interaction design, serving as a basis for designers to apply common, consis-
tent, and usable principles.
Home Link
Logo
Header Navigation
Headline
Tabs
Minimize
Faceted Navigation
Title/Abstract/Link
Thumbnail
Figure 1.4 Yahoo Sports NBA page annotated for both component
chunks (as dashed outlines) and patterns (as labeled callouts).
(Reproduced with permission of Yahoo! Inc. © 2009 Yahoo! Inc.)
Are the components and patterns the same? Not at all. The components represent
chunks of visual design and HTML/CSS code that are combined into a composite Web
page. Patterns are sprinkled within and across components. Do they overlap? Sometimes.
A few components are simple enough to map to a specific pattern, such as search and
tabbed navigation. Other components combine several patterns, such as the Who’s Hot
component that combines patterns for tabs, faceted navigation, and overview and detail
content. A pattern is a theory about how a general design problem can be solved. A com-
ponent is a specific way that your organization has decided to solve its specific design
problems.
Used in concert, patterns and components blend to become parts of an effective,
modular design solution.
Components and Patterns 13
2 3
Figure 1.5 Tab pattern used within multiple components on sports.yahoo.com/nba/ for sport-by-sport navi-
gation (such as NBA and NHL), article types (Headlines and Rumors), and player attributes (Hot and Not
as well as positions like Guards, Forwards, and Centers). (Reproduced with permission of Yahoo! Inc. © 2009
Yahoo! Inc.)
In every case, the design adheres to the fundamentals of a tab pattern, for example, dis-
tinguishing the active tab from other tabs. However, the use, page region, style, scale of
reuse, and design details differ considerably for each component.
Type(s) Could be a page chunk (login module), Always a chunk of a page or screen
flow (shopping from product to cart design
to checkout to receipt), behavior (e.g.,
autocomplete), or something else
Specificity Globally applicable across a range of Specific to one design system, includ-
contexts ing layout, color, type, and behaviors
Location Up to the designer to appropriately Targeted to specific location(s) within
apply principles and locate within a a page layout, based on approved
screen design usage
Components and Patterns 15
Style Abstracted from any specific skin, Finished within one visual system,
and flexible to adapt to many visual although variations may be defined
treatments
Editorial Perhaps some basic editorial guidance Specific data, formats, guideline, style/
tone, and even defined feed
Markup & While starter code may be available, it Ideally represented by formalized
code needs to be tailored to fit the system HTML, JavaScript, and CSS if the
library is built
How it works Represents how a design should work, Represents how a design does work,
under preferred conditions (but may inclusive of the tradeoffs and con-
suggest how to cope with tradeoffs) straints established during the design
process
implementing the pattern. We’ll also include stencils or other creative assets when
appropriate to make it easier for designers to add the component as a module to
their wireframes and to improve the communication process between designers
and developers by being able to point to a consistent “symbol,” as it were, of each
component.
In the ONE collection, the patterns are complemented with code samples, engineer-
ing implementation guides, prototypes, and even reference implementations. We
don’t really consider the pattern by itself to be a component, because without assets
for designers to aid sketching and composition or reference code for developers to
play with, it’s just a set of recommendations. If you put tools into the hands of your
makers (designers and engineers) and thereby make their lives easier, they have no
reason not to build with components. If all you have to offer is “something to read,”
the benefit will be much more subtle and thus much less compelling.
We’re working on pulling together a single universal interface for our internal pat-
terns and component libraries, but we do have some distinctions we want to main-
tain. The general, all-purpose interaction patterns (such as most of those available
in the public Yahoo! Design Pattern Library) provide a baseline of current best
thinking about interaction design. We use them to share what we’ve learned with
our entire distributed design community, but individual designers are relatively free
to ignore them if they wish. The ONE components are modules that we want to see
eventually implemented with 80 – 90 percent consistency across Yahoo! (making
exceptions for unique contexts). The interaction patterns don’t ordinarily turn into
ONE components, although they can be seen as a sort of bedrock on which the
components stand, as many of the components refer to the interaction patterns
that underlie them.
As your user experience grows into a vast, interconnected system of pages, you can estab-
lish a component library to improve efficiency, consistency, and reuse. This library can
be a shared venture of many teams, used across many projects, and applicable to many
areas of an experience. Designers can produce wireframes, comps, and markup far more
quickly reusing components from a library rather than creating everything from scratch.
And your development team can begin to build for the long haul by creating similar, reus-
able chunks.
A component library isn’t about limiting innovation. Instead, it empowers designers to
reuse solutions to problems that have already been solved so they can focus more on the
problems that don’t have solutions. When individuals no longer reinvent vast portions of
a design with every project, productivity increases and headaches diminish. In addition, a
library provides a platform for improved governance, a deeper baseline for collaboration,
and a structure for useful and predictable documentation.
A component library can serve as a centerpiece for integrating component-based thinking,
efficiencies, and standards into your process and culture. However, creating a library is no
small task. It takes time, planning, adapting to change, and commitment—both financially
and organizationally. And libraries aren’t appropriate for every team. So let’s not get ahead
of ourselves. That’s why Part 2 of this book details when to build a library, how to build it,
and how to adopt and manage it once it’s ready for prime time.
Instead, start with the remainder of Part 1 that introduces you to the mindset of designing
and communicating modular solutions using components. You create designs, you modu-
larly divide those designs into smaller parts, vary each part, combine them back together
in interesting ways, and communicate your design with those you collaborate with.
Let’s get started by dividing and conquering our page designs.
This page intentionally left blank
Beyond Pages 19
2
D I V I D E
Beyond Pages
The user experience field has come a long way, providing a range of specializations from
information architecture to interaction design and visual design to engineering HTML and
cascading style sheets.
However, when a friend or family member asks me what I do, I often begin with “I design
Web pages.” From there, one can get more specific via comparisons (like an information
architect comparing his role to an architect of buildings), concrete explanations (like a
visual designer talking about layout, color, and Adobe Photoshop), or even mystifying
terms like “AJAX!” But to those unfamiliar with our industry, a general and basic answer
may be all you need. And in that simple answer—I design Web pages—is the core unit
of design: the page.
Pages are what everyone experiences when navigating the Web. A page represents a user’s
view at any point in time. Pages are the fundamental unit of the experience. A page has
purpose. Everyone knows what a page is.
20 CHAPTER 2: Divide
But thinking only of pages limits our potential to address design challenges at a lower
level. Sure, starting with a page design may make sense. But by the time you start on the
second page, the mindset should shift to looking for reusable chunks. By the third, fourth,
and fifth page designs, reusable components become increasingly obvious.
So, for any given online experience, I start with the design of a page—a full page—from
the ground up. For every page after that, design becomes a balancing act between creat-
ing new, custom, specific solutions and reusing parts of other pages, all the while being
mindful of how pages combine to create a fluid, meaningful experience.
A Design’s Hierarchy
But where does the page fit in the overall experience? Not the experience from a user’s
perspective—but where does the page fit within the complex system of flows, areas,
pages, elements, and other things you design? If you think of your design system hierar-
chically, Pages actually fit right in the middle.
At the top of the hierarchy displayed in Figure 2.1, an entire Experience solution captures
every flow, every page—every part of a design system that would be presented.
Figure 2.1 The design hierarchy, along with three examples of how that hierarchy applies to different types
of sites.
A Design’s Hierarchy 21
A holistic experience usually contains many different page types, often organized into
Collections of pages like the following:
Ω Page suites, such as a product’s overview, features, gallery, and tech specs
Ω Flows, such as a wizard installation or ecommerce sequence through the shopping
cart, billing and shipping information, order review, and receipt
Ω Sections and hierarchies, such as a catalog of products browsed in increasingly
narrow categories
Ω Content types, such as collections of videos or photographs found via search
Just as pages can be grouped together, they can also be divided into pieces. Instinctually,
a designer first tends to break down pages into Elements such as the following:
Ω Page title
Ω Headers
Ω Paragraphs
Ω Buttons
Ω Checkboxes
Each element is atomic, incapable of being further divided or described as multiple parts.
As a designer, you should remain ever mindful of how each element fits in and contributes
to the mission of an entire, cohesive page.
However, designing a page as a combination of elements doesn’t get you very far in creat-
ing a modular design system. The level in between a page and an element—referred to as
page chunks, or Components—is invaluable in creating a modular page design. Compo-
nents combine one or more elements that can be assembled, reused, and documented
to solve a specific design problem, with the potential of reusing that solution again in
the future.
Sure, there are many examples of atomic elements that are reusable, documented, and
useful in solving a specific design problem, which belong in a library of reusable items.
Generic elements like a site logo (that links to a homepage), page title, section header,
paragraph, and button all warrant standardization and reuse. No doubt about it. However,
generic elements address only the most basic baseline of standards.
In designing and documenting pages with a bevy of sophisticated states, behaviors, and
content structures, most components are combinations of many elements organized
together in a meaningful, specific way.
22 CHAPTER 2: Divide
Page Chunks
How do you find the components in a page? Divide the page into chunks.
Chunking a page design is a process of decomposing a page into a set of building blocks.
Each component chunk is a cohesive but smaller portion of the page, both reusable and
independent of other chunks. Once identified, the chunk is a concrete unit of design that
you can focus on, add more details to, vary, and reuse. Such a process is also referred to
as “modularizing” or “factoring” a page design. Chunking a page into components is a
great way to break down a design into sub-problems so that each one is simple enough to
be solved directly and independently. For a page designed from scratch, chunking identifies
all the parts, considering each as a cohesive whole, but also homing in on relevant details
of each part. For a page built upon an existing design system, the process of chunking
enables you to frame and focus innovation on what makes that design solution unique.
For information architects, chunking feels entirely natural, as it focuses on the structure
of an experience. However, visual designers may feel a bit more challenged by chunk-
ing since the overall page aesthetic and composition are vital. But such challenges don’t
diminish the need for all designers to deconstruct a design and consider the scale, flexibil-
ity, and independent impact of each component.
Learn More
» Call
» Have Us Call You t4 Primary navigation
» Worldwide 2f¿ces
t5 Breadcrumbs
8 Deliverable Basics 9 Component-based Wireframing 15 Find a Training Video
t6 Page title
Category
Figure 2.2 A chunked wireframe page, annotated using markers and a component list.
Although seemingly trivial, the investment in annotating page chunks pays off many times
over. Annotated chunks enable designers and stakeholders to do the following:
Ω Understand an entire page simply by walking through enumerated
component parts.
Ω Refer to specific components without ambiguity, and even establish a shared
vocabulary to refer to it over time.
Ω Relate one component to another on the same or different page layout.
Ω Extend or mark up components with additional properties, such as priority.
24 CHAPTER 2: Divide
Search:
Logo Welcome! Sign in or create an account for eightshapes.com GO Site search
Primary navigation Services Training Downloads Blog Videos Papers Events About Us
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Keywords Video search
Video topic carousels extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines]
Submit
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Downloads
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines]
[Document name]
[Document name]
[Document name]
Downloads
Section header Sample Deliverables [Document name]
Figure 2.3 A chunked wireframe page, annotated using callouts for each component.
Without clearly identified page chunks, early reviews of basic page layouts can go awry,
or at least take far too long. Who hasn’t replied to a five-minute nonstop diatribe with a
meek “Which part are you referring to?” Remote collaboration intensifies such challenges,
as voices on the phone begin to refer to items by different names in different locations in
different contexts, while maybe even looking at a different page! Chunks remove this chal-
lenge by enabling a clear basis for efficient, predictable design communication.
While annotating component chunks with callouts or markers can have the same initial
benefits, using markers is a more scalable solution. If the screen design will evolve over
time (adding, removing, shifting components in the page layout) and details are recorded
over time (specs like behaviors, states, and content), then markers are easier to reorient
to accommodate change and growth. However, if the document is a one-off, never to be
updated again, then callouts can provide a more direct, effective form of annotation.
Page Chunks 25
on page needs. Since the blocks have distinct purposes and vary independently, separate
them into different chunks.
Getting chunks just right takes practice, collaboration, experience, and learning when you
need to go larger or smaller to vary, document, and reuse it over time.
Chunks Matter
Chunking a page design enables you to break down what can be a very complex page
design into a collection of easier-to-understand, bite-size portions. A designer must solve
problems—and discuss those solutions with peers and stakeholders—in ways that can be
communicated succinctly and clearly. Component chunks provide a simple structure that
can focus conversation while sustaining the context of a broader page or experience.
Sure, some pages may be so simple that chunking seems like overkill. Other times, design
reviews drill deeper past components to focus on nitpicky states and behaviors of a single
element. But more often than not, a chunked page provides an effective way to set the
stage for detailed conversations about important parts while setting aside other parts that
are already well-defined or less important.
It’s important to think about component chunks early. Sooner or later, those component
chunks will be the basis for variations based on relevant states, behaviors, and content
(see Chapter 3, “Vary”), as well as illuminate opportunities for reuse across design files,
in documentation, and throughout a solution (see Chapter 5, “Reuse”).
Additionally, breaking down a page into components suggests a structure for document-
ing a solution. As you chunk a page, you’ll begin to refer to each item by name, use these
names in discussions with stakeholders, and even start to number each chunk per page,
site area, project, or whatever organizational model you create with your document(s).
Such names and reference numbers provide a roadmap for you—and your colleagues—
to use across project artifacts, whether the work is done in parallel or one project after
another. An interaction designer creates detailed, well-organized design specifications. A
visual designer modularizes comp artwork with similar boundaries. Engineers and quality
assurance analysts use component chunks as a roadmap for creating systems documents
and test plans. The thoughtful organization of components can create efficiencies in com-
munication and delivery that ripple across a team. Chapter 6, “Document,” provides more
information on documenting components during a project.
Just as well, chunked page designs create a more fluid discourse between designers and
whoever is tasked with monitoring emerging designs in the context of a holistic experi-
ence—or even an ongoing library. Instead of having to decipher and compare many unorga-
nized pages, reviewers can quickly scan designs and understand how an experience is—or
From Sketching to Code 27
Relating Components
Component chunks also provoke discussions about the relationships of components to
one another and to the overall experience. Which chunks are going to be reused frequently
on many pages, sections, or an entire experience? What components are often—or
always—displayed together? Is one component dependent on another?
Designers grapple with questions like these during a design process, and also when iden-
tifying components to add to a library over time. Many decisive themes bubble up during
project conversations, and it’s up to the designers to balance project needs against the
evolving, holistic experience. For more information on component themes to consider
during a project and when creating a library, refer to Chapter 8, “Discover.”
Just as chunks can influence our early discovery and design, they also permeate our
design documentation, code snippets, test plans, and myriad other aspects of a project.
Component-based documentation is addressed in more detail in Chapter 7, “Appraise.”
So if you’ve been toiling away at designs for large-scale Web sites, and you aspire to
work smart, it’s well worth your while to consider the benefits of a component-based
approach. If terms like consistency and system or repeatable and re-usable frequently
pop up in your discussions with designers, business people, and those on the build
and deploy side, then you’re already making the case for using components.
I got into the Web design space as part of a tiny visual design team tasked with
applying basic brand/experience design principles to a very “dynamic,” distributed
design space. It was 1997, and our Sun.com site already had several thousand pages
in play. Our brand design team was coming into the publishing community from
the outside, and we needed to work our way in carefully ... and we literally took that
approach as we conducted our initial design plan: normalize the header and footer
across all pages, then start to standardize common elements in the body of each
page. As we expanded our influence and gained ground bit by bit, we wondered how
we would be able to keep the doors on the beast.
Fast forward a few years. The site had grown to tens of thousands of pages. Our
tiny team had kept moving on the battlefield of design by creating page templates,
developing a common style sheet, and drifting toward a component-oriented design
strategy. But a site-wide redesign provided us with our big opportunity. We met with
a design agency that strung these practical, near-mystical words together in their
RFP in the “design deliverables” section:
“A system of modular design components to comprise a design toolkit and frame-
work demonstrating a cohesive identity throughout the site.”
Ding, ding, ding. (Or “duh,” I guess you could say.) The words put everything into
focus and started us down a path toward a site design methodology that we’re still
exploring, evolving, and exploiting years later.
What is remarkable and cool about a component-based approach to Web site devel-
opment is the degree to which it can be bred into describing, designing, building,
documenting, deploying, and evolving a design system. Our information architects
use page layout templates pre-loaded with styles and objects that correspond to our
component specs. Our technologists have documented component samples and
code snippets to expedite publishing. And when we need to extend or improve, we
have a design baseline to work from and, by controlling the style sheet and global
assets, we deploy upgrades across Web properties that span over two million pages.
Components aren’t the complete solution, but they provide a platform to cover the
basics. They also pay big dividends, saving money and time—time that can be used
to think of interesting ways to evolve your design system.
30 CHAPTER 2: Divide
4 16
8 12
10
13
14
15
11
Example: Product
Product-oriented sites must present a catalog of offerings that supports the overall com-
pany brand but also communicates the unique characteristics of each product. The Sun.com
product page shown in Figure 2.7 displays product specifications such as memory, proces-
sor, and operating system requirements. At the same time, the overall page composition
surrounds such detail with navigation to other product information (such as Features and
Perspectives), branded photography, and promotions and community events in the side-
bar. All the while, the entire page design is wrapped in a consistent, modular header and
footer to sustain a sense of place and to guide users around the site’s architecture.
Components
1. Global and utility navigation 9. Anchor links
2. Masthead (primary navigation) 10. Spec table
3. Breadcrumbs 11. Spec table (repeated)
4. Page title 12. Banner with image
5. Billboard 13. Banner without image
6. Primary tabs 14. Small banner
7. Secondary tabs 15. Related links
8. Introduction 16. Page tasks
4
5
6
7 15
10
12
16
11
17
18
13
14
Example: Article
Informational sites, particularly those like news site Washingtonpost.com, can include
innumerable articles. An article template may be thought of as fairly straightforward: a
title, an author, a date, article copy, and perhaps a few photographs sprinkled in. Not so
simple in today’s world of online publishing, where one article can include a range of con-
tent types (like videos and photo galleries), tasks to share and comment on content, and
links to related articles and advertisements. The Washingtonpost.com article template
includes many such modular components (Figure 2.9).
Components
1. Personalized utility bar 10. Article body copy
2. Header (with advertisement) 11. Related articles
3. Leaderboard advertisement 12. Video highlight and launch
4. Global navigation 13. Toolbox
5. Search 14. Comment box
6. Breadcrumbs 15. Medium rectangle advertisement
7. Read and comment bar 16. Top jobs
8. Mobile promotion 17. Featured advertiser links
9. Page title 18. Ads by Google
5 9
10
6
11
12
13
7
14
Figure 2.10 Marriott.com location search results and map. (Courtesy of Marriott.com)
Example: Search Results 35
Components
1. Utility navigation 8. Promotion
2. Site logo 9. Map
3. Primary navigation 10. Map detail panel
4. Search location & result quantity 11. Results table header
5. Edit search 12. Results table row (collapsed)
6. Filter search 13. Results table row (expanded)
7. Account sign-in 14. Results inline tabs
Spotlight: Maps
Discerning the right chunks for a mapping interface—or any sophisticated interface, for that
matter—can feel challenging at first. The key theme in identifying components in this context
is reuse: what is reused; what is reused together; and are various parts shown or hidden with-
out impacting the rest of the interface. In this case, the mapping controls (zooming in and out,
toggling across type, moving in different directions) would always be displayed as a part of this
mapping component. Therefore, it doesn’t make sense to treat these controls as separate com-
ponents from the map underneath, but rather, all as part of one reusable chunk. However, the
panel triggered by hovering a location marker appears independently and would likely have its
own range of variations, so it’s treated as a separate chunk.
36 CHAPTER 2: Divide
4 7 13
10
14
15
11
16
12
17
18
Figure 2.11 The iGoogle portal homepage contains many modules in a layout configured by the user.
Example: Portal 37
Example: Portal
Customizable portal pages are a great place to start teaching someone about the benefits
of modularity. The layout of the iGoogle portal homepage (shown in Figure 2.11) can be
configured to have one, two, or three columns; in this case, the setup includes a narrow
left column and wide right column. The layout is contained with a side tab component
that enables you to toggle between home (currently displayed) and tools. The dotted line
surrounding the content modules reflects the tab’s container, a nearly invisible component
that nonetheless controls the layout.
Each module is standardized to include two parts: a content area and a labeled header
with options buttons. Standard layouts and typography are critical for flexible reuse and
configuration; without them, the page’s rhythm and appearance would be compromised.
With the standard construction, each module remains a separate concern, with well
understood, logical boundaries.
Components
1. Google global navigation 10. Google Reader
2. iGoogle header and search 11. Weather
3. Configuration bar 12. Music
4. Tab 1: Home 13. Maps
5. Tab 2: Tools 14. Google Calendar
6. Tab container 15. Google Docs
7. Countdown 16. Washingtonpost.com feed
8. Date and time 17. ESPN.com feed
9. Gmail 18. Footer
Notes
Singer, R. 2004. An Introduction to Using Patterns in Web Design. 37 Signals: http://www.37signals.
com/papers/introtopatterns/.
Brown, D. 2002. Where the Wireframes Are: Special Deliverable #3. Boxes and Arrows: http://www.
boxesandarrows.com/view/where_the_wireframes_are_special_deliverable_3.
39
3
V A R Y
“Plus ça change, plus c’est la même chose” (loosely translated as “The more things change,
the more they stay the same.”)—Jean-Baptiste Alphonse Karr
One thing we can be sure about is that nearly everything we design online
needs to adapt to change. While a few components may end up having a static, fixed
state, so many more require a designer to identify, visualize, and communicate a design’s
range and flexibility.
This chapter focuses on how to communicate component variation by doing the following:
Ω Documenting different component instances
Ω Understanding and communicating states
Ω Choosing the right techniques to display visualizations
Ω Composing precise and effective descriptions
Ω Thinking about how to best combine visualizations and descriptions
40 CHAPTER 3: Vary
Varying Components
A component needn’t—and, in many cases, shouldn’t—always be the same. In fact,
components can vary in many ways due to the following:
Ω Personalized content and functionality based on business rules
Ω Customized presentations based on user preference
Ω Dynamic navigation and content driven by taxonomy
Ω Behaviors, including interactions and transitions
Ω Diverse, editorialized copy
Ω Features available or limited due to platform considerations
Ω Computed data such as price and discount
Ω Content quantity and scale, such as a shopping cart’s product quantity
and diversity
As a designer, you must consider these varied circumstances to fully illustrate a compo-
nent’s flexibility and potential for reuse. But more importantly, thoughtfully considering
such change should prompt you to tell a more complete story of how, when, why, and how
much a component can be different.
During projects, the need to vary a component may be obvious from the outset. For exam-
ple, the site header’s secondary navigation bar has distinct options for each primary navi-
gation option: Primary categories for Products and Support would each have a distinct
set of secondary navigation options. Designing, documenting, and maintaining primary
and secondary navigation options in a header can be helpful to all involved in a large-scale
design project.
On the other hand, other components may not seem to require any variation until later in
the project when teams drill into details to finalize a design. Initially you might think each
pleat of an accordion need only include a basic paragraph with embedded links. However,
later in the project, the team could agree that content may also include thumbnails and/or
subheads. In that case, the accordion must be varied to address such cases.
You shouldn’t be resistant to creating new variations per se. Each variation is an opportu-
nity to communicate more thoroughly, whether to extend a component or clarify its cur-
rent use. With variations, an entire project team—designers, engineers, and stakeholders
alike—can accurately assess if, how, and to what extent something can change and adapt
to different circumstances.
Varying Components 41
Exploring and documenting variations can also suggest to a librarian what items—at what
range and flexibility—should be considered for a library or other set of standards. Project
conversations may result in adding only a subset of variations to a library, and that’s OK.
States
Variations are often considered as component states with distinct behaviors, content,
style, and structure. States address how a component appears when a page is loaded and
how its appearance shifts as interactions occur. Each state is a mode of being, where the
user interface is rendered based on specific conditions. Under varying conditions, the
interface may and often does render perceptibly different displays.
Granted, some components are entirely fixed. The site logo in most designs is positioned
in the upper left of a page and may never, ever be changed, located elsewhere, or linked to
anything other than the site’s homepage.
But most components vary at least a little, either via a known set of discrete states or a
more flexible, continuous range of states dependent on available content and events that
occur. The site utility bar depicted in Figure 3.1 has two states and only two states: not
logged in (which includes a link to log in) and logged in (which displays the username as
well as a link to log out).
A homepage billboard of feature stories could have an innumerable array of states that
address unique headlines, large product photographs, story snippets, links, and even
embedded video, all of which depend on how the editorial team chooses and publishes
content. The potential variation is infinite. However, the designer can create a handful of
billboard variations to sufficiently convey component diversity and flexibility.
42 CHAPTER 3: Vary
For example, the interface will hide content that is inappropriate for unauthenticated
visitors. Similarly, if an ecommerce site recognizes that a customer is interested in
government products, then the interface shows such promotions and purchase options.
#1. Compare
First and foremost, lay out component variations to facilitate easy comparison. A suf-
ficiently diverse collection of variations enables readers to examine distinctions, whether
straightforward or very sophisticated. Each alternative should inflect meaningful informa-
tion, making it worthwhile and unique.
Consider the rich array of contact options that sites provide. Figure 3.2 presents four
variations of a prominent and reusable Contact Us component.
» Email
» Call
» Have Us Call You
» :orldwide 2f¿ces
The nearly ubiquitous default variation includes a button that initiates an interactive, real-time
chat. Therefore, this primary version is positioned in the upper left. To its right, a scaled-down
Variation via Pictures 45
version omits the chat button for when the business is closed or support representatives
aren’t familiar with that page’s content. On the lower left, the default variation is repurposed
as a “pop-in” presented above page content after a prescribed period of time has elapsed.
The final alternative depicts a static variation with basic contact information, appropriate for
an “About Us” section of basic corporate content like press releases and governance.
By positioning all four options tightly together, stakeholders can compare the alternatives
easily and ask more probing questions such as “Do I always have to display all four links
under the Chat Now button?” and “When would I turn off real-time chat?”
#2. Order
You can communicate important context with the order in which you present alterna-
tives. Avoid a jumbled layout of variations haphazardly placed in no particular sequence.
Instead, use order to reveal aspects like status and priority, or to create a progressively
more personalized collection of content.
For example, if variations include an archetype that is the basis for other alternatives or
is used in the majority of cases, position that variation first in the upper left, as shown in
Figure 3.3.
Your Cart (0) Your Cart (1) Edit Cart Your Cart (2) Edit Cart
You currently have no items in your [Product name] Added to your cart:
shopping cart. [Product description Necti blaces dolor
[Product name]
mollatem dolor maionsenis maximo]
[Product description Necti blaces dolor
$##.##
mollatem dolor maionsenis maximo]
$##.##
Subtotal: $##.##
Other items in your cart:
Proceed to Checkout
[Product name]
[Product description Necti blaces dolor
mollatem dolor maionsenis maximo]
$##.##
Subtotal: $##.##
Proceed to Checkout
Similarly, you can use order to reveal variation as more information is added over time.
For example, one may progressively add items to a shopping cart. The first variation
depicts an empty mini-cart (displayed in the site’s sidebar), and additional variations as a
user adds products over time. Notice how the implied order from left to right communi-
cates growth from the default state to a progressively fuller cart.
46 CHAPTER 3: Vary
#3. Attribute
You can use one or more features, traits, or attributes to vary components across a dis-
crete set of values. These attributes enable stakeholders, engineers, and testers to tie
variation to explicit conditions. Visualizations should cover sufficient attribute values to
communicate component range and flexibility.
For example, Figure 3.4 depicts three variations of a credit history check shown on a
checkout page. If the system assumes the audience is a consumer, display common con-
sumer fields such as Social Security Number and Date of Birth; otherwise, show business
fields like Tax ID and Company Name. If the purchase is already preauthorized based on
other known factors, then hide the credit history fields and show a message.
Consumer Business
Social Security # * - -
Driver’s License # *
A Audience: Consumer
Consumer Business
Tax ID # * -
Company Name *
C12v5
B Audience: Business
Since you are purchasing these products for business use, your business will be liable
for this purchase and no credit history check is required.
C Audience: Predetermined
Figure 3.4 Three variations of a credit history check, depending on audience type.
Variation via Pictures 47
#4. Arrange
You can enrich component visualizations by arranging them in rows and columns that
correspond to discrete attribute values (such as gender or age range) or more continuous
spectrums (like quantity, age, or time).
For example, consider a mini–shopping cart that displays the current contents of your cart
as you navigate through a shopping section (Figure 3.5). Here, the y-axis is used to com-
municate the quantity of items in the cart, and the x-axis reveals the distinct appearance
based on whether a promotions code has been applied. In this format, readers can iden-
tify what combination of attributes fits their current scenario, and use the grid as a lookup
table to find the right visualization.
1 Item Your Cart (1) Edit Cart Your Cart (1) Edit Cart
Proceed to Checkout
2+ Items Your Cart (2) Edit Cart Your Cart (3) Edit Cart
#5. Concentrate
Sometimes designers feel compelled—or are asked—to visualize every single instance
of a component, based on every combination of attribute values. Consider a checkout’s
shipping component that varies across five properties (each with two possible values)
that independently impact the display, as shown in Table 3.1:
Table 3.1
Does it make sense to visualize 25 = 32 (or more) variations to cover every combination?
Absolutely not. Can you imagine how long it would take to render each one? And then
maintain all of them if and when updates are required? The range of variation can be
established with far fewer alternatives.
Strategically choose a subset of combinations, avoid or remove the need to create the bulk
of alternatives, and concentrate information in variations that are rich, easy to interpret,
and sufficiently revealing. This technique enables you to better balance thoroughness ver-
sus available time. Instead of realizing every instance, you can pack in much information
without wasting your precious time visualizing each one.
In the case of shipping options, four variations are sufficient to display all the possibili-
ties (Figure 3.6), whereas many more may have been needed to visualize every possible
combination. For shipping destination, combinations of business rules will result in one of
three types: fixed destination (A), entry (B), or options (C). For shipping method, it’s just
as flexible with a radio button toggle (A), fixed (B), and free (or fixed discount) (C).
In this case, it’s up to you to complement these visualizations with sufficient annotation
and specs to clarify when destination and method options can be mixed and matched.
Once a sufficient set of variations has been prepared, readers can compare and contrast
variations to interpolate and construct a different alternative in their mind’s eye. In that
sense, reduce the amount of documentation—and the work required to prepare it—to
visualize variations that pack the biggest punch.
Variation via Pictures 49
Shipping Shipping
Destination Destination:
Your products will be sent to your credit card billing address for security purposes. Send to my billing address
Send to a another address
Shipping Shipping
Destination Destination:
Send to my billing address
Address * Send to a another address:
Address *
City *
State * City *
ZIP Code *
B
Destination Entry, Fixed Method D Destination Options, Method Options
Figure 3.6 Visualizations that vary across several dimensions concentrated into a few revealing alternatives.
#6. Bound
Some components vary significantly, and stakeholders may not know how much they can
customize a chunk based on their own project settings. Content can scale (for example,
lists), be personalized, and change after the design process concludes. That means read-
ers must interpret a component’s existing states to know if they can change it in other
ways to suit their purposes.
Effective component variations imply or overtly communicate outliers on the fringe of
acceptable use. However, collaborative discussions—and real-life application—will
shed light on unacceptable deviation that is outside reasonable limits and that must be
documented. Therefore, you can use variations to constrain component usage within
acceptable boundaries and increase the likelihood that engineers, copywriters, and other
designers use it correctly. Such boundaries communicate not just how a component
should look, but also how a component should never look, and may take the form of Dos
and Don’ts communicated visually.
50 CHAPTER 3: Vary
For example, consider the rich interaction of an accordion of expandable and collapsible
pleats. Stakeholders, designers, engineers, and publishers must work together to ensure
consistent implementation and repeated use. The first row of variations in Figure 3.7 dis-
plays two acceptable content variations in an accordion’s pleat: a paragraph and link with
or without a thumbnail and subtitle. The second row shows unacceptable diversions in
structure (such as a table of links), state (such as having two pleats open at one time), and
scale (such as having more than three pleats in one accordion).
Illustrating unacceptable variation is just as effective for matters of copy and visual style.
Where copy is concerned, illustrations can efficiently highlight inappropriate length, tone,
quantity, structure, hierarchy, and more. For visual style, boundaries can cover an incred-
ibly diverse collection of aspects that include image size, photographic style, typography
embedded in images, type family, type weight, and so much more.
Figure 3.7 Two rows that contrast appropriate use against unacceptable structure, state, and scale.
Variation via Pictures 51
#7. Narrate
Component variations can be powerful for changes in state over time. A storyboard may
span significant time, or be representative of a quick and rich inline interaction. The pri-
mary axis of the illustration is time, over which the designer threads a story using static
illustrations of key steps, transitions, and content.
Simple interactions, such as a product rating, can include many interesting moments to
record (Figure 3.8). Here, time passes implicitly across variations. A product is initially not
yet rated, but then the visualizations reveal hovered, clicked, saved, and applied states.
The visualizations also enrich our understanding in other ways: labels for each of the rat-
ing levels (such as “Poor”), the distinct appearance of filled and empty stars, and applied
ratings that include an average rating and allow for partially filled stars.
Don’t disrupt changes in state across a timeline with obscure logic that isn’t evident in the
display. Instead, the progression across time should be smooth, meaningful, and evident
as the timeline advances from one frame to another. Keep pictures simple if such logical
details are better communicated with words.
Not Yet Rated A Rate this [Item type]: (not yet rated)
Figure 3.8 An inline product rating component, with variations that imply the dimension of time.
52 CHAPTER 3: Vary
What about prototypes? Isn’t it far more real to communicate behaviors with actual inter-
actions? Absolutely. Interactive prototypes, references to internal and open source code
libraries, and even sample code can be invaluable for getting behaviors right. However,
supporting documentation provides a separate perspective, annotating illustrations of
key moments and identifying an auditable track against which others can develop, test, or
compare after features are launched.
Too often, designers think prototypes are sufficient. But a prototype may hide variations of
states, behaviors, and content behind interactions that are not self-evident to an engineer
or tester. While they develop and test a solution, they don’t know to click on certain pro-
totype elements, or fail to remember all the different states you’ve embedded and how to
get to them. If they miss these important details and lack a way to audit each one, the final
product could suffer.
Very sophisticated interactions can seem far simpler when illustrated via highly structured
displays such as Bill Scott’s matrix of sophisticated interactions (Scott, 2005). Common
yet sophisticated interactions, such as drag and drop, can be fully documented by relat-
ing each element of an interaction (such as a cursor or dragged object) to an interaction’s
“interesting moments” (such as the page load, drag initiated, and drop accepted), as dis-
played in the table in Figure 3.9.
Cursor normal draggability selected dragging drop will be valid drop will be invalid dragging home drop was accepted drop was rejected drop returned home
grabbable area
Drag Object normal draggability selected dragging drop will be valid drop will be invalid dragging home drop was accepted drop was rejected drop returned home
grabbable area
Drag normal draggability selected dragging dragging home drop was accepted drop was rejected drop returned home
grabbable area
Object's
Parent
Container
Drop Target normal drop invitation drop invitation drop will be valid drop will be invalid drop invitation drop was accepted drop was rejected drop returned home
What does the page What happens when the What happens when the What happens when What happens when I What happens when I What happens when I What happens when the What happens when the What happens when
contain to indicate mouse hovers over the mouse is pressed on the drag starts? drag over a valid drop drag over an invalid drag back to my home drop is accepted? drop is rejected? dropped over the
drag and drop? draggable object? draggable object but target? drop target? area/container/slot? original
dragging has not position/container?
initiated?
Figure 3.9 An interaction matrix for drag and drop, pitting each relevant UI element against “interesting
moments.”
Variation via Words 53
#8. Embed
As you visualize variation, it may be necessary to clarify its position within a page. You can
choose from a variety of techniques to establish page location but still focus interest on a
component, including those depicted in Figure 3.10:
Expanded Crop: Display the component within a portion of a page, where the page
is cropped either via a fade into the remainder of the page or a more explicit jagged
border.
Page Thumbnail: Reveal the component location within an adjacent, smaller page
thumbnail.
Zoom: Connect a scaled-up component visualization to its location in a smaller page
underneath.
Reverse: Overlay a semi-transparent layer on a page layout, but remove the portion
of the overlay atop the component of interest.
Stated Structure
When describing variation via prose, lists, and tables, you can rely on the fundamental
question (“When do you see what?”) to structure a statement in a similar and consistent
form:
If When, then See What.
This roughly translates to:
If [one or more conditions], then [show or hide] [elements of the user interface].
54 CHAPTER 3: Vary
ars)
arss)
A Reverse D Faded Crop
HF01v1
HF03v1
Search:
HF02v1
HF04v1
Welcome! Sign
g in or create an account for eightshapes.com GO
Your Cart (3) Edit Cart
Services Training
g Downloads Blog
g Videos Papers
p Events About Us
C02v1
[Product name]
g y] >
Add to Cart
mollatem dolor maionsenis maximo]
$##.## $##.## ($##.## per item) [Product name] (2)
C12v1x2
Promo code: [Code name]
HF06v1
Contacts | Feedback | Help
p | Site Map
p
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacyy Statement | Cookie Policyy | Trademarks of EightShapes
g p LLC Proceed to Checkout
eo
eos
os
B Zoom at
tur?
? Rit
atur? tat.
Ritat. Contact
Con
nta
act Ei
EightShapes
igh
htS
Sha
ape
es
vent,
ven
nt, ssum
um
m
Fo
For
or sales,
sa
aless, training,
trrain
ning
g, and
an
nd other
othe
er general
generall
inquiries,
inq s, contact
quirries co
onta act us
us via
via the following
folllow
wing
Your Cart (3) HF01v1
Edit Cart
HF03v1
H
options:
opption
ns:
Sea
Search:
HF02v1
Welcome! Sign in or create an account for eightshapes.com GO
HF04v1
[Headline 2]
$##.## $##.## [[Product name]]
E Jagged Frame
[Product description Necti blaces dolor
[Subhead 2 poris aut laborem eatur sae pro mollatem dolor maionsenis maximo]
quis di ut int, sini reperibus iunt maximpost $##.## $##.##
od que volessitis tur, con remporundit dolor
arum as alit eturibus.] [Product
[ name]] (2)
[Product description Necti blaces dolor
mollatem dolor maionsenis maximo]
[Product name] (2) Add to Cart $##.## $##.## ($##.## per item)
Proceed to Checkout
mollatem dolor maionsenis maximo] Otate sum ratur sequid ulles mil mint audit elit rati blaborrovit estem
imusam as dolles ea volupta eriorro magnis ex eicilla citam, quam, cor aut
ipsapiet abo. Axim veliquis est, od quo beat apicto totatur endipsus.
>.H\%HQH¿
H¿W@
[Content Ario bla ea dolum eos
archictus discitiorum
rum aliquatatur? Ritat. Contact EightShapes
$##.## $##.## ($##.## per item) Uptassitae plaborum rata volore, vendign iminctatem solut pellabor remodis ut
et optassusdae et magnis miligendit, eveliqui dolupta tusdant uribus restium as
peligendem rem explitatia quis in nobis ipsuntes nestruptas incil is quae volore nat » Learn More
utenienis event, sum
Occaeperibus autenienis
ectem que]
am fuga. Ita nonectem general
For sales, training, and other gen
following
inquiries, contact us via the foll
aborese quasit odipsa venisitas seque occus eum faccus, quidunt landit idiorero options:
moditat as ex expliquiant. >.H\%HQH¿
H¿W@
» Email
» Call
Your Cart (3) Edit Cart
» Have Us Ca
Call You
» Worldwide 2f¿ces
C12v5
[Product name]
Subtotal: $##.## $##.## HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes
g p LLC
L
Proceed to Checkout
As described earlier, the “When” can be described as one or more conditions, the “See”
as whether to show or hide elements or the component itself, and “What” corresponds to
aspects of the component or a portion thereof. This form is effective for structuring your
thoughts, accounting for a range of different conditions, and conveying details in a writ-
ten, auditable way.
Crafting effective textual descriptions can borrow from programming, but don’t let that
scare you. When considering and communicating various states, it’s good to think logi-
cally about the range of possible alternatives, and under what conditions each one occurs.
The following techniques can help you organize your thoughts and communicate variation
via words more clearly and accurately.
If/Then
The simplest structure is to start with the form shown previously: if and then. Describe
the conditions, whether or not to show something, and then describe what is shown.
Consider a sidebar “Badge” component that reflects a user’s profile information. The
Badge is only displayed to a logged-in user. Such a scenario could be described as shown
in Figure 3.11.
Component displays can be based on an either/or scenario: Either you see one thing or
you see something else. In that case, extend the if/then form to include the “or else” too.
An effective, natural language way to break up your statement is to begin a second sen-
tence “Otherwise,” followed by a description of the alternative presentation.
In the aforementioned Badge component scenario, suppose that if a user is not signed
in, then the interface would expose a cue to log in and/or add profile information. In that
case, perhaps the statement could be extended as shown in Figure 3.12.
While the preceding sentence may seem relatively simple to compose, there are many
problems that can obscure meaning and lead to an ineffective if/then statement. There-
fore, when authoring descriptions of variation states, try to be the following:
Objective. Don’t leave the condition or result up to the subjective interpretation of
the reader.
Positive. Omit needless modifiers that create double negatives, such as “isn’t logged
out” instead of “is logged in” or “don’t hide” instead of “show.”
Specific. If a simpler but broader context raises doubt, clarify the context of your
statements by including relevant details, such as expanding “logged in” to “logged
into Acme.com” or even “logged into Acme.com’s account management.”
Concise. Omit needless words that are implied by the context, such as reducing
“Acme.com online experience” to simply “Acme.com.” Such words slow a reader
down while adding no value.
Additionally, if your audience includes more technical readers such as developers and
testers, you can improve the usability and effectiveness of deeper specifications with
prose descriptions. For these audiences, work even harder to make your descriptions
the following:
Scannable. If you are authoring numerous statements that have similar structure
within a page or across a document, create visual structure with text to improve read-
ing speed and comprehension. For if/then statements, this may mean including the
“If When” on the first line, and the “then See What” on subsequent, indented lines,
as shown in Figure 3.13.
Logical. Add delimiters (such as parentheses around conditions) and replace longer
words with symbolic characters like = and > (Figure 3.14).
Designers knowledgeable of a programming language (such as JavaScript) can be
particularly effective at authoring logical specifications, but be mindful of the risks and
rewards of such pseudo-code. The eyes of less literate stakeholders may glaze over,
teaching them to ignore words and rely only on visuals to understand an experience.
Variation via Words 57
And, actually, maybe there’s nothing wrong with that. On the other hand, develop-
ers and testers—if educated and influential in how specs are written—can strongly
embrace logical statements as a way to understand design details and expectations.
Citable. Empower others to connect their work to the documentation you compose
through numbered references (Figure 3.15) by otherwise arranging your statements so
others can trace back to them. Testers may appreciate this rigor the most by mapping
test plans to design documentation to better audit functionality and concretely influ-
ence design details before a designer is off the project.
Figure 3.15 A citable structure that enables others to find and reference details.
Precise. If specific names, codes, or numeric references exist for an item you refer to,
then use that reference in your statement(s). However, only be as precise as circum-
stances require. Don’t go overboard and burden a reader with countless, disruptive
references if they will never be used.
What is the bottom line? Know your audience! Collaborate with your readers early on to
establish expectations of depth and formality.
You could even go so far as to usability test your documentation. This doesn’t mean
setting up a lab, writing a test plan, and facilitating hour-long tests with eight developers.
Instead, this could mean informally visiting the desk of a collaborator, observing her or
him interpret passages you composed, and then brainstorming approaches of how you
can improve—and they can best use—your documentation. Borrow what works best
58 CHAPTER 3: Vary
for you from these techniques, and avoid techniques that burden you as a writer or your
stakeholders as readers from understanding a solution at an appropriate level of detail
and rigor.
Cases
In some situations, conditions may warrant three or more separate states. When this
happens, codify states based on the range of alternative cases. For each state, follow the
condition(s) with the resulting display structured as a list or table.
Consider a public version of a user’s profile, in which the user can customize the display of
personal details based on many levels. Figure 3.16 displays a table that relates each level
option with the details exposed to that user type.
State Matrix
When the display of more than one component and/or element is impacted by mul-
tiple criteria, you can use a more sophisticated tabular structure—referred to as a state
matrix—to efficiently and compactly summarize what is displayed when, and how. A state
matrix is formed as a table, with columns for conditional criteria (the When) displayed on
the left, and resulting display descriptions (the What) on the right.
Figure 3.16 A table of different conditions, each mapped to a variable interface display.
Pictures and Words Together 59
A state matrix is really a scaled-out case list, adding multiple dimensions to the con-
ditional criteria and display descriptions. Figure 3.17 displays a combination of two
conditions: “Is a user logged in?” and “What test alternative is selected?” Based on the
combined answer of both questions, a particular product is displayed.
Figure 3.17 A table that displays a state matrix in which rows reveal each state across different
scenarios (columns on the left) and resulting displays (columns on the right).
While case lists and state matrices can improve scanability and condense information,
they aren’t a panacea for documenting all types of conditional displays. If you find that
many cells of a state matrix remain blank since not all conditions impact all displays, it
may make sense to simplify the matrix by removing columns for criteria or display, or
even abandoning the tabular structure altogether.
In large part, balancing the two boils down to positioning pictures (for example, a wire-
frame or comp page design) adjacent to words (for example, the annotations) to tell a
story that neither could tell completely without the other. Annotations commonly describe
behaviors, states, content, and other properties of a page or component, and generally
the two are mapped together via callouts (lines connecting the pictures and words) or
markers (number or letter references placed on top of the picture).
Just as you can concentrate information amid a set of visualizations, you can also more
sufficiently document design by using pictures and words together. This is particularly
relevant where one of a few visual variations must accommodate a plethora of distinct
copy, such as headlines, announcements, product lists, or error messages.
What does a stakeholder do when context is clarified by seeing real copy in a wireframe or
comp? That stakeholder asks for more variations to ensure that all copy is written and dis-
played as desired. In such cases, don’t visualize each and every variation of copy. Instead,
augment no more than a few visualizations (pictures) with the full collection of variable
copy documented in an adjacent list or table, such as that displayed in Figure 3.18.
Error Messaging
HF01v1
Error Messaging Conventions
The error messaging presentation rules for the Checkout page do not change with this
release. The following additional validations are to be added based on new data collection:
C01v1
ID Event Condition Message
Checkout 1 onblur Social Security Number (any field) contains Social security number contains a
a non numeric character nonnumeric character
There is a problem with your address submission Please ¿ll in all reTuired 2 onblur Date of birth is nonempty and not Date of birth is not formatted correctly
address ¿elds formatted as MM/DD/YYYY
3 onblur Date of birth is less than 18 years from Date of birth reflects that you are not
today’s date old enough to purchase a product from
Personal Information this website
First Name * First name is required 4 onblur Tax ID (either field) is nonempty and Tax ID contains a nonnumeric character
contains a nonnumeric character
Last Name * Curtis 5 onblur ZIP Code is nonempty and is not a five digit ZIP code is not formatted correctly
numeric string
Address * 123 Elm Street
6 onsubmit Social security number is empty Social security number is required
7 onsubmit Date of birth is empty Date of Birth is required
A Checkout page with error message
8 onsubmit Drivers License Number is empty Drivers Licence Number is required
9 onsubmit Tax ID is empty Tax ID is required
10 onsubmit Company name is empty Company Name is required
11 onsubmit Custom address is selected and address is Address is required
empty
12 onsubmit Custom address is selected and City is City is required
empty
13 onsubmit Custom address is selected and ZIP Code ZIP Code is required
is empty
Figure 3.18 One visualized error message, augmented by a supporting table of additional possible errors.
Pictures and Words Together 61
Many designers are excellent writers, while others lament writing deficiencies and shirk
opportunities to express design through words. This lack of writing proficiency can apply
regardless of what specific discipline one ascribes to, be it information architecture, inter-
action design, visual design, or even usability engineering. That said, technical writing
plays a significant role in a designer’s capability to communicate design details.
Don’t know where to start? Do you find yourself staring at a few component variations
on one side of a page, but a blank canvas on the other side where words are supposed to
go? Here’s an idea: Describe the visualizations out loud. Listen to your own words verbal-
ized. Then transcribe that description onto the page. Build the relationship between the
picture(s) and words to tell a more complete story of how a component can change.
Notes
Scott, Bill. Interaction Matrix, November 2005, http://looksgoodworkswell.blogspot.
com/2005/11/interaction-matrix.html.
Tufte, Edward. Visual Display of Quantitative Information. Cheshire: Graphics Press, 2001.
63
4
C O M B I N E
Up to now, there’s been much talk of breaking pages apart, chunking them into
component pieces. In the early phases of a design process, initial page designs suggest an
array of components.
But once we’ve identified many chunks, it’s time to use those components to construct
pages. This chapter will address how to do the following:
Ω Assemble components into page layouts.
Ω Appreciate how components fit into variations of a single page as well as across the
context of many different pages.
Ω Take advantage of component relationships, including duplicates, bundles, and
page shells.
Ω Formulate page regions so that components can be more simply explained and
consistently applied.
Ω Appreciate the relationship between components in layout and code.
64 CHAPTER 4: Combine
Assembling Pages
No matter the value of components, it is the page that is rendered in a browser. Each time
the browser loads a page (or even a portion of a page), a user experiences the content and
interactivity of a complete, aggregated view. Sure, the user’s glance may home in on and
bounce between chunks of interest. But that bounce is around a layout of all the pieces
arranged together.
As components evolve, vary, and mature, they must be combined and arranged into the
pages serving as the cohesive whole. With components in hand, a designer is better
equipped to communicate design through a wider array of page variations. Now it is time
to see and confirm what works and what doesn’t. Combine components in meaningful
layouts, relate chunks together, relate pages together in a flow, and get a feel for what’s
too complex, what’s too simple, and what needs to be rethought from the ground up.
Once pages are divided into sets of independent components, they are generally reas-
sembled with one of two goals: assemble a page based on a collection of components,
or convey how a component appears and varies across pages.
A Page of Components
As one communicates a design, participants in design reviews often ask the ques-
tion “OK, but how would an article appear under these other circumstances?” Even if a
designer has created variations that address the display state of every component in ques-
tion, it’s too much to expect others to be able to see the page in their mind’s eye. Instead,
the designer must be prepared to render additional examples to reinforce the modular
nature of the design and answer that question.
For example, an article page could use many different components depending on avail-
able content (Figure 4.1). Sure, every article includes body content and framing chunks
not really related to the article itself (header, footer, sidebar). But many chunks can be
optionally included: different types of article titles (in the upper left); inline media, such
as photos and videos (in the upper right); and related articles and tasks.
But outside the context of page layouts, so many questions go unanswered. Every article
can be printed, shared, and emailed, but where does that widget go? Can the article be
mapped to other related articles? If so, where would that list be placed? Can we position
an inline video within the article? Where would a photo carousel go? Is that in the same
place as the inline photo gallery? How would the article appear if it’s part of a special
event or ongoing series, like a blog?
Assembling Pages 65
updated [##] days, [##] hours, [##] minutes ago Article Highlights
[Article highlight]
[Article title that can span a number [Article highlight]
[Article highlight]
of lines depending on the title] [Article highlight]
[Photo description velessit, odit ped Atet undenis
totatem fuga. Ro iur, soles et unto tem fugit hari debis
XWHFDER8WRI¿FLDHDTXRLQFLOODQGDHFDHULVHDW@
updated [##] days, [##] hours, [##] minutes ago
Credit: [Photo Credit]
[Article title that can span a number of lines depending on the [Video Title]
Photo Gallery [Video description Laut isitio comnima velentist aut fuga.
title] Ut aut liquod moditate id eaque eos numquid quunt ilic
temped quature perferum fuga. Fer]
» More EightShapes Videos
Share Email Print Text Size: A A A Related Stories [Gallery description velessit, odit ped]
» [Story headline]
[Story description lorem ipsum dolor]
» [Story headline]
[Story description lorem ipsum dolor]
Figure 4.1 Numerous vital components that can be used modularly on an article page, but lack the context
of use when they stand alone.
To answer those questions, it’s not enough to just design the components individually.
We also need to recombine them in viable page layouts to depict applicable scenarios.
Figure 4.2 displays an article page in different circumstances and reinforces the use of all
the components in concert. Notice how each article has a title, author, and key tasks, such
as print and email. But the vertical location and relationship of those components varies
relative to the inclusion or omission of other optional components.
Also implicit in the page layouts is the relative use of components. For example, you can
establish the context of the article within a series by placing an additional component
above the article title (see variation D, which includes a box above the page title). Addi-
tionally, you can clarify that an inline video, photo carousel, and photo gallery should not
be used together; instead, you can choose one and only one to include in the upper right
of the article body. Keep in mind that you cannot just rely on different pictures to convey
these points; also include annotation to reinforce the distinctions.
HF01v1 HF01v1
HF03v1 HF03v1
Search: Search:
HF02v1 HF02v1
Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO
HF04v1 HF04v1
Services Training Downloads Blog Videos Papers Events About Us Services Training Downloads Blog Videos Papers Events About Us
S01v1 S01v1
updated [##] days, [##] hours, [##] minutes ago Article Highlights updated [##] days, [##] hours, [##] minutes ago Article Highlights
Contact EightShapes Contact EightShapes
[Article highlight] [Article highlight]
[Article title that can span a number [Article highlight] For sales, training, and other general [Article title that can span a number [Article highlight] For sales, training, and other general
[Article highlight] inquiries, contact us via the following [Article highlight] inquiries, contact us via the following
of lines depending on the title] [Article highlight] options: of lines depending on the title] [Article highlight] options:
in pe pediasp eriorestiam aut ex exerorrum ulparia vollaborpor sent. Sign In Now ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat Sign In Now
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pediasp
2bis atis doloreped endunt venimus in repellenis di reseque of¿ciae sum volorro doluptamusda nones vel iureptae nusciis sinctatem eriorestiam aut ex exerorrum ulparia vollaborpor sent.
eum harum quam abore pos porrore nobitas perunt eum sin rerum imil explia dolenet aute non exerferepero tecusan dellignime
Username Obis atis doloreped endunt venimus in repellenis di reseque of¿ciae Username
postotatest, as repreium rem quod unt qui dolenimenis eosa veles eium quae simincium quatur? Laborum fugit excepudit fuga. Nam
quae cum es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con nonsequis doluptas ame dolo ex essequam qui cori sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum
omnimus aernatis apera volecto tatibus, quibus sedicidus. Password harum quam abore pos porrore nobitas perunt eum sin rerum imil Password
explia dolenet aute non exerferepero tecusan dellignime postotatest,
Cae rem aut as sintenis mo mi, of¿cabo. Ut et, quis velignist plabo. Aperepudis am, sita siminus, tentur sequate placcus vitemque Remember me on this computer as repreium rem quod unt qui dolenimenis eosa veles eium quae Remember me on this computer
eaquis audam, odis pro tore pellam, volorite lates esto comnis doluptat. simincium quatur? Laborum fugit excepudit fuga. Nam quae cum
Sign In es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con Sign In
Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as susandi ctionsequis nimusa consero of¿ctatia solor aliqui re nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis
venis nis rectis ius aut quid que velitis earciam, non parum ium sintur, sum num ad quis experit atemperibus. apera volecto tatibus, quibus sedicidus.
Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige Forgot your: Username? Password? Forgot your: Username? Password?
Cae rem aut as sintenis mo mi, of¿cabo. Ut et, quis velignist plabo.
niantis quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquis
[Video Title]
miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis Not Yet a Member? audam, odis pro tore pellam, volorite lates esto comnis doluptat.
[Video description Laut isitio comnima velentist aut fuga. Not Yet a Member?
dolupta spernat. Ut aut liquod moditate id eaque eos numquid quunt ilic
Create an account for access to Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as temped quature perferum fuga. Fer] Create an account for access to
Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero odio blandiscid moluptate eossit landi duntian eightshapes.com. susandi ctionsequis nimusa consero of¿ctatia solor aliqui re venis nis » More EightShapes Videos eightshapes.com.
ditatet explabor most, aut in rerum et venihilique porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt. rectis ius aut quid que velitis earciam, non parum ium sintur, sum num
Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di rehendit es eicto inimus et quae ad exceped quis ad quis experit atemperibus.
N02v1
Share Email Print Text Size: A A A N02v1
non re nonsequas dolest, sam facersp erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam ut por Downloads Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea Downloads
remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum, solutempos ius nis sequam, sum, nus etus, quae ma comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige niantis
[Document name] [Document name]
nosam et repratem corpos essi quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel
maximil laccat volutem rem eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur? [Document name] [Document name]
miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis
[Document name] dolupta spernat. [Document name]
Nati consera tiorest inciur?
[Document name] [Document name]
Sedist, sit disque laudicatur? Quia volecturi quoditat. Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero
Related Stories odio blandiscid moluptate eossit landi duntian ditatet explabor most, aut in rerum et
venihilique porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt.
» [Story headline]
HF06v1
[Story description lorem ipsum dolor] Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di
Contacts | Feedback | Help | Site Map
» [Story headline] rehendit es eicto inimus et quae ad exceped quis non re nonsequas dolest, sam facersp
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
[Story description lorem ipsum dolor] erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam
ut por remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum,
solutempos ius nis sequam, sum, nus etus, quae ma nosam et repratem corpos essi
quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil maximil laccat volutem rem
eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur?
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
HF04v1 HF04v1
Services Training Downloads Blog Videos Papers Events About Us Services Training Downloads Blog Videos Papers Events About Us
S01v1 S01v1
[Special Series / Blog Title] updated [##] days, [##] hours, [##] minutes ago Article Highlights
by [Author Name] Contact EightShapes Contact EightShapes
[Article highlight]
For sales, training, and other general [Article title that can span a number [Article highlight] For sales, training, and other general
inquiries, contact us via the following [Article highlight] inquiries, contact us via the following
options: of lines depending on the title] [Article highlight] options:
updated [##] days, [##] hours, [##] minutes ago
Chat Now by [Author Name] Chat Now
[Article title that can span a number of lines depending on the for eightshapes.com
[Month] [DD], [YYYY]
» Email » Email
title] » Call Borrorporum qui oditemporem ad quodiae ctotatem quo ipsam sunte » Call
» Have Us Call You voluptus, occab ipite odiatur sedit arcieni tiscimo luptatus eaque volo » Have Us Call You
» Worldwide Of¿ces Photo Gallery » Worldwide Of¿ces
ius, vent, quunt harcipsam et reperis non eosae cus maios esequis alit,
by [Author Name] nonsero digeniet apiet isi aborporrum voluptur? At doluptiati serepud
for eightshapes.com F01v1
andantur reptas ulparch ilitatem ipsus re accat enienes tiandae od ut F01v1
[Month] [DD], [YYYY] ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat
Sign In Now Sign In Now
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pediasp
Borrorporum qui oditemporem ad quodiae ctotatem quo ipsam sunte
eriorestiam aut ex exerorrum ulparia vollaborpor sent.
voluptus, occab ipite odiatur sedit arcieni tiscimo luptatus eaque volo Photo Gallery
ius, vent, quunt harcipsam et reperis non eosae cus maios esequis alit, Username Obis atis doloreped endunt venimus in repellenis di reseque of¿ciae Username
nonsero digeniet apiet isi aborporrum voluptur? At doluptiati serepud sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum
andantur reptas ulparch ilitatem ipsus re accat enienes tiandae od ut Password harum quam abore pos porrore nobitas perunt eum sin rerum imil Password
ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat explia dolenet aute non exerferepero tecusan dellignime postotatest,
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pediasp [Gallery description velessit, odit ped]
Remember me on this computer as repreium rem quod unt qui dolenimenis eosa veles eium quae Remember me on this computer
eriorestiam aut ex exerorrum ulparia vollaborpor sent. [Photo description velessit, odit ped Atet undenis
simincium quatur? Laborum fugit excepudit fuga. Nam quae cum
totatem fuga. Ro iur, soles et unto tem fugit hari debis
Sign In es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con Sign In
Obis atis doloreped endunt venimus in repellenis di reseque of¿ciae Share Email Print Text Size: A A A utecabo. Ut of¿cia ea quo incilla ndaecaeris eat]
nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis
sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum Credit: [Photo Credit]
apera volecto tatibus, quibus sedicidus.
harum quam abore pos porrore nobitas perunt eum sin rerum imil
Forgot your: Username? Password? Forgot your: Username? Password?
explia dolenet aute non exerferepero tecusan dellignime postotatest, as repreium rem quod unt qui dolenimenis eosa veles eium Cae rem aut as sintenis mo mi, of¿cabo. Ut et, quis velignist plabo.
quae simincium quatur? Laborum fugit excepudit fuga. Nam quae cum es sendisin enisit iliquos dolecti ut lis quatustios soluptasima Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquis Share Email Print Text Size: A A A
con nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis apera volecto tatibus, quibus sedicidus. Not Yet a Member? audam, odis pro tore pellam, volorite lates esto comnis doluptat. Not Yet a Member?
Cae rem aut as sintenis mo mi, of¿cabo. Ut et, quis velignist plabo. Aperepudis am, sita siminus, tentur sequate placcus vitemque Create an account for access to Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as susandi ctionsequis nimusa consero of¿ctatia solor aliqui re Create an account for access to
eaquis audam, odis pro tore pellam, volorite lates esto comnis doluptat. eightshapes.com. venis nis rectis ius aut quid que velitis earciam, non parum ium sintur, sum num ad quis experit atemperibus. eightshapes.com.
Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as susandi ctionsequis nimusa consero of¿ctatia solor aliqui re Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige
venis nis rectis ius aut quid que velitis earciam, non parum ium sintur, sum num ad quis experit atemperibus. N02v1 niantis quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel N02v1
Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige
Downloads miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis Downloads
[Document name] dolupta spernat. [Document name]
niantis quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel
miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis [Document name] Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero [Document name]
dolupta spernat. [Document name] Related Stories odio blandiscid moluptate eossit landi duntian ditatet explabor most, aut in rerum et [Document name]
[Document name] venihilique porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt. [Document name]
Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero odio blandiscid moluptate eossit landi duntian » [Story headline]
ditatet explabor most, aut in rerum et venihilique porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt. [Story description lorem ipsum dolor] Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di
» [Story headline] rehendit es eicto inimus et quae ad exceped quis non re nonsequas dolest, sam facersp
Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di rehendit es eicto inimus et quae ad exceped quis
[Story description lorem ipsum dolor] erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam
non re nonsequas dolest, sam facersp erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam ut por
ut por remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum,
remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum, solutempos ius nis sequam, sum, nus etus, quae ma
solutempos ius nis sequam, sum, nus etus, quae ma nosam et repratem corpos essi
nosam et repratem corpos essi quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil
quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil maximil laccat volutem rem
maximil laccat volutem rem eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur?
eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur?
Nati consera tiorest inciur?
Nati consera tiorest inciur?
Sedist, sit disque laudicatur? Quia volecturi quoditat.
Sedist, sit disque laudicatur? Quia volecturi quoditat.
HF06v1
Contacts | Feedback | Help | Site Map
HF06v1
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Take the video player from the article page, with a few important states as shown in
Figure 4.3. Sure, inline videos may be associated with an article as helpful, supplemental
content. However, videos can be surfaced, played, and related to other content across
many different page types.
Therefore, reinforce the video player’s flexibility by including it in page layouts across the
site. Pages highlighting products, telling a story, or supporting a how-to demonstration
can have very distinct layouts (Figure 4.4). But the inline video player can easily be reused
in each instance.
Replay Share
Related Video:
[Video Title]
MM:SS
By; [Author Username]
View: #,###,###
HF01v1 HF01v1
HF03v1 HF03v1
Search: Search:
HF02v1 HF02v1
Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO
HF04v1 HF04v1
Services Training Downloads Blog Videos Papers Events About Us Services Training Downloads Blog Videos Papers Events About Us
C02v1
S01v1
Home > [Product category] >
C01v1
updated [##] days, [##] hours, [##] minutes ago Article Highlights Contact EightShapes [Product name] Rate this [Item type]: (not yet rated)
[Article highlight] For sales, training, and other general
[Article title that can span a number [Article highlight] inquiries, contact us via the following
[Article highlight] options: Your Cart (0)
of lines depending on the title] [Article highlight]
[Headline] You currently have no items in your
Chat Now
shopping cart.
by [Author Name] [Subhead poris aut laborem eatur sae pro quis di ut
for eightshapes.com int, sini reperibus iunt maximpost od que volessitis
» Email
[Month] [DD], [YYYY]
» Call et expelescia volori temollatios a voluptur, con Contact EightShapes
Borrorporum qui oditemporem ad quodiae ctotatem quo ipsam sunte » Have Us Call You remporundit dolor arum as alit eturibus.]
voluptus, occab ipite odiatur sedit arcieni tiscimo luptatus eaque volo » :RUOGZLGH2I¿FHV For sales, training, and other general
ius, vent, quunt harcipsam et reperis non eosae cus maios esequis alit, inquiries, contact us via the following
nonsero digeniet apiet isi aborporrum voluptur? At doluptiati serepud F01v1
options:
Add to Cart
andantur reptas ulparch ilitatem ipsus re accat enienes tiandae od ut Sign In Now
ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat Chat Now
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pediasp
C12v1x2
eriorestiam aut ex exerorrum ulparia vollaborpor sent.
Username Overview Features Tech Specs Downloads » Email
2ELVDWLVGRORUHSHGHQGXQWYHQLPXVLQUHSHOOHQLVGLUHVHTXHRI¿FLDH » Call
sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum Password » Have Us Call You
Otate sum ratur sequid ulles mil mint audit elit rati
harum quam abore pos porrore nobitas perunt eum sin rerum imil » :RUOGZLGH2I¿FHV
explia dolenet aute non exerferepero tecusan dellignime postotatest, Remember me on this computer
blaborrovit estem imusam as dolles ea volupta eriorro
as repreium rem quod unt qui dolenimenis eosa veles eium quae magnis ex eicilla citam, quam, cor aut ipsapiet abo. Axim
simincium quatur? Laborum fugit excepudit fuga. Nam quae cum veliquis est, od quo beat apicto totatur endipsus.
Sign In
es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con
nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis Uptassitae plaborum rata volore, vendign iminctatem solut pellabor
apera volecto tatibus, quibus sedicidus. Forgot your: Username? Password? remodis ut et optassusdae et magnis miligendit, eveliqui dolupta
tusdant uribus restium as peligendem rem explitatia quis in nobis
&DHUHPDXWDVVLQWHQLVPRPLRI¿FDER8WHWTXLVYHOLJQLVWSODER ipsuntes nestruptas incil is quae volore nat aborese quasit odipsa
Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquis
[Video Title] Not Yet a Member?
[Video description Laut isitio comnima velentist aut fuga. venisitas seque occus eum faccus, quidunt landit idiorero moditat
audam, odis pro tore pellam, volorite lates esto comnis doluptat. as ex expliquiant.
Ut aut liquod moditate id eaque eos numquid quunt ilic Create an account for access to
Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as temped quature perferum fuga. Fer] eightshapes.com.
» More EightShapes Videos Experum quiduciis atiorest, sum alibus et pero ipient ulpa conestis
VXVDQGLFWLRQVHTXLVQLPXVDFRQVHURRI¿FWDWLDVRORUDOLTXLUHYHQLVQLV
acerio. Ficit harumquibus moloreiciis re rerum eaquatus quam
rectis ius aut quid que velitis earciam, non parum ium sintur, sum num
vendit, optatum coreius.
ad quis experit atemperibus. N02v1
C12v5
Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di rehendit es eicto inimus et quae ad exceped quis
non re nonsequas dolest, sam facersp erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam ut por
remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum, solutempos ius nis sequam, sum, nus etus, quae ma
nosam et repratem corpos essi quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil
HF06v1
maximil laccat volutem rem eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur? Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Nati consera tiorest inciur?
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Figure 4.4 A mini video player reused in different page types: article page (on the left)
and product features (on the right).
68 CHAPTER 4: Combine
Such scenarios help designers show reuse and negotiate tradeoffs. At times, stakeholders
push and push to embed features and displays that limit the component reuse in other
contexts. Their goals are clear and justified, but such design decisions can cost an orga-
nization more in the long run. Which makes more sense: a team building distinct video
players for each scenario, or reusing one common player that ends up meeting 90 percent
of everyone’s needs?
Additionally, page variations establish how flexibly a component can be repurposed to fit
different user needs and page types. Pagination is a common component that displays
what page you’re on and how many pages there are, and enables navigation across each
“page” of results (Figure 4.5). Here, a page may not be a browser page, but more a set of
any object type, such as search results, photographs, blog entries, users, email, or events.
Pagination requires many variations, including first page, last page, and pages in the mid-
dle when there are more or fewer page links than can be displayed at one time.
Figure 4.5 Standard variations of a typical pagination component that reveals current page, clarifies overall
set quantity, and enables navigation across pages.
Ideally, pagination is consistent across an entire site design. The use of pagination may
apply to an entire page’s context or to a narrower and tighter single component (such as
photographs).
This flexibility is evident in the range of pages where pagination can be used (Figure 4.6).
Notice how the component is displayed both above and below search results on one
page, but only at the base of a sortable table on another page. Each uses the same com-
ponent, omitting a few elements here and there, and juxtaposing the summary of the
page (“Results 11–20 of 55”) on the left against the navigation across pages on the right.
Showing pagination in each context is helpful in understanding its flexibility: Overall width
depends on the container it sits within, and pieces can be included or omitted based on
the designer’s judgment.
Assembling Pages 69
HF01v1 HF01v1
HF03v1 HF03v1
Search: Search:
HF02v1 HF02v1
Welcome! Sign in or create an account for eightshapes.com Welcome! Sign in or create an account for eightshapes.com
HF04v1 HF04v1
Services Training Downloads Blog Videos Papers Events Services Training Downloads Blog Videos Papers Event
C02v1 C02v1
Home > Home > Account Administration >
C01v1 Pagination C01v1
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Once your components are created, the fun can really begin.
Or can it? As the components are assembled into page views
within wireframes or low-fi prototypes, it’s hard not to notice a
similarity across them. Black text. Larger black text. Some small
black text. Maybe a color thrown in for the interactive elements. Not to fret—that’s
what a visual designer’s here for, right?
Yes and no. Component positioning dictates a content hierarchy that is great for
getting your ideas across but may confuse the user if visual harmony is absent. Sure,
you are mindful of reuse when using components, but a visual designer must also
consider position, balance, weight, size, and visual feasibility. Designing a small part
of the big picture can quickly lead to disaster if components don’t work together.
A couple of years ago, I worked with a talented information architect on an advanced
search application. I joined the project after the interface had gone through several
iterations and was already signed off. The product had deep business requirements
and required a fairly sophisticated solution. The “final” design solution contained
70 CHAPTER 4: Combine
many inline interactions and modules, both new and existing. The design was
brilliant. Unfortunately, it also broke many aspects of our visual system. The
solution completely failed to take into account how it would live within the existing
Web site design.
As I translated wireframes into visual comps, the sortable A-Z list and filters running
above the content would just not fit in the template. No matter how hard I tried, it
was impossible. Flustered, I looked more closely at the wireframes and realized that
the wireframes deviated from the standard template to fit the new sort functionality.
Sure, the search experience could be a one-off, and I could rationalize that this tem-
plate infraction did not matter. I could have gotten over it.
However, a larger issue emerged: This template change meant that the sidebar
could no longer fit standard components. Plus, two new sidebar components were
introduced and they were to be partnered with existing components. In black and
white, these components were able to coexist peacefully. Once they donned the
site’s style and typography, however, they were visually at odds with one another,
creating a ping-pong match as eyes bounce back and forth between them. The new
pairing didn’t work, and we scrambled to adjust in the project’s waning moments.
In the end, it is the visual designer who establishes visual hierarchy, and creating
balance isn’t easy (or even possible) if the component does not follow established
guidelines or fit with those around it. A bucketful of components does not give you
license to place them willy-nilly. Instead, components must flow together and relate
to one another to guide and help the user interact with content and functionality.
Common Combos
While pages are chunked into independent components, you may find that two (or more)
adjacent components find themselves used together often. While each component may
need to be divided, varied, and documented separately, it may often be positioned with
others. That there is a perceived relationship isn’t necessarily a bad thing. Even more,
you’ll want to arrange your design artifacts and reusable items to enable you to add com-
mon combinations quickly.
Common Combos 71
Duplicates
The most common case of combinations is duplicate component use. Here, a component
is repeated numerous times vertically, horizontally, or even as a grid across a page.
Figure 4.7 displays a stack of frequently asked questions (FAQs), grouped into categories
on a page dedicated to FAQs.
C02v1 S01v1
Chat Now
[FAQ Category]
Q: Epe verunt. Agnis inimper uptiam volecte etur ad quam restius minitio reicia cuptur sed quo moluptati sitis eaturemqui culpariossi » Email
nusae rem cust eaqui a quid et porum enis nones aliquiae eturis adiam. » Call
» Have Us Call You
FAQ A: Quibus volupta tempelique nis que mo ipiendi cipiet magnimus ex excerio et quam ea porro estio qui cum hil es sin con pre » :RUOGZLGH2I¿FHV
et atet laccusc ipienih illuptam dundaerum et que nistios enis explit fugit optae pero que et molorias volorum expe re consequi
nonsectio. Et es et a doluptatatur a nusapis cipsum aut alibusam, quam que re con ea cum autas si odictat iissimi nvendun tionem F01v1
Q: Epe verunt. Agnis inimper uptiam volecte etur ad quam restius minitio reicia cuptur sed quo moluptati sitis eaturemqui culpariossi
nusae rem cust eaqui a quid et porum enis nones aliquiae eturis adiam. Forgot your: Username? Password?
Q: Epe verunt. Agnis inimper uptiam volecte etur ad quam restius minitio reicia cuptur sed quo moluptati sitis eaturemqui culpariossi N02v1
nusae rem cust eaqui a quid et porum enis nones aliquiae eturis adiam. Downloads
[Document name]
FAQ A: Quibus volupta tempelique nis que mo ipiendi cipiet magnimus ex excerio et quam ea porro estio qui cum hil es sin con pre
et atet laccusc ipienih illuptam dundaerum et que nistios enis explit fugit optae pero que et molorias volorum expe re consequi [Document name]
nonsectio. Et es et a doluptatatur a nusapis cipsum aut alibusam, quam que re con ea cum autas si odictat iissimi nvendun tionem [Document name]
lam voluptatet eicius re ne is enducid ebitis ario es corror adit [Document name]
Figure 4.7 A frequently asked question and answer component, repeated once for every question.
Here, the FAQ component consists of two elements: question and answer. Each instance
of the component is stacked down the page and includes some variations to communicate
the use of bulleted and numbered lists. Communicating the structure of an FAQ is
important, answering many questions: What can I include in an FAQ? How do I structure
the content? How long can one be? But seeing the FAQs in layout depicts how they fit
in the context of categories, anchor links, and other pieces of a page.
ΩΩ TIP Don’t take this example as an endorsement of FAQs; in fact, I’m one who rails against the
use of FAQs as a crutch for otherwise ineffective content organization. But FAQs happen, and
representing common and acceptable FAQ structures ends up being important.
72 CHAPTER 4: Combine
Similarly, suppose you were creating a high-level page that linked to a number of different
product types, each featured in a separate but duplicate component (Figure 4.8). In this
case, you’d repeat the component three times in the page layout. However, each instance
adheres to the same guidelines: a general header, thumbnails and links for each item,
exactly three features per component, etc. In this case, it may even help to include actual
content in place of labels, such as [Product Types] and [Destination], if the rendered page
needs to be more specific.
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines]
Su
[Secondary Features]
N02v1
N01v3 N01v3 N01v3
Dow
[Product Types] [Product Types] [Product Types] [Do
[Do
[Destination] [Destination] [Destination]
[Do
[Abstract description [Abstract description [Abstract description
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur] [Do
[Call to action] [Call to action] [Call to action]
Figure 4.8 A string of feature collections across the body of the page.
Duplicates enable you to define the necessary states, behaviors, and editorial guidelines
of a single instance without worrying about or trying to define exactly how many can go
on a page. Avoid creating distinct variations for sets of three, four, five, and six instances
of an entirely duplicated component. Instead, define it once and establish guidelines on
quantity and layout arrangements.
Bundles
In other cases, instead of duplicating the same component, you may want to frequently
use a component with one or more other components. A component bundle includes
multiple, distinct components, such as a local navigation bar combined with promotions
underneath, or a stack of components in a right rail. Such bundled use is often correlated
with frequent creation of an individual page or suite of pages.
Common Combos 73
Contact EightShapes
page, did you notice that the components in the right side- For sales, training, and other general
inquiries, contact us via the following
bar did not change? The display of those components— options:
Contact Us, Sign In, and Downloads (Figure 4.9)—could be Chat Now
such patterns, as will users who start to expect that they Sign In Now
states (such as signed in versus not signed in), and may be Remember me on this computer
entire stack as a single component. Instead, note the cor- Forgot your: Username? Password?
relation and describe when and why they should be used Not Yet a Member?
together. Create an account for access to
eightshapes.com.
N02v1
Downloads
ΩΩ TIP Consider including component bundles (such as a [Document name]
[Document name]
library panel or a separate, linkable file) in your library of [Document name]
[Document name]
reusable assets. (See Chapter 5, “Reuse.”) Just be mindful
that this added efficiency must be balanced with the main- Figure 4.9 A component
tenance cost that arises by including reusable pieces in more bundle reused frequently
than one place. in a sidebar: Contact Us,
Sign In, and Downloads.
Shells
Getting started on a new page design should be easy. Open a template, drop in the
oft-reused header and footer, and then fill in the details of what makes a page unique.
Given that some of the first components you’ll codify and prepare for reuse are the header,
footer, and possibly local navigation, it may be worthwhile to create a composite “page
shell” out of these items (Figure 4.10). That way, starting a new page doesn’t require add-
ing seven individual items, but instead dragging and dropping an entire frame.
Once you’ve added components to your page design, it makes sense to store them on
a separate layer and lock the layer. This prohibits you from selecting the components as
you work on the remainder of the page. With the layer locked, you won’t mistakenly select
a fixed portion of the design, whether by clicking on it with your mouse pointer or using
Select All.
74 CHAPTER 4: Combine
HF01v1
HF03v1
Search:
HF02v1
Welcome! Sign in or create an account for eightshapes.com GO
HF04v1
S01v1
Contact EightShapes
For sales, training, and other general
inquiries, contact us via the following
options:
Chat Now
» Email
» Call
» Have Us Call You
» :RUOGZLGH2I¿FHV
F01v1
Sign In Now
Username
Password
Sign In
N02v1
Downloads
[Document name]
[Document name]
[Document name]
[Document name]
Figure 4.10 A page shell that includes a header and sidebar but lacks a footer whose vertical location
depends on body content.
Page shells always contain a page header (such as site logo, utility navigation, site search,
and primary navigation) and may contain a left or right sidebar that contains local naviga-
tion, contact options, or other common components.
Why not the footer? Well, the footer’s location is indeterminate. Page height can vary sub-
stantially, moving the footer higher or lower on the page. That said, you could still include
a footer in a page shell without locking it with the shell items above it. Footers should defi-
nitely be included in a page shell where the user interface has a fixed height.
Some designers suggest that this page shell should be integrated into the page design
template. That way, you can open a file and the shell will already be placed and locked.
This offers significant efficiency in page start-up time, but comes with a few drawbacks,
Common Combos 75
too. What if your site design has more than one type of page shell, such as separate shells
for marketing copy, ecommerce, and a member portal? Then you start embedding a lot
of unnecessary artwork and the template file—which should be a lightweight starting
point—starts to get bogged down.
Additionally, now you are in the business of embedding components into templates,
which can become a maintenance nightmare. When components change (even a slight
labeling change in a header navigation bar), you now must remember to update not just
the reusable component, but every instance where it’s been embedded as a starting point
for a page design. Plus, other designers may assume that since they have the new header
component, their template may not need updating. They may continue to use the tem-
plate starting point with the now-incorrect header.
Regions
The shell concept hinges on a higher-level breakdown of pages into different, identifiable
areas. Most all pages include regions for the header, footer, and body content. That said,
many design systems take a regional perspective further, establishing left and/or right
rails and even well-defined regions within the body of the layout.
Regions afford a well-defined and understandable way to think of a page as a bento box
(Figure 4.11). The bento box is a Japanese serving tray partitioned into different areas,
each intended to contain a different portion of the meal. To designers using components,
the page layout serves as a bento box, with each partitioned area a destination to drop
components.
Figure 4.11 A bento box, partitioned into areas in which different portions of
a meal are contained. (Source: http://www.flickr.com/photos/t_trace/2323732013/)
76 CHAPTER 4: Combine
Services Training
g Downloads Blog
g Videos Papers
p Events
1. Logo
updated [##] days, [##] hours, [##] minutes ago Article Highlights
S01v1
2. Utility Bar
Contact EightS
[Article highlight]
[Article title that can span a number [Article highlight]
[Article highlight]
For sales, training, a
inquiries, contact us
3. Search
of lines depending on the title] [Article highlight] options:
2ELVDWLVGRORUHSHGHQGXQWYHQLPXVLQUHSHOOHQLVGLUHVHTXHRI¿FLDH
sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum
Username
8. Video
harum quam abore pos porrore nobitas perunt eum sin rerum imil Password
explia dolenet aute non exerferepero tecusan dellignime postotatest,
as repreium rem quod unt qui dolenimenis eosa veles eium quae Remember me on 9. Article Tasks
simincium quatur? Laborum fugit excepudit fuga. Nam quae cum
es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con
nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis
apera volecto tatibus, quibus sedicidus.
Sign
10. Article Content
Forgot your: Userna
&DHUHPDXWDVVLQWHQLVPRPLRI¿FDER8WHWTXLVYHOLJQLVWSODER
FDER8WHWTXLVYHOLJQLVWSODER
Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquis
audam, odis pro tore pellam, volorite lates esto comnis doluptat.
[Video Title]
[Video description Laut isitio comnima velentist aut fuga. Not Yet a Mem
11. Contact Us
Ut aut liquod moditate id eaque eos numquid quunt ilic
Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as
FWDWLDVRORUDOLTXLUHYHQLVQLV
VXVDQGLFWLRQVHTXLVQLPXVDFRQVHURRI¿FWDWLDVRORUDOLTXLUHYHQLVQLV
temped quature perferum fuga. Fer]
» More EightShapes
g p Videos
Create an account fo
eightshapes.com. 12. Sign In
rectis ius aut quid que velitis earciam, non parum ium sintur, sum num
ad quis experit atemperibus.
Figure 4.12 A page inventory of components mapped to a layout and to example page markup.
A Worthy Investment
The more you create and share page variations under different conditions or show how
many pages use the same component, the more literate your audience will become.
You—and your audience—will be able to see the pages in your mind’s eye without having
to render it as an actual visualization. You’ll imagine components within pages without
seeing the pages, discuss them more efficiently with each other, and save time by reducing
the need to create full page designs over and over again. That modular literacy is key for
you and your audiences to use components effectively in the long run.
That said, creating mockups of screen designs—whether wireframes or comps—is
central to a designer’s ability to communicate design. You must be able to do it faster.
And better. And consistently. Even in the throes of hectic projects and ridiculous dead-
lines. That’s where increasing your competency to use and build reusable design assets
becomes critical.
This page intentionally left blank
79
5
R E U S E
button to your primary navigation bar managed as a master symbol, then you only need to
update the master to change all 32 wireframes simultaneously. That certainly beats going
page to page to make the same change 32 separate times.
Depending on your tool, this feature is called a symbol (Adobe Fireworks and Adobe
Illustrator, as shown in Figure 5.1), smart object (Adobe Photoshop), or master (Axure and
items dragged from a Document Stencil in Microsoft Visio).
Figure 5.1 The Adobe Illustrator symbol panel, from which a designer can drag and place a
symbol instance in artwork but retain the link to the master symbol managed in the panel.
In cases where an instance must be different than the master, you can break the relation-
ship between instance and master to customize the instance’s appearance to fit its context.
This break might be necessary to extend a generic component to include specific copy,
imagery, and other characteristics. For example, you may change header copy from the
component’s default “[Header]” to “Key Benefits” specific to your page design. However,
once you break the link, the instance may no longer reflect any changes to the master.
prototype document are separate from and not linked to those in the wireframe draft
document you started from. You’ve now got a complete second copy of your artwork.
Creating a prototype that way takes time. Even worse, it’s painful when the design changes
before you run the test, and you’ve got more copying and pasting to update the prototype.
The problems intensify as someone else prepares a test script before or a testing report
after the test: As design changes, artwork copied into those plans gets out of date, too.
Many software tools—notably Adobe Illustrator and Adobe InDesign—allow you to place a
linked instance of one file in another document’s layout. Linked files remain connected to, but
independent of, the file in which they are placed. When you publish a document with linked
files, the tool retrieves each linked instance and outputs linked artwork at full resolution.
Using linked files can dramatically widen reuse opportunities and ease maintenance. Using
linked files, you can store your components in separate files, and each of your page designs
can be in distinct files, too. As you begin to combine components into different page
designs, you now have a rich collection of distinct assets that you can combine to create
more variations, interesting displays and flows, and use across many deliverables.
Within the document containing linked artwork, you see the artwork but cannot directly
select or edit elements. Instead, you use a command like “Edit Original” to open the
linked artwork, make and save updates, and return to the document to see the changes.
The process of editing linked originals becomes familiar, such that drilling into and out of
linked instances feels fluid and natural after a few tries. This operation results in a “hub
and spoke” model for maintaining design documents (Figure 5.2).
ΩΩ TIP Set up a keyboard shortcut for editing a linked file (such as for the Object > Edit Original
command) so that you can quickly edit the original linked file via a simple keystroke.
ArticleTitle.indd
updated [##] days, [##] hours, [##] minutes ago Article Highlights
[Article highlight]
[Article title that can span a number [Article highlight]
[Article highlight]
of lines depending on the title] [Article highlight]
Article(Gallery).indd
( y) Sidebar.indd
HF01v1
HF03v1
Search:
HF02v1
Welcome! Sign in or create an account for eightshapes.com GO S01v1
HF04v1
Services
Contact EightShapes
Training Downloads Blog Videos Papers Events About Us
InlineGallery.indd
For sales, training, and other general
inquiries, contact us via the following
updated [##] days, [##] hours, [##] minutes ago Article Highlights
S01v1
options:
Contact EightShapes
[Article highlight]
[Article title that can span a number [Article highlight] For sales, training, and other general Chat Now
[Article highlight] inquiries, contact us via the following
Photo Gallery of lines depending on the title] [Article highlight] options:
» Email
by [Author Name] Chat Now
for eightshapes.com
» Call
[Month] [DD], [YYYY] » Email
» Have Us Call You
Borrorporum qui oditemporem ad quodiae ctotatem quo ipsam sunte » Call » :RUOGZLGH2I¿FHV
voluptus, occab ipite odiatur sedit arcieni tiscimo luptatus eaque volo » Have Us Call You
Photo Gallery » :RUOGZLGH2I¿FHV
ius, vent, quunt harcipsam et reperis non eosae cus maios esequis alit,
F01v1
nonsero digeniet apiet isi aborporrum voluptur? At doluptiati serepud
andantur reptas ulparch ilitatem ipsus re accat enienes tiandae od ut F01v1
ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat Sign In Now
Sign In Now
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pediasp
eriorestiam aut ex exerorrum ulparia vollaborpor sent.
2ELVDWLVGRORUHSHGHQGXQWYHQLPXVLQUHSHOOHQLVGLUHVHTXHRI¿FLDH Username
sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum
Username
harum quam abore pos porrore nobitas perunt eum sin rerum imil Password
explia dolenet aute non exerferepero tecusan dellignime postotatest,
as repreium rem quod unt qui dolenimenis eosa veles eium quae Remember me on this computer
Password
[Photo description velessit, odit ped Atet undenis
simincium quatur? Laborum fugit excepudit fuga. Nam quae cum
totatem fuga. Ro iur, soles et unto tem fugit hari debis
es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con
XWHFDER8WRI¿FLDHDTXRLQFLOODQGDHFDHULVHDW@ Sign In Remember me on this computer
nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis
Credit: [Photo Credit]
apera volecto tatibus, quibus sedicidus.
[Photo description velessit, odit ped Atet undenis Forgot your: Username? Password?
&DHUHPDXWDVVLQWHQLVPRPLRI¿FDER8WHWTXLVYHOLJQLVWSODER Sign In
totatem fuga. Ro iur, soles et unto tem fugit hari debis Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquis Share Email Print Text Size: A A A
Not Yet a Member?
audam, odis pro tore pellam, volorite lates esto comnis doluptat.
XWHFDER8WRI¿FLDHDTXRLQFLOODQGDHFDHULVHDW@ 5DWXUVLWLXQWGLWDVXQWLDYROXSWDWLRUHVH[SODXWSRUDWHQLWIXJD$VDVVXVDQGLFWLRQVHTXLVQLPXVDFRQVHURRI¿FWDWLDVRORUDOLTXLUH Create an account for access to Forgot your: Username? Password?
Credit: [Photo Credit] venis nis rectis ius aut quid que velitis earciam, non parum ium sintur, sum num ad quis experit atemperibus. eightshapes.com.
Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige
niantis quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel N02v1
Not Yet a Member?
miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis Downloads
dolupta spernat. [Document name] Create an account for access to
Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero [Document name]
Related Stories eightshapes.com.
odio blandiscid moluptate eossit landi duntian ditatet explabor most, aut in rerum et [Document name]
venihilique porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt. [Document name]
» [Story headline]
[Story description lorem ipsum dolor] Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di
N02v1
» [Story headline] rehendit es eicto inimus et quae ad exceped quis non re nonsequas dolest, sam facersp
[Story description lorem ipsum dolor] erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam Downloads
ut por remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum,
solutempos ius nis sequam, sum, nus etus, quae ma nosam et repratem corpos essi
[Document name]
quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil maximil laccat volutem rem [Document name]
eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur?
[Document name]
Nati consera tiorest inciur?
[Document name]
Sedist, sit disque laudicatur? Quia volecturi quoditat.
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
RelatedStories.indd
Figure 5.2 Editing files (the “spokes”) from a document that aggregates the linked instances (the “hub”).
ΩΩ TIP When linking artwork, control display performance of each bit based on your needs. To
see a linked instance at its full resolution, display it at “high quality” to view how the final out-
put will appear. However, rendering at a high quality slows the software down. To work faster,
render linked assets as “typical” (where a proxy but lower-quality image is shown) or “fast”
(where a gray X box is shown in place of the image).
Specific Sharing: Does a teammate need to use your header in his file? Now you don’t
have to send a massive, all-inclusive deliverable document. Instead, just wrap up a
simple symbol or send a single file that contains only the header. Whether he is creat-
ing page designs, a storyboard, or even authoring cross-project standards, that header
is easily shared and reused.
Targeted Deliverables: The rigor in authoring—and maintaining—multiple documents
is significantly reduced. Multiple documents can link to the same source artwork,
leading to the production of targeted deliverables for different purposes, audiences,
and depth of detail. For example, the same page design can be linked to a lightweight
design review, a prototype suitable for testing, technical specs for an engineer, and
editorial guidelines used by publishers post-launch.
Table 5.1 Software Tools and Panel Names for Reusable Objects
via associated metadata, like tagged keywords. In addition, you can position Bridge as if
it’s a separate panel within a tool’s workspace, from which you can directly drag and drop
files into a layout.
You can reuse files in Microsoft Visio by inserting each file as an object, but this approach
doesn’t scale well for numerous inserted objects. Axure and OmniGraffle do not currently
support placing files, although OmniGraffle does enable you to place and link PDF and
other artwork (just not place one OmniGraffle file into another).
Adobe Bridge Wireframe Page Design File File > Place Dialog
Figure 5.4 Reusing components within page layouts as files placed via a tool’s dialog or directly via drag
and drop.
Feature Page Background Embedded from Panel Embedded from File Linked Symbol Linked Symbols, Linked Files
CHAPTER 5: Reuse
Adobe Fireworks CS4 Pages & Symbol Library Import Document Library Common Library Not Capable
Shared Layers (And break apart)
Adobe Illustrator CS4 As Artboards Symbol Library Place Symbols Not Capable Place
(locked layer with symbol) (And break apart) (Embed document) (Link document)
Adobe InDesign CS4 Master Pages Object Library Place Not Capable Not Capable Place
(with nesting) (Snippet) (Document)
Adobe Photoshop CS4 Not Capable Not Capable Place Smart Objects Not Capable Place
(Results in smart object) (not managed through panel) (Manually refresh smart object)
Axure 5.5 As Masters Widgets Not Capable Masters Import Not Capable
(on locked layer) (Manually replace master)
Microsoft Visio 2007 Background Pages Stencil Insert Object Document Stencil Not Capable Insert Object
(with nesting) (embed object) (create a link)
Omnigraffle 5 Master Canvases & Stencil Not Capable Linkback Not Capable Not Capable
Shared Layers (converts to PDF for reuse
inside document)
in different, popular design tools for creating wireframes and comps (as rows).
Figure 5.5 A table that compares software features for reuse (as columns) available
Reuse in Design Software 89
Figure 5.6 “Reduce, Reuse, & Recycle” poster illustrating the many file relationships and opportunities for
reuse that result from linking files. The middle portion illustrates linked relationships between pages and
component files, both of which are reused extensively for numerous deliverables like a wireframe review,
prototype, usability test report, and design specification.
The Essential Links 91
HF01v1
Article.B.Photos
HF03v1
Search:
HF02v1
Welcome! Sign
g in or create an account for eightshapes.com GO
HF04v1
Services Training
g Downloads Blog
g Videos Papers
p Events About Us
S01v1
S01v1
v1
1
updated [##] days, [##] hours, [##] minutes ago Article Highlights
Contact
C
ContactEightShapes
EightShapes
[Article highlight]
[Article title that can span a number [Article highlight] FForsales,
For sales,training,
training,and
andother
othergeneral
general
[Article highlight] inquiries,contact
in
nquiries, contactususvia
viathe
thefollowing
following
of lines depending on the title] [Article highlight] options:
ooptions:
by
y [[Author Name]] Chat
ChatNow
Now
for eightshapes.com
[Month] [DD], [YYYY] »» Email
Email
Borrorporum qui oditemporem ad quodiae ctotatem quo ipsam sunte »» Call
Call
voluptus, occab ipite odiatur sedit arcieni tiscimo luptatus eaque volo »» Have
HaveUsUsCall
CallYou
You
Photo Gallery S01v1
ius, vent, quunt harcipsam et reperis non eosae cus maios esequis a
nonsero digeniet apiet isi aborporrum voluptur? At doluptiati serepud
andantur reptas ulparch ilitatem ipsus re accat enienes tiandae od ut
alit, »» :RUOGZLGH2I¿
F01v1
1
F01v1
:RUOGZLGH2I¿FHV
FHV
Sidebar Contact EightShapes
ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat Sign
S
SignIn
InNow
Now
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pedias sp
eriorestiam aut ex exerorrum ulparia vollaborpor sent.
Username
UUsername
For sales, training, and other general
2ELVDWLVGRORUHSHGHQGXQWYHQLPXVLQUHSHOOHQLVGLUHVHTXHRI¿FLDH
sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum inquiries, contact us via the following
harum quam abore pos porrore nobitas perunt eum sin rerum imil Password
PPassword
explia dolenet aute non exerferepero tecusan dellignime postotatest, options:
as repreium rem quod unt qui dolenimenis eosa veles eium quae Remember
Rememberme
meon
onthis
thiscomputer
computer
[Photo description velessit, odit ped Atet undenis
simincium quatur? Laborum fugit excepudit fuga. Nam quae cum
totatem fuga. Ro iur, soles et unto tem fugit hari debis
es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con Sign
SignInIn
XWHFDER8WRI¿FLDHDTXRLQFLOODQGDHFDHULVHDW@
nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis
Credit: [Photo Credit]
Chat Now
apera volecto tatibus, quibus sedicidus.
Forgot
FForgotyour:
your:Username?
Username?Password?
Password?
&DHUHPDXWDVVLQWHQLVPRPLRI¿FDER8WHWTXLVYHOLJQLVWSODER
Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquiss Share Email Print Text Size: A A A
audam, odis pro tore pellam, volorite lates esto comnis doluptat. Not
NotYet
YetaaMember?
Member? » Email
5DWXUVLWLXQWGLWDVXQWLDYROXSWDWLRUHVH[SODXWSRUDWHQLWIXJD$VDVVXVDQGLFWLRQVHTXLVQLPXVDFRQVHURRI¿
VXVDQGL FWLRQVHTXLV QLPXVD FRQVHUR RI¿FWDWLD
FWDWLDVRORUDOLTXLUH
VRORU D Create
Createan
anaccount
accountfor
foraccess
accesstoto » Call
venis nis rectis ius aut quid que velitis earciam, non parum ium sintur, sum num ad quis experit atemperibus. eightshapes.com.
eightshapes.com.
» Have Us Call You
Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige e
niantis quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel N02v
N02v1
v1 » :RUOGZLGH2I¿FHV
miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis DDownloads
ownloads
dolupta spernat. [[D
D
[Document
ocument name]
name]
]
Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero [[D
D
[Document
ocument name]
name]
] F01v1
Related Storie odio blandiscid moluptate eossit landi duntian ditatet explabor most, aut in rerum et [D
[D[Document
ocument name]
name]
]
» [[Storyy headline]]
venihilique porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt.
solutempos ius nis sequam, sum, nus etus, quae ma nosam et repratem corpos essi
quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil maximil laccat volutem rem Username
eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur?
HF06v1
Remember me on this computer
Contacts | Feedback | elp
p | Site Map
p
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy
y Statement | Cookie Policyy | Trademarks of EightShapes
g p LLC
Sign In
Article
Tasks
[Photo description velessit, odit ped Atet undenis Not Yet a Member?
totatem fuga. Ro iur, soles et unto tem fugit hari debis
XWHFDER8WRI¿FLDHDTXRLQFLOODQGDHFDHULVHDW@ Create an account for access to
Credit: [Photo Credit]
Share Email Print Text Size: A A A eightshapes.com.
N02v1
Downloads
updated [##] days, [##] hours, [##] minutes ago Article Highlights [Document name]
[Article highlight] [Document name]
[Article title that can span a number [Article highlight] [Document name]
[Article highlight]
of lines depending on the title] [Article highlight]
[Document name]
Figure 5.7 A set of components placed and linked into a page layout.
92 CHAPTER 5: Reuse
Conversely, article body copy is a poor candidate for a link. The generic content isn’t
reusable, and the page layout requires the copy to wrap around other component objects
inline, such as the article tasks and inline gallery.
Also notice the sidebar as a linked file that contains three components stacked together:
Contact EightShapes, Sign In Now, and Downloads. Since each is a separate component,
why link the combination together as a single file? Maybe the stack is included on many
page variations, and no components are being changed in the project. In fact, since there
are no changes or variations of each component, the designer could even simply embed
each instance in every page and not even worry about linking files.
HF01v1
HF03v1
Search:
HF02v1
Welcome! Sign in or create an account for eightshapes.com GO
HF04v1
Home >
C01v1 You currently have no items in your You currently have no items in your
[Product category] shopping cart. shopping cart.
Your Cart (0)
Chat Now
Your Cart (1) Edit Cart Your Cart (1) Edit Cart
[Featured Products] [Featured Products] » Email
» Call
» Have Us Call You
» :RUOGZLGH2I¿FHV [Product name] [Product name]
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Product description Necti blaces dolor [Product description Necti blaces dolor
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] Find a Product
mollatem dolor maionsenis maximo] mollatem dolor maionsenis maximo]
Category
$##.## $##.## $##.## HF01v1
HF02v1
HF03v1
Search:
Welcome! Sign in or create an account for eightshapes.com GO
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Keywords
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines]
Promo code: [Code name]
HF04v1
Subtotal: $##.## Services Training Downloads Blog Videos Papers Events About Us
Submit
[Secondary Features] C02v1
[Product Types] [Product Types] [Product Types] [Document name] Proceed to Checkout [Product name] Rate this [Item type]: (3.4 out of 5 stars)
[Document name]
[Destination] [Destination] [Destination]
[Document name]
[Abstract description [Abstract description [Abstract description Your Cart (3) Edit Cart
Reprem id molesed etur]
[Call to action]
Reprem id molesed etur]
[Call to action]
Reprem id molesed etur]
[Call to action]
[Document name]
Proceed to Checkout [Headline 2] [Product name]
[Product description Necti blaces dolor
[Destination] [Destination] [Destination] [Subhead 2 poris aut laborem eatur sae pro mollatem dolor maionsenis maximo]
[Abstract description [Abstract description [Abstract description $##.## $##.##
quis di ut int, sini reperibus iunt maximpost
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur]
[Call to action] [Call to action] [Call to action] od que volessitis tur, con remporundit dolor
[Product name] (2)
arum as alit eturibus.] [Product description Necti blaces dolor
[Destination] [Destination] [Destination] mollatem dolor maionsenis maximo]
[Abstract description [Abstract description [Abstract description Add to Cart $##.## $##.## ($##.## per item)
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur]
[Call to action] [Call to action] [Call to action] Promo code: [Code name]
Your Cart (2) Edit Cart Your Cart (3) Edit Cart C12v1x2 Subtotal: $##.## $##.##
HF06v1 Overview Features Tech Specs Downloads
Contacts | Feedback | Help | Site Map
Proceed to Checkout
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Added to your cart: [Product name] Otate sum ratur sequid ulles mil mint audit elit rati blaborrovit estem
imusam as dolles ea volupta eriorro magnis ex eicilla citam, quam, cor aut
>.H\%HQH¿W@
[Product description Necti blaces dolor ipsapiet abo. Axim veliquis est, od quo beat apicto totatur endipsus. [Content Ario bla ea dolum eos Contact EightShapes
[Product name] mollatem dolor maionsenis maximo] Uptassitae plaborum rata volore, vendign iminctatem solut pellabor remodis ut
archictus discitiorum aliquatatur? Ritat.
Occaeperibus autenienis event, sum For sales, training, and other general
P
Page P d t Category
: Product C t
et optassusdae et magnis miligendit, eveliqui dolupta tusdant uribus restium as am fuga. Ita nonectem que] inquiries, contact us via the following
[Product description Necti blaces dolor $##.## $##.##
peligendem rem explitatia quis in nobis ipsuntes nestruptas incil is quae volore nat
aborese quasit odipsa venisitas seque occus eum faccus, quidunt landit idiorero
» Learn More options:
Layer: v1 Load
M
Figure 5.9 Inline video component variations, stored as layers instead of across a single layout.
However, layers are not foolproof. Available variations are obscured since layer names of
a placed file are not easily accessed but are buried within the Object Layer Options dialog.
Additionally, a placed file’s appearance may revert from the customized layer appearance
you’d defined for this context to the file’s saved layer settings if layers in the linked file
94 CHAPTER 5: Reuse
change. Therefore, additional layers (v4, v5, and v6) have been included in the file in
Figure 5.9 just in case you must add variations to the file later.
HF01v
01v1
HF01v1 HF01v
HF01v1
01v1 HF01v1
HF01v1
HF01v1
HF03v1
HF03v1 HF03v1
HF03 1 HF03v1
HF03v1
Search:
Search: Search:
S h Search:
S
Search:
h
HF02v1
HF02v1 HF02v1 HF02v1
HF02v1
Welcome!
Welcome!Sign
g ininor
Sign orcreate
createan
anaccount
accountfor
foreightshapes.com
eightshapes.com GO
O
GO Welcome! Sign
g in or create an account for eightshapes.com GO
GO Welcome!
Welcome!Sign
g ininor
Sign orcreate
createan
anaccount
accountfor
foreightshapes.com
eightshapes.com GO
GO
HF04
4v1
HF04v1 HF04v1
HF
F04
4v1 HF04v1
HF0
04v1
Services
Services Training
g
Training Downloads
Downloads Blog
g
Blog Videos
Videos Papers
p
Papers Events
Events About
AboutUs
Us Services Training
g Downloads Blog
g Videos Papers
p Events About Us Services
Services Training
Training
g Downloads
Downloads Blog
Blogg Videos
Videos Papers
Papers
p Events
Events About
AboutUs
Us
C02v1
C02v1 C02v1
C02v1 C02v1
C02v1
Hom
me > Shopping
Home pp g >>
Shopping Home > Shopping
pp g > Home
Hoome>>Shopping
pp g>>
Shopping
C01v1
C01v1 C01v1
C01v1 C01v1
C01v1
Your
RRecommendations
ecommendations Recommendations Recommendations
Recommendations
Your shopping
shopping cart
cart contains
contains no items. Add an item by clicking the “Add to Cart” button on any of your product displays.
1 item: Your shopping cart contains 1 item: Your
Yourshopping
pp gcart
shopping cartcontains
contains11item:
item:
[[Product
[ProductName]
Name]] [[Product Name]] [Product
[[ProductName]
Name]]
7R¿QGDSURGXFWVWDUWVKRSSLQJLQRQHRIRXUFDWHJRULHV
Product Price per item Quantity Total Product Price per item Quantity Total Product Price
[Abstract
[Abstractdescription
description [Abstract description Product Priceper
peritem
item Quantity
Quantity Total
Total [Abstract
[Abstractdescription
description
Reprem
Repremididmolesed
molesedetur]
etur] Reprem id molesed etur] Reprem
Repremididmolesed
molesedetur]
etur]
» [[Product category]
g y]
»»Details
» [[Product [Product
g y] name]
category] $[##.##] $[##.##] Details [
[Product name]] $[##.##] $[##.##] » Details [Product
[[Productname]
name]] $[##.##]
$[##.##] 2 $[##.##]
$[##.##] »»Details
Details
» [[Product [Product
g y]description]
category] [Product description] [Product
[Productdescription]
description]
[[Product
[ProductName]
Name]] [[Product Name]] [Product
[[ProductName]
Name]]
» [[Product category]
g y]
[Abstract
[Abstractdescription
description [Abstract description [Abstract
[Abstractdescription
description
» [[Product category]
g y]
Reprem
Repremididmolesed
molesedetur]
etur] Reprem id molesed etur] Reprem
Repremididmolesed
molesedetur]
etur]
»»Details
Details » Details »»Details
Details
Product subtotal Update $[##.##] Product subtotal Update $[##.##] [[Product
Product name]]
subtotal $[## ##] $[##.##]
$[##.##] 1
Update $[##
$[##.##]
##] $[##.##]
$[##.##]
[[Product [Product description]
[ProductName]
Name]] [[Product Name]] [Product
[[ProductName]
Name]]
About the Shopping Cart [Abstract
[Abstractdescription
Promotion Code Promotion discount –$[##.##]
description
Promotion discount –$[##.##]
[Abstract description
Promotion discount –$[##.##]
[Abstract
[Abstractdescription
description
Reprem
Repremididmolesed
molesedetur]
etur] Reprem id molesed etur] Reprem
Repremididmolesed
molesedetur]
etur]
,WHPVLQ\RXU6KRSSLQJ&DUWDOZD\VUHÀ »»Details
Details » Details »»Details
Got a promotion code? Apply your promotion code here to State tax (estimated) $[##.##]HFWWKHPRVWUHFHQWW State tax (estimated) $[##.##] [[Product name]] $[## ##] $[##.##]
$[##.##] 1 (estimated)$[##
State tax $[##.##]
##] $[##.##]
$[##.##] Details
save on your purchase today: price displayed on their product pages. [Product description]
N0
01v
v2
Items remain in your Shopping Cart for only this site visit N01v2 N0
01v2
N01v2 N01v2
N01v2
Shipping (estimated) $[##.##] Shipping (estimated) $[##.##] Shipping (estimated) $[##.##]
(Why?y ). RRecently
ecently Viewed
Promotion Code Apply ViewedItems
Items Recently Viewed Items
Recently Recently
Recently Viewed
Viewed Items
Items
You pay (estimated) $[##.##] You pay (estimated) $[##.##] You pay (estimated) $[##.##]
» » [Product
[ [ProductName]
]
Name] » [[Product Name]] »» [Product
Product subtotal Update $[##.##] [[ProductName]
Name]]
» » [[Product
[ProductName]
]
Name] » [Product
[ Name]] »» [Product
[[ProductName]
Name]]
Proceed to Checkout » » [[Product
[ProductName]
]
Name] Proceed to Checkout » [Product
[ Name]] Proceed to Checkout »» [Product
[[ProductName]
Name]]
Cart.C.3Items
Cart.A.Empty
» » [[Product
[ProductName]
]
Name] » [[Product Name]] »» [Product
Promotion discount –$[##.##] [[ProductName]
Name]]
HF06v1
Contacts | Feedback | Help
p | Site Map
p Shipping (estimated) $[##
$[##.##]
##]
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacyy Statement | Cookie Policyy | Trademarks of EightShapes
g p LLC
Promotion Code About the Shopping Cart
You pay (estimated) $[##.##]
You’ve applied a promotion code to your purchase: ,WHPVLQ\RXU6KRSSLQJ&DUWDOZD\VUHÀHFWWKHPRVWUHFHQW
price displayed on their product pages. Proceed to Checkout
[Promotion code description] ##% Discount Items remain in your Shopping Cart for only this site visit
(Why?
y ).
HF06v1
Contacts | Feedback | Help
p | Site Map
p
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy
y Statement | Cookie Policyy | Trademarks of EightShapes
g p LLC
HF01v1
HF03v1
Search: HF01v1
HF02v1 HF03v1
Welcome! Sign in or create an account for eightshapes.com GO Search:
HF02v1
Welcome! Sign in or create an account for eightshapes.com GO
HF04v1
Recommendations
Header
Figure 5.10 A page shell of many components combined, placed, and linked to three variations of a
shopping cart page.
A Culture of Linked Files 95
Also notice how the header component file is placed in the page shell file. Thus the
designer can reuse the header on other pages (or even other shells) independent of the
cart shell seen here.
File Proliferation
It’s a transition for a designer to move from a single, all-inclusive file containing all art-
work to quite the opposite. What began as a separation of a single component (such as a
header) from a single page can balloon into scores of interlinked files.
File proliferation requires a designer to organize, label, and store many files. Figure 5.11
shows two separate folder structures: on the left, a single Microsoft Visio file that includes
all wireframes and annotations, and on the right, many different Adobe InDesign files of
components, pages, and deliverables.
Collaboration
Collaborative opportunities emerge when a team begins to use linked strategies for its
design and deliverable files. Authoring can be shared by federating out different bits to
different authors, and teammates can recombine assets in interesting and strategic ways.
96 CHAPTER 5: Reuse
Figure 5.11 Two different folder structures, reflecting a single file in which all design assets
are embedded (left) and numerous files and folders across which design and deliverable
assets are linked (right).
If two (or more) designers plan to collaborate on a deliverable, they’ve got to decide three
things: who’s producing what, how will they link together, and how will they share and
maintain files. The answers to the first two questions can come after a brief discussion.
The third question—how to jointly share and maintain the files—can be more challeng-
ing. Possible solutions depend on the team’s IT infrastructure and could include the
following:
Ω A version control system, such as Subversion, that enables multiple participants
to maintain current and historical document versions with check-in and check-out
access. While an available (and sanctioned) server and some setup are required,
A Culture of Linked Files 97
this is by far the best way to share files across a team over time. Without a server,
a team could also use a hosted solution.
Ω Folder(s) on a shared drive from which files can be opened, edited, and closed. Be
careful, though: Shared drives typically enable anyone and everyone to delete files,
an entire folder, or—even worse—an entire hierarchy of folders. If the team does
not have access to a version control system, research other safeguards that prevent
consequences like deleted files. For example, determine if you can apply read-only
access rights to everyone but the design team working on the project.
Ω An owner identified to organize files and publish the deliverable.
Related to how the numerous files would be shared, a designer must also consider how
files would be transported if one works remotely and must transfer files between systems
frequently. Sure, this challenge exists with a single file, but it is amplified since a designer
needs to think about which files need to be brought home.
Naming Conventions
When sharing files, teammates must discuss file-naming conventions. Designers must
name files with labels that precisely reflect the content. Linked file reuse only works when
another person can find, distinguish, and use the right artwork. Additionally, many files
will be variations of the same item, such as variations A through E of a shopping cart
page. When dealing with many files and variations, designers benefit from establishing a
consistent yet simple convention like “ShoppingCart.A.Empty.indd” for a shopping cart
with no items.
A designer should be mindful of how to archive file instances that are older yet still impor-
tant enough to be distinguished and retrievable. Since files are linked together, absolutely
avoid including the “version number” in the most recent, current version. If you were to
change the filename of the current version, then every document that links to that file
would need to be updated to link to a new file version. What a pain! Avoid that costly pro-
cess of updating all your links to point to some new version, and instead leave the current
version’s name as is, and change the name of versions you archive instead.
For example, suppose you just completed a design review and you need to update your
second version of an empty shopping cart. Copy the old version to a subfolder, append
a .v2 to the old file’s name, and continue using the version in the parent folder as the
current version (as shown in Figure 5.12). Since the file name of the current version did
not change, links to it are not broken.
98 CHAPTER 5: Reuse
Figure 5.12 An easy process for archiving an older file version yields a current version with an
unchanging name. That way, links to the most recent version will not be broken.
On the other hand, if a component will not change during a project, then leave it in each
page you design, move on, and don’t worry about making a component out of it.
Vary refers to a chunk that has distinct, variable presentations as described in detail in
Chapter 3, “Vary.” Variations warrant linked reuse so that a designer can do the following:
Ω Show the component in different page scenarios
Ω Evolve and change component design as a solution matures
Ω Document component variations together
Whenever a component has variations, collect the variations in a reusable master symbol
or file. If the component is on separate layers, pages, or across a layout, you can crop it
when placed.
For example, suppose your design system includes a component that displays a collection
of featured items. The feature list has been used across numerous projects over the past
year, and its elements have stabilized. Sure, the component is reused three times—in this
single page design! But the component is stable, and if you are neither changing it for this
project nor annotating this piece elsewhere, then there’s no reason to link it. That’d be a
waste of time, both now and later as you manage linked files over time. Just embed the
feature list three times and move on.
If the reuse candidate does not meet either criterion, then don’t bother creating a linked
relationship (either intra-document master symbol or inter-document linked file).
c3. Billboard
4
The Minicart is a Sidebar component that billboard, then display a thumbnail associated
[Headline 1] enables a user to view their carts contents, with each feature to the right of the feature
1 [Headline 1] image.
[Subhead 1 poris aut laborem eatur sae pro quis di prune undesired options, and proceed to If the image applies to the current displayed
ut int, sini reperibus iunt maximpost od que volessitis 2 [Subhead 1 poris aut laborem eatur sae pro quis di
ut int, sini reperibus iunt maximpost od que volessitis
checkout without having to navigate to feature, then highlight the image (such as with a
et expelescia volori temollatios a voluptur, con
et expelescia volori temollatios a voluptur, con the shopping cart. larger stroke weight as in Figure 3).
remporundit dolor arum as alit eturibus.]
remporundit dolor arum as alit eturibus.] Î onclick: Display the selected feature headline,
Variations description, and photograph within the billboard
Design Document
Add to Cart 3 Add to Cart A. Standard
6. Feature carousel navigation
B. Two Features
C. Feature Carousel If more than three features are included within
A Standard the billboard, display feature carousel navigation
5
Elements above and below the three feature option
images.
[Headline 2] [Headline 2] 1. Feature headline Î onclick: Rotate thumbnail images in the direction
selected by 1 (do not rotate “pages” of feature
[Subhead 2 poris aut laborem eatur sae pro Limit headlines to one line, do not wrap
[Subhead 2 poris aut laborem eatur sae pro quis di ut int, sini reperibus iunt maximpost
option images).
Follow brand guidelines for voice and tone
quis di ut int, sini reperibus iunt maximpost od que volessitis tur, con remporundit dolor
Billboard
od que volessitis tur, con remporundit dolor arum as alit eturibus.] 2. Feature description
arum as alit eturibus.]
Add to Cart Limit descriptions to four lines; optimally
Add to Cart descriptions span no more than two lines
Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data
Page designs can be reused in a similar way, added to and annotated in one or more docu-
ments. In fact, a single page design can be reused across a range of different documents:
an early wireframe review, a test script, a report of testing results, and a detailed design
specification.
Pages can also be reused to create interactive prototypes. Most of the time, numerous
page designs are linked to a separate, paginated prototype document. The prototype file
can then be extended to include hyperlinked and even hovered hotspots that navigate the
user from page to page. Ultimately, the prototype is published in a browser-ready format
like SWF or HTML for use in dynamic designs or usability tests.
Pages (and even components) can be reused to illustrate the experience design from a
higher-level in diagrams like a site map or flow. Figure 5.14 shows four separate pages,
each placed on a deliverable page, connected via arrows, and surrounded by additional
annotations to tell the big picture of the design solution.
Unifying Design and Documentation 101
Wireflow in a Deliverable
eCommerce [RH329] :: Design Specification 11 of 27
Version 1 published June 26, 2009 by Nathan Curtis ([email protected])
Flow
Home Search Results
[Product category]
C01v1
inci blametu erostis dolor at. Iriurem
[Product name] Rate this [Item type]: (not yet rated) Shopping Cart N01v3 First Name * verostrud tat velit autpat lumsan
ullamet atis essed minis essisit alit
Your shopping cart contains 1 item:
Recommendations Last Name * veliquisit, velesendre magnim ilismod
Your Cart (0) iamcomm olorerat.
Your Cart (0) [Product Name]
Address *
[Headline] You currently have no items in your
shopping cart. [Headline 1]
Product Price per item Quantity Total [Abstract description
Reprem id molesed etur]
Ectem volorer aessit vulla faciliq
You currently have no items in your uiscip eu facing eu faciduipit il enisis
[Subhead poris aut laborem eatur sae pro quis di ut shopping cart. [Product name] $[##.##] $[##.##] » Details
nullam zzrit lut vulput laore consed tat
City *
int, sini reperibus iunt maximpost od que volessitis [Subhead 1 poris aut laborem eatur sae pro quis di [Product description]
praestis am et lor iurero cor sim adigna
ut int, sini reperibus iunt maximpost od que volessitis [Product Name]
et expelescia volori temollatios a voluptur, con Contact EightShapes [Abstract description State * conumsa ndignim essecte magniscinci
remporundit dolor arum as alit eturibus.] et expelescia volori temollatios a voluptur, con Contact EightShapes bla facil euip eugait lor am velesto del
Reprem id molesed etur]
For sales, training, and other general remporundit dolor arum as alit eturibus.] » Details ZIP Code * euis alis dolorerci tat. Ros adipit et,
inquiries, contact us via the following For sales, training, and other general Product subtotal Update $[##.##] susto diam, vent am acillaorem zzril
options: inquiries, contact us via the following utetue feum non hent ulluptat.
Learn More [Product Name] Phone Number * ( ) -
options:
Add to Cart [Abstract description
Promotion discount –$[##.##] Duis alit, veril ullaorem veros nibh
Chat Now Reprem id molesed etur]
et, sent alit venibh eriuscilit at, vel
Chat Now » Details
State tax (estimated) $[##.##] dolor sequat vulla aliquam venis essi
C12v1x2 Credit History Check (Why do we ask for this information?)
exerostie deliquamcon exercid uiscip
[Featured Products] [Featured Products] » Email
Overview Features Tech Specs Downloads N01v2
C12v1
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC « Return to Shopping Cart Submit Your Order
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
[Product category]
C01v1
inci blametu erostis dolor at. Iriurem
[Product name] Rate this [Item type]: (not yet rated) Shopping Cart N01v3 First Name * verostrud tat velit autpat lumsan
ullamet atis essed minis essisit alit
Your shopping cart contains 1 item:
Recommendations Last Name * veliquisit, velesendre magnim ilismod
Your Cart (0) iamcomm olorerat.
Your Cart (0) [Product Name]
Address *
[Headline] You currently have no items in your
shopping cart. [Headline 1]
Product Price per item Quantity Total [Abstract description
Reprem id molesed etur]
Ectem volorer aessit vulla faciliq
You currently have no items in your uiscip eu facing eu faciduipit il enisis
[Subhead poris aut laborem eatur sae pro quis di ut shopping cart. [Product name] $[##.##] $[##.##] » Details
nullam zzrit lut vulput laore consed tat
City *
int, sini reperibus iunt maximpost od que volessitis [Subhead 1 poris aut laborem eatur sae pro quis di [Product description]
praestis am et lor iurero cor sim adigna
ut int, sini reperibus iunt maximpost od que volessitis [Product Name]
et expelescia volori temollatios a voluptur, con Contact EightShapes [Abstract description State * conumsa ndignim essecte magniscinci
remporundit dolor arum as alit eturibus.] et expelescia volori temollatios a voluptur, con Contact EightShapes bla facil euip eugait lor am velesto del
Reprem id molesed etur]
For sales, training, and other general remporundit dolor arum as alit eturibus.] ZIP Code * euis alis dolorerci tat. Ros adipit et,
» Details
inquiries, contact us via the following For sales, training, and other general Product subtotal Update $[##.##] susto diam, vent am acillaorem zzril
options: inquiries, contact us via the following utetue feum non hent ulluptat.
Learn More [Product Name] Phone Number * ( ) -
options: [Abstract description
Add to Cart
Promotion discount –$[##.##] Duis alit, veril ullaorem veros nibh
Chat Now Reprem id molesed etur]
et, sent alit venibh eriuscilit at, vel
Chat Now » Details
State tax (estimated) $[##.##] dolor sequat vulla aliquam venis essi
C12v1x2 Credit History Check (Why do we ask for this information?)
exerostie deliquamcon exercid uiscip
[Featured Products] [Featured Products] » Email
Overview Features Tech Specs Downloads N01v2
C12v1
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC « Return to Shopping Cart Submit Your Order
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Page: Product
P P d C Category Page:
P Product
P d Page:
P Cart
C Page:
P Checkout
Ch
h k
Figure 5.14 Four different wireframe page files, placed into a wireflow in a deliverable document.
Figure 5.15 Copy documents containing billboard headlines, threaded as linked content into billboard com-
ponent variations.
104 CHAPTER 5: Reuse
6
D O C U M E N T
Why Document?
There are common misconceptions in the industry today that software development pro-
cesses should just flat-out dismiss documentation. Get rid of it. Completely remove docu-
mentation from the process altogether. Teams are looking to be leaner and more efficient
when producing the best experience for their customers. In that quest, it’s important to
remove unnecessary steps and focus on artifacts that generate value to a customer (such
as software code). That doesn’t necessarily mean that documentation lacks value. Instead,
we must be smart about why, when, where, and how to produce the right documentation.
Documentation is valuable for communicating a design to people in adjacent cubes, on
other teams, or across the world. Why would we document a design? There’s a myriad of
reasons, including the following:
Ω Clarify scope.
Ω Tell a story of the overall solution.
Ω Close gaps in design knowledge and ambiguous requirements.
Ω Communicate and justify decisions.
Ω Record progress.
Ω Reduce misinterpretation that triggers someone to build something wrong.
Ω Avoid heartbreak of a developer who becomes too attached to the wrong code.
Ω Accurately plan, prioritize, and schedule subsequent efforts.
Ω Ratify decisions.
Summed up, documentation helps us record and reuse knowledge later in the
process when we are otherwise not set up for or capable of accurately recalling
design communication.
Documentation created by a designer may conflict with artifacts that other teammates create,
either due to timing (one deliverable precedes another), lack of communication, or outright
disagreement between two decision makers. Isn’t design about making decisions anyway?
And, although it may be less obvious, documentation may not mature well. What seemed
like a lightweight collection of chunked wireframes early in a project may transform over
time into an unorganized morass of wireframes, comps, specs, and details. Each piece
is progressively added to a document over time in the mantra of “Just put it in the spec.”
That approach makes it much harder to understand a document later in its life.
2. Visualize Basics
3. Chunk Pages
4. Annotate Details
Figure 6.1 A deliverable’s evolution as it matures during a project. Documents usually start from a template
and/or source content from other documents. Content then gradually evolves as the core experience is
chunked out and details are annotated.
108 CHAPTER 6: Document
Through this life cycle, many factors can disrupt or shift the direction of the artifact’s
growth. Design iteration can cause large chunks of the design to change—along with any
documentation of those chunks. Reducing scope can result in the removal of entire areas
of a design from a project. Should this documentation be thrown away and removed from
this deliverable or retained but marked as out of scope? Executive input can shift design
in completely new directions. Should the documentation have been exposed to such an
audience, and what do we do with it now?
Also, the artifact’s possible audience grows over time from a few individuals in a narrow
team to across an organization. Is your document maturing to address those audiences,
speaking to each one in a voice that they understand and find useful? Depending on your
workflow and team structure, does your artifact clarify the design enough so that those
audience members you communicate with directly can represent the work to the individu-
als you never meet or talk to?
Understanding a deliverable’s audience and lifecycle is critical for the composition and
maintenance of a successful design artifact. What can we do to address some of these
challenges? Planning and standardizing can go a long way. The remainder of this chapter
describes techniques you can use to plan your deliverables at a macro level, as well as to
communicate flows, pages, and components in a more organized, efficient way.
Recipes
In every survey we’ve conducted over the past three years, the most popular response to
the question “How do you get started on a new deliverable?” is invariably “I open a previ-
ous deliverable, erase irrelevant content, and jump right in.”
As designers, our instinct is to solve a design problem, not think about how we’re going
to document the solution. We start by throwing visuals and annotations into a document
without considering the long-range goals or document’s life cycle over days, weeks, or
even months.
Enter document recipes, which afford us an opportunity to discuss, plan, and assess the
relevance of a deliverable before we get started. Through the concept of a recipe, you can
discuss all the important aspects of your deliverable:
Ingredients: What visualizations, annotations, research, and other supporting content
are included? How many flows, maps, pages, and components do we need? How
many variations of each one?
Preparation: How are ingredients mixed and related (such as through modular reuse
of design assets), and when is each part added?
Duration: How long does the document take to prepare?
Recipes 109
The discussion considered but ultimately decided against including personas, a detailed
flow, and a receipt page (as indicated by the Xs). Those items were important, but not
ready to publish to stakeholders. However, the group remained mindful of the content
they’d author in the future so that the document could predictably grow.
The two designers (Nathan and DM) acknowledged shared components (header and
footer at the bottom of the whiteboard), so Nathan was assigned to create and share
those assets. Finally, the group decided that Nathan would aggregate all the content into
a published PDF deliverable (revealed as a note in the upper left).
During the conversation, the group reached agreement on how many screens would be
visualized, when they’d be done, and who was creating what—all within the context of
delivering to their “user”: the stakeholders consuming this particular document.
Recipes are also used to communicate standard deliverables. For example, suppose a
design manager anticipates the production of many competitive analyses. A recipe can
help formalize the deliverable, communicating standard ingredients, preparation, and
purpose (Figure 6.3). With recipe in hand, the design manager can communicate the
value to stakeholders and set clear expectations for the author responsible for a report.
Competitive Analysis
Description Ingredients Preparation
A competitive analysis is the process by which a designer t Cover 1. Identify the Need
or team assesses competitive or comparative design Every competitive analysis has a trigger, whether it
t Executive Summary
solutions in search of standards, best practices, and gaps be to identify a broad set of examples for input into
in current requirements. t Table of Contents pattern development or specific design project
The competitive analysis feeds and inspires the pattern t Change History 2. Define Approach & Criteria
and product design process by providing the right Work with stakeholders and teammates to form goals,
t Approach
inputs to create a design solution pattern standard rationale, and solicit ideas for competitors to review
that are robust and can be interpreted at least as best t Purpose, Audience, Rationale, & Context
3. Research Competitors
practices, not just the opinion of the designer. t Criteria for Competitor Selection Using the inventory of potential competitors,
The competitive analysis deliverable should be t Selected Competitors research each individual experience, taking notes and
substantial enough to stand alone, in the sense that screenshots along the way.
it exposes the process and effort that is put into t Examples
4. Formulate Conclusions
performing the analysis and allows future investigations t Annotated Examples Annotate screenshots, brainstorm ideas, and outline
to leverage the existing effort.
t Findings general conclusions to prep for writing up findings
For more details on performing and documenting a
t Key Findings 5. Document Findings
competitive analysis, refer to chapter 5 “Competitive
Finalize the document by communicating your
Analysis” of Communicating Design, by Dan Brown. t Recommendations findings, recommendations, and next steps at the end
t Next Steps of the document, and then composing an executive
summary
Figure 6.3 A formal document recipe for producing a competitive analysis, used to establish expectations
of authors as well as stakeholders consuming a report.
Recipes 111
time you’re thinking about the document, you should put that distinction aside,
though, and just ask yourself: What does the structure of this document look like?
Your initial structure for a design specification might look like this:
Ω Overview of concept
Ω Experience blueprint
Ω Product catalog
Ω Checkout process
You might make like a screenwriter or novelist and think in terms of beginning-
middle-end. You might take a more plot-driven approach and, considering where
you want to end up, think about the steps you need to take to get there. As much as
we can make our design documents narrative, we should do so because it’s a format
that resonates with everyone—every client, every team member.
That said, we’re dealing with templates, components, site maps, and other things
that don’t perfectly lend themselves to plotting like a murder, a butler, and a dys-
functional private eye would. If you’re stuck and don’t know where to begin, start
with what you know you have. Arrange that stuff into a list and brainstorm how you
might expand each item to explain, in a sense, the story within a story. Here’s that
first list fleshed out a bit:
Ω Reminder of basic requirements
Ω Overview of concept
Ω Lessons from usability study
Ω Experience blueprint
Ω Product catalog
Ω Close-up of catalog structure
Ω Storefront page
Ω Category page
Ω Product page
Ω Checkout process
Ω Cart page
Ω Forms best practices
Documenting the Hierarchy 113
As you think through the document further, you’ll consider the appropriate order
for each of these elements, and how you might need to expand or consolidate any
of them. As you massage this list, always be mindful of the first one you made—the
key messages—and ask yourself: How does this content or this structure support
those messages?
This chapter describes recipes, a concept we use at EightShapes to help us plan and
collaborate on documents. Recipes are, at their heart, lists—lists of ingredients and
lists of instructions. This book will help you develop your “cookbook” of documents,
but keep in mind that making a list of what you need to accomplish and what you
have will always be a useful starting point.
Table of Contents 1. Product Category 2. Product 2.v1. Product (Cart Nonempty) 2.v2. Product (Features & Video)
1. Product Category . . . . . . . . . . . . . . . . . .3 Introductory paragraph Aliquam lectus orci, adipiscing et, Introductory paragraph Aliquam lectus orci, adipiscing et,
HF01v1 HF01v1 HF01v1 HF01v1
HF03v1 HF03v1 HF03v1 HF03v1
Search: Search: Search: Search:
HF02v1 HF02v1 HF02v1 HF02v1
Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO
2. Product. . . . . . . . . . . . . . . . . . . . . . . .4
2.v1. Product (Cart Nonempty). . . . . . . . . . . .5
HF04v1
Home > posuere, purus sit amet malesuada blandit, sapien sapien auctor C02v1
[Product category] arcu, sed pulvinar felis mi sollicitudin tortor. arcu, sed pulvinar felis mi sollicitudin tortor.
C01v1 C01v1 C01v1
[Product name] Rate this [Item type]: (not yet rated) [Product name] Rate this [Item type]: (3.4 out of 5 stars) [Product name] Rate this [Item type]: (not yet rated)
3.v1. Cart (1 Item) . . . . . . . . . . . . . . . . . .7
Your Cart (0)
3.v2. Cart (3 Items) . . . . . . . . . . . . . . . . . .7 Your Cart (0) Your Cart (3) Edit Cart Your Cart (0)
[Headline] You currently have no items in your
4. Checkout. . . . . . . . . . . . . . . . . . . . . . .8 shopping cart. Components [Headline 1] You currently have no items in your
shopping cart.
Components [Headline 2] [Product name] [Headline 1] You currently have no items in your
shopping cart.
[Subhead poris aut laborem eatur sae pro quis di ut [Product description Necti blaces dolor
Checkout (with Error) . . . . . . . . . . . . . . . .9 LQWVLQLUHSHULEXVLXQWPD[LPSRVWRGTXHYROHVVLWLV
Contact EightShapes t Component Name 1
1
[Subhead 1 poris aut laborem eatur sae pro quis di
XWLQWVLQLUHSHULEXVLXQWPD[LPSRVWRGTXHYROHVVLWLV t Component Name 1
1 [Subhead 2 poris aut laborem eatur sae pro
TXLVGLXWLQWVLQLUHSHULEXVLXQWPD[LPSRVW
mollatem dolor maionsenis maximo]
$##.##
[Subhead 1 poris aut laborem eatur sae pro quis di
XWLQWVLQLUHSHULEXVLXQWPD[LPSRVWRGTXHYROHVVLWLV
HWH[SHOHVFLDYRORULWHPROODWLRVDYROXSWXUFRQ
5. Receipt . . . . . . . . . . . . . . . . . . . . . . . 10 remporundit dolor arum as alit eturibus.] HWH[SHOHVFLDYRORULWHPROODWLRVDYROXSWXUFRQ Contact EightShapes RGTXHYROHVVLWLVWXUFRQUHPSRUXQGLWGRORU HWH[SHOHVFLDYRORULWHPROODWLRVDYROXSWXUFRQ Contact EightShapes
)RUVDOHVWUDLQLQJDQGRWKHUJHQHUDO
LQTXLULHVFRQWDFWXVYLDWKHIROORZLQJ
t2 Component Name 2 remporundit dolor arum as alit eturibus.]
)RUVDOHVWUDLQLQJDQGRWKHUJHQHUDO
t2 Component Name 2 arum as alit eturibus.] [Product name] (2)
[Product description Necti blaces dolor
remporundit dolor arum as alit eturibus.]
)RUVDOHVWUDLQLQJDQGRWKHUJHQHUDO
options: LQTXLULHVFRQWDFWXVYLDWKHIROORZLQJ mollatem dolor maionsenis maximo] LQTXLULHVFRQWDFWXVYLDWKHIROORZLQJ
Learn More Add to Cart
Chat Now
t3 Component Name 3 Add to Cart
options:
t3 Component Name 3 $##.## SHULWHP
Add to Cart
options:
» Call Overview Features Tech Specs Downloads » Email Overview Features Tech Specs Downloads Overview Features Tech Specs Downloads » Email
Wireframe Review
» Have Us Call You » Call Proceed to Checkout » Call
» :RUOGZLGH2I¿FHV Otate sum ratur sequid ulles mil mint audit elit rati blaborrovit estem » Have Us Call You Otate sum ratur sequid ulles mil mint audit elit rati blaborrovit estem Otate sum ratur sequid ulles mil mint audit elit rati » Have Us Call You
[.ey Bene¿t] » :RUOGZLGH2I¿FHV
[.ey Bene¿t] » :RUOGZLGH2I¿FHV
LPXVDPDVGROOHVHDYROXSWDHULRUURPDJQLVH[HLFLOODFLWDPTXDPFRU LPXVDPDVGROOHVHDYROXSWDHULRUURPDJQLVH[HLFLOODFLWDPTXDPFRUDXW blaborrovit estem imusam as dolles ea volupta eriorro
DXWLSVDSLHWDER$[LPYHOLTXLVHVWRGTXREHDWDSLFWRWRWDWXUHQGLSVXV [Content Ario bla ea dolum eos LSVDSLHWDER$[LPYHOLTXLVHVWRGTXREHDWDSLFWRWRWDWXUHQGLSVXV [Content Ario bla ea dolum eos PDJQLVH[HLFLOODFLWDPTXDPFRUDXWLSVDSLHWDER$[LP
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Contact EightShapes
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] Find a Product archictus discitiorum aliquatatur? Ritat. archictus discitiorum aliquatatur? Ritat. YHOLTXLVHVWRGTXREHDWDSLFWRWRWDWXUHQGLSVXV
8SWDVVLWDHSODERUXPUDWDYRORUHYHQGLJQLPLQFWDWHPVROXWSHOODERUUHPRGLVXW 2FFDHSHULEXVDXWHQLHQLVHYHQWVXP 8SWDVVLWDHSODERUXPUDWDYRORUHYHQGLJQLPLQFWDWHPVROXWSHOODERUUHPRGLVXW 2FFDHSHULEXVDXWHQLHQLVHYHQWVXP
HWRSWDVVXVGDHHWPDJQLVPLOLJHQGLWHYHOLTXLGROXSWDWXVGDQWXULEXVUHVWLXPDV am fuga. Ita nonectem que] HWRSWDVVXVGDHHWPDJQLVPLOLJHQGLWHYHOLTXLGROXSWDWXVGDQWXULEXVUHVWLXPDV am fuga. Ita nonectem que] )RUVDOHVWUDLQLQJDQGRWKHUJHQHUDO 8SWDVVLWDHSODERUXPUDWDYRORUHYHQGLJQLPLQFWDWHPVROXWSHOODERU
Category
peligendem rem explitatia quis in nobis ipsuntes nestruptas incil is quae volore nat » Learn More peligendem rem explitatia quis in nobis ipsuntes nestruptas incil is quae volore nat » Learn More LQTXLULHVFRQWDFWXVYLDWKHIROORZLQJ UHPRGLVXWHWRSWDVVXVGDHHWPDJQLVPLOLJHQGLWHYHOLTXLGROXSWD
DERUHVHTXDVLWRGLSVDYHQLVLWDVVHTXHRFFXVHXPIDFFXVTXLGXQWODQGLWLGLRUHUR DERUHVHTXDVLWRGLSVDYHQLVLWDVVHTXHRFFXVHXPIDFFXVTXLGXQWODQGLWLGLRUHUR options: tusdant uribus restium as peligendem rem explitatia quis in nobis
moditat as ex expliquiant. [.ey Bene¿t] moditat as ex expliquiant. [.ey Bene¿t] ipsuntes nestruptas incil is quae volore nat aborese quasit odipsa
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Keywords Chat Now YHQLVLWDVVHTXHRFFXVHXPIDFFXVTXLGXQWODQGLWLGLRUHURPRGLWDW
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] ([SHUXPTXLGXFLLVDWLRUHVWVXPDOLEXVHWSHURLSLHQWXOSDFRQHVWLVDFHULR)LFLW ([SHUXPTXLGXFLLVDWLRUHVWVXPDOLEXVHWSHURLSLHQWXOSDFRQHVWLVDFHULR)LFLW as ex expliquiant.
KDUXPTXLEXVPRORUHLFLLVUHUHUXPHDTXDWXVTXDPYHQGLWRSWDWXPFRUHLXV [.ey Bene¿t] KDUXPTXLEXVPRORUHLFLLVUHUHUXPHDTXDWXVTXDPYHQGLWRSWDWXPFRUHLXV [.ey Bene¿t]
RI¿FLDHQRQHDUFKLWDPTXRFRUHLXPTXHGRORUHUVSLWDXWODDGHVWHGROHQW RI¿FLDHQRQHDUFKLWDPTXRFRUHLXPTXHGRORUHUVSLWDXWODDGHVWHGROHQWYROXSWDWHQLV » Email ([SHUXPTXLGXFLLVDWLRUHVWVXPDOLEXVHWSHURLSLHQWXOSDFRQHVWLV
Submit YROXSWDWHQLVDVPRORUHLFWDWHWH[FHSWXULVROXSWDWXVWHQLPLQUHDGTXLTXLEODXW DVPRORUHLFWDWHWH[FHSWXULVROXSWDWXVWHQLPLQUHDGTXLTXLEODXW » Call acerio. Ficit harumquibus moloreiciis re rerum eaquatus quam
[Secondary Features] » Have Us Call You YHQGLWRSWDWXPFRUHLXV
» :RUOGZLGH2I¿FHV RI¿FLDHQRQHDUFKLWDPTXRFRUHLXPTXHGRORUHUVSLWDXWODDGHVWH
N02v1 C12v5 C12v5
N01v3 N01v3 N01v3
Downloads GROHQWYROXSWDWHQLVDVPRORUHLFWDWHWH[FHSWXULVROXSWDWXVWHQLPLQ
[Product Types] [Product Types] [Product Types] [Document name] re ad qui qui blaut.
[Document name] [Video Title]
[Destination] [Destination] [Destination] HF06v1
Contacts | Feedback | Help | Site Map
HF06v1
Contacts | Feedback | Help | Site Map [Video description Laut isitio comnima velentist aut fuga.
[Document name]
[Abstract description [Abstract description [Abstract description © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC Ut aut liquod moditate id eaque eos numquid quunt ilic
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur] [Document name] temped quature perferum fuga. Fer]
[Call to action] [Call to action] [Call to action] » More EightShapes Videos
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Version 1
Published February 24, 2009
Created by Nathan Curtis
Wireframe Review Wireframe Review Wireframe Review Wireframe Review Wireframe Review
Version 1 published February 24, 2009 by Nathan Curtis ([email protected]) Version 1 published February 24, 2009 by Nathan Curtis ([email protected]) Version 1 published February 24, 2009 by Nathan Curtis ([email protected]) Version 1 published February 24, 2009 by Nathan Curtis ([email protected]) Version 1 published February 24, 2009 by Nathan Curtis ([email protected])
3. Cart 3.v1. Cart (1 Item) 3.v2. Cart (3 Items) 4. Checkout Checkout (with Error) 5. Receipt
Introductory paragraph Aliquam lectus orci, adipiscing et,
HF01v1 HF01v1 HF01v1 HF01v1 HF01v1 HF01v1
HF03v1 HF03v1 HF03v1 HF03v1
Search: Search: Search: Search:
HF02v1 HF02v1 HF02v1 HF02v1
Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO Welcome! Sign in or create an account for eightshapes.com GO
HF04v1
Sissequat. Uptate dolortion hendrem There is a problem with your address submission. Please ¿ll in all reTuired
Privacy Policy
Destination
Promotion Code About the Shopping Cart Method & Price Your products will be sent to your credit card billing address for security purposes.
HF06v1 Select a shipping method and cost for your order (learn more):
Contacts | Feedback | Help | Site Map
You’ve applied a promotion code to your purchase: ,WHPVLQ\RXU6KRSSLQJ&DUWDOZD\VUHÀHFWWKHPRVWUHFHQW GD\EXVLQHVVGD\V
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
price displayed on their product pages. 6WDQGDUG2YHUQLJKWEXVLQHVVGD\
[Promotion code description] ##% Discount Items remain in your Shopping Cart for only this site visit Method & Price
(Why?). Select a shipping method and cost for your order (learn more):
GD\EXVLQHVVGD\V
Billing 6WDQGDUG2YHUQLJKWEXVLQHVVGD\
Card Type *
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC Credit Card Number * Billing
HF06v1
Contacts | Feedback | Help | Site Map
« Return to Shopping Cart Submit Your Order
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Figure 6.4 Page thumbnails of a “Wireframe Review” document produced early in a project.
On the other hand, a design specification (such as that shown in Figure 6.5) can grow
to include a much wider range of content, variations, and annotated details. In this
example, strategic project information is summarized near the beginning via a creative
brief and design objectives, and a micro project plan is included to reaffirm progress
and activities yet to come. A wireflow sets the stage for detailed annotations across the
numerous pages and components in the project. At this point, deep annotations are
hopefully sufficient for engineers and testers to formulate their approach and accurately
develop the solution.
Documenting the Hierarchy 115
eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification
Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected])
H&RPPHUFH>5+@'HVLJQ6SHFL¿FDWLRQ
John Smith [email protected] information Architect WXD
1. Product Category . . . . . . . . . . . . . . . . . 13 John Smith [email protected] information Architect WXD
c1. Contact Us & Click-to-Chat . . . . . . . . . . . 14
c2. Minicart. . . . . . . . . . . . . . . . . . . . . 15
2. Product. . . . . . . . . . . . . . . . . . . . . . . 16
c3. Billboard . . . . . . . . . . . . . . . . . . . . 17
c4. Accordion. . . . . . . . . . . . . . . . . . . . 18
c5. Ratings . . . . . . . . . . . . . . . . . . . . . 19
3. Cart. . . . . . . . . . . . . . . . . . . . . . . . . 20
3.v1. Cart, Empty . . . . . . . . . . . . . . . . . . 21
3.v2. Cart, 2+ Items. . . . . . . . . . . . . . . . . 21
c6. Promo Code . . . . . . . . . . . . . . . . . . 22
4. Checkout. . . . . . . . . . . . . . . . . . . . . . 23
c7. Credit History Check . . . . . . . . . . . . . . 24
c8. Shipping . . . . . . . . . . . . . . . . . . . . 25
Error Messaging . . . . . . . . . . . . . . . . . . 27
Version 1
Published February 24, 2009
Created by Nathan Curtis
eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification
Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected])
t
All visual style, typography, and layout will be instantiated based on
exisiting conventions
Components will be reused, particularly those for page shells and
t Real-time customer support
t Customer ratings
t [Participant Type] (##)
t [Participant Type] (##)
Draft 1 Final Draft 1 Draft 2 Final
5. Chapter (Strategy) 6. Creative Brief 7. Design Objectives 8. Research Results 9. Project Plan
3DJH7LWOH Flow
Home Search Results
[Product category]
C01v1
inci blametu erostis dolor at. Iriurem
[Product name] Rate this [Item type]: (not yet rated) Shopping Cart N01v3 First Name * verostrud tat velit autpat lumsan
ullamet atis essed minis essisit alit
Your shopping cart contains 1 item:
Recommendations Last Name * veliquisit, velesendre magnim ilismod
Your Cart (0) iamcomm olorerat.
Your Cart (0) [Product Name]
[Headline] You currently have no items in your
shopping cart. [Headline 1]
Product Price per item Quantity Total [Abstract description
Reprem id molesed etur]
Address *
Ectem volorer aessit vulla faciliq
You currently have no items in your uiscip eu facing eu faciduipit il enisis
[Subhead poris aut laborem eatur sae pro quis di ut shopping cart. [Product name] $[##.##] $[##.##] » Details
nullam zzrit lut vulput laore consed tat
City *
int, sini reperibus iunt maximpost od que volessitis [Subhead 1 poris aut laborem eatur sae pro quis di [Product description]
praestis am et lor iurero cor sim adigna
ut int, sini reperibus iunt maximpost od que volessitis [Product Name]
et expelescia volori temollatios a voluptur, con Contact EightShapes [Abstract description State * conumsa ndignim essecte magniscinci
remporundit dolor arum as alit eturibus.] et expelescia volori temollatios a voluptur, con Contact EightShapes bla facil euip eugait lor am velesto del
Reprem id molesed etur]
For sales, training, and other general remporundit dolor arum as alit eturibus.] » Details ZIP Code * euis alis dolorerci tat. Ros adipit et,
inquiries, contact us via the following For sales, training, and other general Product subtotal Update $[##.##] susto diam, vent am acillaorem zzril
options: inquiries, contact us via the following utetue feum non hent ulluptat.
Learn More [Product Name] Phone Number * ( ) -
options:
Add to Cart [Abstract description
Promotion discount –$[##.##] Duis alit, veril ullaorem veros nibh
Chat Now Reprem id molesed etur]
et, sent alit venibh eriuscilit at, vel
Chat Now » Details
State tax (estimated) $[##.##] dolor sequat vulla aliquam venis essi
C12v1x2 Credit History Check (Why do we ask for this information?)
exerostie deliquamcon exercid uiscip
[Featured Products] [Featured Products] » Email
Overview Features Tech Specs Downloads N01v2
C12v1
0DSV )ORZV
C12v5
moditat as ex expliquiant. >.H\%HQH¿W@
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Keywords Promotion Code About the Shopping Cart
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] Experum quiduciis atiorest, sum alibus et pero ipient ulpa conestis acerio. Ficit Shipping
harumquibus moloreiciis re rerum eaquatus quam vendit, optatum coreius. >.H\%HQH¿W@ You’ve applied a promotion code to your purchase: ,WHPVLQ\RXU6KRSSLQJ&DUWDOZD\VUHÀHFWWKHPRVWUHFHQW
RI¿FLDHQRQHDUFKLWDPTXRFRUHLXPTXHGRORUHUVSLWDXWODDGHVWHGROHQW price displayed on their product pages.
Submit voluptatenis as molorei ctatet excepturi soluptatus, te nimin re ad qui qui blaut. [Promotion code description] ##% Discount Items remain in your Shopping Cart for only this site visit Destination
[Secondary Features] (Why?). Your products will be sent to your credit card billing address for security purposes.
N02v1 C12v5
N01v3 N01v3 N01v3
Downloads
[Product Types] [Product Types] [Product Types] [Document name]
Method & Price
[Document name] HF06v1 Select a shipping method and cost for your order (learn more):
[Destination] [Destination] [Destination] HF06v1
Contacts | Feedback | Help | Site Map Contacts | Feedback | Help | Site Map
[Document name] 2-day (2 business days) ($##.##)
[Abstract description [Abstract description [Abstract description © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
[Document name] Standard Overnight (1 business day) ($##.##)
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur]
[Call to action] [Call to action] [Call to action]
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC « Return to Shopping Cart Submit Your Order
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification
Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected])
3DJH7LWOH 1. c1. &RQWDFW8V &OLFNWR&KDW c2. 0LQLFDUW 2. 3URGXFW c3. %LOOERDUG c4. Accordion
4
The product category page includes a video spotlight and a Variations 6. Have Us Call You Link Without Promo Code With Promo Code The Minicart is a Sidebar component that 5. Product price
The product page includes details across four tabs, highlights key The Minicart is a Sidebar component that billboard, then display a thumbnail associated
HF01v1 HF01v1
HF02v1
HF03v1
Search:
A Standard (with Click-to-chat) B Non-interactive (no Click-to-Chat) HF02v1
HF03v1
Search:
>.H\%HQH¿W@ >.H\%HQH¿W@ >.H\%HQH¿W@
Welcome! Sign in or create an account for eightshapes.com GO
A. Standard (with Click-to-Chat Î onclick: Navigate to the Have Us Call You page. enables a user to view their carts contents, Format all prices with commas for thousands Welcome! Sign in or create an account for eightshapes.com GO
enables a user to view their carts contents, with each feature to the right of the feature
range of featured product collections. 1 Contact EightShapes Contact EightShapes B. Non-interative (no Click-to-Chat) Empty and two decimal point accuracy features via a spotlight billboard, and provides calls-to-action. 1 [Headline 1] image.
HF04v1
Services Training Downloads Blog Videos Papers Events About Us prune undesired options, and proceed to If the image applies to the current displayed
>.H\%HQH¿W@ [Content Ario bla ea dolum eos [Subtitle]
C. Pop-in 7. Worldwide Offices Link Cart If the product has quantity > 1, then show a price 2 [Subhead 1 poris aut laborem eatur sae pro quis di
archictus discitiorum aliquatatur? Ritat. [Content Ario bla ea dolum
C02v1
D. Static checkout without having to navigate to per item in parentheses. checkout without having to navigate to feature, then highlight the image (such as with a >.H\%HQH¿W@
Occaeperibus autenienis event, sum eos archictus discitiorum
Home >
Î onclick: Navigate to the Worldwide Offices page. You currently have no items in your You currently have no items in your C02v1
For sales, training, and other general For sales, training, and other general 2 Home > [Product category] > ut int, sini reperibus iunt maximpost od que volessitis am fuga. Ita nonectem que] aliquatatur?]
the shopping cart. the shopping cart. larger stroke weight as in Figure 3).
C01v1
[Product category] New Components 2 inquiries, contact us via the following inquiries, contact us via the following shopping cart. shopping cart. If a product is discounted, include the original C01v1
New Components
et expelescia volori temollatios a voluptur, con » Learn More » Learn More
5 Î onclick: Display the selected feature headline,
Clikc-to-Chat 8. Close Button price as gray, struckthrough, and to the left of the remporundit dolor arum as alit eturibus.]
The product category page will include the following options: options: 12 Promo code: [Code name] 13 Variations The product page includes the following new Variations description, and photograph within the billboard >.H\%HQH¿W@ >.H\%HQH¿W@
1 The Click-to-Chat program enables customers to Î onclick: Close the popin window, and return discounted price. 3 1
[Headline] two new components: Empty cart: components: A. Standard
» Email contact and have direct, online communication with focus to the parent page. 3 Add to Cart 6. Feature carousel navigation >.H\%HQH¿W@ >.H\%HQH¿W@
3 Chat Now 6. Remove product button
[Subhead poris aut laborem eatur sae pro quis di ut a support representative. The experience — beyond A. Without promo code B. Two Features
int, sini reperibus iunt maximpost od que volessitis 1. c1. Mini-Cart » Call 1. c1. Minicart If more than three features are included within
the new trigger to open the window via the Contact 9. Address B. With promo code Î onclick: Remove the product from the shopping C. Feature Carousel
et expelescia volori temollatios a voluptur, con 2 2. c2. Contact Us » Have Us Call You 1 Item 2 2. c2. Contact Us
A Standard the billboard, display feature carousel navigation
remporundit dolor arum as alit eturibus.]
4 » Email » :RUOGZLGH2I¿FHV
Us component — is already in place for the Support The static address includes an location name, street Your Cart (1) Edit Cart 7 Your Cart (1) Edit Cart cart, and refresh the minicart display
3. c3. Billboard
5
site area. Please refer to that project’s documentation 1 item in cart: Elements above and below the three feature option
These two components will be displayed, in that 5 » Call address lines 1 & 2, City, State, ZIP Code, and phone 4. c4. Accordion >.H\%HQH¿W@
Learn More
for background and requirements of the program. 3 [Product name] 6 [Product name] C. Without promo code 7. Edit cart link images.
order, at the top of the page’s sidebar, above existing 6 » Have Us Call You number. 5. c5. Ratings [Headline 2]
[Product description Necti blaces dolor [Product description Necti blaces dolor D. With promo code 1. Feature headline Î onclick: Rotate thumbnail images in the direction [Content
onte Ario bla ea dolum eos
components to Find a Product and Downloads. Use the static address when contacting 4 Î onclick: Navigate to the shopping cart page
7 » :RUOGZLGH2I¿FHV mollatem dolor maionsenis maximo] mollatem dolor maionsenis maximo] selected by 1 (do not rotate “pages” of feature aliquatatur? Ritat. archictus
ctus discitiorum aliquatatur? Ritat. archictus
ctus discitiorum aliquatatur? Ritat.
[Featured Products] [Featured Products] Elements EightShapes directly is not preferred, or when 5 $##.## $##.## $##.## 2+ items in cart: The c1. Minicart and c2. Contact Us components will [Subhead 2 poris aut laborem eatur sae pro Limit headlines to one line, do not wrap
option images). Occaeperibus
erib autenienis event, sum Occaeperibus
perib autenienis event, sum
8. Subtotal quis di ut int, sini reperibus iunt maximpost
3DJHV
the primary task is to cut and paste the address be displayed, in that order, at the top of the page’s Follow brand guidelines for voice and tone am fuga. Ita nonectem que]
ta n
1. Header E: Without promo code (in-page update) Otate sum ratur sequid ulles mil mint audit elit rati blaborrovit estem od que volessitis tur, con remporundit dolor » » More Details
ails
or send the company mail. 8 Subtotal: $##.## Promo code: [Code name] Display the sum all product costs sidebar, above any existing components.
C Pop-in D Static F: With promo code arum as alit eturibus.] 2. Feature description
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Enable publisher to update label on a per-page Format all prices with commas for thousands >.H\%HQH¿
H¿W
W@
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] 4
(per-product) basis Subtotal: $##.## $##.## and two decimal point accuracy Uptassitae plaborum rata volore, vendign iminctatem solut pellabor remodis ut
Limit descriptions to four lines; optimally
Category 9 Proceed to Checkout et optassusdae et magnis miligendit, eveliqui dolupta tusdant uribus restium as Add to Cart [Item Title]
Contact EightShapes descriptions span no more than two lines >.H\%HQH¿W@
8 Contact EightShapes 2. Description Elements 9. Proceed to checkout button aborese quasit odipsa venisitas seque occus eum faccus, quidunt landit idiorero archictus discitiorum aliquatatur?
quat Ritat.
Proceed to Checkout moditat as ex expliquiant. Occaeperibus autenienis event,
even sum
[Feature title that [Feature title that [Feature title that [Feature title that [Feature title that [Feature title that Keywords
3. Add to cart button >.H\%HQH¿W@
extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] extends two lines] For sales, training, and other general 9 [Location Name] Enable publisher to update description on a per- Î onclick: Navigate to the checkout page Experum quiduciis atiorest, sum alibus et pero ipient ulpa conestis acerio. Ficit B Two Features
1. Minicart header harumquibus moloreiciis re rerum eaquatus quam vendit, optatum coreius. 6 >.H\%HQH¿W@ » Learn More
Submit inquiries, contact us via the following [Address 1] page (per-product) basis RI¿FLDHQRQHDUFKLWDPTXRFRUHLXPTXHGRORUHUVSLWDXWODDGHVWHGROHQW Î Add the item to the shopping cart; if the item is >.H\%HQH¿W@
Limit to no more than three lines of text 10. Added to your cart message voluptatenis as molorei ctatet excepturi soluptatus, te nimin re ad qui qui blaut.
already in the shopping cart, the increment the >.H\%HQH¿W@ >.H\%HQH¿W@
[Secondary Features] options: [City], [State] ##### 2. Empty cart message
N02v1
Minimize description variation across pages 2+ Items Display if the user has added an item to the C12v5
item quantity by one.
N01v3
[Product Types]
N01v3
[Product Types]
N01v3
[Product Types]
Downloads
[Document name]
Phone: (###) ###-####
End description with “...options:” Your Cart (2) Edit Cart Your Cart (3) Edit Cart If the cart contains no items, then show the cart within the current page via the add-to-cart
[Headline 3] t Add the item to the in-page mini-cart if not
[Destination] [Destination] [Destination]
[Document name] Chat Now Empty Cart Message; otherwise hide this button. HF06v1
[Subhead 3 poris aut laborem eatur sae pro already included.
[Abstract description [Abstract description [Abstract description
[Document name]
10 Added to your cart: [Product name] Contacts | Feedback | Help | Site Map
[Document name] 3. Chat Now Button message. © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC quis di ut int, sini reperibus iunt maximpost t Refresh minicart calculation including
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur] [Product description Necti blaces dolor
[Call to action] [Call to action] [Call to action]
Î onclick: Open the existing click-to-chat window [Product name] mollatem dolor maionsenis maximo] 11. Other items in your cart message od que volessitis tur, con remporundit dolor subtotal
» Email [Product description Necti blaces dolor 3-6 Product arum as alit eturibus.]
[Destination]
[Abstract description
[Destination]
[Abstract description
[Destination]
[Abstract description already available within the support section $##.## $##.## Display if other items were already in the cart t Transition the minicart item using a yellow
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur]
» Call mollatem dolor maionsenis maximo] Display a row in the mini-cart from every fade to connote the cart’s change in status
If (normal business hours) and (Click-to-chat is andthe user has added an item to the cart within
[Call to action] [Call to action] [Call to action]
» Have Us Call You $##.## [Product name] (2) product in the cart, including the product name,
Add to Cart
t Stay on the current page
enabled for the product or product category), the current page via the add-to-cart button.
[Destination]
[Abstract description
[Destination]
[Abstract description
[Destination]
[Abstract description
» :RUOGZLGH2I¿FHV then display the Chat Now button. Otherwise, [Product description Necti blaces dolor description, price, and remove button.
11 Other items in your cart:
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur] mollatem dolor maionsenis maximo] 12. Promo code 4. Feature image
[Call to action] [Call to action] [Call to action] hide this button.
[Product name] $##.## $##.## ($##.## per item) 3. Product name C Feature Carousel Use a product photography if possible
[Product description Necti blaces dolor If the user has applied a promo code to their
HF06v1 4. Email Link Î onclick: Navigate to the product page shopping cart, then show the promo code. Avoid inspirational photographs of people
Contacts | Feedback | Help | Site Map mollatem dolor maionsenis maximo] Promo code: [Code name]
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Î onclick: Navigate to the Email Us page. $##.## unless directly interacting with the product. In
Subtotal: $##.## $##.## 4. Product description 13. Remove promo code button such cases, focus/crop photographs to focus on
5. Call Link Subtotal: $##.## Limit to no more than two lines (~60 characters). If the user has applied a promo code to their the product.
Î onclick: Navigate to the Call Us page. Proceed to Checkout If a description exceeds 60 characters, truncate at shopping cart, then show the remove promo
60 characters and follow with “....” 5. Feature option image
Proceed to Checkout code button.
Î onclick: Remove the promo code from the If more than one feature is available within the
shopping cart and refresh the minicart.
Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data
12. Chapter (Pages) 13. Chunked Page 14. Annotated Component 15. Annotated Component 16. Chunked Page 17. Annotated Component 18. Component
eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification
Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected])
c5. 5DWLQJV 3. &DUW 3.v1. &DUW(PSW\ 3.v2. &DUW,WHPV c6. Promo Code 4. &KHFNRXW c7. &UHGLW+LVWRU\&KHFN
11
The product rating component enables The shopping cart summarizes all items that the user intends to The promo code application enables users The checkout page enables a customer to provide personal and The credit history check enables the
HF01v1 HF01v1 HF01v1
1 2 3 HF03v1
Search:
HF03v1
Search:
A Rate this [Item type]: (not yet rated) users to view and apply a rating to the
1 HF02v1
Welcome! Sign in or create an account for eightshapes.com GO
HF02v1
Welcome! Sign in or create an account for eightshapes.com GO
Promotion Code to enter a textual promo code to receive
1 Credit History Check (Why do we ask for this information?) business to validate that a customer is
Not Yet Rated
displayed product. purchase, displays aggregate pricing, and leads to checkout. HF04v1
Services Training Downloads Blog Videos Papers Events About Us discounts and premium offers. C01v1
billing information to purchase one or more products. 2
C12v1
3. Text box
1 C12v1
Consumer
(Whyy do we ask for this information?
Business
information?))
exerostie deliquamcon exercid uiscip
elenim autpat.
A Consumer option
12
contains any items Promotion Code Apply
(Why?). Recently Viewed Items Recently Viewed Items Î onclick: Toggle to the alternative selection
adjacent to the item title anyway. You’ve applied a promotion code to your purchase: Limit entry to no more than 10 characters Social Security # * - - (between Consumer in figure A and Business in
» [Product Name]
t Remove an applied promotion code New Component » [Product Name] Product subtotal Update $[##.##]
E Rate this [Item type]: Good 2. Rating Stars t Learn about promotion codes
» [Product Name]
» [Product Name]
» [Product Name]
» [Product Name] Date of Birth * MM/DD/YYYY
Credit History Check (Why do we ask for this information?)
figure B)
9. Cart Promo Codes » [Product Name] Promotion discount –$[##.##] » [Product Name] 4. Apply button
t Navigate to as a hub for promo code application [Promotion code description] ##% Discount Driver’s License # * C12v1
Î onhover: Highlight all stars to the left of and State tax (estimated) $[##.##]
Î onclick 3. Social security number
10 (such as from a promo banner elsewhere on the Unchanged Components (cont’d) License State * [State] Consumer Business
including the current star, connoting that a rating t If the text box is empty, then display an error
9 site or via paid search and print advertising)
HF06v1
Contacts | Feedback | Help | Site Map
Shipping (estimated) $[##.##] B Applied code C12v5
C12v5
F Rate this [Item type]: Excellent! would be applied equivalent to the currently Promotion Code About the Shopping Cart 10. About the Shopping Cart © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
You pay (estimated) $[##.##] message 4. Date of birth
Shipping 7
hovered star. Also update the Rating Messaging You’ve applied a promotion code to your purchase: ,WHPVLQ\RXU6KRSSLQJ&DUWDOZD\VUHÀHFWWKHPRVWUHFHQW 11. Recommendations t Validate the promo code applied, based on 2 Tax ID # * -
price displayed on their product pages. Proceed to Checkout
to reflect the level of the current star. [Promotion code description] ##% Discount Items remain in your Shopping Cart for only this site visit 12. Recently Viewed Items table X. Destination 5. Drivers license number
(Why?
y ).
(Why?). Promo & Cart Rationale
Î onclick: Save the applied rating, and once saved, 13. Footer t If the promo code is valid, refresh the Promo
Your products will be sent to your credit card billing address for security purposes. 8 Company Name *
exchange the level (such as “Excellent”) with The shopping cart serves as a persistent and visible
Click & Save G Rate this [Item type]: Saved Code to reflect the applied code (see figure 6. License state
“Saved.” Do not transition to an applied rating HF06v1
06v1
destination within the shopping experience, where Promotion Code About the Shopping Cart Promotion Code B), and refresh the shopping cart inline to Method & Price
Select a shipping method and cost for your order (learn more):
C12v5
after this (until the user would reload the page), 13 Contacts | Feedback | Help
p | Site Map
p users can manage their overall order, discern price You’ve applied a promotion code to your purchase: ,WHPVLQ\RXU6KRSSLQJ&DUWDOZD\VUHÀHFWWKHPRVWUHFHQW
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacyy Statement | Cookie Policy
y | Trademarks of EightShapes
g p LLC
price displayed on their product pages. reflect any applicable savings. 2-day (2 business days) ($##.##)
7. Tax ID
but instead sustain the user’s applied rating. impacts, and consider their order from a high level. [Promotion code description] ##% Discount Items remain in your Shopping Cart for only this site visit
Standard Overnight (1 business day) ($##.##) B Business option
(Why?). The promotion code you’ve applied does not match a current
promotion. Please reenter the code and try again. 5. Description & discount percentage
Applied Ratings H Rate this [Item type]: (3.4 out of 5 stars) 3. Rating Messaging Billing 8. Company name
If the item has not yet been rated, show “(not yet HF06v1
Contacts | Feedback | Help | Site Map 6. Remove code button Card Type * Credit History Check
rated)”. © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Promotion Code [code in error] Apply Credit Card Number * 9. Single option message
Î onclick
If the item is being rated (a star is being hovered), Security ID * (What is this?) Since you are purchasing these products for business use, your business will be liable
t Remove the applied promo code 9
then display the associated rating level. for this purchase and no credit history check is required. 10. Alternative link
t Refresh the Promo Code component to the Expiration Date * /
If the item has been rated, display the average C Error Î onclick: Switch display to enable both business
no code applied state (refer to figure A).
out of total possible stars (refer to “Applied Are you purchasing for personal use instead? and consumer credit history data entry (as
t Refresh the shopping cart to remove any « Return to Shopping Cart Submit Your Order 10
Ratings” figure). Enter personal information instead » displayed in figure A).
promo-code based discounts applied.
Use a common and meaningful spectrum of HF06v1
Contacts | Feedback | Help | Site Map
rating levels, such as Horrendous, Poor, Fair, 7. Error message © 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC 11. Why? link
Good, and Excellent.
C Business (fixed)
Î onclick: Display W02v3 Information Balloon
Use levels consistent with the tone of the brand. within basic description of why credit history
information is collected
Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data
19. Annotated Component 20. Chunked Page 21. Page Variations 22. Annotated Component 23. Chunked Page 24. Annotated Component
eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification eCommerce [RH329] :: Design Specification
Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected]) Version 1 published June 26, 2009 by Nathan Curtis ([email protected])
Checkout page with error message 5 onblur ZIP Code is nonempty and is not a five digit ZIP code is not formatted correctly
Destination
Method Options Destination:
A
numeric string
1. FREE (see Figure D) Send to my billing address 6 onsubmit Social security number is empty Social security number is required
Address * Send to a another address:
2. Fixed (see Figure B) 7 onsubmit Date of birth is empty Date of Birth is required
3. Options (see Figure A) Address * 8 onsubmit Drivers License Number is empty Drivers Licence Number is required
City *
9 onsubmit Tax ID is empty Tax ID is required
State * City * 10 onsubmit Company name is empty Company Name is required
11 onsubmit Custom address is selected and address is Address is required
ZIP Code * State * empty
ZIP Code * 12 onsubmit Custom address is selected and City is City is required
empty
Method & Price: 13 onsubmit Custom address is selected and ZIP Code ZIP Code is required
2-day Shipping for $##.## is empty
for all purchases made through the [company name] support program Method & Price
Select a shipping method and cost for your order (learn more):
2-day (2 business days) ($##.##)
B Destination Entry, Method Fixed Standard Overnight (1 business day) ($##.##)
25. Annotated Component 26. Component Variations 27. Copy Table & Sample
Figure 6.5 Page thumbnails of a more detailed “Design Specification” produced later in a project.
Figure 6.6 Document pages that include a creative brief and design objectives.
The purpose of including strategy and research in design documents of screen designs is
simple: Reset context and understanding (if briefly) during design reviews and remind the
audience about objectives that influenced the design.
Flow
Home Search Results
[Product category]
C01v1
inci blametu erostis dolor at. Iriurem
[Product name] Rate this [Item type]: (not yet rated) Shopping Cart N01v3 First Name * verostrud tat velit autpat lumsan
ullamet atis essed minis essisit alit
Your shopping cart contains 1 item:
Recommendations Last Name * veliquisit, velesendre magnim ilismod
Your Cart (0) iamcomm olorerat.
Your Cart (0) [Product Name]
Address *
[Headline] You currently have no items in your
shopping cart. [Headline 1]
Product Price per item Quantity Total [Abstract description
Reprem id molesed etur]
Ectem volorer aessit vulla faciliq
You currently have no items in your uiscip eu facing eu faciduipit il enisis
[Subhead poris aut laborem eatur sae pro quis di ut shopping cart. [Product name] $[##.##] $[##.##] » Details
nullam zzrit lut vulput laore consed tat
City *
int, sini reperibus iunt maximpost od que volessitis [Subhead 1 poris aut laborem eatur sae pro quis di [Product description]
praestis am et lor iurero cor sim adigna
ut int, sini reperibus iunt maximpost od que volessitis [Product Name]
et expelescia volori temollatios a voluptur, con Contact EightShapes [Abstract description State * conumsa ndignim essecte magniscinci
remporundit dolor arum as alit eturibus.] et expelescia volori temollatios a voluptur, con Contact EightShapes bla facil euip eugait lor am velesto del
Reprem id molesed etur]
For sales, training, and other general remporundit dolor arum as alit eturibus.] » Details ZIP Code * euis alis dolorerci tat. Ros adipit et,
inquiries, contact us via the following For sales, training, and other general Product subtotal Update $[##.##] susto diam, vent am acillaorem zzril
options: inquiries, contact us via the following utetue feum non hent ulluptat.
Learn More [Product Name] Phone Number * ( ) -
options:
Add to Cart [Abstract description
Promotion discount –$[##.##] Duis alit, veril ullaorem veros nibh
Chat Now Reprem id molesed etur]
et, sent alit venibh eriuscilit at, vel
Chat Now » Details
State tax (estimated) $[##.##] dolor sequat vulla aliquam venis essi
C12v1x2 Credit History Check (Why do we ask for this information?)
exerostie deliquamcon exercid uiscip
[Featured Products] [Featured Products] » Email
Overview Features Tech Specs Downloads N01v2
C12v1
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC « Return to Shopping Cart Submit Your Order
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Figure 6.7 A wireflow that communicates four key pages addressed via the design solution.
The page designs are immediately more engaging than four connected boxes with basic
page labels. But also notice how the wireflow communicates the lower levels of the design
solution, too: different pages that include different components of interest. In addition,
the visualization enriches the discussion in other ways:
Scope: The four pages dominate the scene, and should dominate the discussion, too,
since they represent the overall project scope. Boxes for Home and Search communi-
cate that those pages are different and less important. In this case, the pages are not
in scope, but are the key entry points into impacted pages. Therefore, the visualization
shows what isn’t in scope, too.
Navigation paths: The flow is bi-directional (moving both forward and back) with
precise connectors that originate at a button or link and end at the resulting page.
118 CHAPTER 6: Document
Page-level Documentation
While site maps and flows show a range of pages, page-level documentation highlights spe-
cific chunks you’ll detail at a deeper level. Perhaps you describe all the components that make
up a page, only what components are changing, or just a few elements of actual interest.
Some pages may only warrant visualization while others transition to very deep detail.
Many end up somewhere in between with vital but spotty annotations. This can result
in obvious gaps, but designers do what matters most: convey important aspects of the
design within constraints of available time and space.
Documentation of page designs most often takes one of four forms: visualization only,
chunked, variations, and detailed annotations.
can solicit high-level feedback, discuss basic strategies, and potentially prepare for more
detailed notes (Figure 6.8).
By including only the page design, you don’t invest any further time in annotation when
the concept may not be mature or worth the investment. At this stage, you may even avoid
creating a formal document at all if all you’ve created are a few draft wireframes. Instead,
you could print out the wireframes one by one or use a different, throwaway document
with a setup that maximizes wireframe size in the printout (such as portrait legal size).
Chunked Page
As discussed extensively in previous chapters, page-level annotations chunk a page into
components that are marked and named. When choosing which page to chunk, select a
page that is either the representative archetype version of that page, or one that includes
the most interesting and detailed parts.
For example, when annotating an article page, it’s useful to chunk out a page design that
includes numerous optional bits like an inline video, related articles, and other pieces
(Figure 6.9). Those extra parts provide you with the opportunity to chunk more, instead of
relying on chunking a basic, vanilla article page with only a few interesting pieces.
The same thing goes for a shopping cart page. Does it make sense to introduce the page
to readers as a chunked out version of an empty cart? No way, that is far less interesting
and identifies fewer important chunks. Instead, chunk out a version that includes many
different items: promotions, different product types, items with different quantities, a cost
summary, and more (Figure 6.10). That way, you can signal the many distinct parts from
the outset.
Page Variations
Good design documentation will at times facilitate comparison and design decisions by
positioning different options or examples next to one another.
If you include every design on a separate page of your document, readers have to flip
pages back and forth and back and forth through your document to understand differ-
ences. Instead, position different page variations side by side so that readers can directly
compare the differences. For example, Figure 6.11 explicitly compares two versions of a
shopping cart, calling out that the version on the left is empty while the version on the
right includes two or more items. Upon closer inspection, the designer could also use this
comparison to call out how the page appears before (on the left) and after (on the right)
a promotion code is applied.
120 CHAPTER 6: Document
3. Cart Article
HF01v1
1. Header
HF01v1
HF03v1 HF03v1
Search: Search:
HF02v1 HF02v1
Welcome! Sign in or create an account for eightshapes.com GO 1 Welcome! Sign in or create an account for eightshapes.com GO
HF04v1 HF04v1
2. Article Header with Highlights
Services Training Downloads Blog Videos Papers Events About Us Services Training Downloads Blog Videos Papers Events About Us
C02v1
3. Article Attribution
Home > Shopping >
C01v1 2 S01v1 4. Article Copy
Shopping Cart N01v3
updated [##] days, [##] hours, [##] minutes ago Article Highlights
Contact EightShapes 8
Your shopping cart contains no items. Add an item by clicking the “Add to Cart” button on any of your product displays.
Recommendations
[Article title that can span a number
[Article highlight]
[Article highlight] For sales, training, and other general
5. Inline Video
[Product Name] [Article highlight] inquiries, contact us via the following
7R¿QGDSURGXFWVWDUWVKRSSLQJLQRQHRIRXUFDWHJRULHV
[Abstract description of lines depending on the title] [Article highlight] options: 6. Article Tasks
Reprem id molesed etur]
» [Product category]
» Details
» [Product category]
» [Product category]
[Product Name] 3
by [Author Name]
for eightshapes.com
Chat Now
7. Related Stories
» [Product category] [Month] [DD], [YYYY]
[Abstract description » Email
» [Product category]
Reprem id molesed etur]
» Details 4 Borrorporum qui oditemporem ad quodiae ctotatem quo ipsam sunte 5 » Call
» Have Us Call You
8. Contact Us
voluptus, occab ipite odiatur sedit arcieni tiscimo luptatus eaque volo
» :RUOGZLGH2I¿FHV
[Product Name]
[Abstract description
ius, vent, quunt harcipsam et reperis non eosae cus maios esequis alit,
nonsero digeniet apiet isi aborporrum voluptur? At doluptiati serepud 9. Sign In
Promotion Code About the Shopping Cart andantur reptas ulparch ilitatem ipsus re accat enienes tiandae od ut F01v1
Reprem id molesed etur]
Got a promotion code? Apply your promotion code here to ,WHPVLQ\RXU6KRSSLQJ&DUWDOZD\VUHÀHFWWKHPRVWUHFHQW » Details ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pediasp
Sign In Now 9 10. Downloads
save on your purchase today: price displayed on their product pages. eriorestiam aut ex exerorrum ulparia vollaborpor sent.
N01v2
Items remain in your Shopping Cart for only this site visit
Promotion Code Apply
(Why?). Recently Viewed Items 2ELVDWLVGRORUHSHGHQGXQWYHQLPXVLQUHSHOOHQLVGLUHVHTXHRI¿FLDH Username 11. Footer
sum volorro doluptamusda nones vel iureptae nusciis sinctatem eum
harum quam abore pos porrore nobitas perunt eum sin rerum imil Password
» [Product Name]
» [Product Name] explia dolenet aute non exerferepero tecusan dellignime postotatest,
» [Product Name] as repreium rem quod unt qui dolenimenis eosa veles eium quae Remember me on this computer
» [Product Name] simincium quatur? Laborum fugit excepudit fuga. Nam quae cum
es sendisin enisit iliquos dolecti ut lis quatustios soluptasima con Sign In
nonsequis doluptas ame dolo ex essequam qui cori omnimus aernatis
apera volecto tatibus, quibus sedicidus.
HF06v1 Forgot your: Username? Password?
Contacts | Feedback | Help | Site Map &DHUHPDXWDVVLQWHQLVPRPLRI¿FDER8WHWTXLVYHOLJQLVWSODER
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquis
[Video Title]
audam, odis pro tore pellam, volorite lates esto comnis doluptat.
[Video description Laut isitio comnima velentist aut fuga. Not Yet a Member?
Ut aut liquod moditate id eaque eos numquid quunt ilic
Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as temped quature perferum fuga. Fer] Create an account for access to
VXVDQGLFWLRQVHTXLVQLPXVDFRQVHURRI¿FWDWLDVRORUDOLTXLUHYHQLVQLV » More EightShapes
g p Videos eightshapes.com.
rectis ius aut quid que velitis earciam, non parum ium sintur, sum num
ad quis experit atemperibus. 6
N02v1
Share Email Print Text Size: A A A
Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea Downloads 10
comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige niantis [Document name]
quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel [Document name]
miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis
dolupta spernat. [Document name]
7 [Document name]
Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero
Related Stories odio blandiscid moluptate eossit landi duntian ditatet explabor most, aut in rerum et
venihilique
v porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt.
» [[Storyy headline]]
[Story description lorem ipsum dolor] Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di
» [[Storyy headline]] rehendit es eicto inimus et quae ad exceped quis non re nonsequas dolest, sam facersp
[Story description lorem ipsum dolor] erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam
ut por remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum,
solutempos ius nis sequam, sum, nus etus, quae ma nosam et repratem corpos essi
quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil maximil laccat volutem rem
eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur?
HF06v1
Figure 6.8 A page design positioned within a deliv- Figure 6.9 A chunked article page revealing many
erable document, lacking any annotation beyond a component parts.
title.
HF04v1
Services Training
g Downloads Blog
g Videos Papers
p Events About Us
purchase, displays aggregate pricing, and leads to checkout. HF04v1
Recommendations
N01v3
Recommendations
4 Your shopping cart contains 1 item: Your shopping cart contains no items. Add an item by clicking the “Add to Cart” button on any of your product displays. Your shopping cart contains 1 item:
6
[[Product name]] $[##.##] $[##.##]
Reprem id molesed etur]
» Details 3. Page Title » [Product category]
» [Product category]
Reprem id molesed etur]
» Details [Product name] $[##.##] 2 $[##.##]
Reprem id molesed etur]
» Details
[Product description] [Product description]
[[Product Name]]
[Abstract description 4. Page Message » [Product category]
» [Product category]
» [Product category]
[Product Name]
[Abstract description
[Product Name]
[Abstract description
Reprem id molesed etur] Reprem id molesed etur] Reprem id molesed etur]
7 Product subtotal Update $[##.##]
» Details 5. Cart Table Header » Details [Product name]
[Product description]
$[##.##] $[##.##] 1 $[##.##] $[##.##] » Details
[
[Product Name]] [Product Name] [Product Name]
8
Promotion discount –$[##.##]
[Abstract description
Reprem id molesed etur]
6. Cart Item(s) Promotion Code About the Shopping Cart [Abstract description
Reprem id molesed etur]
[Abstract description
Reprem id molesed etur]
State tax (estimated) $[##.##]
N01v2
» Details
7. Cart Subtotal & Update Got a promotion code? Apply your promotion code here to
save on your purchase today:
,tems in your Shopping Cart alZays reÀect the most recent
price displayed on their product pages.
» Details [Product name]
[Product description]
$[##.##] $[##.##] 1 $[##.##] $[##.##]
N01v2
» Details
N01v2
Shipping (estimated) $[##.##] Items remain in your Shopping Cart for only this site visit
Proceed to Checkout
» [Product
[
» [Product
[
Name]]
Name]] 9. Cart Promo Codes » [Product Name]
» [Product Name]
Product subtotal Update $[##.##] » [Product Name]
» [Product Name]
» [Product
[ Name]] » [Product Name] » [Product Name]
» [Product
[ Name]]
10. About the Shopping Cart » [Product Name] Promotion discount –$[##.##] » [Product Name]
(Why?).
(Why?
y ).
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Figure 6.10 A chunked shopping cart page revealing Figure 6.11 Page variations positioned side by side
numerous items. to facilitate comparison.
3. Cart
The shopping cart summarizes all items that the user intends to
HF01v1
HF03v1
Search:
HF02v1
1 Welcome! Sign
g in or create an account for eightshapes.com GO
HF04v1
Services Training
g Downloads Blog
g Videos Papers
p Events About Us
purchase, displays aggregate pricing, and leads to checkout.
C02v1
2 Home > Shopping
pp g >
C01 1
C01v1
Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data
Figure 6.12 More detailed page-level annotations, including a lengthy description and a component inven-
tory indicating new and updated variations and what’s required versus optional.
122 CHAPTER 6: Document
ΩΩ TIP Automate reference tables in your deliverable documents. Engineers, testers, and librar-
ians appreciate lists and tables to reference new and updated components and other inven-
tories. All of your document’s readers appreciate a table of contents. Many tools have built-in
capabilities to produce reference lists derived from paragraph styles or feature a scripting lan-
guage that could produce helpful, repeatable lists.
Component Markers
Components can be marked in screen designs HF01v1
marker would create a distracting gap between Recent Articles | Most Popular
chunks, then overlay the marker on top of the
Figure 6.14 A marker displayed on top
component (Figure 6.14). Ensure that the marker of a secondary navigation component,
can be read easily and doesn’t disrupt or get con- since it’s stacked directly beneath the
fused with the component itself. primary navigation bar above. This
overlaid marker enables the designer
A design project may lead to new components to avoid an awkward appearance that
and variations that are not already in the library. positioning the marker between the
two bars would cause.
Documenting the Hierarchy 123
In that case, distinguish them with markers distinct from those embedded with estab-
lished components. A unique annotation enables quick identification so that others can
quickly evaluate the proportion of new versus reused items. When marking new candi-
dates for a library, consider using a solid block with bold text, such as solid block with
white type (Figure 6.15).
Component markers are distinct from more general annotations, such as the enumerated
circles (1, 2, 3 …) used to chunk out a page or component in documentation. Enumerated
circles are specific to that page of a document, outlining elements and connecting them
to annotation. By contrast, component markers stick with the screen design wherever it
goes. No matter where it gets placed or copied, the component can be connected to its
place and role within a library.
That said, if you are chunking a page where each and every component is already identifi-
able via an embedded marker, then enumerated markers are unnecessary.
ΩΩ TIP Include component markers on a layer separate from the content of your screen design.
That way, you can show markers for documents published for engineers and testers, but hide
markers for audiences that don’t care or would be confused by such formality.
3URPRWLRQGLVFRXQW ±>@
Proceed to Checkout
Figure 6.15 Reversing the marker type and background color to highlight a new component, variation, or
example to be added to the library.
124 CHAPTER 6: Document
Components
Similar to how page annotations evolve over a project, traditional layouts for documenting
a component include: visualization only, marked visualizations, detailed annotations, and
alternative summaries to help set the stage for comparison. Many component layouts are
a result of the comparative principles discussed in Chapter 3, “Vary,” such as arranging
and annotating components.
page (Figure 6.17). As opposed to figure labels (such as A, B, and C) that distinguish
each variation, use a different system to distinguish each element (such as ascending
numbers like 1, 2, and 3).
2. List each relevant property of each element, including states (conditions when it’s
shown or hidden), events (click, change, load, keypress, hover, etc.), content rules
(length, feed, etc.), and editorial guidelines (for publishers that will author copy).
Refer to Figure 6.18 for sample properties of each element.
3. Fill in the details of each property as time and demand warrant (Figure 6.19).
[Headline 3] [Headline 3]
[Subhead 3 poris aut laborem eatur sae pro [Subhead 3 poris aut laborem eatur sae pro
quis di ut int, sini reperibus iunt maximpost quis di ut int, sini reperibus iunt maximpost
od que volessitis tur, con remporundit dolor od que volessitis tur, con remporundit dolor
arum as alit eturibus.] arum as alit eturibus.]
Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data
Figure 6.16 Component variations positioned within Figure 6.17 Outlining, Step 1: Identify each element
a document, but lacking any annotation. using a numbered marker and associated name.
4. Feature image
C Feature Carousel C Feature Carousel Use a product photography if possible
Avoid inspirational photographs of people
unless directly interacting with the product. In
such cases, focus/crop photographs to focus on
the product.
Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data Display: Required Recommended Optional || Spec Type: Ä Behavior State Editorial Data
Figure 6.18 Outlining, Step 2: List each relevant Figure 6.19 Outlining, Step 3: Fill in the details of
property of each element, including states, behav- each property as time permits.
iors, content rules, and editorial guidance.
126 CHAPTER 6: Document
ΩΩ TIP Long bulleted lists of guidelines stink. Distinguish annotation types (such as states, behav-
iors, content/data, and editorial guidelines) using different bullet characters. To make this easy,
you can create a separate paragraph style for each one. That way, your lists are more scannable,
less wordy, and indicative of the similarities—and differences—of guidelines between elements.
[Document title]
Version [##] published March 23, 2009 by [Name] ([Email]) 1 of 1
Add to Cart
Figure 6.20 Setting up a discussion of design alternatives by showing each alternative next to each other,
and leaving details (such as pros and cons) to subsequent pages.
Documenting the Hierarchy 127
The summary enables a designer to distinctively brand each alternative, establishing its
tone and a label everyone uses as a handle for the discussion. While you can use alterna-
tive summary for component options, you can use this technique to position design alter-
natives for flows, pages, or even basic elements, too.
Documentation Tips
When documenting an experience of flows and maps, pages and components, it’s easy to
get lost in a sea of your own details. Bad habits form early on, and you end up being para-
lyzed by bad “design decisions” in authoring documents. With that in mind, here are a few
tips to keep you focused and effective in communicating both the “big picture” as well as
detailed nuances of your design.
#4 Anticipate Growth
Set up documents, page layouts, and annotation structures to anticipate the gradual
growth of visualizations and details. Variations happen. Examples are requested. New
elements are added to a design and require their own detailed specs.
Without a plan—and allotted real estate within your document’s layouts—you can end up
spending way too much time re-factoring your deliverables layout. Even worse, you may
reach the point where a once-glamorous, shiny new document just doesn’t work, and you
have to lay it out from scratch again to accommodate the growth.
Why do spare page and component layouts (like those in Figure 6.21) leave abundant
whitespace on the right side of the page? The space allows for adding annotated detail
without re-factoring the existing layout. Not many readers complain about the space.
In fact, some even use it to take notes or sketch ideas.
Personal Information Sissequat. Uptate dolortion hendrem For sales, training, and other general For sales, training, and other general
inci blametu erostis dolor at. Iriurem
First Name * verostrud tat velit autpat lumsan inquiries, contact us via the following inquiries, contact us via the following
ullamet atis essed minis essisit alit
Last Name * veliquisit, velesendre magnim ilismod options: options:
iamcomm olorerat.
Address *
Ectem volorer aessit vulla faciliq
uiscip eu facing eu faciduipit il enisis Chat Now » Email
nullam zzrit lut vulput laore consed tat
City *
praestis am et lor iurero cor sim adigna
» Call
State * conumsa ndignim essecte magniscinci
bla facil euip eugait lor am velesto del
» Have Us Call You
ZIP Code * euis alis dolorerci tat. Ros adipit et,
susto diam, vent am acillaorem zzril
» Email » :RUOGZLGH2I¿FHV
Phone Number * ( ) -
utetue feum non hent ulluptat. » Call
Duis alit, veril ullaorem veros nibh
et, sent alit venibh eriuscilit at, vel
» Have Us Call You
Credit History Check (Why do we ask for this information?)
dolor sequat vulla aliquam venis essi
exerostie deliquamcon exercid uiscip
» :RUOGZLGH2I¿FHV
C12v1
Social Security # * - -
C12v5
License State * [State] Contact EightShapes Contact EightShapes
Shipping
For sales, training, and other general [Location Name]
Destination inquiries, contact us via the following [Address 1]
Your products will be sent to your credit card billing address for security purposes.
options: [City], [State] #####
Phone: (###) ###-####
Method & Price
Select a shipping method and cost for your order (learn more): Chat Now
2-day (2 business days) ($##.##)
Standard Overnight (1 business day) ($##.##)
» Email
Billing
» Call
Card Type *
» Have Us Call You
Credit Card Number *
» :RUOGZLGH2I¿FHV
Security ID * (What is this?)
Expiration Date * /
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Near the end of a project, or after it’s complete, designers may be tasked with creating
design standards. They’ll comb through specs and artwork, interview and strategize with
designers who worked on the project, and aggregate information to record good design
decisions and author tight guidelines.
Therefore, your efforts to divide, vary, combine, and document your design solution will
provide a foundation for reusable assets valuable to you, your design team, and your orga-
nization at large. With an expansive, mature set of component-based designs, it’s time to
move on to creating a component library.
II
COMPONENT
LIBR ARIES
This page intentionally left blank
133
7
A P P R A I S E
So, you’ve started to master designing with components, and you feel like
you’re ready to build a library of reusable bits to spread far and wide across your organiza-
tion. A component library—a collection of reusable building blocks for rapidly creating
consistent screen designs—can have a great return on investment, but requires assess-
ment and planning.
Before you dive head-first into building out a library, appraise a library’s value to you and
your organization. This chapter explores key questions to ask before you start, including
the following:
Ω Why create a library?
Ω Are you building the right library?
Ω Is your user experience ready for a library?
Ω Are you ready for a library?
Ω Is your design team ready for a library?
Ω Is your organization ready for a library?
Ω Is management ready to support a library?
134 CHAPTER 7: Appraise
Efficiency
Some teams see the main benefit of a component library as speed: Get the design done
faster, be more productive, save time, save money! Efficiency is paramount, as managers
are constantly pushed to produce more design in less time for less money:
You spend considerable time starting a project You have a collection of starting points for
by creating templates, headers, footers, and creative work: Skip the setup, dive into cre-
other aspects of the design from scratch. Or, ation, focus on project-specific challenges,
you search through old documents looking for and explore alternatives at a greater scale.
artwork to cut and paste (and thus risk repeat-
ing the mistakes of the past).
Consistency
You want your design efforts to result in a more consistent, predictable experience, from
grids, colors, and typographic styles to the common locations, structures, and behaviors
of each component you use:
You make your best judgment as to where and You can apply components and leverage past
when to use, locate, vary, and render designs design decisions, resulting in more precise first
based only on project needs since you lack a drafts, faster reviews, and solutions more in
broader, more holistic perspective. line with the holistic site experience.
Efficiency and consistency end up being the top two themes on most motivation
lists. However, you may be surprised at how teams actually drift toward one more
than the other.
Why Create a Library? 135
Some teams care more about increasing the scale and volume of design production.
Consistency is important, but only so much as starting points that include commonly
used design treatments. A governed system of organized components and guidelines
may be far less important. Efficiency drives the team’s goals.
On the other hand, consistency and governance drive other teams. In their minds, com-
ponents provide a baseline to maintain a holistic experience. The message still includes
how a designer’s job is easier and more effective with a system. But, more importantly,
the team seeks to converge on a consistent user experience within a formal framework
of guidelines, assets, reviews, and cross-disciplinary collaboration.
Both aspects are attractive and can motivate a library. However, the degree to which you
are more interested in efficiency than in consistency and governance will dictate how
much rigor, formality, and in-depth guidelines you inject into your culture.
Memory
A component library also provides an archive to record and refer to all the design decisions
made in creating a large-scale experience:
Design decisions (as artwork and annotation) You converge on a central, commonly under-
are scattered across documents buried in (and, stood destination where such artwork, deci-
therefore, almost always irretrievable from) sions, and conventions are recorded, retrieved,
folders on a shared drive, or worse, on the and reused.
local drives of each person. Therefore, it’s very
difficult, if not impossible, to recall design deci-
sions and source artwork.
Portability
Designers come and go. Project priorities change. With many individuals producing
designs, your investment in a system should make you more nimble in shifting resourcing
and focus:
You render designs using a variety of tools, and as You work within a common framework—
resources shift from one priority to another, others and ideally, tool set—to produce artifacts
recreate artifacts from scratch (and, in the pro- that can be transitioned, reused, and
cess, perhaps override design decisions long since shared more effectively.
finalized).
136 CHAPTER 7: Appraise
Vocabulary
A library affords you an opportunity to establish and promote common understanding
that includes terms and reference codes you use for components, page types, codes, and
even deliverables:
You refer to the Contact Us module in the sidebar You have a shared understanding of terms
that includes a flow in a lightbox. An engineer refers for components, patterns, page regions,
to the same thing as the Let Us Help module from and more. Even better, you establish
the right rail that triggers a popup form. shorthand for unambiguous references,
such as component ID numbers.
Authority
A component library provides a more formal and credible resource on which to make
design decisions, prioritize efforts, and refer to conventions in an open, accessible way:
You get frustrated when your declaration of You can refer to an established source to edu-
“This is just how we do it” doesn’t carry much cate your teammates, and even be the “good
weight with a headstrong stakeholder or new cop” who challenges the system alongside your
engineer on the team. skeptical stakeholders, recognizing both why
standards exist and knowing when to change or
diverge from them.
Predictability
A component library provides a framework to plan design projects to cross-experience
impacts:
A core team kickoff meeting results in diver- You have a starting point to approximate
gent understandings of project scale, impacts, breadth and impacts, and discuss it with others
and efforts required. in a concrete way.
Are You Building the Right Library? 137
Collaboration
Whether you are looking to amp up collaboration within your design team or across to
other groups in your organization, components can be a way to trigger conversations,
share knowledge, and learn together:
Design is perceived as a black box, where How you expose your evolving system suggests
designers make decisions without justification or even requires the participation and contribu-
or transparency. tion of other disciplines.
Ultimately, you shift the conversation from the recurring minutiae of design decisions that
have already been made to a more strategic appreciation of a holistic experience. A library
provides you with a platform to explore project-specific impacts (such as “How would this
component fit elsewhere?”) but also broadens awareness of the project-specific impacts
to an overall experience.
Scale
Component libraries can be invaluable to large, distributed teams evolving an experience
over time. On the flip side, the smaller the scale of your site design, the less it makes
sense to focus on reuse, consistency, and standards through a component library.
Consider the small startup that focused on building an online music discovery and player
experience. Their design included many sophisticated behaviors: Add a song to a playlist,
Is Your User Experience Ready for a Library? 139
view song details via a hover balloon, mix and share playlists with friends, and so on.
There were many interdependent interactions and content displays, like artist, album,
playlist, and the player itself. The user interface took months of tinkering, prototyping,
and detailed design to get it just right.
Component-based design principles were absolutely essential in design activities. The
team focused their attention on important interactions and variations of each page
chunk. Wireframes and comp deliverables divided page designs into many, many com-
ponent designs and annotations. The tight-knit team was definitely thinking and building
modularly.
However, once each piece was designed and built, there was no need for reuse. The expe-
rience was an integrated collection of transactional pages and centrally managed by a
small team working closely together. There were no publishers to publish content. There
were no strategists to apply it to other projects. There were no additional engineering
teams that needed to grab portions of code and apply them elsewhere. In this setting,
a library would have been a self-indulgent, misguided enterprise of creating standards,
design assets, and guidelines without an audience to consume them.
This question of scale applies just as much to your organization as it does to the experi-
ence. If you are a tight-knit, co-located team in constant, fluid communication across
desktops, then there’s no need to codify standards. Heck, there’s no need to document
anything at all—just get real and build stuff collaboratively in real time. Design using
component-based principles? Great! Codify components in a library and create reusable
design assets and deep guidelines? What a complete waste of time.
Relevance
Even for larger-scale teams and experiences, a comprehensive component library may
still not be relevant. One corporation chose to revamp its entire online presence in a
massive redesign. The project spanned the entire experience, from marketing products
and services to selling products online to managing and supporting those products post-
purchase. The redesign touched every page, from product catalogs to registration, from
shopping through cart to checkout, and even the account management portal. Some
components, notably the header and footer shared across the entire experience, had to
be centrally documented and published.
However, many transactional areas of the experience—such as checkout and the account
management portal—were unique solutions that didn’t reuse many components from
other areas of the site. Instead, many of their component designs had no reuse value
whatsoever, like checkout’s shipping and billing data entry and the portal’s dashboard for
140 CHAPTER 7: Appraise
product usage and service plans. Design activities resulted in complex component dis-
plays and variable states. But no other design team or publishing group would ever reuse
them in the future. Therefore, the detailed specs and states for checkout and the portal
were not relevant to the group’s persistent, holistic component library.
Stability
As discussed in more depth in Chapter 8, “Discover,” be careful not to componentize your
experience too soon. There’s a certain stability required to codify a design system. Your
page grids (columns, margins, padding, spacing, and so on), typography, and even core
components like your header and footer should be stable and mature before you propa-
gate design assets. You can lose much momentum if you work hard to create templates,
libraries, and documentation only to throw it away or extensively refactor it just weeks
later because things change.
On the other hand, it makes sense in some cases to build a component library progres-
sively during a project. Just temper upfront investment in creating templates, building
libraries, and communicating standards relative to its increasing stability over time.
Disparity
Do you actually have more than one experience or design system to build a component
library for? Consider a core corporate site that doesn’t share grids, typography, and com-
ponents with additional experiences like your video channel, management portal, or other
subsites. Therefore, be open to creating multiple component libraries and blending assets
and conventions across experiences only as necessary.
Centrality
Behind the scenes, multiple technical platforms, content management systems, and
development teams may support your holistic experience. Multiple environments may
each embed their own version of components, grids, style sheets, image libraries, and
more. If your design system must be propagated to many systems rather than from a cen-
tral source, it will be tougher to proliferate standards across teams, projects, and releases.
For example, one massive corporate site was supported by five platforms, each with simi-
lar but subtly distinct grids. When a new component was published, it had to be published
per platform, one by one, even across design engagements and engineering release
cycles. The librarian had to be very conscientious, asking questions like “When can we use
Are You Ready for a Library? 141
this component on platform A?” and “Will that component be personalized or static on
platform B?” during design and development reviews.
There was still a viable return on investment, but design projects, cross-functional collab-
oration, and library management were more complicated. As a result, the team focused
on corralling styles into a central style sheet, synced visual style and naming conventions
across implementations as best it could, and built practices and procedures that aligned
platforms over time.
Communication
Everyone else will want to know—in simple terms—what this component library is all
about, how it works, and what it means to them. Your story must be simple, concrete,
direct, and focused on how each group and individual may be affected. Is your organiza-
tion receptive to changes in approach? Can they adapt to new nomenclature and commu-
nication methods, whether verbal or via the artifacts they produce and consume over the
course of a project?
One team aimed to start small, using the component library as one of many “pillars” of
how a team of information architects was transforming its practice of methods, tools,
and standards. The goal wasn’t to take over the world with components, but instead to
use components as a foundation for communicating design solutions in a more consis-
tent, structured way. Over the course of three to six months, other teams—namely, visual
designers, engineering, and product management—were exposed to new deliverables,
new annotation styles, and new ways of how the IA team was thinking modularly within
each project. Gradually, the new techniques took hold, via an implicit “communications
plan” that exposed the practices on a grassroots level.
Workflow
Component libraries impact at least two critical workflows: how you produce a design
solution for each project versus how you maintain your library’s assets, guidelines, and
144 CHAPTER 7: Appraise
Collaboration
Do key team members—such as engineers and designers—have a common vocabulary
and structure on which to discuss design and development work? A component library
can be one way for teams to improve collaboration. That said, be mindful that different
disciplines may see a library in different lights. So don’t try to a fit a square peg in a round
hole, but seek to maximize collaboration and participation in your effort.
One organization had efforts underway for both the design team and development team
to build what turned out to be distinct libraries of reusable assets. Each team had its own
goals, perspectives, and conceptual approaches of how a library could best benefit its
team. But there seemed to be some kind of opportunity for a consolidated library, and
they discussed (and discussed, and discussed, and discussed...) how to map their efforts
together.
After much discussion, they recognized that their two libraries served different purposes
and couldn’t blend together into a single, synthesized set of assets. However, the discus-
sions yielded positive results that strengthened relationships between strategies, collec-
tions, and people so that the teams could collaborate more effectively.
Participation
Component libraries can galvanize groups yearning for opportunities to synthesize their
efforts and deliverables more tightly with others. Design and engineering teams com-
monly lead and own library development. But other participants can benefit from, learn
from, contribute to, or even immerse their work in the foundation created by the library,
too. Product managers start to author Product Requirement Documents or product
backlogs that refer to components. QA begins to bind test cases to component codes and
variations. Copywriters write copy, variations, and error messages mapped concretely to
modular design treatments.
The component library’s collaborative nature—not the design assets, but underlying princi-
ples of modular thinking and standards—can appeal to many disciplines as a platform into
which to inject their influence. For starters, there’s a well-defined structure to which you
Is Your Organization Ready for a Library? 145
can map your own work. Depending on your software, maybe there’s a way for you to flu-
idly blend copy, images, annotations—whatever your contribution is—into design assets.
Documentation
Clearly, component-based design approaches can impact how you annotate and com-
municate a design solution to other teams. The more broadly the library spreads to other
teams, the more common it becomes to see mentions of specific components—even
specific references to component IDs—in their artifacts. As you roll out a library, will
deliverables change dramatically, be thrown away, or even be invented from the ground up?
One team of interaction designers and visual designers lived in a world tied very tightly to
traditional software development life cycle processes. Their organization depended, quite
heavily, on use cases, functional requirements, and other nonvisual artifacts authored
in Microsoft Word. The introduction of moderate fidelity wireframes and highly struc-
tured comps as key deliverables was quite a shift for others to adapt to. So the design
team chose to balance production of new artifacts—wireframes and component-based
comps—with traditional deliverables not only to smooth the transition, but also to com-
pare the effectiveness of deliverables old and new.
Another organization was further along. Designers and technologists had incorporated
components, a library, and sophisticated nomenclature into their conversations. Deliver-
ables like wireframes and HTML page templates were assembled in large part with com-
ponents. For that team, the discussion became less what components are called or what
items are in the library, but which deliverable documented what and who it was for. Valid
questions emerged about what should be maintained once HTML page templates were
created. Should wireframe updates be made anymore?
Actually, yes—both artifacts had to be maintained for different reasons. HTML was the
essential gold standard for engineers and QA to implement the solution correctly. How-
ever, HTML page templates wholly lacked any annotation or explanation of how to put
pages together, author targeted content, or adhere to the page and component objectives.
Therefore, annotated wireframes were invaluable for publishers, engineers, and even
product owners to understand the templates once implemented and perpetuate template
use for product launches and other publishing cycles.
Reinvention
A large-scale redesign can be an effective time to introduce a new way of getting work
done. The business—or at least its Web-facing identity and support system—is under-
going a facelift, and an organization may be doing just as much soul-searching, process
reconsideration, and internal transformation.
146 CHAPTER 7: Appraise
One organization built a personalized platform from the ground up in order to publish
targeted content to key customer segments. Everything was on the table: a new technical
platform, a new way of thinking about content, and a new design system with updated
grids, page layouts, subsite architectures, and visual style. Change was in the air, and
seemingly every part of the organization was involved.
Insert a component library. Using the redesign project as a backdrop, the director of
user experience began to assert the use of components as design and code standards.
The selling was soft initially, more so to educate partners in engineering, marketing, and
branding. But over time, the message became more and more refined, commonplace,
and integrated as a part of the way everyone talked about emerging design solutions.
guidelines and integrating artwork, and dedicate time to teaching, answering questions,
and reviewing emerging designs. Administrative costs occur gradually over time to sustain
the library. Focused attention will be required to ensure that it remains a vibrant, fresh
part of your design process.
Executives
So how do you sell components to your execs and get the ball rolling on an effective
program?
The answer is that you need to speak their language, and the language each key
stakeholder speaks may be slightly different. In general, your VPs probably care
most about key performance indicators (KPIs), such as cost, customers acquired,
acquiring cost, churn, conversion to sale, size of deal, customer profitability,
customer satisfaction, and support costs/case avoidance. To make things more
complex, different VPs care about different things, and the pitch that works with
your VP of IT is likely to be different from the one that works with your VP of
Marketing or Brand.
148 CHAPTER 7: Appraise
IT and Engineering
For your IT and engineering executives, emphasize cost savings and flexibility:
Ω Cost savings from reuse
Ω Compatibility with bulletproof open source libraries
Ω Lower training costs of technical staff
Ω Lower quality assurance (QA) costs during release (since components are
usually pre-tested)
Ω Lower costs to support the code over time
Ω Ability to scale up quickly to outsource new projects due to better
documentation
You can use the following quotes to make your case:
Ω “I know your team must be on top of components since it’s such a big trend.
We’re looking forward to the flexibility, speed, and cost savings they’ll provide.”
Ω “I can’t believe we’re going to spend time and money reinventing the code for
each project. A solid component system would promote reuse and make us
all heroes with the company.”
Ω “I don’t understand why I can’t reuse this accordion from section x of the site
in area y. Don’t we just drop it in? It worked in Photoshop!” (However, with
this last one you will be the secret butt of jokes in IT for a few weeks even
though you will have made your point.)
Sales
For sales, emphasize conversion and the ability to move prospects into the buying
funnel by using standard, tested capabilities. A quote you can use with sales leads:
“We’ve developed a great bag of tricks for engagement conversion. We need to
package it up so we can reuse these things like an online selling kit.”
Finance or Operations
For your finance or operations execs, emphasize the cost saving advantages men-
tioned above, as well as the lead generation possibilities. With operations, you could
stress things like “operational excellence,” while with finance you could say things
like the following:
Ω “Our vendors tell us they spend 10 percent of their projects reinventing the
wheel, and I’ll bet it’s really 20 percent. If we made them use standard tem-
plates and components, we could negotiate better rates.”
Ω “There’s a lot of rework in our internal processes. If we had components,
we could avoid some of that and maybe we wouldn’t have to go outside
so much.”
An interesting twist in all of this is that you will often find your design staff and
agencies welcoming components, because the templates and documentation
system allow them to do work at a higher level—instead of spending all day
redrawing boxes!
150 CHAPTER 7: Appraise
Management Pitfalls
It’s up to you to plan, execute, and manage activities that create and maintain the library.
But over the course of many component library adoptions, I’ve found that you’ve got to
communicate to and rely on management to effectively support you, too. Management
support can break down sometimes, most commonly in the form of the issues that follow.
Lack of Priority
It can happen to the best of teams. You get your top talent together, you start roughing
out a library framework, and then projects hit. You get distracted. And status meetings
always end up pushing the component library to the back of the priority queue. It’s up to
your management to carve out sufficient time for you to support the library, or else it’ll
become stale and ineffective.
Background Support
As important as public declarations are, the back-channel efforts they’ll make on behalf of
the library are even more important. Your managers will need to open doors for you, con-
nect you with key players and partners in other organizations, and create an environment
So, Are You Really Ready to Build a Library? 151
in which you can be successful. That’s a two-way street, and management can’t support
you if they don’t know that there are obstacles. So help your managers understand where
and why you need the most help.
8
D I S C O V E R
Approaches
You can discover a new component library organically as a design system evolves or via
independent study and workshop exercises to analyze an existing site design. Often, tech-
niques can be mixed and matched based on the strengths and relationships of individuals
in an organization, as well as the design’s quality, maturity, and stability.
During Design
You can identify emerging components during any stage of creating a new site or rede-
signing an existing experience. Whether you just participate in meetings reviewing designs
or are creating the design yourself, you can establish and evolve a library in parallel with
ongoing design activities.
Key Benefits
Creating a component library during the design process has many benefits, including the
following:
Planning: Organizing components in a library can be a foundation for documentation
and delivery of the design to developers, quality assurance analysts, copywriters, pub-
lishers, and others.
Combined Efforts: Instead of a waterfall process of defining design first and organizing
it in a library later, the team can define the library in real time.
Focus: Other stakeholders are focused on design during design and may care less
about or not have time to help establish component standards after a project is
completed.
Challenges
Creating an optimal design solution is difficult enough. Now you are taking on an addi-
tional challenge of creating—and maintaining—a library at the same time. This takes
extra effort, focus, and dedication. If you and your team are eager to try this approach,
be prepared for challenges like the following:
Evolving Components: Components identified early (such as a header navigation bar)
tend to be the most reused but also continue to change frequently, making it difficult
for a team to stay in sync.
Approaches 155
Design Analysis
You can also analyze an existing design system to identify components. For such an
analysis, you review relevant pages within an existing experience and recommend a
library based on your own expertise and understanding. Analysis activities can be
fast and focused since the design system already exists, scope is well defined, and
constraints and technical tradeoffs are already incorporated into the final solution.
To conduct the analysis, annotate comps, screenshots of existing pages, and other materi-
als (refer to the Scope section later in this chapter) to identify the possible components
in each layout, as shown in Figure 8.1. Be sure to clearly identify each component so that
reviewers can easily discern each chunk. Usually, annotated rectangles, outlines, and
callouts are a good place to start. Once each component is visually marked, you can add
descriptive information like names, categories, priorities, and other criteria adjacent to
each annotated layout.
156 CHAPTER 8: Discover
Component Discovery 13 of 55
DRAFT Version 4 published February 04, 2009 by Nathan Curtis ([email protected])
/products/
1
Candidates
2
1. Utility navigation
2. Global navigation
3
3. Breadcrumbs
4 10
4. Page title
5 5. Page actions
6. Category navigation
7. Spotlight link
8. Promo with image
9. Promo
10. Banner
6 7 11. Base promo
12. Spotlight 2 link
13. Footer
12
11
13
Figure 8.2 Screenshots of potential components from the page design annotated in Figure 8.1, with
filenames reflecting suggested component names and keywords (seen in the Filter panel on the left)
applied as potential categories.
158 CHAPTER 8: Discover
Additionally, you can augment your analysis with the start of a component catalog that
records each item in an inventory. (For more information, see the section entitled “The
Component Catalog” in Chapter 9, “Organize.”)
Code Analysis
Depending on the quality of a site’s code, components can be identified from existing
HTML and CSS markup, the framework of a content management system, or other tech-
nical architecture. While the preferred modularity of your design may not align perfectly
with how technical teams see the system, there are many advantages to adopting or at
least learning from a technical baseline to discover reusable components.
Most importantly, HTML and CSS markup is a tangible, established result of the design
solution built by the team with whom you want to collaborate the most: the engineers. By
deriving a component library from their architecture—and their model of how to modular-
ize the design—you increase the likelihood that both teams can blend an approach partially
or completely together. A shared library across both teams is far more powerful than two
disparate models that require translation from one to another with each and every project.
Such an effort requires technical expertise. Namely, you must be familiar with the code archi-
tecture and know how to decipher HTML markup to identify where a component starts and
ends in markup. If HTML is clean and readable, then this task can be straightforward, as with
the code shown in Figure 8.3. However, if markup is poorly organized or even obfuscated
such that it is difficult to interpret, then deriving effective page chunks may be impossible.
[Link Title]
» Learn More
[Link Title]
[Description of linked content]
» Learn More
» Get It
Figure 8.3 HTML markup connoting the code divisions typical to components.
Approaches 159
Additionally, you can work directly with developers to organize coded components into a
suitable system for your library. Be aware that not all markup is written to be page chunks
for easy assembly into an entire page. Instead, developers may have modularized markup
based on other objectives, models, and patterns of reuse that may not map cleanly to a
component-based approach.
What’s the bottom line? If you can establish a shared vision, taxonomy, and foundation of
components across design and engineering, then your organization can reap the benefits
of increased collaboration, productivity, and consistency across the board. Without that
shared vision, components are still valuable to a design organization, but will not reach
their full potential.
At Yahoo!, we’ve recognized this common structure with a markup pattern we call
Standard Module Format (SMF). The container is given a class indicating that it’s
a module (“mod”), and classes for the head (“hd”), body (“bd”), and footer (“ft”)
regions. When a module doesn’t have header or footer content, we omit those
regions, but the sole remaining region still lives within the “bd” div. It looks like this:
<div class=”mod”>
<div class=”hd”></div>
<div class=”bd”></div>
<div class=”ft”></div>
</div>
The outer container’s “mod” class comes from Standard Module Format, but
because Web Standards allow the class attribute to contain multiple space-sepa-
rated values, the “mod” value doesn’t limit expressiveness:
<div class=”mod news reuters” id=”top-stories”>
The container’s ID is useful when adding Cascading Style Sheets (CSS) and
JavaScript throughout the module’s life. And because IDs are fragment identifiers,
users may jump to or bookmark specific modules (e.g., news.html#top-stories).
Of course, SMF doesn’t replace the need for meaningful markup to enrich the
content itself. HTML elements have rich semantics that should be fully exploited,
including elements like headers (Hn), paragraphs (P), citations (CITE), and list
items (LI).
<div class=”mod”>
<div class=”hd”>
<h1>Top Stories</h1>
</div>
<div class=”bd”>
<ul>
<li>Story One</li>
<li>Story Two</li>
<li>Story Three</li>
</ul>
</div>
<div class=”ft”>
<a href=”more.html”>More stories...</a>
</div>
</div>
Approaches 161
Workshops
Nothing beats the energy of getting a team together to mutually deconstruct an existing
design system and arrive at a component library together. You can use a two-hour or even
a half-day workshop to do the following:
Ω Teach the team about what components are and why they are valuable.
Ω Discuss the opportunities and challenges of using components in your
organization.
Ω Conduct exercises that identify concrete component candidates.
Use a workshop to generate momentum internally toward a component-based strategy,
establish consensus, brainstorm together, set expectations, and even kick off a project to
build a library. In a sense, get project stakeholders around a table to collaborate, as shown
in Figure 8.4.
Figure 8.4 Workshop participants cut up printed pages to identify, organize, and prioritize component
candidates.
Approaches 163
The workshop can center around a tangible, real exercise that enables participants to “get
their hands dirty” with your design by cutting up page screenshots with scissors and then
grouping, labeling, prioritizing, and archiving a collection of candidate components for
your library.
Planning
To prepare for the workshop, organize and print out a collection of page comps or screen-
shots from the live site. From the home page to search results, product pages to check-
out, tabular displays to multi-page forms, choose pages that represent the breadth of the
experience. Most importantly, select pages that cover the range of potential components
you anticipate for your library.
Each page should be printed on a separate sheet of paper—ideally legal size, portrait
orientation to accommodate taller pages—and at the same relative resolution. Usually
80 to 120 pages are sufficient to get started for larger sites, but you can get valuable
results using as few as 15 to 20 pages.
Once participants cut up pages into components, it’s painstaking and impractical to recall
where the component came from unless you’ve got an easy way to trace the cutout back to
its source. Therefore, assign each page a unique number and print that number in small
type repeatedly across the back of the page printout, as shown in Figure 8.5.
Figure 8.5 Pages with a number repeated on the back, so that component cutouts can be mapped back to
the page source.
164 CHAPTER 8: Discover
Invite anyone who will influence or benefit from the component library. Participation of
the user experience team is critical. However, you’ll benefit from inviting other key stake-
holders and potential champions, too, for the workshop is a big event and can get many
diverse stakeholders energized about the effort. Other important participants can include
design technologists (such as HTML/CSS gurus), engineers, site strategists, testers, prod-
uct managers, copywriters, project management, and even willing executive sponsors.
Assign participants to teams of three to six members each—big enough to have diverse
opinions but small enough to make quick progress and not get bogged down. Consider
assigning participants to teams before they arrive so you can deliberately mix up roles,
personalities, and perspectives on standards and formality. For example, team up an
interaction designer, developer, publisher, and product manager together. This way, indi-
viduals can be exposed to diverse viewpoints, be sensitive to others’ needs, and work on
explaining and identifying components from their distinct perspectives. A spreadsheet
roster can help you organize participants, manage RSVPs, and assign participants to
teams (Figure 8.6).
You can even mirror real project teams or relationships. If possible, align subsets of 15- to
25-page printouts with teams knowledgeable of or interested in an area of the experience.
For example, if a team focuses on the customer support experience, then allocate screen-
shots from the support section to that team. Generally, don’t distribute printouts in a
haphazard way that will confuse participants or raise more questions than answers from
participants who are unfamiliar with or don’t care about certain pages. If your site doesn’t
have many unique page and component types, have more than one team cut up the same
collection and compare results afterwards.
Figure 8.6 Roster of invited workshop participants that enables a facilitator to plan a workshop and allocate
participants to teams during the exercise.
Approaches 165
You’ll need to stock up for the workshop by purchasing scissors, Post-it® Notes, Post-it®
Small Flags, Sharpies large and small, Scotch tape, and blank paper, as shown in Figure 8.7.
Be sure to buy more than one item per team, so that participants don’t sit idly as a single
person cuts everything with the only pair of scissors. Usually at least one item for every
two participants is sufficient (for example, three pairs of scissors for a team of six).
Facilitation
Workshop leads should drift between teams during exercises, answering questions and
listening for common themes and challenges across teams. Watch for participants who
struggle or lack confidence in cutting out each component. You can turn those uncertain-
ties—or even components they’ve cut out already—into mini-lessons on how you may
have taken a different approach and whether their decision is OK or incorrect.
If one team is confused by a portion of the exercise or makes a significant discovery,
announce solutions and/or findings to the whole group. However, don’t disrupt progress
across all teams with a constant barrage of distracting comments—save many of them for
the discussion afterwards (and even take notes to remind yourself of what topics came up).
The duration of your workshop depends on how much time you can keep the group
together and how many screenshots you plan to cut up. Usually, an hour or two of lecture
and collaborative discussion precedes the actual exercise. But once you introduce the
166 CHAPTER 8: Discover
exercise and split the group into teams, the activity typically lasts between one and two
hours. About half of that time should be spent cutting up the printouts and arranging
them on tables (steps 2 and 3 in the following section), and the remaining time spent on
classifying, archiving, prioritizing, and labeling items. Be sure to leave at least 15 minutes
for discussion afterwards.
Finally, it’s up to the facilitator to remind groups of how much time remains. In general,
you can announce periodic reminders of how much time is left (such as 30, 10, and 5
minutes remaining) to help teams stay on course. If you notice that a team is drasti-
cally behind, then encourage them to move on with what they’ve got so that they can get
through each step. If a team is way ahead of schedule, encourage them to dig deeper.
Exercise Steps
To begin, form teams around large tables and distribute sets of page printouts, as well as
scissors, tape, pens, Post-it® Notes and Small Flags, and large blank sheets of paper to
each team.
Then, lead the teams through the following steps:
1. Familiarize: Encourage teams to review the pages to become comfortable with the
scope of their collection and identify components that are reused frequently. Some
teams spread out the pages across a table (Figure 8.8) for a bird’s-eye view, pondering
the collection for a few minutes before proceeding to the next step.
Figure 8.8 Page screenshots laid out across a table so participants can familiarize them-
selves with the collection.
Approaches 167
2. Identify: Participants cut up each and every page into components (Figure 8.9), sepa-
rating each component on the table. During this stage, participants will often ask and
need clarity on questions like “How granular should I cut this up? Should it be this big-
ger section or just these few elements?” Workshop leads can educate participants in
real time as to how to cut each component up, as well as relate different variations of
the same component based on recommendations gleaned in earlier chapters of
this book.
Figure 8.9 Identify components by cutting apart a page screenshot into chunks.
Figure 8.10 Organize components by moving cutouts into groups on the table.
4. Classify: Use Post-it® Notes with big labels to name each of the groups you’ve
formed (Figure 8.11), such as Header and Footer, Content, Navigation, Promos,
and Sidebar.
5. Archive: Teams should tape grouped components to plain pieces of white paper (ide-
ally, tabloid size) so that leads can walk out of the workshop with tangible, organized
results of the exercise (Figure 8.12).
Figure 8.12 Ensure that facilitators can leave the workshop with organized components
by taping components to sheets of white paper.
6. Prioritize: Using Post-it® Small Flags, prioritize how important each component is to
the overall library (Figure 8.13). Usually, green is used for “must have” components,
yellow is for “nice to have” items, and red is for “less important” candidates. Encour-
age participants to balance the quantity of each priority. If everything is a green “must
have,” then the prioritization isn’t particularly helpful.
Figure 8.13 Prioritize components by applying a color-coded flag next to each one.
170 CHAPTER 8: Discover
7. Label: Teams can use their remaining time to record common names used to refer to
each component (Figure 8.14), such as “Base of Page” and “Footer Promo.” Partici-
pants can write labels on the paper adjacent to the taped cutout. This step enables
participants to discuss common terms used to refer to each item, informing the
nomenclature of the formal catalog.
Wrap Up
After the teams complete the steps, reconvene the entire group to discuss the exercise,
compare results, and brainstorm creatively about what lies ahead. If nothing else, you can
reaffirm goals and next steps. You can draw out specific challenges to illustrate bigger
points, such as how every team tackled the header and footer first, but different teams
may have cut it up slightly differently.
But more important, use the discussion as an open forum on the value and direction of
using components. Discovering components together in a workshop setting can be an
enlightening experience, and participants may have many questions about the oppor-
tunities and challenges that await them. Some teams react with lots of enthusiasm, as
the workshop demonstrates how they can modularize and reuse aspects of their design
system. Others react with restrained optimism, correctly perceiving the constraints that
standards and libraries could place on their design freedom.
Library Scope 171
Most of all, you can use the workshop setting—component cutouts, tactile tools like scis-
sors and Post-it™ Notes, and discarded paper littering the floors—to communicate that
what’s next will require the group to roll up its sleeves. Investing in a library requires rigor,
investment, and determination to stick with such a set of standards, and you’ll need to
communicate the proper scale and scope of the effort.
Library Scope
The component library scope is the extent to which a library covers a well-defined range of
page types, sections, or portions of a site design system.
Most often, a team hopes to cover an entire experience by including any and all possible
components used in a design solution. In this case, no page is left untouched, and all pos-
sible components are identified, prioritized, and potentially built out. On the other hand, a
comprehensive library may be difficult or too ambitious to build in one project if the scale
is simply too massive to tackle in one pass. In that case, you can narrow library scope to
the following:
Ω Section(s) of an experience
Ω Depth, such as the first three “levels” of a site hierarchy from home page, section
landing pages, and tertiary category pages
Ω Critical page(s) (such as section landing pages) or key flow(s) (such as checkout or
search)
For example, suppose you were tasked with creating a library for a vast experience of
over a million pages that cover products, services, solutions, support, training, enter-
tainment, account management, registration, ecommerce cart and checkout, and
corporate information. If the overwhelming share of site traffic, organizational focus,
and return on investment is covered by creating a component library for just the prod-
uct catalog, shopping cart, and checkout experience, then by all means create a library
to cover only that area. With a narrower focus, the team can build a library faster and
cheaper, and use that experience to more accurately predict the cost of extending the
library to other areas later on.
Defining what the library includes—and doesn’t include—should be accomplished early.
If you don’t nail down what you are trying to cover, the library becomes a moving target
that requires constant rescaling, is difficult to clearly communicate to stakeholders, and
lacks well-defined boundaries that you can drive to complete.
172 CHAPTER 8: Discover
Clarifying Scope
A team can clarify library scope using one or more of the following techniques, in
descending order of preferred priority:
Ω Create a comprehensive page inventory of all pages, representative page samples,
or page types, based on URL or other unique reference code that enables librarians
to retrieve, view, and catalog the page.
Value 173
Ω Organize polished comp files (JPG, PSD, PNG, etc.) of production-grade visual
design, from which components can be derived and built.
Ω Capture screenshots of applicable page types by browsing relevant sections or
pages within the experience and recording the URL and/or page title for each
screenshot.
Ω Identify URL portions based on directories, such as “All pages in [site].com/prod-
ucts/ and [site].com/solutions/”.
Ω Detail expectations via text descriptions (paragraphs, bulleted lists, etc.), providing
sufficient and unambiguous information about page types, flows, and navigation
structures so that you can successfully discover, catalog, and build components.
Ω Identify site areas via labels used in navigation structures, for example, referring to
a global navigation bar and declaring “Our library will include Products, Support,
Shopping Cart, and My Account.”
Ω Refer to existing or burgeoning design documentation by file name, page number,
figure labels, and more detailed specifications.
In general, you want to clarify scope—and components—as accurately and unambigu-
ously as you can, and the order of the steps above starts with the most precise and effec-
tive techniques.
Wireframes and other artifacts of similar or lower fidelity represent a design solution
that is not finished enough to serve as input to a standardized library. Such artwork
does not capture refined visual style like typography, width, grids, and other aspects
that you should embed in the styles and layout of a formal component-based wireframing
system later.
Therefore, avoid using wireframes as source material for a library of templates and com-
ponents. Instead, source your library’s artwork from existing comps or screenshots of
actual pages, and establish your library’s visual foundation and standards from higher-
fidelity artwork.
Value
Many criteria can influence how you can judge a component’s value and whether to
include it in a library. You can make these value judgments in isolation or via consensus
of and collaboration with a broader team during activities like design reviews and
component discovery workshops.
174 CHAPTER 8: Discover
Use the criteria shown in Figure 8.15 to influence your decision-making and employ the
common questions to uncover the value of each candidate for your library.
Figure 8.15 Decisive criteria that help judge the relative value of each
component and whether it’s worth including in a library.
Scale of Reuse
A component’s scale of reuse addresses how widely it is used across pages, sections,
flows, and throughout an experience. Generally, the more a component is reused, the
more beneficial it will be to include it in the library. However, if a component will be
built for one page and will never be reused again, then omit it from your library.
Common questions you’ll need to answer include the following:
Ω How much will the component be reused across experience?
Ω How many different types of page could use this component?
Similarity
Assess the return on investment of adding a new component to a library when an existing
component or variation would be sufficient to solve the same design problem. Similarity
can also impact how a new component is cataloged, such that what someone may pose as
a new component may be instead a needed variation of a component already in the library.
Common questions you’ll need to answer include the following:
Ω How similar is this component candidate to existing components?
Ω What makes this component justifiably different than other components?
Value 175
Specificity
While similar to a component’s scale of reuse, specificity addresses the intent to limit a
component to a specific site area or context. For example, a site’s home page often
contains components that may not—under any circumstances—be repurposed for
other page types. In another case, a list of training products with unique content and
layout may be inappropriate for listing software products.
Common questions you’ll need to answer include the following:
Ω Is this component specific to a page, section, content type, or context?
Ω May I use this component in a different context, and if not, why not?
Significance
Different components may be important for different people. Since a team may need to
reduce scope or prioritize components built in a project, judging significance plays a key
role in conversations and decisions about tradeoffs.
For an information architect, optimizing global navigation is absolutely critical. For a prod-
uct manager, getting a branded billboard is essential. For an executive, obvious links to
corporate governance seem essential even if the content is findable via a less emphasized
solution and site visitors express no interest in the content.
Common questions you’ll need to answer include the following:
Ω How important is this component relative to our design objectives?
Ω Is this component important to a sponsor or executive?
Ω What are the impacts of making tradeoffs regarding this component?
Ω Can you prioritize these components, from most to least important?
Stability
Building a library is a long-term investment, and adding each component takes effort.
Therefore, be mindful of the long-term value of a component. No librarian likes to main-
tain a large collection of one-offs, and updating unstable components that are always
“in play” and change frequently is often not worth the effort.
Common questions you’ll need to answer include the following:
Ω How often do you think the component will change?
Ω Are there ongoing or future projects that could impact this component?
176 CHAPTER 8: Discover
Sophistication
The more complex a component is, the higher the cost of building it and incorporating it
into the library. And, although not always the case, the more complex a component, the
less likely it’ll be reused. Don’t get caught up adding a fancy widget to the library if it isn’t
worth the expense or will distract you from adding other items that are more important.
Common questions you’ll need to answer include the following:
Ω Do you anticipate reusing existing styles/CSS or creating many new styles?
Ω Are there specific technologies, tools, or frameworks that would need to be utilized
(for example, videos or flash) beyond standard CSS and HTML markup?
Ω Are there many behaviors and states that need extensive development and testing,
or is implementation straightforward?
Sociability
Components are only as valuable as an organization’s ability to meaningfully and appro-
priately reuse them. If you can’t formalize a component’s usage, guidelines, and rationale
in a way that others can “get it” and use it appropriately, you may want to reconsider
adding it to your library.
Common questions you’ll need to answer include the following::
Ω How easy is it to explain the component’s purpose?
Ω How simple are the structures, behaviors, and content attributes?
Ω Do some stakeholders have difficulty “getting it” immediately?
Ω How strictly would you govern the usage of this component? Would you need
extensive editorial or interactive guidelines to ensure that it’s used correctly,
or simple guidelines that enable flexible use?
Sync
How much a component’s use and behaviors are related to other components can have
an important impact on how it is categorized, related to other components, or even
combined with other items into a larger reusable chunk.
Common questions you’ll need to answer include the following:
Ω Is this item a variation of an existing component?
Ω Is this component related to or always used with another component?
Ω Can this component be documented on its own?
Ω Is this component limited to one page type, or can it be used in many places?
177
9
O R G A N I Z E
Depending on the complexity, delegation, and shared management of your library, a more
sophisticated solution (such as a database) may be warranted, but it isn’t common. Regard-
less, create an environment where librarian(s) can update and manage the collection while
others can access and view the catalog for reviews, comments, prioritization, and other tasks.
A catalog enables you to track many properties of each item throughout a component’s
life cycle, including the following:
Discovery Properties. Where did an item originate, what do people call it, and can I
trace where it came from? You’ll want to track where a component came from so you
can reference its context of origin. Activities for discovering components are described
in Chapter 8, “Discover.”
Taxonomy Properties. What is this item called? How is it classified? How is it related to
other components? These properties are defined as a component’s place in the library
is formalized, described later in this chapter.
Build Properties. Who is assembling this item? What progress has been made? The
process of building component assets is described in Chapter 11, “Build.”
Administration Properties. How important is this item? Who is authoring guidelines
about it? Where can this item be used? Is this component active or retired? Over the
course of a component’s life, the team’s value, focus, and activities around the compo-
nent will vary. Administration of a component library over this life cycle is covered
in Chapter 12, “Administer.”
Additional Notes. These can include URLs, helpful supplemental information, and
other reminders that you need to keep somewhere as you manage the library.
Discovery Properties
Once you consider adding a component to the library, add it to the catalog so you can
track it and trace where it came from. In this sense, the catalog is a helpful tool for a
“candidate” component, even if it doesn’t have a formal code or concrete location in
the catalog’s hierarchy.
When you discover items for the catalog, assign each one a “Build ID” (as shown in
Figure 9.2). This ID number serves as a unique reference number until an item is given
a more formal component code. Using the Build ID, you can bridge documentation and
communication (e.g., email) by referring to the same item with the same number every-
where. That is, component #95 referenced in an email is the same as the component #95
annotated in a screenshot, which is the same as the component #95 in your draft set of
component artwork. Everyone knows what component #95 is, and this unambiguous
reference is fundamental when you are organizing, prioritizing, and building the library.
180 CHAPTER 9: Organize
Figure 9.2 Outputs of a component discovery exercise, where items are subsequently
encoded with a Build ID (in the orange box) and their source recorded.
Taxonomy Properties
The most important role of a catalog is to manage the library’s namespace: names, IDs,
categories, and other organizing principles embraced by your team. The catalog serves as
the authoritative source for establishing a hierarchical taxonomy and maintaining it over
time. It’s up to the librarian to ensure each item has a unique, unambiguous, and single
place in that hierarchy, and a meaningful taxonomy goes a long way.
As detailed in subsequent sections of this chapter, Figure 9.3 illustrates the levels that
have proven effective for classifying components into a concrete, cohesive taxonomy with
properties that include the following:
Ω Category (such as header and footer)
Ω Component name (such as utility bar)
Ω Variation name (such as logged in)
The Component Catalog 181
HF03v3 Subsite
HF03v4 Branded
Build Properties
As artwork and/or markup for a component library is assembled, you can use the catalog
to assign an item to a contributing designer, and track completeness via a sequence of
steps: identified, assigned, drafted, reviewed, and complete.
Within the catalog, a librarian could use one cell to denote the current step, or separate
contiguous columns for each step, each marked with “Done” and/or color as the step is
completed.
Administration Properties
Designers and stakeholders typically don’t need to know the gory details of library
management. However, a catalog is a great place for librarians to manage component
182 CHAPTER 9: Organize
activities like authoring guidelines, producing artwork, and managing releases. The
catalog can also be used to track progress, priority, and other properties including the
following:
Status, such as In Development (not yet released), Pilot (limited release), Active
(available for open use), or Retired (no longer in use)
Phase, such as 1, 2, and 3 in cases when working across multiple build cycles
Priority, such as high, medium, or low, so that stakeholders can assess and influence
what’s most important to be added
Platform(s) used to classify items if they are only usable with a specific content
management system, application platform, or style sheet
Well-defined management properties enable a librarian to sort, filter, and report on the
library’s status and growth. Leave at least one column for general notes, and add tempo-
rary columns for stakeholder feedback. Once the library incorporates that feedback, the
temporary column can be removed.
Retiring Components
Not every candidate component will make it into a formal, published library. In fact, often
50 percent or more of the candidate components are discarded before the library’s launch.
Even if an item is assigned a formal component code and gets published, it may fall out
of favor and eventually be retired. Even if it remains in use on existing pages, the item’s
retirement communicates to designers and stakeholders that an item should no longer
be applied to future design solutions (Figure 9.4).
Figure 9.4 Lines for retired components are changed to gray to reduce emphasis yet keep the records in
the catalog.
Categories 183
No matter what, be sure to retain those records in your catalog. Do not remove any lines
from your spreadsheet (even if you need to change their appearance via color or other
formatting). Keep each record in the catalog because discarded items may be added back
later, and retired component codes are permanently reserved and should not be mistak-
enly applied to future items. For both discarded and retired items, you may later want to
refer to where they came from or even use them as examples of what not to do.
Categories
The first step in organizing components is to group all items into meaningful categories.
You can begin a discussion of categorization with whether page regions would make a
good organizing principle. Figure 9.5 illustrates high-level areas like header and footer,
body content, navigation (such as left or local), billboard (at the top of the content space),
and a sidebar that provide a good baseline from which to consider component categories.
Figure 9.5 The Sun.com page layout broken down into regions that suggest component
categories. (Courtesy Sun.com/webdesign)
184 CHAPTER 9: Organize
In fact, many browser-based site designs have all five of these key page regions, even if
teams refer to these areas with distinct, organization-specific names. Other user interface
contexts (such as desktop software or a mobile device) also have layout regions that are
useful for grouping components, such as navigation/menus and body content.
And while regions provide a good basis for categorization, other categories can be valu-
able for grouping components, such as a search category for an ecommerce site with
many displays for search submission and results. The following sections describe catego-
ries used most frequently and components that are traditionally classified into each one.
Body Content
Almost always the category with the most components, the body content category begins
with simple items like page titles, paragraphs, section headers, bulleted lists, and numeric
lists. Once the fundamentals are covered, this category grows rapidly to include a wide
range of diverse components depending on your site design.
Navigation
Navigation components commonly include links and other basic controls (e.g., drop-
down menus) that take a user from the current page to a distinct, separate place. Most
Categories 185
often, this category is used for link collections (such as the article links in Figure 9.6),
breadcrumbs, and more.
Articles
[Section] [Section]
[Topic / Story Link] [Topic / Story Link]
[Topic / Story Link] [Topic / Story Link]
[Section] [Section]
[Topic / Story Link] [Topic / Story Link]
[Topic / Story Link] [Topic / Story Link]
[Section] [Section]
[Topic / Story Link] [Topic / Story Link]
[Topic / Story Link] [Topic / Story Link]
Figure 9.6 A navigation component for categorized article links, suitable for a higher-level page
that links to articles across six different sections.
Sidebar
Also referred to as right rail, right navigation, or related navigation, the sidebar is fre-
quently included as an area for tertiary navigation, links to related content, calls to action
such as Contact Us, and promotional banners and ads. If a site does not have a sidebar
region for such components, then this category is unnecessary.
Billboard
Also referred to as dynamic lead, hero, spotlight, or big top banner, this key area of site
messaging, branding, and promotion often occupies disproportionate amounts of a
team’s effort. Generally positioned above the body content, a billboard spotlight warrants
a separate category due to its significance, dominant visual position, often sophisticated
interactions, and frequency of change.
186 CHAPTER 9: Organize
Other Categories
Depending on the design system, a component library can include other categories
specific to your experience. Examples of other categories include the following:
Ω Windows (pop-ups, hovers, lightboxes, confirmation dialogs, and more)
Ω Search (for search submission with various sets of fields, as well as search results
that can include lists, filtering, sorting, maps, and more)
Ω Tables (including both common row and column header configurations, as well as
related interface components like pagination, sorting, and filtering)
Ω Portal or Personalization (for components that are limited to and fit into customiz-
able portal pages distinct from other page types)
Ω Application widgets (for more highly transactional applications, particularly
intranet apps)
Overlapping Categories
Invariably, some categories may overlap in definition and purpose. For example, two of
the most common categories—navigation and body content—can be the hardest to dis-
tinguish if a component is used in the body content region but also provides navigation to
other pages within the experience. Why separate them? Otherwise the content category
can become ridiculously large relative to the other categories, so create enough categories
so that any one category doesn’t have far more than all other categories combined.
While organizing, make an effort to classify a component in the category that is most
specific to its use while also amending or evolving the definition of each category to be as
precise as possible. Instead of navigation acting as a category based only on where a com-
ponent is located within a page design, perhaps navigation components are those that
enable users to “navigate to a different destination beyond the current page,” whereas
body content components generally keep you within the context of the current page.
Such distinctions may be lost on some library users, but don’t be too concerned unless
your categorization inhibits findability, causes significant confusion, or leads to inappro-
priate use.
Variations
With components organized into high-level categories, the next step is to group related
components together when they share a common mission or specific purpose. When
assessing relationships between components, ask yourself if the two items are really
Variations 187
alternatives that meet the same design objective. If two items have the same objective
and a very similar appearance, but differ due to wording, subtle visual style, link destina-
tions, supporting markup, or some other criteria, you can classify both as variations of
the same component.
HF02v1
Welcome! Sign in or create an account for eightshapes.com
HF02v2
Welcome [username]! Log out | My Account | Cart (0) | Worldwide
HF02v2x1
Welcome [username]! Log out | My Account | Cart (3) | Worldwide
HF02v2x1
Welcome [username]! Log out | My Account | Cart (0) | Canada (English | Francais)
Keep in mind that you can use the same component variation more than once on a page,
or even variations of the same component on the same page, too. A designer could
choose to repeat a banner component three times in a vertical sidebar by stacking a
banner variation with a graphic two times above a banner variation without the graphic
(Figure 9.9). Therefore, a page’s sidebar could include three banners stacked together,
each a variation of the same component.
Search:
HF02v1
Welcome! Sign in or create an account for eightshapes.com GO
S02v1
Previous | 1 | 2 | 3 | 4 | 5 | 6 Next
explab inction rem quodis dolupta tisqui idellam, sita sunt mo in ex ea [Banner Title]
quaes senim@
KWPO - ### K - Cached - Similar Pages [Banner description Excerum audae
vellorro tem voluptium, con cum
demque dunt vit as@
explab inction rem quodis dolupta tisqui idellam, sita sunt mo in ex ea » [Banner call-to-action@
quaes senim@
KWPO - ### K - Cached - Similar Pages
Previous | 1 | 2 | 3 | 4 | 5 | 6 Next
Figure 9.9 A page sidebar that repeats the same banner component three times: two
with a graphic, and a third without the graphic.
Variations 189
Avoid creating and classifying every component state as a separate variation. Recall the
designer’s motivation: Add a component in the screen design and go from there. In that
case, often the default or initial state will suffice.
For example, there’s no need to include a variation for every star level of the customer rat-
ing shown in Figure 9.10. Instead, include representative variations (such as unrated and
rating applied) and leave the detailed states of each level (such as a stored score of one
through five, hover interactions) and supplemental text to the guidelines instead of the
reusable wireframe and comp artwork.
C19v1
Rate this [Item type]: (not yet rated)
C19v2
Rate this [Item type]: (#.# out of 5 stars)
(incorporated as behavior)
Rate this [Item type]: Excellent
N07v1
Products
Figure 9.11 Relating two chunks (a navigation bar and its dynamic menu) as variations
of the same component.
190 CHAPTER 9: Organize
Therefore, organize the two chunks as variations of the same overall component. Sure, a
menu panel isn’t truly a variation of the navigation bar. However, the benefit of organizing
the two items together to powerfully communicate their connection outweighs our need
to classify all the components.
Another common opportunity for relating components as variations is when a structure
can be divided into smaller reusable chunks that are always used in concert.
Consider tabs. A tabbed component may seem straightforward: just a simple bar of alter-
native navigation options that group content. However, from a component perspective,
tabs can become a more sophisticated array of reusable chunks: primary tabs, optional
secondary and tertiary tab navigation, tabbed containers, and other reusable tab chunks,
such as menus for filtering and sorting. For engineers creating component markup for
tabs, they may even need invisible component chunks to close a container (via closing
<div> tags), since from a code perspective, tabs actually contain other content nested
within. Figure 9.12 illustrates the range of visible tab component variations, stacked
together.
C12v1
C12v2
Active Subtab Option | [6uEtaE 2ption@ | [6uEtaE 2ption@ | [6uEtaE 2ption@ | [6uEtaE 2ption@
C12v3
C12v4
C12v5
C12v5x1
C12v5x2
[two column content Um ant ut latuscium Karum oI¿c tem Goluptam ipitem aut
saperio. Mossum voluptat et imincium Golor am etur orit essimporest@
Figure 9.12 A stack of reusable tab chunks, organized as variations within a single tab component.
Examples 191
Although different, all these chunks are relevant to one design goal: assembling a tabbed
structure. So group these items as variations of the same component.
Also, avoid grouping components together as variations just because they have a similar
structure, interaction, or visual style. If one item has a different or far more specific pur-
pose than another item that is otherwise similar, it may be useful to distinguish the two
as separate components.
Figure 9.13 contrasts two different components usable in a page’s sidebar: a general,
labeled list of related links, as well as a module for downloads where each link is preceded
by an icon and followed by file size and type. In this case, the sidebar category should offer
a component specifically used for downloads, separate from a more generic component
for any set of related links.
N01v1 N02v1
Downloads
[Related Links Header] [DocuPent naPe@
[Description ostibus, sitio. Osr aut [DocuPent naPe@
oI¿cae. ;eruP saP, option et opt@ [DocuPent naPe@
[DocuPent naPe@
» [/inN@
» [/inN@
» [/inN@
» [/inN@
Figure 9.13 Different components for specific downloads versus generic related links.
Examples
At times, it may be necessary to document or create examples of a component variation
where you want to include real content or branded imagery. In that case, it makes sense
to include this instance as an example of the variation.
For example, consider common tab sets found in a site design like the primary tabs shown
in Figure 9.14. For designers creating products and solutions pages often using the com-
ponent system, it’s valuable to also catalog two examples of primary tabs to illustrate
examples of typical quantity, labels, and order of primary tabs for those page types.
192 CHAPTER 9: Organize
C12v1
C12v1x1
C12v1x2
Conversely, if a component sample requires other distinct HTML tags or CSS coding,
then it’s probably not an example, but truly a different component or variation.
Codes
Once your library grows beyond the simplest of collections (such as 20 or 30 items), con-
sider assigning a reference code to each component, variation, and example. Each refer-
ence code, such as S03v1x1, enables you to refer to an item more succinctly and precisely.
The reference code is used not only as a marker on visualized screen designs and within
annotated documentation, but also for verbal communication between team members.
As components are increasingly embedded in a team’s communications, rapid reference
to individual items becomes commonplace, if not essential for success. In my first meet-
ing with one new client, the team drilled into project details quickly and within five min-
utes was talking in a foreign language of codes and references. “Excuse me,” I interrupted.
“What is the S03v1?”
The team paused, and then the publisher explained, “That’s our Contact Us component
for the sidebar—S refers to the sidebar category, and the rest of the numbers refer to the
code we all use to refer to it.” She gave me the URL where I could find a component index
(and lots of documentation). From then on, I knew exactly what they were talking about,
and if I didn’t, the answer was one quick lookup away. What’s more precise and efficient—
explaining that you are referring to “The first example of the first default variation of the
Contact Us in the sidebar” or succinctly saying “S03v1x1”?
194 CHAPTER 9: Organize
The shorthand code can be derived directly from the taxonomy of categories, compo-
nents, variations, and examples. Consider a “search bar” component of the “header and
footer” category, which has four variations for default, filtered, subsite, and branded. Then
a variation of that component could be codified in the library as HF04v2x1 based on the
following:
Ω HF: header and footer category
Ω 04: 4th component within that category (search bar)
Ω v2: 2nd variation (filtered)
Ω x1: 1st example (by blogs)
Such a component could be amid a wider range of variations and examples as illustrated
in Figure 9.16:
Ω HF04v1.SearchBar.Default
Ω HF04v2.SearchBar.Filtered
Ω HF04v2x1.SearchBar.FilteredByBlogs
Ω HF04v2x2.SearchBar.FilteredByState
Ω HF04v3.SearchBar.Subsite
Ω HF04v4.SearchBar.Branded
Ω HF04v4x1.SearchBar.BrandedPartner
HF03v1 HF03v3
Search: Search Wikis:
GO GO
HF03v2
Search:
[section] GO HF04v4
Search:
HF03v2x1 GO
Search:
Blogs GO
Provided by
HF03v2x2 HF04v4x1
Search: Search:
California GO GO
Figure 9.16 A collection of search bar variations recorded in the component catalog.
Codes 195
2. Move items (records) into a meaningful order based on your taxonomy, such as by cat-
egory, then by component within category, then by variation within component, then by
example within variation. Why care so much about ordering the components so hier-
archically? Because typing in the codes next, line by line, becomes a simple process of
enter code, press return, enter code, press return in a similarly hierarchical order.
3. Starting at the top, assign a code to each item row by row, as illustrated in Figure 9.17.
Figure 9.17 When you’re ready, use the catalog to finalize the library’s organization and then apply
component codes in one pass.
If multiple individuals will manage the library, consider creating component codes
together as a team. During such an exercise, the team can not only discuss the best way
to organize the library, but also brainstorm on nomenclature, additional component
candidates to consider, and more.
Code Guidelines
The following guidelines will help you maintain a healthy, coded taxonomy:
Category Codes
Ω Represent a category with one or two letters, usually the first letter of the category
name (such as “C” for Content).
Codes 197
Ω When multiple categories start with the same letter, use a single letter to refer to
the most important category (such as “S” for Sidebar) and utilize two or more
letters for other, less important categories (such as “SE” for Search).
Component Codes
Ω Use a unique number for each component.
Ω Start component numbering in each category with 1 and ascend.
Ω Assign the lowest numbers to components likely to be extensively reused.
Ω For example, common content components , such as generic elements, page title,
and breadcrumbs, should be assigned low numbers such as C01, C02, and C03.
When adding new components to an already established base of codes, don’t worry
about low numbers. Instead, just assign the next available number to the next
component.
Ω Avoid changing or reusing a number once it has been assigned.
Ω For example, if you have components C01 through C04 and C03 is retired, then C03
is permanently unavailable. Imagine the confusion if C03 once referred to a video
player that was retired, and then a photograph component was added to the library
as C03 two months later. If an older wireframe was opened that included the retired
video player marked as C03, some might get confused.
Ω Append a leading 0 (zero) to the first nine component numbers.
Ω By including a leading zero, you can improve scanning and sorting components in a
sequence like C08, C09, C10, and C11.
Variation Codes
Ω Use a unique number for each variation of a component.
Ω Start variation numbering for each component with 1 and ascend.
Ω Avoid changing or reusing a variation number once it has been assigned.
Ω Append a leading 0 (zero) to the first nine variation numbers.
ΩΩ TIP In your screen design, include component code markers on a separate layer that you can
manage and hide if necessary. Separating codes from designs allows designers to hide markers
when using the artwork for executive reviews, prototypes in usability tests, or final image slicing.
However, for the rest of the design process, keep codes visible to precisely identify items.
198 CHAPTER 9: Organize
Managing Images
Aside from using component codes in wireframes, using them in places such as
image file names offers many benefits. Not only does it help with image file manage-
ment, but it also sends a clear message to publishers that a given image is specific
for that component and should not be used in any other context.
To embed a namespace into images, prepend a component code to the image (such
as g04_myimage.jpg or g04v1_myVariationImage.jpg) and use directories based
on component codes to organize a central repository of component-related images
(such as /images/g04/g04_myimage.jpg).
the semantics, so A01 can be a header and A02 can be the global navigation. Literal
class names don’t have to be abandoned. Instead, use component codes to define
component containers and use literal class names in comments and inside contain-
ers to make things more readable.
For example, you can create a main container class in the HTML:
<div class=”g04”> ...foo... </div>
When you use DIVs for styling, don’t get hung up on style-related class names
like leftcorner. Use the component code instead, with a label like “w#” to identify
wrapper elements that exist only for styling:
<div class=”g04 g04v1”>
<div class=”g04w1”> <div class=”g04w2”>
...foo...
</div> </div>
</div>
Components change over time, and sometimes you cannot make a new component
and also end the support for an existing component at the same time. When the
CSS must support both new and old versions, you can use a class name to indicate
the component revision number:
<div id=”g04v1 g04v1r1”> ...foo... </div>
Names
Names are critical in establishing a common, plain language, and function as unambigu-
ous labels to communicate what components are and how they’re used. A component’s
name is vital to define an item and to relate it to other components, grids and locations,
best practices, and visual and editorial standards.
However, despite the value of names at each catalog level (category, component, varia-
tion, and example), my experience with many large UX teams suggests that as designers
acclimate to a library over time, they rely less on names and more on coded references
and visual techniques like scanning a collection of thumbnails.
Browsing a view of component thumbnails often enables a designer to more rapidly find
and use a variation. The “Aha” moment of finding a component visually or exclaiming “I
want that one!” by pointing at a printed contact sheet can be a more powerful and gratify-
ing experience relative to trying to discern and remember what “Secondary Navigation”
means and where exactly it’s supposed to fit in a page design. Sorting files or symbol
libraries based on codes can enable a designer to pick the needle out of the haystack.
And other stakeholders, such as developers, may be less efficient in repeatedly typing out
long names in communications, documentation, and code. Instead, component codes
offer a shorter—and more precise—reference than the long labels of component names.
The codes also result in far fewer reference errors, since natural language labels can shift
as they are being retyped or remembered, but codes don’t afford such language shifts.
That said, consider ways of combining component names and codes. If components are
retrieved as individual files, concatenate the component code and name together in a
filename like G04v2x1.SearchBar.FilteredByBlogs.inds (in this case, an InDesign snippet).
Similarly, label the component symbol as G04v2x1.SearchBar.FilteredByBlogs in a stencil
or symbol panel. Finally, use names for any features that your software tool supports for
searching and filtering. This is especially helpful if your tool supports tagging an item with
keywords.
Keywords
Depending on your software tool(s) of choice, you may be able to apply keywords to
components (files or symbols) that make it easier to learn, retrieve, and use components.
If your software or Web-based documentation enables you to apply and retrieve compo-
nents based on keywords, then go for it. For example, Adobe Bridge enables you to apply
keywords to a range of files within the Adobe Creative Suite, and its Filter panel enables
you to see one or more directories of assets simultaneously and filter files based on
keywords (Figure 9.18).
Keywords 201
Figure 9.18 An Adobe Bridge view of a component library, with keywords applied to each file and used to
filter components via the Filter panel.
At a minimum, apply individual keywords for the category, component name, and varia-
tion name of each item. This way, a designer can filter the library at any level, for example,
“Show me all components in the Sidebar category” or “Show me only the Contact Us
components.”
When keyword quantity increases, it becomes difficult to identify higher-level keywords,
such as for a category. In that case, consider preceding keywords with a prefix like “_cate-
gory:” so those keywords are distinguished and display first in lists. Additionally, reinforce
other aspects of the taxonomy, such as the shorthand code for each category, by includ-
ing those in keywords, too. For example, you could apply “_category:Sidebar (S)” to every
component in the sidebar category to reinforce that S stands for Sidebar.
Keywords are very powerful for revealing other important properties that distinguish when
a component can or can’t be used, such as by the following:
Publishing platform (such as “_platform:Portal” and “_platform:CMS”)
Grid (such as “_grid:full width,” “_grid:two column,” and “_grid:two column
with sidebar”)
Page region (such as “_region:billboard” or “_region:sidebar”)
Page type (such as “_pagetype:navigationClass” or “_pagetype:article”)
202 CHAPTER 9: Organize
Additionally, apply keywords that serve as synonyms within your team’s vocabulary,
especially since synonyms don’t appear in a component’s formal name. For example,
consider a component used for showing time-sensitive messages at the top of a page
that is referred to formally as the “Messaging” component. Depending on how your
team refers to the component, you could also apply keywords such as “Notifications”
and “Time-Sensitive Messaging.”
203
10
S E T U P
Tools
As teams prepare to produce components, be ready for an important and perhaps emo-
tional discussion about selecting a software tool. Creating a component library requires
an entire team to standardize on one or a few software applications. Your strategy must
consider organizational culture, individual capabilities, willingness to collaborate, available
hardware, and ultimately your team’s ability to adapt and embrace a new tool for getting
the work done.
Figure 10.1 Diagram software icons for considering different tool roles for producing design and
documentation.
Every type of artifact has unique properties and needs, so choose software tools that work
best together to create artifacts such as those described here:
Deliverables: Paginated documents that include all types of artwork and diagrams,
delivered as versioned PDFs. Examples include: annotated wireframes, design
specification, style guide, usability report, and competitive analysis.
Wireframes: Low-fidelity designs rendered as boxes, symbols, and type hierarchy to
communicate screen layout, structure, and behaviors, but without annotation and
content describing the design.
Comps: High-fidelity screen designs with precise layout, color, typography, and style,
but without annotation and content describing the design.
HTML/CSS: The source code for the presentation layer.
Diagrams: Any conceptual illustration, including site maps, concept models, naviga-
tion flows, mental models, and more. Diagramming tools are likely to be left to a
designer’s preference (such as preparing a concept model in OmniGraffle for PDF
and placement within a separate InDesign deliverable).
Prototypes: Any interactive document that links screen designs together, such as an
interactive HTML, Flash, or PDF export from a design tool.
Markup and Other Assets: Documents that contain HTML, style sheets, scripting,
compiled interactive experiences (for example, SWF), and production images (for
example, JPGs and GIFs).
Tools 207
Component libraries are often built in the context of large design organizations looking
to promote consistency across many people. The larger the team, the more likely multiple
operating systems (both Microsoft Windows and Mac OS X) are in play, particularly if
both internal staff and vendors use the system.
However, many tools are platform-specific. For wireframes, Microsoft Visio and Axure
RP work only on Microsoft Windows, whereas OmniGraffle works only on Mac OS X. For
some teams, that’s just fine since all resources are constrained to a single platform and
already used to a single tool. In other instances, platform-specific products are quickly
dismissed in favor of applications within the Adobe Creative Suite.
Using more than one Adobe Creative Suite product is often associated with a desire for
wider adoption across larger organizations and participating vendors. One large team
had standardized on Microsoft Windows XP internally, but all of their vendors used Apple
OS X. That team decided to use Adobe CS because it works on both platforms, enabling
the team to build out one library as well as share files between internal and external team
members.
The Adobe Creative Suite provides a range of powerful and cross-platform design applica-
tions (for example, Photoshop, InDesign, Illustrator, Fireworks) that work well together
with helpful support tools (for example, Bridge). The choice of tools in the Adobe Creative
Suite comes with a price, however: Adobe CS (particularly if many products are used in
combination) may cost more per seat and require more dedicated training and a longer
adoption period.
Resistance to Change
Over the past three years, we’ve facilitated surveys and observed behavior of over 200
designers that reveal some interesting perspectives and behaviors. As an individual culti-
vates proficiency with software over the course of a career, a strong attachment to one or
more tools may develop. Some designers are fearful of management recommending—or
mandating—a standard tool and systematic approach for producing designs. Such fear
extends beyond being bound by standards that seem to constrain (but are intended to
focus) innovation. More simply, individuals feel comfortable and effective using their tool
of choice and are resistant to the cost of switching tools. Nobody wants to be perceived as
less productive, less efficient, and thus less valuable to an organization.
There is a strong correlation between experience level and resistance to change. Such
resistance among senior designers is unfortunate, since they are leaders of design proj-
ects, more effective at communicating design, and potential champions of the approach.
208 CHAPTER 10: Setup
By contrast, less experienced team members often exhibit a strong desire to learn more
effective techniques and tools to broaden skills, if given sufficient time to learn and adapt.
Assembling a library in multiple tools is one technique to counter resistance and increase
adoption. In effect, you replicate an entire library in two or more software applications so
that designers can choose a tool to produce screen designs, such as using Microsoft Visio
and OmniGraffle to produce wireframes. Be careful with this approach, for assembling in
multiple tools exposes a team to the following risks:
Ω Maintaining multiple instances of the same library costs more, and it takes more
time to create, package, and distribute each version.
Ω Tools have different capabilities, so consistent production is potentially compro-
mised due to disparate features.
Ω Designers use the existence of different tools to justify creating and communicat-
ing design differently, which runs counter to the goals of unifying a team around a
component library.
Another approach to mitigating resistance is to find the tool that represents the best
compromise of all teams. This, too, is risky. By compromising everyone’s needs and trying
to select a one-size-fits-all tool, you may end up diluting the power of any individual disci-
pline (for example, visual design) and/or capability to produce a type of artifact (comps vs.
wireframes vs. annotated specification or report).
Selling the system too softly, and the potential cost of switching to a new tool, can under-
mine your effort. A director of a large UX team was acutely aware of dissident designers
groaning about the tool switch. So, on launch day, the director began the training session
with something akin to “we’re here to learn about a system that, if you like it, can help
you design. But we don’t want to disrupt your preferred workflow.” With that, right out of
the gate, the opportunity to transform the team and culture was lost. Contrarian design-
ers tuned out the training, instead working and checking email. The director could have
openly recognized challenges, inspired the team with a rousing strategy, and invited the
designers to identify gaps that the group could have closed together.
Ultimately, it is open communication that most effectively mitigates resistance to change.
Frank discussion must acknowledge the resistance and provide opportunities for contrary
voices to be heard. When creating a library, there’s ample opportunity during the project:
the kickoff meeting, discovery workshops, reviews of survey results, workshop sessions,
coaching clinics, and most importantly, private conversations. These events are a plat-
form for cynics to challenge the system, identify its gaps and weaknesses, recognize viable
alternatives and solutions, and ultimately trigger teachable moments that help everyone
understand the constraints—but more so the opportunities—of a new system.
Templates 209
Templates
Once you’ve selected a tool, then it’s time to starting thinking about templates. For wire-
frames and comps, document templates are a standard starting point for screen designs
and annotations that include preset page height and width, grids and guidelines, text with
styles, standard layers, and other implied conventions.
If you want to create consistent, modular design, solid templates are a must. Templates
start the designer with an established foundation to design with components and
document their designs.
Figure 10.2 Use different templates for screen designs (here, wireframes) and deliverable documents.
210 CHAPTER 10: Setup
For screen designs, you can set up the canvas size to match your design system, such as
a page width of 800 or 980 pixels. Guidelines can match one or more standard layouts
within your design system. And typography styles can map directly to your experience’s
style guide.
Conversely, deliverable documents can have a distinct collection of masters or backgrounds,
each with relevant guidelines, typographic styles, and layers oriented to how you docu-
ment your design.
Modular reuse of screen designs by placing them one or more times into a deliverable
document enables separation of content (in this case, screen designs) and presentation
(in this case, paginated documents). Such separation increases flexibility and collabora-
tion: First, John the design lead could create a wireframe that Paul the researcher and
Stacy the production designer could each include in their research report and design
specification, respectively. Second, if the wireframe is linked to the deliverable, then any
subsequent changes by John would be automatically updated when Paul and Stacy
publish a new version of their deliverables.
Figure 10.3 Multiple-page layout grids, each made available as a separate, named background in
the software tool.
Layers
Keep layers simple in templates. Designers will organize layers when creating screen
designs using their own mental model (if they organize layers at all, which many don’t).
This will leave many efforts for sophisticated layer standards as exercises in frustration.
That said, a few basic layers, such as content, grids, and annotation markers could keep
designers aligned, and enable one designer to open another’s document and not be
completely confused (Figure 10.4).
Figure 10.4 InDesign layers panel positioned adjacent to elements on each layer of a wireframe: grid
guidelines, component marker (N05v2), content (an image), and the fold band.
In addition, minimize layer quantity in design files. Layers tend to obscure document orga-
nization to those who didn’t create the layers. Also, some Adobe CS products enable you
to control what layers display in one document when it’s placed in another document, but
the value of such a feature diminishes when designers can’t recall or understand the layer
structure they themselves created. In my own practice, wireframe content rarely spans
more than a single layer, with shapes and text instead arranged forward and backward
within that layer.
Styles 213
Styles
A style is a predefined set of formatting that can be applied to shapes and text in a
design, including color, font, alignment, opacity, size, weight, and more. Depending on
your software tool, you can create styles for paragraphs, characters, shapes, tables, and
cells in a table.
Really? Styles? If we’re talking wireframes, then why do styles matter?
Whether you are creating wireframes or comps or HTML/CSS libraries, styles embed-
ded in your templates are crucial for quickly creating designs and easily maintaining the
visual system. While wireframes are not meant to be pixel-perfect, a wireframe library
should accurately mirror the typography of a design system so that designers can quickly
create—and communicate—consistent screen designs. For a library of high-fidelity, pixel-
precise comps, the value of styles increases even more. On the code side, one or more
cascading style sheets are the bedrock on which a component library rests.
When at the outset of building a component library, after you’ve resolved that grids are
sufficiently stable, the next critical question is: What typographic and layout standards
have been defined and documented? By defining a set of template styles based upon
conventional names, your templates can bridge to the team’s collective understanding of
the design system. Don’t leave designers guessing at how to appropriately format a basic
paragraph, bulleted list, or page title.
214 CHAPTER 10: Setup
To get started, use an existing style guide that includes typography and color palettes.
Project documents and specifications contain style details as well. You can also review
cascading style sheets of live pages to discern common type treatments. Without that
baseline, use your best judgment to establish a reasonable type hierarchy from scratch.
ΩΩ TIP Speed up your ability to evaluate styles of live pages by using a bookmarklet, which is a
small utility you can embed as a simple bookmark in a web browser. Bookmarklets enable you to
quickly identify formats like font family and font style without drilling through complex source
code. Using a bookmarklet is simple: Just highlight a portion of a page (such as a piece of text)
and select the bookmarklet to reveal details such as font size, weight, color, and more. Useful
bookmarklets can be found at Square Free’s site at https://www.squarefree.com/bookmarklets/
webdevel.html, or via a basic search for terms like bookmarklet, style, and CSS.
Type Styles
Communicating structure in wireframes and comps is essential to good design, and a
core yet limited set of standard type styles can help designers be more consistent. With
type styles that are easy to distinguish and apply correctly, designers have an accurate
starting point and can map templates to standards like those found in a style guide.
Stock your library with organized type styles for the following:
Paragraphs: Usually normal, small, and large paragraphs suffice, but add additional
sizes as necessary.
Lists: Include bulleted and numeric lists of various sizes, plus other common lists
found within the design system, such as a stacked list of links preceded by “»” as the
bullet character.
Titles and Headers: Include one or more section headers, as well as the page and
other common titles.
Tables: If table text differs from paragraph styles, then consider a separate set of table
text styles.
Forms and Errors: Include form labels, supplemental text, error text (usually the only
red text within a wireframe library), and text that appears as a value within a form con-
trol like a text box or list box.
Styles 215
Links: Use blue, underlined links for wireframe libraries so that linked interactions
stand out. Since links often appear within a paragraph, they are better formatted via a
character style applied inline to only a portion of text rather than a paragraph style that
applies to an entire paragraph.
Gray: Although type color is not often used to communicate structure in wireframes,
50% gray text (for supplemental text on a form like formats, for example) can also be
useful as an inline style.
Applying a text style quickly from a menu or simple command is paramount for designers
to be willing to adopt text styles. Most design tools have one or more type style panel(s)
(such as those shown in Figure 10.5 from Adobe InDesign); a designer selects a chunk of
text and then applies the style by clicking it in the panel.
Figure 10.5 InDesign panels of interrelated styles that enable a designer to create
wireframes based on existing conventions.
Some tools, such as Adobe InDesign, also enable keyboard shortcuts to “Quick Apply”
the style by typing the first few characters of the style name only. Such shortcuts dramati-
cally reduce the time and rigor when applying styles.
216 CHAPTER 10: Setup
Depending on available features of your software tool, you can set up tab stops for form
labels and controls in a single text frame (Figure 10.6).
Figure 10.6 InDesign form layout inline inside a single text frame with inline form
controls and tab stops to align labels (right-aligned), required fields (center-aligned),
and form controls (left-aligned).
Each stop can ensure proper alignment (left or right), control spacing between labels and
controls, and enable a designer to shift all elements in a form quickly and consistently by
selecting the entire passage and moving tab stops left and right. For longer forms, this
can be much more efficient than moving each label and control independently.
Object Styles
Consider object styles to encapsulate common formatting attributes of shapes. Common
objects that can use styles include the following:
Frames: Of course, frames! Those white boxes with a gray border to distinguish a par-
ticular chunk of a page. Although using at least one frame style is essential, advanced
wireframe libraries include a range of frame border styles based on common formats
Styles 217
of the design system, varying the box by stroke/line width (from 1px to 5px to 10px),
and varying padding, alignment, and style of type within the frame.
Buttons: Usually you’ll have standard button styles, including type size and padding.
For wireframes, define buttons as blue with lighter text label as well as text inset pad-
ding if possible; this way, they’ll stand out as interactions just as links do, and be easy
to create and resize from scratch. For comps, embed standard colors, corner styles,
gradients, and other graphical treatments.
Relating Styles
When setting up type and object styles, consider the relationships you can create
across styles to better manage a collection of styles and quickly apply a series of
related styles.
Figure 10.7 shows a common wireframe chunk that includes a header, horizontal rule,
and then normal paragraph content.
Figure 10.7 A common wireframe chunk—with header, rule, and paragraphs—constructed via a single
object style and paragraph styles related via Next style.
Here, an object style formats a first line with a “frame header” paragraph style. The
defined next style for “frame header” is “rule” so that when you press return, the next
line will be defined as a horizontal rule. Pressing return from a line styled as “rule” will
then yield a subsequent line styled as “medium paragraph.” That way, you can type in the
header of the frame, press the enter key (which creates a subsequent line as a horizontal
rule), press enter again, and begin typing the normal content. In just a few keystrokes,
you’ve created a standard wireframe box with content!
218 CHAPTER 10: Setup
Take Control
author: Andrew Payne
Role: Design Technologist, Sun.com
1. Document Everything
Documentation of HTML components is essential for keeping all parties informed
of what is available for use and how the components should be used. Forget screen-
shots and PDFs; use live HTML examples for component documentation and
keep a singular “gold” repository—that is, authoritative and finalized code—of all
components.
right answer. However, most things that start as one-off eventually multiply. That’ll
change your mind about one-offs.
Conventions
As templates stabilize, discuss design conventions to be adopted by the entire team. Con-
ventions are critical for successfully using a template system for consistently designing
screens, and will help stakeholders learn whatever the designs do—or do not—represent.
Wireframe Conventions
For wireframes, conventions have
evolved over time and remain distinct
across individuals and organizations.
A review of my own portfolio reveals a
transition from highly styled wireframes
to simpler presentations over time to
more simply communicate structure and
behavior without implying or constrain-
ing visual design. Figure 10.8 reflects this
range of wireframe personalities, where
earlier wireframes had included numer-
ous colors, many levels of grayscale, and
Figure 10.8 Diagram of different wireframe
rounded corners. That said, wireframes
conventions, opting for simple frames and white
produced within the context of a well- backgrounds relative to grayscale frames, col-
formed system can include well-defined ored frames, and unnecessary rounded corners.
220 CHAPTER 10: Setup
visual standards, such as positioning, typography, and other layout details that remove
ambiguity of structure and behavior.
Common wireframe conventions include the following:
Simple gray scale: Wireframes include gray outlines, white backgrounds, and clear,
black type hierarchy to reveal structure and behavior of a screen design. Beware of
gray backgrounds that can (a) inordinately emphasize page regions (instead, use
annotation for that), (b) confuse consumers into believing it’s closer to a final color
treatment, and (c) simply be difficult to interpret. Minimize backgrounds using
different shades of gray to connote hierarchy. Instead, rely on position and type to
reveal hierarchy.
Use Arial. Only Arial!: No matter what font family or families you use in your site
design or for your deliverables and annotations, limit wireframes to Arial. Many site
designs use Arial anyway. Arial is available across both Mac and PC platforms, and
Arial provides a strong distinction between normal and bold weight. Resist the
temptation to integrate many font families in wireframes; instead, standardize on
Arial as a recognized typeface to minimize confusion with more formal typography
in your visual system.
ΩΩ TIP Minimize unnecessary visual detail: Rounded corners, gradient backgrounds, varying
stroke weights, and type variations almost never have anything to do with the core purpose
of wireframes, which is to communicate structure and behavior. But such visual cues almost
always degrade early, strategic design discussions into annoying conversations of visual style
long before they’re appropriate. Therefore, avoid embedding unnecessary graphical details.
Conventions 221
Comp Conventions
For comps, conventions take on a different tone. The comp library need not standardize
on a way to represent an image (with an X) or link (such as a blue underline), since the
comp components should depict exactly how the design should appear for a design
system. Some standard conventions to be discussed include the following:
Ω Screen resolution
Ω Use of layers and layer groups
Ω System versus rasterized text
Ω Effects, layout, and other customization of specific elements such as form controls
Ω Typography, including font families, weight, leading, kerning, and more
Ω Color palette(s), gradients, interactions of different colors, and color coding (such
as hex values)
These and other comp conventions are strongly mapped to the style guide and overall
visual system and should be embedded into templates, libraries, and styles as much as
possible.
Representing Copy
During the design process, copy is almost certainly not final. However, decisions on
interaction design labels, editorial standards, and branded messaging will find their
way into a design over time. As designers place components into their screen design,
the default representation of each copy element can go a long way toward helping the
designer decide whether to change copy, and how to communicate content requirements
to others.
As you prepare to build out a library of components, represent component copy consis-
tently. Not all copy should be displayed—or changed—in the same way. Some copy rep-
resents fixed, actual labels, such as a header’s navigation options or fields in a login form
(“Username” and “Password”). Other copy may depend on the component’s context of
use, format decisions, or available space.
Dan Brown summarized the various techniques to represent copy in design assets in
his “Representing Data in Wireframes” poster presented at the IA Summit in Montreal,
Canada, in March 2005. In the poster, he introduces different types, risks, and mis-
representations of data in wireframes. He also defines five approaches, which are an
222 CHAPTER 10: Setup
excellent framework for you to decide how to represent copy within library components
(Figure 10.10).
1. Actual: Displays the copy as intentionally fixed, unchanging, how it will look in the final
interface. Actual data is often used for fixed header and footer navigation, form labels
(such as “First Name”), section headers, and other values that shouldn’t change.
Additionally, this approach uses actual values for fixed items, such as addresses and
phone numbers, although this may distract a stakeholder evaluating the interface.
2. Dummy: For dynamic values, consider inventing dummy data to appear like actual
data but which intentionally and implicitly communicates that the values aren’t real.
Values like Homer Simpson, Mickey Mouse, and John Doe are dummy values, and are
often used in displays, such as profiles, lists (search results, for example), and tables.
However, stakeholders may misunderstand the data’s meaning relative to the design’s
purpose, which in this case is to include a first and last name.
3. Symbolic: Displays copy as a series of repeated characters to communicate field length
or type. While XXXXXX is distracting, use symbolic values to communicate price
($###.##), date (MM/DD/YYYY), time (HH:MM pm), and other common data formats.
5 Labeled Data
Contact [Company]
>2I¿FH/RFDWLRQ1DPH@
>$GGUHVV@
>&LW\@>6WDWH@>=,3&RGH@
3KRQH>@>@>@
4. Lorem Ipsum: Creates or replaces copy with placeholder Latin text (usually begin-
ning with “Lorem ipsum dolor...” thus the name lorem ipsum) to replicate random
but realistic text otherwise absent of structure. Lorem ipsum is valuable when rep-
resenting a long paragraph passage, or even random header values across sections.
However, the structure lacks labels and length that contribute to understanding the
potential content at a deeper level.
5. Labeled: Encloses a variable name in brackets, such as [], <>, or {} (depending on your
convention). For example, you could display a name as [First Name]. Labeled values
are very effective when documenting each interface element and mapping variable
content to a content management system or feed.
If a value (such as article body copy) is much longer than a labeled name, append
lorem ipsum after the labeled name within the brackets, for example, “[Article body
copy lorem ipsum im aut omnia saessi conempel id et quia es].” However, if the value
is shorter than the name (as in a state abbreviation), you may be stuck choosing a
misleading longer label ([State Abbr]) or an ambiguous abbreviation ([SA]).
Labeled data is most effective and helpful for developers and quality assurance
analysts implementing and testing a design, but it may seem foreign and odd to
less literate stakeholders reviewing a design for the first time. Labeled data is com-
pletely inappropriate for designs used in usability testing, since participants won’t
understand such attribute-based displays. Therefore, data is often transformed
from actual to labeled values as the design solution matures and moves toward
specifications.
Avoid one common pitfall: embedding guidelines in textual copy, such as the guidelines
shown in Figure 10.12.
11
B U I L D
You’ve identified all the components. You’ve organized them into catego-
ries, prioritized what needs to be built first, assigned names and IDs. You’ve got templates
created, conventions established, and designers at the ready. Now it’s time to build the
library!
The process of building a component library includes the following:
Ω Clarifying contributor roles
Ω Transforming templates into build file(s) suitable for building and maintaining
components
Ω Assigning, building, reviewing, and refining each component
Ω Assembling collections of predefined pages and elements
Ω Packaging templates, components, pages, and element libraries for distribution
226 CHAPTER 11: Build
Roles
Building a component library requires a standard set of roles to ensure that you know who
is producing, reviewing, and integrating each item. For a small library, a single person can
assemble the entire collection. This has many advantages, including consistency of the
following:
Ω Production and visual appearance
Ω Style names and definitions across artifacts, including wireframe and comp
templates to CSS within HTML markup
Ω File structure, including pages, layers, and objects
Ω Names of and keywords associated with individual component items
More than one person may need to contribute to libraries that are larger or need to be
produced faster. In that case, identify a leader (usually, the librarian) to assign, monitor,
and aggregate assets built by other contributors. Typically, such contributions begin after
a lead has crafted a mature baseline of templates with grids and styles.
The lead is responsible for ensuring consistency of all assets, and may “smooth out” dif-
ferences in artwork produced by others. Periodic reviews enable contributors to compare
progress, artwork consistency, personal style, and key decisions. Such reviews enable
contributors to synchronize tactics in real time, avoiding the costly process of smoothing
inconsistent production as the process draws to a close.
For teams creating components across more than one asset type (wireframes, comps,
and/or HTML/CSS markup), align efforts to ensure both visual and naming consistency.
If a team has leads for each discipline (such as a lead interaction designer for wireframes
and a lead visual designer for comps), identify one lead responsible for the catalog and
monitoring consistency across the work of each discipline. For a deeper discussion of
roles, including that of the librarian, refer to Chapter 12, “Administer.”
Not every stakeholder—not even every designer—may be involved in building compo-
nents. However, engage designers and stakeholders to solicit feedback, identify potential
champions, and promote the library before it’s officially packaged and distributed. Their
comments will improve the process, refine the library’s organization, and empower others
to influence the library’s direction.
Build Files 227
Build Files
A template is great for creating page designs, but may not be suitable for building and
storing all of the actual components in a library. When building a large number of items,
you’ll likely author similar components, variations, and examples together: headers and
footers on one page, sidebar components on another, and modal panels together. This
layout doesn’t resemble a page design whatsoever, but instead resembles an organized
layout of reusable assets as illustrated in Figure 11.1. We refer to such a document as a
build file. A build file is a document used to create and maintain many components in a
single file, and serves as the source from which to package each individual item.
By centralizing the entire library (or, at least, a considerable portion of a library) in a single
file, you can synchronize styles, aggregate items from other contributors, smooth out
differences, and manage changes—all in one place.
Figure 11.2 Components in a build file, grouped within a grid as variations adjacent to one
another as opposed to within page layouts.
It is very common to evolve style names and definitions in the build file during the process
of building components. Just be sure to synchronize style changes with the template
before packaging the library.
Also, you can create different grids of guidelines based on common column sizes in your
overall grid, repeating these mini-grids across the build file’s page. For example, even
though the page template has just one sidebar of 180px, create a background that repeats
a 180px column three times across the build file layout (Figure 11.2). This is useful for cre-
ating many component variations common to a region of the page layout within one page
of your build file.
Figure 11.3 Source artwork of components (in this case, page title variations) placed in a reference
document that includes annotations.
230 CHAPTER 11: Build
In effect, the build file transforms into a photo gallery that designers use to systematically
display many components on a single page for cataloging, identification, and selection.
To formalize the build file as a reference document, include the following additional
content:
Ω Title page clarifying the context of the build file and its content
Ω Table of contents, ordered by component categories and/or IDs assigned to each
item of the library
Ω Component codes and names emphasized throughout if a team adopts a more
formal organizational system
Ω Descriptive document information, including title, author, version, date, page
number, and overall page count repeated on every page
Time to Build!
Now comes the fun part: actually building out each individual item in the library. When
creating each component, consider the steps illustrated in Figure 11.4.
1. Assign: If the component library is built by more than one person, then the group
should meet early on and assign subsets of the library to each individual. Assign differ-
ent component types (for example, all video players and interactive media) or catego-
ries (for example, all header, footer, and navigation components) to the same person
rather than randomly assigning each library item to each person. This will ensure that
smaller sets are more consistent from the outset, and that designers can focus on a
small, related batch.
2. Draft: Each item is rendered in whatever asset type(s) (wireframe vs. comp vs. HTML/
CSS markup) will be included in the library.
3. Review: Whether one or more persons are involved in assembling the library, it’s vital
to review assets with other designers and/or stakeholders before publishing an item in
Time to Build! 231
the library. Reviews are critical for eliciting feedback, synchronizing design work, and
involving stakeholders in the process.
4. Revise: If an item requires changes, revise the component before submitting the final
version to the librarian for inclusion in the build file.
5. Smooth: Even if the library is built entirely by one person, review the entire collection
from a higher level to ensure consistency. For projects with many team members,
synchronize items as contributors submit finalized artwork. In effect, “smooth out” the
differences in construction, organization (including styles), and visual appearance that
arise from different contributors, such as the proliferation of unaligned objects of a
designer versus the clean and aligned version (both shown in Figure 11.5). This usually
requires the librarian to review and revise each asset as it is integrated into the library.
Sometimes it’s as easy as pushing a few shapes around. But this can be much more
painful if the team hasn’t adopted a baseline of templates, styles, and conventions
early on and evolved them together during the process.
Figure 11.5 Two different component constructions: on the left, a poorly built wireframe
component with too many poorly aligned objects; and on the right, a smoothed, polished
version within a single, styled frame.
Wires to Reality
author: Andrew Payne
Role: Design Technologist, Sun.com
Fallbacks?
A common hole in designs and wireframes is lack of coverage for fallback behav-
ior. What happens to users without JavaScript, users without mouse access, or
blind users? Even fallbacks for things like shorter or longer text blocks need to be
considered when coding the HTML. Communicating these types of issues early on
can help reduce open issues remaining at the end of the design phase. If possible,
include developers early in your process and press them to consider these types of
issues quickly so that fallbacks and alternatives can be built into the design.
changes that are minor for you but a dramatic time saver for them. Also be mindful
of your code’s complexity. You may be able to make compromises to your pure, ideal
code in order to deliver assets that are easier for them to combine and maintain.
Your goal should always be to produce components that others can consistently
implement and correctly use. Beyond simply providing a consistent experience for
your users (isn’t that everyone’s goal?), good components will also keep your code
base tidy, agile, and easily controlled by the CSS.
Page Types
Designers significantly benefit from browsing and utilizing page types. A page type is a
complete, predefined page layout that consists of an assembled set of components, such
as the one shown in Figure 11.6. Creating a library of page types can clarify the use of a
component by showing it in context.
A page type is also valuable as one or more of the following:
Ω A starting point to update that page for a future project
Ω A standard layout that organizes components in a meaningful way
Ω A full-page example assembled via components to reinforce the approach
to designers and stakeholders
Ω A supporting artifact for writing guidelines for components and pages
A team may choose to create a few representative page types, such as a home page, a search
results page, or a product page, or may use a component and page type library to catalog
and evolve a much more extensive collection of page types across projects and efforts.
Managing a page type library also brings the additional task of synchronizing component
and page types whenever a library is updated. Since page types are built from components,
if a component changes, then every page type that uses that component must be updated.
234 CHAPTER 11: Build
HF01v1
HF03v1
HF02v1
Welcome! Sign in or create an account for eightshapes.com Search GO
HF04v1
C04v4 S01v1
Contact EightShapes
[Headline] For sales, training, and other general
inquiries, contact us via the following
[Subhead poris aut laborem eatur sae pro options:
quis di ut int, sini reperibus iunt maximpost
od que volessitis tur, con remporundit dolor Chat Now
arum as alit eturibus.]
» Email
» Call
Learn More » Have Us Call You
» Worldwide 2f¿ces
[Video title] [Video title] [Video title] Forgot your: Username? Password?
[Author] [Author] [Author]
MM:SS MM:SS MM:SS Not Yet a Member?
Create an account for access to
eightshapes.com.
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Just as components are built, consider aggregating page types in a build file. That way,
page types are sourced from the same place (including styles and layers), synchronized
easily with evolving components, and presented as a handy visual reference if exported
as a PDF document.
Element Libraries
Just as teams augment a component library with assembled page types, designers also
benefit from organized collections of individual, atomic design elements, such as the
form controls shown in Figure 11.7.
Packaging 235
Figure 11.7 An element library used to rapidly create wireframe form layouts.
Packaging
Once component artwork is final, package it so that designers can obtain, unpack, and get
started easily. How you package components depends on what software tool you choose.
However, you generally choose one or both of the following options: distributed in a
library panel within the workspace, or distributed as separate files.
236 CHAPTER 11: Build
Create the library, add components one by one from the build file to the library, and
then distribute the library with the broader system. Refer to your software tool’s Help for
information on how to create, manage, and distribute components using a library panel.
When creating a library panel, the following considerations apply:
Avoid document-specific libraries: Don’t embed a library within a document template,
but instead as a library that’s reusable across and distinct from any one document.
This will reduce document template file size; optionally enable you to create multiple,
categorized libraries if necessary; and modularly manage templates separate from
components themselves.
Importing libraries from document to document: Many tools enable you to import a
collection of components from one library to another library or into a document. This
Packaging 237
can be helpful for quick tasks, but it also runs the risk of creating multiple instances of
the component library that can lead to out-of-date components being used or retained
in unpredictable places.
Discourage designers from changing panels: Warn designers that they should not
update or add to distributed libraries, since a librarian will update and release future
versions that would overwrite older versions.
Advantages
Library panels (such as a Microsoft Visio stencil) are very familiar to all but beginning
users of each particular software tool. Using this approach comes with the following
advantages:
Efficiency: Dragging and dropping a component from panel to document is incredibly
fast. Leaving a tool’s workspace can be cumbersome, so browsing, selecting, and add-
ing components from a collection of thumbnails feels the most productive.
Consolidation: A library panel organizes the components in one place, particularly if a
panel includes components from one category. Therefore, opening and using panels
implicitly informs a designer about the library’s organization.
Disadvantages
However, when adapting to a large component library, such panels have drawbacks like
the following:
Weaker metadata: Most software tools limit the amount of descriptive information
you can add for each item. Typically, this information is limited to a name and thumb-
nail but may also include type (such as graphic versus animation) and description (a
longer field to aid retrieval via in-panel search). In general, finding items within a larger
collection can be challenging.
Insufficient thumbnail size: Panels in workspace are already small enough, so the
thumbnail display of a specific item within that panel is even smaller. If you have a
complex component—or a thin shape, such as a wide but short header—then the
panel limits your ability to distinguish between similar items.
Collective distribution: Whenever one item in a library changes, you have to distribute
the entire library. Quick distribution via email becomes cumbersome since a library’s
file size can increase significantly when it contains many complex components. You
could distribute an item in a separate document with instructions for users to add it
to their library from there, but that’s cumbersome.
238 CHAPTER 11: Build
Figure 11.10 Wireframe components that are available as individual snippet files for placement in Adobe
InDesign (browsed here via the content and filter panels of Adobe Bridge).
Packaging 239
Advantages
Although using a separate dialog to place artwork can feel cumbersome at first, nearly
every component library that we’ve built uses this approach.
This approach has numerous advantages that include the following:
Discrete item management: You can manage, version, and distribute each item in the
library separately rather than within a library file.
More file content: Instead of relying on a simple object for the component itself, you
can include more information in the file’s content, such as specific layers,
annotations, and other facets that would be inappropriate for a component added
from a library panel.
Advanced metadata: Adobe Creative Suite enables you to add additional metadata to
each file. By tagging each file with numerous keywords, you provide much richer expe-
rience for filtering and retrieving components within tools like Adobe Bridge, which
lets you organize, browse, and locate the components you need and then drag them
into your document of interest.
Disadvantages
This approach also has some disadvantages:
Outside the workspace: Users can feel less productive when they have to leave the
workspace to add a component, whether via a dialog to navigate their file system
to find the component or by switching to a different application from which to drag
and drop.
Feeling overwhelmed: For larger component libraries of more than 200 items, seeing
each component as a different file may lead some users to feeling overwhelmed with
too many options. Even though metadata enables filtering to smaller sets, the initial
perception of a vast library can be intimidating. For whatever reason, this
feeling is not as acute when using library panels inside the workspace itself.
the item as “G04v1.SearchBar.Default.” If the item were stored as a separate file (such
as a Photoshop PSD file), then the filename would be “G04v1.SearchBar.Default.psd.”
Grouping: If your library has more than 20 to 30 items (most libraries have over 100),
then consider organizing items into multiple panels (if using library panels)
or folders (if using separate files) for each category.
Tagging: Once in a library or separate file, tag the component with keywords to
improve retrieval, particularly if your software tool enables dynamic filtering or search.
Distribution
Once all components have been assembled as libraries and/or files, you’re almost ready
to distribute the package! All that remains is organizing the numerous asset types—
components, page types, templates, and element
libraries—into a single package for distribution.
Figure 11.11 illustrates a well-organized folder
hierarchy that contains all files, appropriately
organized by type. Since templates serve as a
design’s starting point, consider putting them in
the root directory. If directories contain numer-
ous files, consider subdirectories for deeper
organization. Ultimately, organize the files in a
way that balances how to easily use and maintain
assets.
Files are commonly distributed via an archived
ZIP file that compresses what may be a file col-
lection of immense size. Zipping up files also
enables you to (a) distribute the entire set as one
file and (b) name that file according to a release
or date number to distinguish this version from
other subsequent or preceding versions.
Once distributed, the library is out in the open.
Teams will start to use it, and will need help on
how to best adopt the tools, techniques, and Figure 11.11 A sample organization of
standards. At the same time, librarians will shift InDesign library asset files, including
from leading a period of building into adminis- templates (.indt), component snippets
(.inds), element libraries (.indl), and
tering, documenting, and promoting the library
page types (.inds).
over time.
241
12
A D M I N I S T E R
The Librarian
At a minimum, a librarian must portray a certain confidence, since taking on the role of
librarian demands that you advocate standards in a way that others can follow. You must
love the library. You must believe. Actually, you can’t just believe. You must evangelize, too.
Faith Sharing
Evangelism can be a dirty word. It conjures up images of some so-called authority at a
pulpit, raging against design excess that crushes an organization. Nah, the librarian’s role
isn’t to bully designers into submission. You can’t be a blowhard trying to curtail a design
organization into a controlled regime of robots. Nothing turns off designers more than
someone putting them in a box.
Instead, evangelizing means sharing your faith in the library. You’ll be a leading face of
the library, standing on stage, presenting the library, and defending it to a wide audience.
It’s an important, visible role where you put yourself on the line. You must be ready to
answer questions large and small, and respond to queries and challenges you cannot
anticipate. You are a public witness of why the library exists, what it means to you and the
organization, and how it leads to the salvation of all designers. OK, maybe that’s laying it
on a bit thick, but you get the idea.
But just as (or more) important, you can share your faith through smaller, more personal
interactions. When you see an emerging design solution pop up in your email inbox, you
must wear your librarian hat as you reply. When you are participating in design and code
reviews, you must communicate library impacts. When new people join the team, you
must take a moment to share benefits of the standardized approach. And when manage-
ment is talking process and procedures—and management does that a lot—it’s you who
must find a way to embed the library in the conversation.
Teachable moments abound, not just for designers who have something to learn from
the library but for the librarian, too. Shifting design conditions provide opportunities to
acknowledge change and recognize how a library may not meet current needs. Effective
librarians challenge standards baked into a library just as much as designers do. That
doesn’t mean that you should accommodate any and every designer’s whim. But you can’t
be a brick wall either, shutting out alternative perspectives or a better solution. This open-
ness can improve the library’s credibility and assure designers that the library is a reflec-
tion of the best design, as opposed to all design being a limited vision of past work and a
librarian’s inflexibility.
You must also be conscientious of the operational details of building and sustaining a
component collection. Recall the library taxonomy in Chapter 9, “Organize”? It is the
librarian’s responsibility to assign component codes and answer where and why every-
thing belongs where it does. It’s up to the librarian to own that taxonomy, and watch out
for others who mistakenly misuse component reference codes because they don’t know
any better.
The Librarian 245
You’ll also take on the role of taskmaster, knowledgeable of what’s published, what’s being
worked on, and what’s on the horizon. As a manager of the component catalog, it’s up to
you to manage author contributions, make sure everything fits together, and respond to
requests to change or extend the library.
But you can’t do it alone. Effective librarians solicit help and delegate tasks that integrate
the perspectives and contributions of other designers and stakeholders. Distributing
responsibilities is critical. You don’t just share the load because you don’t have the time
and energy to do everything yourself, but also to heighten participation and acceptance.
You can manage assignments, progress, and communications, but others can help com-
plete a considerable amount of work under your tutelage.
Defining a Role
Someone has to keep the library’s lights on. It’s a good idea to concretely define early on
who will play the role of librarian. Leadership and momentum may shift to one or a few
individuals who really seem to get it and drive the effort. But a component library is not
born until someone is assigned to curate the collection over time. Allocating a resource—
even if only dedicated part time—goes a long way to legitimatize the library and give it the
minimum care it requires. A librarian must have enough time and focus to attend to the
details. There can be many components, changes, requests, and enhancements active at
the same time, and someone must keep an eye on all the moving parts.
In most organizations, it’s not just a few designers who are affected by a component
library. Instead, component influence can (and hopefully will) spread far and wide. Even
within a design team, multiple disciplines may be involved: from information architects
and interaction designers to visual designers and even content strategists. What role is
ideal for a librarian?
In most cases, the librarian works within the group funding the work, and it’s rare that
the group funding the effort will want someone outside the organization to lead the way.
Beyond ownership considerations, the person best suited for the librarian role depends
not just on personality, commitment, and skills. It also depends on who will be affected
most by the library, such as those who do the following:
Ω Rely on the library the most in their day-to-day workflow
Ω Need to access the library often and unpredictably (as opposed to only during
formal design reviews and structured collaboration)
Ω Contribute content in the form of guidelines, design assets, and other inputs
that become the library’s foundation
246 CHAPTER 12: Administer
When a librarian is organizationally separated from those most affected by the library,
many challenges—and even questions of legitimacy—arise. Designers trust standards
authored by their own team, as opposed to some faceless lead who isn’t in the trenches
with them. It truly is the “standards police” when a nondesigner swoops in to tell design-
ers what they can and can’t do.
One team faced such organizational separation just as a library was getting off the
ground. As the component library project began, the core team included individuals who
were jazzed about the project, believed in standards, and were ready to effect positive
change. The excitement of these individuals was palpable. They were obvious candidates
for the role of librarian, and their spirit was unswervingly gung-ho.
Then BOOM! A corporate reorganization tore the team apart, with the enthusiastic individ-
uals allocated to disparate groups across the enterprise. During the upheaval, distractions
were plentiful, and not surprisingly the library work slowed. As the dust settled, a strategy
team was formed to own long-term design vision as well as standards that included the
burgeoning library. The first problem was that the strategy team didn’t include any of those
early, enthusiastic library advocates; instead, they were allocated elsewhere and now knee-
deep in design projects. Even worse, the strategy team didn’t participate in the day-to-day
design work that directly influenced—and was influenced by—the library.
Ultimately, the library activity stopped. It wasn’t that those gung-ho individuals no longer
believed in standards or a library, far from it. But their new responsibilities and organi-
zational distance from the strategy team hindered progress and communication. The
strategy team admitted the library was the “right thing to do,” but it lacked evangelists,
commitment, and momentum. Organizational change and disruption notwithstanding,
the enterprise would have been better off to identify a librarian closer to or within the
design team. Unfortunately, sometimes such arrangements are impossible.
Multiple librarians and significant participation across your organization can ensure that
your library survives unanticipated change. What if your librarian quits and starts a new
job somewhere else? Sure, you can plug that hole with a different person, but domain
knowledge and library credibility may have just walked out the door. Make sure the
library’s future is bigger than any one individual by supporting and encouraging active
participation from as many team members as possible.
Teams can create opportunities for participation and influence by creating review boards
and working groups that span disciplines, teams, or organizational silos. If cross-func-
tional teams are sharing the library, they can jointly address critical issues like how the
library is organized, or even day-to-day considerations of whether a new component
is worth adding. These teams raise credibility and expose the library to more potential
adopters. That said, you still need a librarian to monitor requests, assign responsibilities,
maintain the catalog, and publish assets. Must it be one person? Perhaps not, but as a
cross-functional team includes more and more participants, the “go-to authority” could
become ambiguous. Therefore, work hard to clearly define roles and responsibilities.
A Component’s Life
Components can rise in a furious period of excitement, and fall quietly out of favor. Many
components live a meager, quiet existence, lingering in the library forever. A component’s
life cycle can be represented by the many phases of its existence (Figure 12.1). Under-
standing the life cycle can help you more effectively identify what’s valuable and cull out
what should be removed.
Request submitted to
component librarian
Librarian:
Is it worthy?
N Y
?
Review Board:
Is it worthy?
Rome wasn’t built in a day, and neither is a component library. Stakeholders declare
(or should be asked) how important an item is, how soon it’ll launch, how soon guide-
lines are needed. Therefore, create a priority scale (such as high, medium, and low) to
manage component priority for items that aren’t addressed immediately.
2. Assigned (optional). If component artwork or documentation is created by someone
other than the librarian, then at some point you’ll assign it. Even better, track the
assignment in the catalog, identify milestones hard or soft, and keep an eye on how
the assignment is progressing.
3. Created (also referred to as Drafted). Component design assets and guidelines are
created and prepared for review by peers and other stakeholders.
4. Reviewed (also referred to as or inclusive of Tested). Very basic components flow
right through the process, not requiring oversight before making their way in. But
A Component’s Life 249
most—and certainly the most significant—warrant peer review, feedback, and even
testing with authoring tools. Once reviewed, a component may need to be revised or
is ready to publish.
5. Published (also referred to as Active or Released). Once a component is available to
the organization, it is considered published.
Components can change over time, due to improvements, fixes, and other adjust-
ments. If the change is nontrivial, it may warrant a new variation and phasing out or
even ending the life of older variations.
6. Retired (also referred to as Deprecated). Components fall out of favor, but can live
on in design documentation as well as a live experience. Page designs often include
retired components that aren’t ideal but haven’t been replaced. Therefore, a design
library should retain and support retired components.
7. End-of-Life. Ending a component’s life has significant impacts. Once ended, support
is no longer available from design teams, just as engineers will cease code support
(such as removing CSS rules from style sheets). This process requires effort and
proper communication across groups, but is a necessity to minimize maintenance
costs and limit inappropriate use.
Release Status
Just because a component has been published and even used doesn’t mean it’s available for
anyone to use anywhere. You can communicate limited availability with a release status.
Design and engineering teams alike have scenarios where they want to try out a compo-
nent—even in a live, production environment—but also communicate that it’s not ready
for wide adoption.
The most common release statuses are the following:
Test. Teams may want to see how a component performs “in the wild” before approv-
ing it for general use. Such trials, for activities like A/B tests or usability tests, may be
short-lived, but once others see the component, they may start
clamoring to use it, so use test status to communicate the special conditions around
its use.
Pilot (also referred to as Beta). You may feel confident about a component’s success
but not want it proliferating widely across an experience. Therefore, designate it as a
pilot component. Honestly, some components remain in pilot mode forever, because
either they never catch on or librarians never promote them to active. On the other
250 CHAPTER 12: Administer
hand, some items undergo a pilot period to work out the kinks and then transition into
general availability afterwards.
Active (also referred to as General Availability, or GA). At this point, all aspects of
component development have been completed: it’s in a production environment;
it’s available for anyone to use (appropriately); and relevant documentation, metrics,
accessibility, and other details have been fully integrated.
Not every team takes component releases this seriously. Some teams use components
simply to improve design consistency and production efficiency. The last things on their
mind are code releases and formal software development processes; instead, they just
want to produce better design faster, and that’s just fine. But for teams embedding com-
ponents more deeply into design and development, release status enables you to commu-
nicate precisely how and when a component can be used across an enterprise.
Catalog
The component catalog enables you to manage each item coming into, existing in, or retir-
ing from a component library. When you need to track a new component, add a record
to the catalog and record its status (such as identified or assigned), priority, and even a
potential name and category.
Updating the Library 251
You should create a unique identifier to refer to each item. If your library taxonomy already
exists (see Chapter 9, “Organize”) and you know where the new item fits, then assign the
component code immediately. Engineering and QA teams may be keenly interested in
component codes to include in markup and write test cases, respectively. So don’t be a
bottleneck because you want the codes to be perfect.
On the other hand, if you haven’t yet created a formal taxonomy or if the candidate’s place
in the taxonomy is unclear, then avoid assigning a formal component code. Instead, wait
until the taxonomy—and the new component’s place in that taxonomy—is clear, and use
a temporary ID number until the formal code is defined.
During the remaining workflow, you can use the catalog to monitor assignments for creat-
ing design assets and guidelines.
Assets
Designers need reusable design assets (the artwork) so they can repeatedly and quickly
produce viable design solutions. But being a librarian doesn’t mean that every component
added to the library requires pixel-perfect artwork.
For comp assets, try to obtain artwork created by designers for specific projects, so you
aren’t saddled with an untenable backlog of artwork to create. Stable, final comps should
be a precise rendering of the final design, so comp artwork is very time-consuming to
create, subject to high standards and a formal review process. Therefore, a librarian’s
mantra should be: “I don’t do comps. Give me the pixel-perfect art, and I’ll integrate it
into the library.”
The story is quite different for wireframes. For projects, wireframes are imperfect, lower-
fidelity renderings, and designers (including myself) may take shortcuts to get a wireframe
completed. Wireframes are always accompanied by disclaimers like “this isn’t pixel-perfect”
when presented to less knowledgeable stakeholders.
But a wireframe library is held to a higher standard, even if the artwork is still not pixel-
perfect. Across more than ten wireframe libraries that I’ve created and helped manage,
I’ve never reused wireframe artwork provided by designers. Instead, wireframe artwork
is created from scratch. It’s just as fast—if not faster—to produce wireframes from
scratch as to source, copy, and integrate wireframes from other designers. Additionally,
the wireframe starting points you publish are more consistent since they are based on the
styles, layers, and grids already embedded in the library. Maybe that consistency can even
empower designers to confidently learn and adopt similar practices, too.
252 CHAPTER 12: Administer
For both comps and wireframes, artwork should still be reviewed and synchronized to
ensure that styles, layers, grid guidelines, labels, and other characteristics are consistent
with library conventions. In addition, copy and imagery should be generalized or sup-
ported with sufficient variations and examples to communicate component flexibility
and context.
Ultimately, the artwork must be integrated into the distributed library. For wireframes,
that means adding it to the build file and exporting as an object for a panel or as a sepa-
rate file. For comps, that usually means creating a unique file for each component (or even
variation and example, depending on your practice).
Guidelines
Design assets are meaningless, if not downright destructive, if applied in a haphazard,
uninformed way. Each component belongs to the library because it serves a purpose, solv-
ing a specific design problem in a way the team anticipates will need to be applied again.
How do you know what problem it solves? How do you instruct the masses on how it
should be applied? You can communicate proper use through good documentation,
primarily in the form of guidelines.
The librarian should be relatively well-versed on the production of effective guidelines.
Chapter 13, “Guide,” provides a deeper description of how to author relevant guidelines
for a component library. However, first things first: A librarian shouldn’t approach guide-
line composition as a one-man show. It’s not up to the librarian to author everything,
and librarians should go to great lengths to make sure other team members author
guidelines.
However, a librarian should be prepared to facilitate the production of guidelines by
involving smart, qualified designers and other capable authors. By empowering other
authors to participate in the library, you raise awareness, lighten your own load, and
generate more buy-in from them and others who see the broader contributions.
When documenting a new component, the first author you consider should be the very
designer who created the solution. That person is likely mindful of design details and
has grappled with the constraints, dead ends, and boundaries that came up when creat-
ing the component. But the designer does not necessarily need to be the author. You
can find good guideline authors among publishers, content strategists, managers, or
really anyone involved in the design process. Any author who has a good understand-
ing of the solution is a reasonable choice to consider as a contributor to the library’s
documentation.
Publishing 253
Figure 12.3 The “Guidelines Dashboard” that enabled a small team to identify, prioritize, and track com-
pleteness of numerous components in the library.
Notice how each column represents a different phase, and the librarian used cell back-
ground color to indicate when each step was complete. This created an interesting visual
effect: The more complete the authoring process, the farther the bar extends to the
right, like a bar graph. Color and other formatting were used for the most notable aspect:
communicating when an item was stalled due to lack of peer or stakeholder review and
feedback. The librarian and teammates could share the dashboard with management,
who in turn could stoke the fire underneath delinquent stakeholders to get the process
moving again.
Publishing
No library has ever been published in a single stroke, never to change again. In fact, in a
rush to get out useful materials to designers, a library may be published before its first ver-
sion is even comprehensive. The librarian administers the publishing process, controlling
what design assets and guidelines are visible to an organization.
254 CHAPTER 12: Administer
Figure 12.4 A month-long publishing cycle that defined expectations on when interested
stakeholders could anticipate active participation and newly published assets and guidelines.
A predictable process enables you to set realistic expectations for your constituents.
Without it, stakeholders feel more justified in making individual demands and requesting
immediate delivery. Sure, a publishing timeline doesn’t mean that you always can prevent
such demands from becoming reality. But the process is a basis for challenging unrealistic
requests and educating stakeholders about the cross-enterprise benefits of the library.
Distribution
As described in Chapter 11, “Build,” you can distribute the library in something as simple
as a ZIP file of templates, libraries, and useful documentation. However, you don’t want
to have to field countless requests to send the library to each person who sends you an
assets request. Instead, set up a common location where everyone can download the
collection.
There are many different options, some dependent on what environments you
have available:
Email. Unless your file size is just too large, you can distribute the system via email.
However, email saddles you with distribution on demand, and you’ll get annoyed with
the repeated requests just as much as stakeholders will get annoyed waiting for you to
respond. Avoid email if possible, except for cases when you must immediately distrib-
ute critical portions to design teams.
Download from a Collaboration Tool. Many organizations use project management or
collaboration software (such as Microsoft Sharepoint or Basecamp from 37signals)
that enables file uploads and downloads. If your team uses such a tool, offering assets
here may be the path of least resistance. Just set up a persistent project or folder (such
as “Component System”) and provide access to each interested person. Drawbacks
include administering access permissions and using a collaboration system that, while
ideal for distributing files, may not be fine-tuned for administering a library in conjunc-
tion with guidelines and other materials.
256 CHAPTER 12: Administer
Download from a Library Site. As described in Chapter 13, “Guide,” many teams cre-
ate a custom Web-based destination for the component library. If that’s the case, then
enabling download of design assets and documentation from that location is an obvi-
ous and optimal solution.
Copy from a Shared Drive. Some teams collaborate via a shared drive, from which
you can enable download from a folder. That said, do not store library source material
at that location, for others could copy—or worse, delete—files on the shared drive.
Instead, store the master copy in a more secure location and copy a publishable ver-
sion to the location from which others can download it.
Download from a Private URL. Most teams big enough to warrant building a com-
ponent library have access to sufficient infrastructure (like the options listed above).
That said, in some cases the download rests behind a firewall that vendors cannot
access. In that case, you could make the download available outside the firewall via a
private URL that you distribute to vendors. However, make sure there are no incom-
ing links to the location, and that such a solution doesn’t violate IT standards of your
organization.
Providing access to a ZIP file doesn’t answer the question “OK, I’ve got the design assets,
but now what?” It’s helpful to supplement the download with basic and easy-to-access
materials to help users get started. These materials should describe what’s included, how
to extract and begin using the system, and where to find helpful documentation. Clear
pointers to a getting started guide—or even a quick video that orients users on the system
basics—can go a long way to reduce frequently asked questions. These materials are a core
aspect of teaching people how to use the library, which is described in Chapter 14, “Adopt.”
Notifications
Placing a file on a server for download raises the question: How are people going to know
that the system is available if you don’t notify them? Therefore, look to establish a con-
sistent and accessible way to communicate changes to the component library. Email sub-
scriptions and/or a blog with RSS subscriptions can do the trick.
In addition to announcing that a new version of the library has been released, you’ll also
want to communicate other library developments, like emerging components, guidelines
that are coming soon, what designers have been assigned to author what pieces, and new
requests recently added to the queue.
Notifications benefit from a consistent, scannable structure. Interested readers will not
want to spend hours reading your laundry list of details, but they will want to scan the noti-
fication for items of interest. Figure 12.5 shows an email template for one team’s periodic
notification.
Publishing 257
In this particular example, the primary audience is the interaction design team. The librar-
ian wanted to keep designers informed in order to reduce design duplication and raise
awareness of emerging standards. The email includes clear section headers (New Items,
Updated Items, Assignments, and New Requests) that the librarian can use to communi-
cate details.
258 CHAPTER 12: Administer
Discussions
Discussions can foster a shared vision of the library’s role, direction, and growth. Ideally,
many of those discussions happen in real time as designers work with stakeholders during
a project. The library provides a baseline for making design decisions during planning ses-
sions, brainstorming, design reviews, test planning, and a slew of other team interactions.
Such discussions also reveal candidates for new components and enhancements.
Obviously, a librarian cannot attend every single design review—that’s preposterous to
even consider. Instead, a librarian can help designers represent the library, know how to
apply components, and explain how components are changed or extended.
Online discussions are also valuable. Dedicated forums and comments can capture feed-
back in a Web-based medium that perpetually records and exposes different perspectives
across the team. Online discussions can guide the library’s course and suggest new com-
ponents and areas of emphasis.
Not every component-specific discussion needs to happen out in the open. In some
cases, it may make sense to convene a smaller group of experts or library champions to
plan library activities, discuss big decisions, and establish best practices. Closed discus-
sions are warranted for reviewing assets and guidelines, too. Providing access to only a
small team is preferred to opening up discussions to an entire group before a component
is ready for enterprise-wide consumption.
259
13
G U I D E
Library users must understand what’s in the library, why it exists, and how
to use it. Library documentation shows your team how to use your valuable investment.
This chapter will teach you how to do the following:
Ω Use Web site documentation as a hub for library activity and knowledge.
Ω Publish component references and getting-started documents that go beyond your
typical style guide.
Ω Embed instructions and details into component artwork.
Ω Use design patterns as a foundation for writing about components.
Ω Devise a set of components attributes that works best for you.
Ω Know when to author—and not author—visual specs.
260 CHAPTER 13: Guide
Documenting a Library
The library’s reach and effectiveness can be extended significantly by the quality of its
documentation. You can’t rely on hallway conversations, project collaboration, and train-
ing sessions to embed a library into the psyche of your organization. You have to provide
persistent access to the library to guide your organization. The three primary venues for
publishing component documentation are Web sites, documents, and embedded annota-
tion inside artwork itself.
Web Sites
Sure, a Web-based solution should provide an easy-to-navigate collection of standards
and reference material. But since it’s a Web site, you expand the site’s purpose to docu-
ment how your team will do the following:
Ω Document component standards and implementations.
Ω Distribute library versions.
Ω Notify interested users about updates via blog posts, RSS feeds, and mailing lists.
Ω Teach concepts including design system basics, standards, software tools, and
process.
Ω Discuss component use via moderated comments and forums.
Ω Blog about updates and new ideas.
Ω Collaborate on draft guidelines during authoring processes.
Be clear as to what voices and points of view the library represents. Is it a publication of
your design team? Or does the site promote a unified perspective of the library across
your organization? How does your site fit into other online documentation your team
publishes, such as wikis, blogs, and project management software? Who will use the
site the most, and what content do they need most?
For example, if the site is used first as a component lookup to find tips and code, then
architect the site to promote findability (through component names, codes, and thumb-
nails) and emphasize code snippets. Alternatively, if the site’s primary goal is basic educa-
tion of new design staff, then orient high-level pages to establish broad understanding
and expose component details on deeper pages.
If design and development teams end up building separate sites for their respective
assets (such as design standards versus code), then work hard to map the two experi-
ences together during upfront planning and smart links back and forth. One organization
Documenting a Library 261
realized this early on: It became clear that both teams wanted publishing control and were
constrained to separate systems. By meeting often as the two sites emerged, they built a
blended experience with helpful links at levels both high (such as the homepage) and low
(by linking from component design standards to code and back again).
Another organization couldn’t see the forest for the trees. Two distinct sites emerged:
Developers built a site strictly supporting code reuse, and the design team organized a
site around design patterns with entries that often overlapped with reusable code. While
the two teams worked together at a strategic level, the two sites represented disparate
experiences with few connecting links, conflicts in nomenclature and organization, and
an intentional separation since the librarians never agreed on a vision for a shared cata-
log. Fortunately, designers and engineers muddled through both libraries. The company
reaped significant benefits and cost savings from reuse, but I wonder if they could have
realized even greater cost savings and wider adoption had the teams driven harder to
coordinate a blended library.
Implementation
The goals of your Web-based destination may be fulfilled or tempered by the solution you
can build. Some teams have unfettered access and funds to build the optimal solution for
their needs. But most teams find themselves making compromises in functionality due to
limited time, funding, or freedom within a constrained IT environment. Common imple-
mentation options include the following:
Home-grown systems. This is expensive and time-consuming, but ultimately the most
advanced and tailored solution for an organization. Yahoo has written (on boxesandar-
rows.com) and subsequently spoken extensively about the challenges and roadmap
they’ve traversed. Figure 13.1 displays the landing page of Yahoo’s public pattern
library, although the team uses and manages a much more robust and collaborative
Web-based solution internally.
Sun Microsystems also built a custom Web site as the cornerstone of their efforts. Lucky
for us, they expose it to the community, too, at Sun.com/webdesign/ (Figure 13.2).
The site is an authoritative look into each and every piece that publishers use to build
Sun.com pages, including usage guidelines, technical notes, graphical examples, and
especially the code itself. Why is it public? The internal team wanted no barriers for
vendors to access and use the library (such as a long approval process to access the
private Sun network). Such efficiencies trumped the need to keep the site confidential,
although the team does manage proprietary information behind a firewall.
262 CHAPTER 13: Guide
Figure 13.1 Yahoo’s public design pattern library, which shares a vast collection
of patterns with the public at large. (Courtesy of Yahoo! Inc.)
Documenting a Library 263
Collaboration tools. One team effectively used Jive Software’s Clearspace tool that
includes a well-suited three-prong feature set: wiki (with articles per pattern and
component, including editing permissions for team and individual, commenting
and ratings), discussion boards (for new requests and general discussions), and
blog (to publish ongoing notifications and articles about the overall library).
Wikis. Other teams have set up wikis to publish component documentation. This may
be a good short-term fix, but isn’t really a tenable long-term solution unless you cus-
tomize collaboration, assign permissions, and govern document structure to ensure a
consistent experience. Wiki solutions are typically available as free, open source soft-
ware, but require you to install, configure, and administer the solution.
Blogs. You can also use open source software like Wordpress to publish pages and
blog entries relevant to your library. Blogs enable discussions via comments, enable
RSS subscriptions, and if you go with a common platform like Wordpress, enable
relatively simple extensions and customization via plugins.
Background
Before the library, our team was not creating unified documentation. We had situa-
tions when team members were on vacation, documents needed to be altered, and
we had to wait until the person who made the document returned. Not an efficient
way to work. Everyone was doing their best; we just had not taken the time to get our
documentation approach in order. We had already built a code library; we wanted to
be able to put those same components into documentation. In addition to the com-
ponents, we needed uniform templates to present the information to stakeholders,
developers, and collaborators.
Documenting a Library 265
Benefits
Getting the documentation library in place really helped us, because it created a
unifying language to communicate our ideas through templates for our deliverables,
training materials, and a library of reusable components. This meant that any one of
us could alter another team member’s documents, if necessary. It also meant that
collaboration was accelerated, because we were playing in the same sandbox with
the same set of pieces and parts. Our stakeholders began to see similar documenta-
tion and grew smarter about how to read it. The documentation system itself also
pushed us together to solve problems or questions as we learned how to use the
system as a team and helped each other understand and evolve the tool set.
Ω Created a single repository where the parts of the system could be accessed
Ω Continued to TALK about what was working and what needed to be
enhanced, added, or altered
The system is a living entity. It is a tool set that continues to evolve over time based
on what the team using it needs it to do. Team members needed a way to gain
access to the latest updates and to contribute and share ideas for improvement or
extension of the system.
Documents
Unfortunately, some teams can’t build a Web-based destination for their component
documentation. A team can lack any combination of resources, time, money, technical
skill, or even an approved IT environment in which to build a site. Such limitations are
commonplace. Out of ten large user experience design teams, only four could build a
Web-based destination to centralize documentation. The remaining six teams had to
depend on one or more useful documents that could be printed, shared, and evolved
over time.
The style guide’s growing content base can blur lines of scope and ownership. Often-
times, a style guide is owned and produced by a visual design team and led by a creative
director or art director. A moderate amount of collaboration with editors and content
strategists can raise document value by incorporating editorial guidelines. But even then,
who owns what and what is the workflow to publish updates? The lines blur further as
interactive guidelines—like states, behaviors, and structure—blend in, too.
If nothing else, now’s the time to start questioning the document’s title, because “Style
Guide” narrows expectations. Instead, perhaps the team refers to a “User Experience
Guide” or “UX Standards.” Explicitly, readers may then appreciate the document’s
broader appeal. Just as importantly, team members across disciplines will feel more
empowered to contribute to and influence content that they care about most. Figure 13.3
shows the table of contents of a user experience guide that involved multiple authors and
sought to communicate standards to a wide, diverse audience. Notice, however, what’s
missing: components themselves.
Table of Contents
Table of Contents. . . . . . . . . . . . . . . . . . . . 2 Editorial Style Screen Controls
Change History . . . . . . . . . . . . . . . . . . . . . 3 About Editorial Style and Related Documents . . . . 34 Overview of Screen Controls . . . . . . . . . . . . . 65
About This Document and Related Documents . . . . 4 Capitilization and Punctuation . . . . . . . . . . . . 35 Buttons . . . . . . . . . . . . . . . . . . . . . . . . 66
Alphabetical Style Entries. . . . . . . . . . . . . . . 36 Buttons Layout . . . . . . . . . . . . . . . . . . . . 67
Branding and Identity SEO Considerations. . . . . . . . . . . . . . . . . . 37 Tabs. . . . . . . . . . . . . . . . . . . . . . . . . . 68
Brand Attributes . . . . . . . . . . . . . . . . . . . .6 Articles . . . . . . . . . . . . . . . . . . . . . . . . 38 Toolbar Buttons. . . . . . . . . . . . . . . . . . . . 69
Brand Promise . . . . . . . . . . . . . . . . . . . . .7 Languages . . . . . . . . . . . . . . . . . . . . . . 39 Video Players . . . . . . . . . . . . . . . . . . . . . 70
Personas . . . . . . . . . . . . . . . . . . . . . . . .8 Symbol Buttons . . . . . . . . . . . . . . . . . . . 71
User Experience . . . . . . . . . . . . . . . . . . . .9 Templates and Page Layouts Property Sheet Controls . . . . . . . . . . . . . . . 72
Look and Feel. . . . . . . . . . . . . . . . . . . . . 10 Layout . . . . . . . . . . . . . . . . . . . . . . . . 41 Hide/View . . . . . . . . . . . . . . . . . . . . . . 73
Voice and Tone . . . . . . . . . . . . . . . . . . . . 11 Grids . . . . . . . . . . . . . . . . . . . . . . . . . 42 Widgets and Pidgets . . . . . . . . . . . . . . . . . 74
Co-branding and Partnerships . . . . . . . . . . . . 12 Grid #1: Standard. . . . . . . . . . . . . . . . . . 43
Grid #2: Dashboard . . . . . . . . . . . . . . . . 44 Forms
Typography Grid #3: Product . . . . . . . . . . . . . . . . . . 45 Forms Layout . . . . . . . . . . . . . . . . . . . . . 76
Standard Typography . . . . . . . . . . . . . . . . 14 Other Grids: Popups & Modals . . . . . . . . . . . 46 Radio Buttons . . . . . . . . . . . . . . . . . . . . 77
Tabs. . . . . . . . . . . . . . . . . . . . . . . . . . 15 Wireframe Templates . . . . . . . . . . . . . . . . . 47 Check Boxes . . . . . . . . . . . . . . . . . . . . . 78
Links . . . . . . . . . . . . . . . . . . . . . . . . . 16 Comp Templates . . . . . . . . . . . . . . . . . . . 48 List Boxes . . . . . . . . . . . . . . . . . . . . . . . 79
Type Tags . . . . . . . . . . . . . . . . . . . . . . . 17 Components . . . . . . . . . . . . . . . . . . . . . 49 Spin Boxes . . . . . . . . . . . . . . . . . . . . . . 80
Screen Specifications. . . . . . . . . . . . . . . . . 50 Scroll Bars. . . . . . . . . . . . . . . . . . . . . . . 81
Imagery Print Friendly . . . . . . . . . . . . . . . . . . . . . 51 Sliders. . . . . . . . . . . . . . . . . . . . . . . . . 82
People Photography . . . . . . . . . . . . . . . . . 19 Errors . . . . . . . . . . . . . . . . . . . . . . . . . 52 Text Fields . . . . . . . . . . . . . . . . . . . . . . 83
Product Photography . . . . . . . . . . . . . . . . 20 Static Text Fields . . . . . . . . . . . . . . . . . . . 84
Diagrams and Charts . . . . . . . . . . . . . . . . . 21 Window Types
Graphic Optimization . . . . . . . . . . . . . . . . 22 Primary Window . . . . . . . . . . . . . . . . . . . 54 Tables
Illustrations . . . . . . . . . . . . . . . . . . . . . . 23 Window Components . . . . . . . . . . . . . . . . 55 Pagination . . . . . . . . . . . . . . . . . . . . . . 86
Secondary Window. . . . . . . . . . . . . . . . . . 56 List View Controls. . . . . . . . . . . . . . . . . . . 88
Color Dialogue Box . . . . . . . . . . . . . . . . . . . . . 57 Column Headings . . . . . . . . . . . . . . . . . . 89
Color Palette . . . . . . . . . . . . . . . . . . . . . 25 Split and Palette Windows . . . . . . . . . . . . . . 58
Color Palette, cont’d. . . . . . . . . . . . . . . . . 26 Advertisements
Gradients . . . . . . . . . . . . . . . . . . . . . . . 27 Multimedia Spotlight Ads . . . . . . . . . . . . . . . . . . . . . 91
Video . . . . . . . . . . . . . . . . . . . . . . . . . 60 IAB Standard Ads . . . . . . . . . . . . . . . . . . . 92
Iconography Animation . . . . . . . . . . . . . . . . . . . . . . 61 Promotions . . . . . . . . . . . . . . . . . . . . . . 93
Visual Language . . . . . . . . . . . . . . . . . . . 29 Sound . . . . . . . . . . . . . . . . . . . . . . . . 62
Element System . . . . . . . . . . . . . . . . . . . 30 Rich Media . . . . . . . . . . . . . . . . . . . . . . 63
Color Palette . . . . . . . . . . . . . . . . . . . . . 31
Favicons . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 13.3 The table of contents of an experience guide, with content relevant for design teams
and stakeholders alike: visual style, editorial style, interaction guidelines, branding, research, tem-
plate layouts, and more.
268 CHAPTER 13: Guide
Some teams take the guide document concept a bit too far, however, adopting an “every-
thing but the kitchen sink” approach. Their mantra? If it’s a standard, then throw it in the
style guide! Suddenly, a document intended to include basic tenets of visual style has
ballooned into a repository of best practices (such as “When to Use Flash”), accessibility
requirements, code best practices, and more.
Avoid this approach, or your document could result in a hodgepodge of decreasingly
organized standards. Instead, establish well-defined boundaries for what your experience
guide contains, such as visual style, editorial style, and branding. You could even include
interaction guidelines for common elements and components, such as form controls,
popup windows, and other generic behaviors.
But stay away from documenting each and every component in a style guide or experience
guide. Instead, create a component reference.
Component Reference
A component reference is a document that serves as a comprehensive index of standards
and visualizations, component by component. Your library’s component reference should
remain independent of a style guide since these guidelines do the following:
Ω Include contributions by many authors
Ω Change frequently and likely not at the same time as core standards
Ω Require their own component-by-component organization and labels, including
categories, codes, variations, and examples, which is much different than style
guide content of color, grids, typography, and other general topics
A component reference document contains one or more pages per component, often
organized into chapters based on categories, and front matter like a table of contents,
change history, and other supporting material. At a minimum, information on each com-
ponent should include the following:
Ω Name (such as Page Title)
Ω Category (such as Content)
Ω Code (such as C01v1)
Ω Visualization (such as a wireframe, comp, or screenshot)
If the component has more than one variation or is augmented by examples, then pre-
sent each one visually, and include a list of variations and examples for quick reference.
Documenting a Library 269
Figure 13.4 shows a component reference guide, which actually resulted from formatting
and printing the build file (see Chapter 11, “Build”) with minimal additional details like
component name.
C14 Contact Us
C14v1 C14v2
C14v3 C14v4
» Email
» Call
» Have Us Call You
» :RUOGZLGH2I¿FHV
Figure 13.4 A component reference guide printed from a build file, with page titles indicating the compo-
nent name and code.
For teams looking to record much deeper component details as described later in this
chapter, create standard layouts that position component pictures adjacent to attributes
like overview, use when, guidelines, and other considerations. You can even overlay red-
lines (lines that define padding, gutters, and other sizes) on top of components and mark
each element of the component one by one to connect artwork with annotations to the
right (Figure 13.5).
270 CHAPTER 13: Guide
C14 Contact Us
C14v1 10 C14v2 The Contact Us component is a sidebar component used to provide a
5 5
10 concrete call-to-action and next step on pages whose objectives include
14 1
10 initiating direct contact with a customer.
8
14 2
Code Variation Name Status Use When
C14v1 Standard, with Click-to-Chat Active Use when click-to-chat hours are open and the
Customer Support division has trained and made
25 4 staff available.
80 3 C14v2 Standard, without Click-to-Chat Active Use as an alternative to C14v1 when click-to-chat
isn’t necessary or staff is not setup.
C14v3 Popin Pilot Use on pages that don’t include a sidebar. Contact
EightShapes.com UX to request a pilot in your
section.
C14v4 Static with Address Active Corporate & News section only. This component is
not appropriate for product, services, and support
sections.
C14v3 C14v4
5
1. Contact Us Header 5. Close Button
Do not change header label. Ä onclick: Close popin window.
6
2. Introductory Sentence 6. Static Address
Customize introductory sentence to fit page Include location title, address line(s), city/state/ZIP,
context, but use sample copy displayed here as and primary phone number
starting point for length, tone, and content. Limit use to news and corporate site sections
Limit sentence to three lines.
3. Contact Option Links
Include all four links if possible. Omit options if
page context is warrants more specific options or
if options conflict with page-specific content.
Maintain link order as displayed in component.
Do not change link option labels if used.
4. Click to Chat Button
If support staff is available and click-to-chat is
available, then display the Chat Now button;
otherwise, hide the button.
Ä onclick: Initiate click to chat experience in A18
Lightbox component (refer to implementation
specs)
Figure 13.5 A detailed component guide page, which includes a list of variations and examples,
marked elements (1, 2, 3, ...), redlines, and detailed interactive specifications.
Users Guide
Not every designer immediately understands how to use your system’s tool of choice, add
components to page layouts effectively, or request changes to your library. So in addition
to—or as a part of—your component reference guide, consider creating a Component
Library Users Guide.
A Users Guide aims to help designers and others adapt to using components in their own
workflow. Also referred to as a Getting Started Guide, a users guide can get individuals off
on the right foot more quickly and confidently. Consider a users guide for teams that need
a consolidated place to get answers to questions like the following:
Ω What is the component library, and why does our team use components?
Ω Where do I download the system from?
Ω What software and hardware do I need?
Ω How do I create a page based on components?
Documenting a Library 271
The amount of software-specific content can vary based on how much your team needs
to be trained and how proficient they are at using help found within the tool itself. Ideally,
scenarios like “Open template, add components, arrange components...” are explained
conceptually so that designers are quickly productive (Figure 13.6). But repeating or build-
ing on software help can become burdensome if the team can’t be taught what features
are most important and where to find more details.
[Article highlight]
[Article title that can span a number [Article highlight]
[Article highlight]
From a high-level, individual component files are browsed, identified, and ultimately of lines depending on the title] [Article highlight]
placed into a wireframe layout using a combination of Adobe Bridge and Adobe InDesign. by [Author Name]
for eightshapes.com
Once placed, components can be repositioned, content can be updated, and designs can [Month] [DD], [YYYY]
be evolved to meet specific project requirements. voluptus, occab ipite odiatur sedit arcieni tiscimo luptatus eaque volo
ius, vent, quunt harcipsam et reperis non eosae cus maios esequis alit,
nonsero digeniet apiet isi aborporrum voluptur? At doluptiati serepud
andantur reptas ulparch ilitatem ipsus re accat enienes tiandae od ut
The approach and techniques for creating wireframes using the system are demonstrated ant fuga. At aut volendam laborro blabor sunducid eosa velliquodi quat
voluptat reped estrum dolest, optis unt fuga. Nem eicient in pe pediasp
extensively via training videos. eriorestiam aut ex exerorrum ulparia vollaborpor sent.
A &ae rem aut as sintenis mo mi, of¿cabo. 8t et, quis velignist plabo.
Adobe Bridge Aperepudis am, sita siminus, tentur sequate placcus vitemque eaquis
[Video Title]
[Video description Laut isitio comnima velentist aut fuga.
audam, odis pro tore pellam, volorite lates esto comnis doluptat.
8t aut liquod moditate id eaque eos numquid quunt ilic
Ratur, siti unt ditas untia volupta tiores explaut por atenit fuga. As as temped quature perferum fuga. Fer]
susandi ctionsequis nimusa consero of¿ctatia solor aliqui re venis nis » More EightShapes Videos
rectis ius aut quid que velitis earciam, non parum ium sintur, sum num
ad quis experit atemperibus.
Share Email Print Text Size: A A A
Oreprat ionsecu llaudiame peritae rrore, num exerum nobis deribea
comnihit aut eatem ipsum fugiate ceprae qui blam, aces explige niantis
quatem videmquae volo inci omnis aut es est voluptios aliquid ma apelestiora dis re corempo rrovidebit anistotam cusam, apel
miliatus audit qui inveniscidit volorio reprem expel eveles evelit unt fuga. Nam dus aribus dit et acerro et ullorporia doloria tioresedis
dolupta spernat.
Endisitat moluptat atenihit et lam namustiis et ut que odi nobis accum qui restiaero
Related Stories odio blandiscid moluptate eossit landi duntian ditatet explabor most, aut in rerum et
venihilique porrum voluptas ad ut arum eum qui conet, sae praturis sed magnisit dunt.
» [Story headline]
[Story description lorem ipsum dolor] Itatusdae nestia senitionsed quis doleseque nimus autemporum evellaceris as di
» [Story headline] rehendit es eicto inimus et quae ad exceped quis non re nonsequas dolest, sam facersp
[Story description lorem ipsum dolor] erepedit voluptatem dit, temquibusa dunt quis denim nobit pori cus modisciet quam
ut por remquundae occae. Ovit ommolo quis a natio. Tem dolorrum sequae volorum,
solutempos ius nis sequam, sum, nus etus, quae ma nosam et repratem corpos essi
quidus sit rere cor aut repere pa dit et audit harum est voloris tisciamet od quodisi si inis sim eati imil maximil laccat volutem rem
eaquias intibus iliqui ut earum hilleni miliqui de nimi, audis iur?
HF06v1
Contacts | Feedback | Help | Site Map
© 2006-2009 EightShapes LLC All rights reserved. Terms & Conditions | Privacy Statement | Cookie Policy | Trademarks of EightShapes LLC
Figure 13.6 A conceptual diagram in a users guide that shows how components are added from a
library (in Adobe Bridge) into a wireframe (in Adobe InDesign).
272 CHAPTER 13: Guide
Documentation in Assets
Don’t forget to try and maximize the documentation embedded in your design assets them-
selves. Designers spend most of their time in authoring tools such as Adobe Photoshop,
Microsoft Visio, programming tools, and even text editors!
Earlier chapters described the benefits of marking components with reference codes that
tie chunks of the experience to the standards they represent. Beyond that, also consider
how you can embed information into assets through the following:
Layer names. Some visual design teams choose to organize comp component varia-
tions within the same Photoshop or Fireworks file. In that case, it’s important to iden-
tify each variation precisely based on what layer it appears on.
Hidden layers. A librarian can embed documentation like usage tips, redlines,
and alternate styles and copy on layers that are hidden by default. This annotation
increases file size and requires maintenance. However, it may be the only—or most
easily accessible—type of documentation for a designer to use.
Object and file names. Teams vary on their inclusion of component names, compo-
nent codes, or both in the name of a component object (in a panel) or file. Choose
what works best for your team. However, including both may improve retrieval and
precision when teams are looking for just the right one.
File metadata. Adobe Creative Suite files (such as a Photoshop PSD or InDesign
INDD or IDMS file) support an extensible metadata platform (XMP) whereby you
can add metadata to a file, embed guidelines, and improve your team’s workflow
and asset retrieval. For more information on XMP, refer to http://www.adobe.com/
products/xmp/.
Standardizing Components
Documenting a component within a library isn’t the same as creating project-specific doc-
umentation. When in the depths of a specific project, you are likely discussing tradeoffs,
quickly communicating back and forth with engineers, and making design decisions amid
an ongoing collaboration that all interested parties participate in.
When using a library, much of that context and fluidity is absent. Instead, readers inde-
pendently work on different projects, and each needs the library for his own reasons.
Therefore, a more diverse audience will rely on component documentation with the
following characteristics:
Ω Formal, and precisely reflects a standardized, vetted view on component usage
Ω Well written
Standardizing Components 273
Attribute Purpose
Attribute Purpose
Related patterns Connect the pattern with other patterns that may Optional
be siblings, parents, or children within a pattern
taxonomy.
Related research Create connections between the pattern and ongoing Optional
and historical research.
Future research Catalog suggestions for future research that could Optional
mature and extend the pattern.
Accessibility Capture tips and concerns for coding a pattern Optional
solution.
For example, the Yahoo Design Pattern Library defines core attributes of an Item Naviga-
tion pattern with clear, well-written statements (Table 13.2). (Refer to http://developer.
yahoo.com/ypatterns/ for more information).
Table 13.2 The Item Pagination Pattern from the Yahoo Design Pattern Library
Attribute Description
Component Attributes
You can use similar attributes for a component library, but the documentation will have a
different tone. Components are more prescriptive, fixed design solutions that leave less
room for interpretation. Therefore, component documentation often does not include a
deep rationale and justification for their use; instead, readers are encouraged to apply the
standard. The mentality is “Use the component this way,” although designers should also
extend existing components as needs and budget permit.
If your library is based on a more formal taxonomy, the concept of variations, examples,
and related components can take on a more formal role. Gone are less formal examples
suggesting what may work, replaced instead with formal examples with finished visual
design, recommended content, and associated code snippets to drop into your Web
page designs.
That said, it’s up to you and your team to define what types of component documentation
work best for your organization. Use the organized set of attributes defined in Table 13.3 as
a starting point for how you will document components.
Table 13.3 Component Attributes as Starting Points to Document Your Component Library
Attribute Purpose
Attribute Purpose
Table 13.4 Pros and Cons of Alternatives for Each Type of Picture You Can Use in Your
Component Guidelines
Wireframes • Easy to produce if the library con- • Lacks context to make judgments
tains wireframe design assets in context of real use
• Generalizes context to focus • Appears less polished, thus less
readers on structure and behav- standardized
iors rather than a single, visual
instance
Comp • Easy to produce if the library con- • May limit interpretation of
tains comp design assets flexibility
• Enables engineers and publishers • More costly to maintain across a
to use artwork for creating code if library of many assets, relative to
code doesn’t exist wireframes and automated HTML
displays
• Feels contrived if not rendered
with actual copy and images (often
the case when sourced from proj-
ect work prior to publication)
HTML rendering • Automate from a code library • Only possible for Web-based
(such as Sun.com/webdesign/) to documentation; not relevant for
reinforce connection to code documents
• Shows actual component render- • Many component libraries include
ing in a browser—nothing is more only design assets, thus code isn’t
real than that available
Screenshot of • Feels real given that it’s from the • Not connected to assets used by
actual use live site designers to create screen design
• Readers can apply context to make • Static capture of live instance may
judgments unduly narrow context of use
278 CHAPTER 13: Guide
Visual Style
Components eventually include a refined, polished visual design. Given all that hard work
to get there, you’ll want designers, engineers, and publishers to easily emulate the design.
A component’s visual style can be standardized with the following:
Redlines. Prescribe your layout assumptions by overlaying lined annotations to define
size, spacing, and margins of each element. Such annotations are often referred to as
“redlines” since designers overlay red lines above a comp, along with numbers that
define the pixel size of each annotation.
Type tables. Document typographic standards for headers, titles, paragraphs, lists,
and more via a table, where each instance is a row, and columns describe style, size,
weight, decoration, and color of each typeface.
Color palettes. Although a site’s color palette is ideally documented apart from
any single component, specialized color and gradient values for a component can
be helpful.
If your organization isn’t devouring visual style standards, then don’t go overboard. Docu-
menting visual standards is time-consuming, takes up a lot of space within component
libraries, and can distract readers from important fundamentals.
Additionally, if your team is creating a tandem code library, your best bet may be to avoid
visual style guidelines altogether. Instead, strongly encourage engineers and publishers
to adopt code that accurately implements the visual system. By using the code, they can
stop using guidelines to reinvent code from scratch, which risks visual degradation and
inconsistency.
Toggled Displays. Show the code alongside sample displays, or enable readers to
toggle between a code and display view to relate the two.
Technical Notes. Not all code is self-evident. Augment code snippets with implemen-
tation instructions, to whatever level of detail is necessary.
Comments. Include comments in your code to assist implementation. In particular,
recall that each component is a page chunk, so demark the starting and ending points
of each component chunk with comments that refer to at least the component ID.
Code snippets are often useless without the broader code framework of page template
starting points, cascading style sheets, and associated JavaScript libraries. Therefore,
connect code snippets with a clear path to acquire the entire framework.
Writing Process
Most of the time, one person cannot document an entire component library alone.
This is especially true if documentation spans disciplines like strategy, visual design,
and technical code. Instead, a librarian must shepherd contributors to assist. Refer to
Chapter 12, “Administer,” for tips on how to solicit authors and track progress through
the writing process.
Gathering Inputs
Designers can struggle when they stare at an intimidating blank can-
vas. Obviously, this entire book is about starting points so that you
can populate that blank canvas when starting a new project. But the
challenge of a blank canvas is even more acute when a designer is
asked to write guidelines.
Figure 13.8 Common steps The two responses we hear most often are “I don’t like to write” and
for librarians and authors “I don’t know where to start.” Sure, writing takes practice, but it also
working together to create
and publish component takes inspiration. The best way to be inspired is by gathering inputs
guidelines.
Standardizing Components 281
often span disciplines, and an author can get valuable feedback from engineers, testers,
product managers, and others who will benefit from—and be held accountable to—their
guidelines.
Diverse viewpoints will point out where guidelines are too strict, too loose, or too ambigu-
ous to fit the needs of an organization, resulting in better documentation. Implicitly, their
participation increases your credibility in two ways:
Ω First, you’ll have incorporated feedback from those whose buy-in you need the
most—and who may even evangelize on your behalf!
Ω Second, you can demonstrate to everyone else that many perspectives are
represented.
14
A D O P T
You can’t roll out a vast collection of components and expect everyone to
instantly get it. Instead, the rollout must be coupled with a planned program of training
and materials that teach designers and other stakeholders how, why, and when to use
components.
A coordinated program of activities and reference materials to foster adoption of the
component library can combine the following:
Ω Pilot period(s) that test processes in narrow, contained settings to work out
the kinks
Ω Live face-to-face training sessions that start with the basics and follow up with
specialized topics
Ω Coaching
Ω Online discussions, blogs, and email notifications
Ω Video-based training
284 CHAPTER 14: Adopt
Planning
The most common way to improve adoption is through training activities where you teach
your team about the process, design assets, and other aspects of the library.
Therefore, plan a program that prepares design, engineering, and other groups to adopt
new techniques and adapt to the component library you’ve built. It’s not as simple as
putting together a slide deck you can cover in an hour. Instead, plan a rollout that covers
key periods—before, during, and after you launch the library—that can take the form of
a pilot phase, basic training, and follow-up activities, respectively. In fact, your plan could
cover activities through one month (basic training), three months (reiterating basics,
addressing growth, and adjusting based on feedback), and even six months out (assess-
ment of progress and success).
The adoption phase should not be the first time that your organization catches on to an
emerging component library. Ideally, you have exposed interested parties to your program
through activities like a component discovery workshop (see Chapter 8, “Discover”),
guideline reviews, proof-of-concept demonstrations, and even pilot project participation.
By the time you reach the adoption phase, you should have a very strong understanding
of what the library is and how it fits into your design and development process. And you
should be ready to clearly communicate that strategy to your teams, along with what path
they’ll take to adopt the new techniques.
Pacing
As you consider the rollout, define a pace of adoption that best suits your team’s personal-
ity, opportunities, and maximum likelihood of success. As a launch or pilot approaches
(even a month in advance), you must have a strategy for teaching the library to others and
defining expectations for how fast, and how comprehensively, they’ll need to adopt new
practices.
Trial by Fire
One team adopted a component-based approach to design and documentation via trial
by fire. The director of user experience had recently built a team from the ground up in
months to include over 20 interaction and visual designers. His company’s start-up set-
ting was tumultuous, and project priorities shifted constantly. But the organization had
yet to settle into “business as usual”—including expectations and process for creating
and documenting design.
Pacing 285
The director saw an opportunity, and he took it. His message was clear and unyielding: Learn
this system now, use it on all projects, and communicate design consistently as a team.
So what happened? The designers knew their mission, learned core system principles and
tool techniques, and produced consistent design and deliverables within weeks. The direc-
tor wasn’t misguided; instead, he knew that he’d hired a seasoned staff that could adapt
quickly without too much fuss. Make no mistake, there was a learning curve and designers
felt pain during the rapid transition. But they ascended the learning curve quickly, perhaps
because they had no other choice. A lone, loud voice resisted amid declarations of tool
and technique autonomy, but that voice was drowned out by the team’s broad success.
Admittedly, the system didn’t last forever, and the start-up’s shifting processes, design
standards, and staff drifted the team away from the component library over 12 to 18
months. But the (relatively) small investment in a component and template library yielded
unmistakable returns: quicker delivery times, improved consistency across in-house and
vendor staff, and increased credibility.
Gradual Acclimation
Demanding that every individual adopt a new set of standards, assets, and methods—all
the while learning a new software tool—can be a daunting and maybe even insurmount-
able task. Some teams may simply revolt if not given the proper time and nurturing to
adapt to new practices.
An interaction design team manager was shepherding ten designers in adopting their new
component library. However, the team was migrating from multiple different applications
to a shared software tool, team proficiency and experience varied from senior practitio-
ners to entry-level, and all sorts of projects were under way or starting up. With that in
mind, the manager softened adoption expectations early on, preferring a gradual period
in which individuals could acclimate to new tools and libraries. Such flexibility was no
more apparent than in the team’s willingness to use existing tools and familiar (if much
rougher) libraries to build out over 100 wireframes for a new project over the next month.
The new component-based system would have been ideal, except the team wasn’t ready
to dive in headfirst given the risk around tight project delivery dates and an uncertain
learning curve.
That’s why most managers choose to gradually acclimate their teams to new practices
over time. In this case, you can be somewhat forgiving if designers stick to old habits,
tools, and templates to complete projects in the early stages of adoption, such as in the
weeks following a basic training session. But such early forgiveness can’t distract from the
long-term goal of adopting a common baseline of the library.
286 CHAPTER 14: Adopt
If your adoption will take place more gradually, clearly define expectations that your design
staff must convert to the new practices. One way to ease concerns is to concretely define
a date after which all new projects will use the collection of components and templates.
Before that date, if you’ve already started creating designs and deliverables, stick with
what you’ve got and don’t worry about retrofitting your work to the new templates. But
once that date passes, any new deliverables would be bound to the set of standards that
you launch.
Pilots
You can precede the official launch of your system by testing it during one or more pilot
periods. During a pilot, you try out a near-final system version amid real or simulated proj-
ect conditions. In essence, a pilot is a moderated trial period in which a small group can
try out the system, test its viability, correct glitches, and adjust assets and documentation
before it’s distributed to a wider audience. Pilot periods also offer you the opportunity to
test how you’ll teach the approach and refine your communications.
When planning your pilot period, work to do the following:
Ω Prove the concept in a project-based setting, demonstrating that the techniques
lead to greater efficiencies, consistency, and reuse.
Ω Teach the library, assets, and approach to a limited group to ensure that you can
effectively communicate system value and use.
Ω Confirm and adjust the library’s organization and nomenclature.
Ω Establish credibility with a successful case study.
Ω Spread involvement progressively beyond the system’s authors before widely
publishing the solution.
Ω Identify and fill gaps in design assets and documentation.
Ω Determine the key breaking points in adoption, process, and tool use, so that you
can focus training sessions.
Pilot periods are most effective when design assets, documentation, and new processes
can be applied to real projects. Piloting the system against real projects forces designers
to use it in real conditions against real deadlines, which leads you to expose and correct
real problems. Ideally, pilot projects are self-contained, won’t impact other efforts, and
are deep enough to sufficiently stress test your approach. You can limit your exposure by
choosing projects of smaller scale and less visibility, at least at first. If you have time, roll
out a system across multiple pilot phases in projects of increasing scale, complexity, and
participation.
Pilots 287
Piloting the system in real projects isn’t a must, and designers can alternatively work on
designs and deliverables in the background if necessary, whether for a “fake” project or
by recreating old deliverables using new assets. However, if a project isn’t real, then it’s
certainly not a priority. Pilot participants lose focus when “playing with” a system in the
background when project deadlines loom. In addition to higher priority distractions, such
simulations lack the urgency and inspiration of real projects, which can skew and reduce
the value of informal trials.
During pilot periods, encourage participation from many disciplines if possible. If your
system will impact the creation of wireframes, prototypes, comps, and HTML and CSS
markup, then choose a pilot project that includes those deliverables, even if on a small
scale. That way, you can test cross-disciplinary impacts and also build consensus and
momentum across teams.
directionless, or worse, dismissive. The endeavor was fatally damaged. Poor pilot phase
execution contributed to a missed opportunity to transform a culture and integrate
components into design.
Therefore, when planning a pilot, keep in mind these lessons learned:
Define participants, activities, and objectives. You must have a plan for who’s going to
participate, what you want them to try to accomplish, and what you hope to learn.
Limit participation. Sure, no one wants to be left out, and others may fear that new
standards may emerge without their influence. But to include everyone transforms
a pilot into a full-blown launch. So, communicate your approach, encourage sugges-
tions, but still limit participation in your pilot activities.
Finalize process from a pilot, not for a pilot. Use the pilot period as a testing ground
to see what activities, deliverables, timelines, and communications work best for your
team. Once complete, use your findings to recommend a process for your wider team.
Plus, during a pilot, communicate that your workflow is not yet set in stone, and that
participants should suggest alternatives if something seems broken.
Save long, formal training for launch. Pilots should get you valuable feedback more
quickly for lower costs. Therefore, instead of formal, drawn-out training and lectures,
prep pilot participants with the essentials that they need, and provide open forums
and paths to request more details.
Live Training
Once you are ready, consider launching your system with a “basic training” session to
communicate changes and teach essential techniques. During the session, you can intro-
duce new concepts, introduce the library, demonstrate how to use tools and assets, and
facilitate discussions to ensure that everyone understands the approach. At the conclu-
sion of the training session, designers should be able to answer basic questions such as
the following:
Ω What are components, why do I care, and how does this impact my day-to-day
work?
Ω Where do I get the system, and what do I need to set up to start using it?
Ω How do I create basic designs?
Ω How do I reuse design assets in my projects? How do I share components and
collaborate with others?
Ω How do I communicate designs within our process?
Live Training 289
Ω How does this system make me a better designer within my organization’s broader
mission?
Ω What is the library, how do I use it, how does it change, and where do I go when I
have questions?
Ω How do I use this new tool, and for things I don’t know and when I want to learn
more, where do I go?
Getting people together in the same room to learn together is a great way to communicate
and create discussions around core principles, techniques, and process. Keep in mind,
however, that getting everyone together in a room is also difficult and expensive. Your
basic training event—whether two hours, a half day, a full day, or even multiple days—
must be worth it to participants, so plan well and prepare good demos. Don’t wait until
just days before the training takes place to nail down the day and time, and make sure you
iterate with key project stakeholders to brainstorm, detail, and even publish a well-defined
agenda beforehand.
Focus on Fundamentals
Your system may be gloriously comprehensive from your point of view. Hopefully you’ve
ironed out all the details before launching it in your group. That said, breadth and formality
could overwhelm an audience seeing the system for the first time.
As you prepare your agenda and demonstrations, focus on key concepts and primary
tasks so that attendees leave feeling equipped with the knowledge and confidence that
they can do it themselves. As a facilitator, ask yourself, “Is this topic absolutely essential
for them to be successful?” If you burden beginners with too much, they can become
frustrated or lose focus. Instead, demonstrate fundamental processes like creating a
screen design and communicating it through a deliverable, such as a set of drafts, deeper
specifications, interactive prototypes, or whatever is most important to them.
If you’ve run a pilot period prior to your training session, enlist pilot participants to pre-
pare and present common deliverables they produced. Over the course of a long day of
training, pilot participants can add a refreshing voice and support the core training of the
lead facilitator. You can allot 10 to 15 minutes for each presenter to share what he pro-
duced, how he produced it, how the artifact fit into the process, and how well it worked. By
having peers present their work, you can build credibility and trust with your audience. In
addition, the presentations reinforce real deliverables that the audience will produce and
can establish—or trigger discussions about—expectations for level of detail and format.
What a great forum to openly share the challenges and successes your team experienced
during the pilot!
290 CHAPTER 14: Adopt
You may be tempted to fill that training session with countless nuggets of helpful tips
and tricks. Avoid drowning your team with too many details! If something seems slightly
detailed or specific to you, it is likely way too detailed for everyone else to absorb on a first
pass. Instead, track those deeper details (via slide footnotes, in a list, or other means)
separately from the fundamentals. Such topics may even be great candidates for deeper
dives in subsequent, specialized sessions.
Finally, beware that a presenter with deep experience and knowledge runs the risk of mov-
ing too fast for an audience. Slow down your presentation if necessary, and avoid software
shortcuts and personal tricks that are lost on a crowd that’s seeing concepts for the first
time. In fact, consider turning off ALL keyboard shortcuts when demonstrating software,
which will force you to walk step by step, menu by menu through each task. Beginners
learn far better by the slower, sequential demonstration, and more proficient tool users
can catalog which techniques they can simplify via their own shortcuts. For example,
you can custom-fit a screenshot in a rectangular frame manually with a sophisticated
sequence of actions, or fit it to a default (but sometimes less optimal) size using a
shortcut. I’ll perform the action manually step by step once, twice, or even three times,
but mention the shortcut each time and even start using it later on.
Encourage Feedback
A component system may be a big change for some attendees, overlaying significant rigor
and formality (such as component reference codes like G07v4) that designers may not be
used to. Be sensitive to this transition, but also clearly communicate that some aspects
require designers to adjust their understanding and approach for creating designs.
As you teach new topics and techniques, be open to—and even pause and overtly call
for—feedback from attendees. Feedback is critical, for it’s their system just as much
as it’s yours. If you are lecturing and demoing for an entire day, create an environment
that encourages open discussion within the constraints of time and material you must
cover. Set that tone early in the day and reserve time at key points throughout training
for organic discussions to evolve. Give individuals an open forum to learn, question, and
improve upon the baseline established by the library. While you can open the discussion
with a brief set of slides or even an interactive demo, you can then facilitate a two-way
conversation with learners to identify what’s working and what’s not. Some may not be
comfortable challenging ideas in the open, so identify other opportunities for feedback,
too: through moderated forums, through their manager, or best via personal conversation
with library advocates.
Live Training 291
In addition, lean on your participants to help identify and prioritize what they need to
learn. During basic training, communicate what topics won’t be covered, encourage
attendees to suggest other topics, and even track topics of interest in the list as ideas
occur. The list is a great takeaway so you can plan subsequent training, reinforce that you
are responsive to their needs, and communicate that adoption occurs over time rather
than during one training day.
In general, limit demonstrations of complex techniques that are peripheral to the core
tasks everyone performs. Sure, more proficient people appreciate keyboard shortcuts,
time-saving techniques, and whiz-bang features that prove that the adopted tools are
sufficiently powerful. Maybe you flavor your demos with hints of those tips. But do so in
moderation, so as not to alienate or bore beginners. Keep the focus on necessary basics
so that everyone walks away with a shared appreciation for the fundamentals.
Figure 14.1 The Cisco.com homepage includes numerous components that are not—and should not—be
used elsewhere in the Cisco.com experience.
Attention. The homepage gets a lot of attention. By componentizing it, you provide an
example for your library that everyone is familiar with and can learn from.
Design Context. Designers themselves may want to illustrate a broad experience
that includes the homepage as an integral part. While the homepage isn’t subject
to change, it may include critical links that are a starting point for a flow, section,
or other area that is the subject of a design project. Therefore, having customizable
homepage assets can be quite handy for storyboards, wireflows, and other design
communications.
294 CHAPTER 14: Adopt
Remember, the purpose of talking about the homepage isn’t to convince your team that
the first page to componentize is the homepage. Far from it, actually. Instead, use the
homepage as a way to reinforce that reuse can benefit in unexpected ways. There may be
some great opportunities in your organization to use components to improve collabora-
tion, spread of standards, and consistency—not just how to reuse a chunk across differ-
ent types of pages.
Coaching
Librarians and other experts on how to use the library should also reserve time in their
schedule to provide individualized coaching to team members over time. New designers
will need to be introduced to the principles, standards, and expectations of how to produce
a design. While good documentation can enable them to learn the system on their own,
one-on-one conversations with an expert can significantly enrich their understanding, too.
Maybe more importantly, a librarian should be on the lookout for opportunities to teach
existing designers how to best use the system. Perhaps it’s during a design review, or
maybe it’s during a collaborative design discussion. No matter what, advocates can
educate peers about the library in the context of creating an optimal design solution.
Post-Launch Training Activities 295
If you rely on designers to seek out coaching, you’ll be disappointed by the lack of interest.
In many organizations where coaching was funded, advertised, and even emphasized,
designers generally did not take advantage of the service. Maybe they were intimidated,
or didn’t see the value. But more likely, coaching is not at top of mind when a designer is
deep in a project. If you find that your team lacks interest in coaching, try some structured
techniques like office hours or a segment in a status meeting (ideally at the beginning but
limited to ten minutes) to see if that helps. One team even scheduled monthly two-hour
sessions built around reteaching core concepts, but intentionally left agendas more open
to discussion and tangents that attendees could take to address their own challenges.
worked with a client whose business consisted of a Web application that helped law-
yers file documents in multiple state and local jurisdictions. One of the most impor-
tant features of this application was a “Jurisdiction Picker”—a complex, faceted
search mechanism for checking filing requirements in many different states at once.
You might think they would have developed something this complex only once. But
they had four or five different implementations within the same Web application. We
did a UI audit and component prioritization workshop and insisted that senior man-
agers attend to highlight these issues.
An audit will usually reveal some quick wins, such as nomenclature, for proving the
value of a systematic approach and building your credibility. This is not the most
creative work. And you may need to conduct this audit on your own time, which can
be difficult if you are already loaded with design tasks. But it always pays off. Con-
fronted with specific (and often absurd) examples, it becomes much harder for
business managers to dispute the overall need for a design system.
If this isn’t enough (or even if it is) you should also gather some anecdotal evidence
from customers/consumers. This can be as simple as reaching out to family and
friends and walking them through the site to get their feedback. It never ceases to
amaze me how much management, especially senior executives, will be moved if
they hear about these issues from a user instead of their design team. If your Web site
or application serves a more specialized audience, there may be ways that you can
gather feedback from sales or customer support people to provide you with similar
evidence. Produce a simple report combining these anecdotes with your top line
audit. Then figure out a way to circulate it to key influencers and you should see a
change in attitude. Make sure to include specific quotes, images, and video of users
whenever possible. Empathy is a surprisingly powerful force in business decisions
when used effectively.
for subsequent training on annotating wireframes and writing patterns. While the
subsequent training didn’t focus on components per se, the session’s content, exercises,
and objectives were very consistent with lessons learned during basic training.
Additional activities afford you an opportunity to gauge the pulse of how well your team
is adopting a component-based mindset. Prior to the follow-up session on annotating
wireframes, each attendee had to complete a homework assignment: Prepare one to two
pages of annotations based on component artwork provided by the manager. The exercise
was revealing. The good news: There were many similarities across submissions and the
staff demonstrated clear growth since basic training. The bad news: Inconsistencies in
style, tone, and structure abounded. Fortunately for everyone, the submissions created a
platform for discussion, improvement, and shared empathy for engineers who consume
deliverables that the team produced.
Video-based Training
Seeing is believing. While designers respond that a live training session is the best way to
learn fundamentals, they also admit video-based training in the form of screen recordings
is also very effective. Videos are a great way to do the following:
Ω Capture instruction and insight in a permanent, retrievable way.
Ω Watch training at your own pace, alongside your work.
Ω Augment essential topics taught during live training with special topics.
Ω Respond quickly to emerging, project-specific needs and other “how to” requests.
Ω Sharpen software tool skills in a way that you can replay as many times as you
need to.
Ω Demonstrate tool features and tasks in a manner far more succinct than typing
sequential instructions.
Ω Archive live training demos, which can be improved by tagging portions or chunk-
ing longer sessions into meaningful segments.
Videos are valuable not just as a reference for those who attend live training, but also as a
viable first step for those who were unable to attend or joined the team after the training
was conducted.
Figure 14.2 captures a frame from an EightShapes instructional video that demonstrates
how to quickly create wireframe prototypes. Notice how the timeline includes tagged key-
frames (such as Export to SWF & HTML), enabling a viewer to find topics of interest fast.
298 CHAPTER 14: Adopt
Starting a Collection
Include as many lessons from basic training as you can, and add special topics that you—
or other participants—have identified. A getting-started series has proven invaluable for
getting new designers up to speed on the library. Such a series could include videos that
can be watched in less than a half hour, like the following:
1. Getting Started: Download the assets, explore the templates, and learn about basic
reference materials.
2. Browse the Library: Visually explore, filter, and use available component design assets.
3. Create a Wireframe from a Page Type: Start by opening a template and placing a
complete, component-based page type as a starting point.
4. Create a Wireframe from Components: Learn how to create a wireframe from scratch,
one component chunk after another.
5. Create a Wireframe Form from Scratch: Use standard design elements like a checkbox
and text field to build a form from the ground up.
6. Create and Reuse Component Variations: Create new variations of existing components
or even a new component from scratch, and reuse it across numerous page designs.
Post-Launch Training Activities 299
7. Build a Prototype: Thread together numerous page designs and behaviors in building
an interactive, clickable prototype.
8. Publish a Deliverable Document: Lay out and annotate page and component designs
in a document, and publish the file as a PDF.
Tips for creating an effective library of video-based training include the following:
Keep it short and sweet. Users appreciate bite-size chunks that comprehensively
address a topic but don’t meander on and on about details that aren’t as important.
Most effective videos I’ve produced run no more than five minutes, and some may
be even less than a minute.
Maximize access. Unfortunately, most companies don’t have robust applications for
you to publish videos internally. As an alternative, you can look to sites like youtube.com
or viddler.com to create channels for your video-based training. If you need to broaden
distribution but limit access to people in your company, you can share secret URLs to
each video so you can limit training to only those requiring access.
Plan your demonstration. In live demos, audiences can forgive you for meandering
from time to time. Not so in video-based training: You’ve got to be specific, clear,
and on message when recording a piece. Plan what you’ll cover before hitting the
record button (such as via an outline of key points and prepared assets), practice,
and reshoot until you get it right.
Produce and edit. Some video topics may not be as popular or watched as frequently,
and therefore don’t warrant more than a single take. But for essential topics—such
as getting started, create a wireframe, or create a prototype—consider recording
separate clips, editing them together, adding titles and subtitles, and even recording a
voiceover separately.
Publish what you’ve got. You can’t produce and edit a large collection all at once, so
communicate to stakeholders what videos are available now, and which are coming
soon, and enable them to make requests, too.
The assets you build, the sessions you conduct, the training materials you prepare, and
the guidelines you write all aim to maximize the adoption of component-based techniques
by your organization. No one, from designers to engineers to stakeholders, will learn
everything there is to know about a component library in one sitting. Therefore, a variety
of options will foster more engagement at all levels, both corporate and personal. Ulti-
mately, prepare your team to embed component-based techniques into the design and
development of a user experience. Integrating these techniques into your process is the
subject of the next, and final, chapter.
This page intentionally left blank
301
15
I N T E G R A T E
You can’t just build a library, distribute it to everyone, and expect that they’ll
use it effectively. Communicating how components are created and change over time is
fundamental to the success of your library.
This chapter dives into how components can impact process, including how you do
the following:
Ω Plan how the library impacts you and your process.
Ω Distinguish between projects that reuse existing design versus those that
require new, customized work.
Ω Ensure that you can start projects quickly and independently.
Ω Design, document, and develop solutions using components.
Ω Review proposed designs and code in the context of the library.
Ω Choose when, how, and for whom to standardize.
302 CHAPTER 15: Integrate
Plan
Designers will be more likely to buy in to using the library if they understand exactly how
it impacts them. They’ll need to adapt to a new process, and you’ll need to communicate
how much freedom they’ll have to solve their design problems. When I’ve interviewed
designers, they’ve consistently expressed concern over the independence and freedom
they want to sustain and how that affects the quality of their work.
When discussing how your component library affects your team’s workflow, answer
questions like these:
Ω How does this fit in my process for designing (or engineering, publishing, …)?
Ω Where do I get the library, and how do I come up to speed quickly?
Ω Must my design only use library components, or can I create my own?
Ω How much will the library speed me up—or slow me down?
Ω Do I need to coordinate with more people to get my work done?
Ω Who owns the library? How much influence do I have in changing it?
A Spectrum of Creativity
A component library can impact projects in simple or sophisticated ways. Consider the
simple case: Designers use a library of reusable assets to more quickly create better
designs. That may be as simple as downloading a library, learning how to use the tools
and assets, and producing new screen designs. Producing designs faster? Great, goal
achieved, end of story. For some teams, that’s the end of the line.
On the other hand, most organizations investing in a component library plan for deeper
impacts to their process. With a component library at your disposal, you can begin to
transform how designs are created and experiences are standardized. One useful way to
distinguish projects that use components is along a spectrum of reuse versus invention:
those that use packaged, prefabricated components and page types (“template” or
“turnkey” efforts) versus those that require significant new, custom design work.
Design Templates
Sometimes your goal is to create and package a design as a prefabricated collection of
page and component templates that other designers and teams can use again and again.
Teams refer to these packages by a variety of names, like “template-based” or “turnkey”
solutions. Design templates are built by engineers, but also used by publishers, produc-
ers, strategists, writers, and design production staff (producing artwork over and over)
to repeatedly publish content once the design is deployed.
Plan 303
Consider a Web design team at a big company with a large, diverse product catalog. In
order to simplify publishing content about new and updated products, they invested sig-
nificant effort to create product page templates, components, and guidelines. For each
launch, they wanted to empower a producer to choose the right page template, work with
stakeholders and writers to compose content, and publish the solution independently.
These templates used components from the library. Page types were based entirely on
components for billboards, videos, feature lists, data tables, sidebar promos, contact
widgets, and more. Designers worked hard to define and document both pages and
components, and layered editorial instruction page by page using guidelines on how to
employ each component in context.
With templates in hand, each launch required far less participation from design staff.
Surely, they remained available for questions and quick reviews of proposed imple-
mentations. However, the templates eliminated the need to deeply involve designers
throughout content production and deployment. Plus, since page types were based on
library components, templates evolved in lockstep with the design system in a fluid,
predictable way.
Custom Designs
Not every project results in the predictable reuse of existing components. Instead, many
projects—and most of a design team’s efforts—involve custom work to extend a design
system. Custom design work means new components. Usually, the bigger the project, the
more new components you should plan for.
Hold on a second. Didn’t you create a component library so you don’t have to design,
document, and build new components with each project? Absolutely. But the library only
accounts for problems you’ve solved already.
Therefore, it’s important to be willing to embrace new designs. During project planning
and design discovery activities, library advocates must be aware of emerging design
needs. At that point, high-level brainstorming begins to suggest existing components just
as much as needs for new variations and even components overall. During those early
formative stages, the team should recognize, prioritize, and plan for new components.
In fact, I need look no further than a design technologist I work with who manages the
component library I depend on for my own design work. He recently joked that I’m “the
guy that’s writing a book on modular components who comes up with new components
with every project.” We work together often, and early in a project I’ll point out likely new
components and later on will concretely list proposed components and variations.
The reality is that to solve new problems, you often need new components. So conversa-
tions must acknowledge the need for custom designs. Our solution to a given problem
balances many factors: possible reuse, complexity, competing project priorities, available
time and deadlines, and so much more.
The most important point: We communicate. Our instant messages are fast and furious,
opinionated at times, but always recognizing the role of the library. In that context, I’m the
designer and he’s the librarian and design technologist building code. Our fluid commu-
nication and level of mutual comfort may not be typical of most designers using a compo-
nent library for the first, second, or even third project.
In another situation, a director of user experience was very cognizant of the distributed
teams that used the common component library, and the limited access to (or even
knowledge of how to access) the librarian prevented that kind of constant, familiar
exchange. Therefore, he and his team worked hard to integrate component activities
and reviews into existing steps of their experience design and development process, as
shown in Figure 15.1.
306 CHAPTER 15: Integrate
Component
Design Review(s)
Librarian Train & Review Was the library used correctly? Update
Answer & Comment What should be added Catalog
expert on creating
any questions informally offline to the library? with new
and using components component IDs
about system use via shared PDF Status: test, pilot, or active?
Design Plan
What components will
Technologists we reuse? change? create? HTML/CSS
managing CSS & What metrics do we build in?
presentation layer
Build
Figure 15.1 A design and development process from a component point of view. The diagram doesn’t seek
to illustrate the vast complexities, iterations, tasks, and milestones of a thorough, large-scale project plan.
Integrating component activities into your process involves a number of activities from
the start to finish of a project, including the following:
Prepare. Make sure your design staff is set up to understand and apply components,
acquire the standardized templates and library assets, and learn how to use the
system.
Design and Document. Component libraries can strongly influence how you construct
and detail an experience design, and use the library as a platform for further innovation
to create new solutions with new components.
Develop. Engineering and testing teams can use components as a basis for planning,
architecting, building, and deploying their work.
Standardize. Once new components emerge, teams must work together to organize
and publish design assets, guidelines, and code libraries.
Prepare 307
Code Review
(similar to or part of UAT)
Did we correctly build the UX? Publish Formalize Review Code Test Across Publish
Build Are metrics handled right? Update Markup Author
HTML/CSS HTML & CSS Thoroughly Platforms
HTML/CSS Does it work in a production HTML/CSS via file distribution with styles for consistent to address all of HTML, CSS, Guidelines
environment? to developers/QA in taxonomy library integration possible use cases and other code
DEVELOP to get project launched STANDARDIZE to reuse across projects, platforms, & entire experience
Instead, it illustrates some of the basic impacts and important activities involved in integrating a compo-
nent library into your process. (Created with the Cisco.com User Experience Team. Used with permission.)
The remainder of this chapter drills deeper into some of these key activities to help you
consider possible impacts to your process. With these activities in mind, you can plan
how to communicate similar methods and activities to your teams as you roll out your
own library.
Prepare
You can’t create a component library and expect all designers to simply pick up the assets
and run with them. Additionally, even if you set aside time to facilitate formal training, not
everyone will be able to come and new designers are sure to come aboard after the train-
ing anyway.
Therefore, you’ll need to equip designers with the tools, assets, and knowledge they need
to learn the system fast, and acclimate to using the system fast, too. A startup process
308 CHAPTER 15: Integrate
ΩΩ TIP Create a handy visual reference for engineers and designers by augmenting your compo-
nent library summary with component variations screenshots, using the component code as the
file name. You may even use these screenshots to create wireframe component assets later.
Develop
Following a period of collaboration between designers and engineers, the engineering
team will begin to build their solution out. At some point, early drafts will give way to more
functional and precise versions that are mature enough for team members—designers
and stakeholders alike—to review how the solution is emerging.
312 CHAPTER 15: Integrate
Publisher Can I reuse these designs and/or code chunks effectively on subsequent
projects?
Does the build handle content variations in copy, images, and messaging,
including internationalization concerns?
Code reviews can often degenerate into detailed pixel pushing in which designers home in
on imprecise layouts and identify specific changes. Make no mistake—this is the time to
do just that, and ensure that an accurate design is implemented. However, if the group is
larger and the pixel pushing is extensive, then offload those discussions to smaller, even
paired, discussions between designers and engineers.
Standardize
Adding a component to a library takes time. To standardize a component could mean
adding it to a catalog, giving it a reference code, creating design assets like a wireframe
symbol or comp sample, writing guidelines, and building and validating HTML and CSS
markup.
When do you standardize something? When your organization is going to benefit from
having reference numbers, design symbols, guidelines, or code at its disposal. Not a
moment before.
The degree and breadth to which you standardize something depends on your library’s
base of users. If your team is going to value design assets but won’t take the time to read
guidelines, then don’t author guidelines. If your organization thirsts for instructions on
how to apply a component in their strategy and publishing, but your designers won’t use
the components in future designs, then author guidelines and skip building design assets.
Make the library fit into the way you want to reuse solved design problems. Once aspects
of a designed and engineered experience stabilize, you can initiate activities to standardize
it. Sometimes, it’s near the end of a design cycle. Other times, as a project nears launch.
314 CHAPTER 15: Integrate
Maybe it’s not even until the components have been live for some time. It really depends
on the stability of the assets and your interest in teaching others and proliferating assets
throughout your organization.
Therefore, structure post-project activities to standardize what you need, including
the following:
Create Design Assets. As described in Chapter 11, “Build,” incorporate new compo-
nent designs into your library of design assets once the design has stabilized.
Write Guidelines. Chapter 13, “Guide,” describes guidelines that you and your team
can compose to promote consistent usage of components over time.
Formalize Code. As you work to get the code just right for the release, go the extra mile
to incorporate HTML, CSS, JavaScript, and image assets into your generalized library.
Pilot, then Generalize. Temper initial investments in building code and guidelines by
piloting a solution more quickly. Once the solution proves effective, then circle back to
formalize code across platforms, distribute design assets, and compose guidelines for
standard application.
Chapter 12, “Administer,” describes aspects of publishing and notifying the team about
component library updates. Be sure to consider how to best blend that with ongoing proj-
ect workflows and resource allocations.
Components are a platform for incorporating reusable, standard design solutions across
a range of design, development, and publishing projects. The standards you create should
be a library of the people, by the people, and for the people. Those people may be the
design or engineering teams, seeking to incorporate efficiencies and standards into their
own, internal team practices.
Or the library’s influence may be meant to spread across disciplines, from content strate-
gists to product managers, from publishers and writers to testers and even more dis-
tant brand, marketing, and executive groups. As the library spreads, it transforms from
a design or code resource into a baseline and culture that transcends thinking about
“standards” and becomes more a way to do business. While administration may remain
the purview of librarians on a design or development team, the value, focus, and library
design widens to accommodate many teams, practices, and business objectives.
In the end, components present an opportunity for you to create a more consistent, pre-
dictable, and learnable user experience. Standard component treatments help you reapply
solved, effective design solutions over and over. As a result, things like consistency and
usability increase. And, perhaps, so does customer satisfaction and brand loyalty. Ulti-
mately, it’s those most important people—the actual users of your site—that the library
can benefit the most.
This page intentionally left blank
Index
Bound step, applying to variation via Cart Summary item, including in design
pictures, 49–50 hierarchy, 20
brand and marketing, selling components case list, state matrix as, 59
to, 148–149 cases, using with states, 58
breadcrumbs component categories
including for articles, 33–34 billboard, 185–186
including for products, 30–31 body content, 184
Bridge program header and footer, 184
browsing files visually in, 86–87 navigation, 184–185
using keywords in, 200–201 overlapping, 186
Brown, Dan, 111–113, 221–222 sidebar, 185
build files. See also files category codes, creating, 196–197
components in, 228 change, resistance to, 207–208
creating, 230–231 checkout shipping component, properties
creating component reference guides of, 48
from, 269 chunked pages, including in documents,
multiple, 229 119–120
organizing, 228 chunked wireframe pages, annotating,
overview of, 227 23–24
as reference documents, 229–230 chunking, process of, 22–24
setting up, 228 chunking pages. See also component
Build ID, assigning to components, 179– chunks; page chunks
180 importance of, 26–27
build properties, tracking with component role in deliverable life cycle, 107
catalog, 179, 181 chunks
bullet characters, using with annotation discerning for mapping interface, 35
types, 126 grouping elements into, 27
bundles of components, using, 72–73 organizing as variations, 190
buttons relating as variations, 189
reusing, 235 use by peers and stakeholders, 27
using styles with, 218 Cisco Systems, Inc. sidebar, 147–149
Cisco.com homepage, 292–293
citable structure, example of, 57
C Clearspace tool, using to publish
component documentation, 264
callouts
clickable prototype, instructional video of,
use of, 60
297–298
using with components, 22, 24
coaching on library use, providing, 294–
capabilities and culture, considering,
295
204–205
Index 319
FAQs (frequently asked questions), stack frequently asked questions (FAQs), stack
of, 71 of, 71
“fast” option, using with low-quality Frog Design sidebar
images, 84 “Create a Common Language,” 7–8
“Fear Not the List” sidebar, 111–113 “Selling Softly Through Audits” sidebar,
feedback and inputs, discussions, 258 295–296
file instances, archiving, 97 Future Research attribute, purpose of, 274
file size, reducing with master symbols,
80–81
file versions, archiving, 97–98 G
files. See also build files
GA (General Availability), explained, 250
components as, 238–239
global and utility navigation component,
considering naming conventions for,
including for products, 30–31
97–98
global navigation component, including
importing in Adobe Creative Suite, 86
for articles, 33–34
placing within files, 86
Gmail component, including for portal, 37
sharing, 97–98
Google Calendar component, including
storing components in, 82
for portal, 37
transporting, 97
Google Docs component, including for
variations of items for, 97
portal, 37
filter search component, including for
Google global navigation component,
search results, 35–36
including for portal, 37
finance or operations, selling components
Google Reader component, including for
to, 149
portal, 37
Fireworks CS4
graphical details, best practice, 220
embedded and linked reuse features in,
gray, using type styles with, 215
88–89
gray scale, using with wireframes, 220
library panel in, 236
grids and guidelines
panel feature in, 85
for build files, 228
Flash, shapes of components in, 7
using with templates, 211
flows and maps, including in documents,
guidelines
116–118
advice about embedding, 224
folder structures, examples of, 96
and grids for build files, 228
folders, using on shared drives, 97
using with templates, 211
footer and header, contents of, 184
writing as post-project activity, 314
footer component, including for portal, 37
writing for component libraries, 252–253
form controls, reusing, 235
Guidelines attribute, purpose of, 276
forms and errors, using type styles with, 214
“Guidelines Dashboard,” 253
frames, using styles with, 217–218
Gumption sidebar, 264–266
Index 327
mini-cart, component variations of, 93 objects and styles, thinking in terms of,
mobile promotion component, including 28–29
for articles, 33–34 OLE (object linking and embedding),
modular, being, 79 scalability of, 89
modular design. See reuse OmniGraffle 5
module pattern sidebar, 159–161 embedded and linked reuse features in,
modules 88
defined, 3 panel feature in, 85
in iGoogle, 37 placing and linking PDFs in, 87
molecule, defined, 3 ONE, goals of, 15–16
Move option, using with linked instances, online spreadsheet, using with component
83 catalog, 178
music component, including for portal, 37 Open Questions attribute, purpose of,
273, 276
operations or finance, selling components
N to, 149
Order step, applying to variation via
names, combining, 200
pictures, 45
namespace, embedding into images, 198
organization, benefits of, 177
Narrate step, applying to variation via
outlining layers, 124–125
pictures, 51–53
Overview attribute, purpose of, 276
navigation and buttons, reusing, 235
navigation bar, example of, 189
navigation components
described, 184–185 P
including for search results, 35–36 packaging
navigation paths, including in wireflows, components as individual files, 238–239
117 distribution, 240
News item, including in design hierarchy, library-panel components, 236–237
20 overview of, 235
notifications, using with component preparing components, 239–240
libraries, 256–257 process of, 239–240
page annotations, including in
documents, 120–121
O Page Background feature, described, 89
page chunks. See also chunking pages
object styles
annotating, 23
buttons, 217
consistent structure of, 159
frames, 216–217
creating, 22–24
332 Index
read and comment bar component, results components, including for search
including for articles, 33–34 results, 35–36
recipes, using with documents, 108–110 Results item, including in design
rectangle advertisement component, hierarchy, 20
including for articles, 33–34 reusable artwork, maintaining, 81
rectangles reusable components, organizing, 85–86
components as, 5–7 reusable design elements, collections of,
right-sizing, 25–26 235
Web pages as collections of, 159–161 reusable library items, distributing
redlines, using to standardize visual style, components as, 236–237
279 reusable tab chunks, stack of, 190
“Reduce, Reuse, & Recycle” poster, 90–91 reuse
reference codes. See code guidelines comparing software features for, 87–90
reference documents, build files as, 229– embedded versus linked features, 88
230 opportunities for, 90
reference tables, automating in through linked files, 86–87
documents, 122 through symbol panels, 85–86
regions, using with pages, 75–76 reuse opportunities, widening, 82
related articles component, including for reusing
articles, 33–34 component and page designs, 84
Related components attribute, purpose of, components across files, 81–82
276 components inside files, 80–81
related links component, including for components through linked files, 86–87
products, 31 documentation chunks, 104
Related patterns attribute, purpose of, 274 page designs, 100
Related publications attribute, purpose of, Reverse option, using with page location, 53
273 reviews. See component design review
Related research attribute, purpose of, 274 “Rock’em Sock’em Components” sidebar,
rendered variations, storing in linked files, 69–70
92 roles, considering for component
repository, rolling out, 264–266 libraries, 226
“Representing Data in Wireframes” “Rolling Out the Repository” sidebar,
poster, 221 264–266
research and strategy, positioning in rows
documents, 115–116 arranging component visualizations in,
research attributes, purpose of, 274 47
Resize option, using with linked instances, contrasting appropriate use in, 50
83 ruler units of measurements, using with
templates, 210
Index 335
shopping carts
S displaying contents of, 47
sales, selling components to, 149 ordered variations of, 45
scannable descriptions, using, 56 updating versions of, 97
Scott, Bill, 52 Shopping item, including in design
screen designs hierarchy, 20
including component code markers in, shopping options, variations of, 48
197 sidebar banners, using, 31
modular reuse of, 210 sidebar category, described, 185
setting up, 210 sidebars
screen size, ratio of document size to, 210 “Always Look Both Ways When
Screenshot of actual use picture type, pros Componentizing the Street,” 61–62
and cons, 277 contrasting components used in, 191
screenshots of components “Create a Common Language,” 7–8
preparing for workshops, 163 distinct components for, 25
usefulness of, 157 “Fear Not the List,” 111–113
using in workshops, 166 “It Started with Patterns,” 15–16
search bar variations, example of, 194 “Know Your Customers,” 147–149
search component, including for articles, “Librarian, Curator, Champion,
33–34 Detective,” 243–244
Search item, including in design hierarchy, as linked files, 92
20 “The Power of Mumbo Jumbo,” 198–
search location & result quantity 199
component, including for search “Prototyping with Components,” 101–
results, 35–36 102
search results, components for, 35–36 “Rock’em Sock’em Components,”
“See,” focus of, 42–43 69–70
“Selling Softly Through Audits” sidebar, “Rolling Out the Repository,” 264–266
295–296 “Selling Softly Through Audits,” 295–
Sensitizing Example attribute 296
purpose of, 273 “Standard Module Pattern,” 159–161
in Yahoo Design Pattern Library, 274– “Take Control,” 218–219
275 “Wires to Reality,” 232–233
Share item, including in design hierarchy, “You’re Soaking in It... Relax,” 28–29,
20 303–304
shared drives, advisory about, 97 site logo component, including for search
shells. See page shells results, 35–36
shopping cart pages site utility bar, states of, 41
annotating, 119 sketching, advancing toward coding, 27
page shell for, 94 small multiples, concept of, 43
336 Index
X
X box, indicating image placement with,
220
x-axis, using with mini-shopping cart, 47
XMP (extensible metadata platform) Web
site, 272
Y
Yahoo! Design Pattern Library
“Librarian, Curator, Champion,
Detective” sidebar, 243–244
sidebar, 15–16
Web site, 274
Yahoo! Inc. sidebar, 159–161
Yahoo Sports NBA page
components of, 3–5
patterns in, 11–12
Yahoo’s public design pattern library,
261–262
y-axis, using with mini-shopping cart, 47
“You’re Soaking in It... Relax” sidebar,
28–29, 303–304
Z
ZIP files, distributing design assets as, 308
Zoom In item, including in design
hierarchy, 20
Zoom option, using with page location, 53
This page intentionally left blank
Get free online access
to this book for 45 days!
And get access to thousands more by signing
up for a free trial to Safari Books Online!
With the purchase of this book you have instant online,
searchable access to it for 45 days on Safari Books Online!
And while you’re there, be sure to check out Safari Books
Online’s on-demand digital library and their free trial offer
(a separate sign-up process). Safari Books Online subscribers
have access to thousands of technical, creative and business
books, instructional videos, and articles from the world’s
leading publishers.