throbber
Designing
`
`YinterfACES
`
`
`
`TASSPreee|aSaaaa
`Patternsfor Effective Interaction Design
`
`O’REILLY*
`
`;
`
`i
`
`Jenifer Tidwell
`
`EXHIBIT
`EXHIBIT
`2018
`201 8
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`1/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`1/73
`
`

`

`Designing
`Interfaces
`
`Jenifer Tidwell
`
`O’REILLY*
`
`BEIJING = CAMBRIDGE = FARNHAM « KOLN * SEBASTOPOL « TAIPE|* TOKYO
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`2/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`2/73
`
`

`

`Designing Interfaces
`by Jenifer Tidwell
`
`Copyright © 2006 O'Reilly Media, Inc. All rights
`reserved, Printed in the United States of America.
`
`Published by O'Reilly Media, Inc,,
`1005 Gravenstein Highway Narth,
`Sebastopol, CA 95472.
`
`O'Reilly books may be purchased foreducational,
`business, or sales promotional use. Online editions
`are also avallable for most tities(safari.oreillycom).
`For more information, contact ourcorporate/
`institutional sales department, (800) 998-9938 or
`corporate@oreillycom.
`
`Editors: Andrew OdewahnandMary O'Brien
`Production Editor: Genevieve d'Entremont
`Cover Designer: Mike Kahnke
`Interior Designer: NOON
`
`Printing: Histary:
`November 2005; First Edition.
`
`Nutshell Handbook, the Nutshell Handbook logo,
`and the O'Reilly logo are registered trademarks of
`O'Reilly Media, Inc. Designing Interfaces and
`reiated trade dress are trademarks of O'Reilly
`Media, Inc.
`
`Many of the designations used by manufacturers
`and sellers to distinguish their products are
`claimed as trademarks. Where those dasianations
`appear in this book, and O'Reilly Media, Inc, was
`aware of a trademark claim, the designations have
`been printed in caps or initial caps,
`
`While every precaution has been taken in the
`preparation of this book, the publisher and author
`assume no responsibility for errors or omissions,
`or for damages resulting from the use of the
`information contained herein.
`
`This book uses RepkKover, a durable and flexible
`lay-flat binding.
`
`ISBN: 978-0-596-00803-]
`
`[Cj
`
`[9/08]
`
`
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`3/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`3/73
`
`

`

`ABOUT THE AUTHOR
`
`Jenifer received her technical education at
`MIT and her design education at the Massa-
`chusetts College of Art, but she’s not finished
`learning yet. She has been researching user
`interface patterns since 1997. Photography
`and writing are her creative outlets, and she
`
`Jenifer Tidwell is an interaction designer and software developer for The
`MathWorks, makers of technical computing software. She specializes in
`the design and construction of data analysis and visualization tools, and
`has been working on new designs for the data tools in MATLAB, which is
`used by researchers, students, and engineers worldwide to develop cars,
`planes, proteins, and theories about the universe. She has been known to
`design websites, and was an early enthusiast for rich Internet application
`(RIA) technology, having helped design and develop Curl in the early
`2000s,
`
`4/73
`
`spends as much time as she can in the New
`England outdoors—on a bike, on a boat, on
`foot, on skis, and on belay.
`
`Jenifer’s personal web site can be found at
`anteM/AisieldoAEL-m
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`4/73
`
`

`

`5/73
`
`NOON (wwwdesignatnoon.com) designed
`the interior layout. This book was converted
`by Joe Wizda to Adobe InDesign CS. The
`text fonts are Gotham Book and Adobe Ga-
`ramond; the heading fonts are Univers and
`Gotham Bold. The illustrations that appear
`in the book were produced by Robert Ro-
`mano, Jessamyn Read, and Lesley Borash
`using Macromedia FreeHand MX and Adobe
`Photoshop CS. This colophon was written by
`Jansen Fernald.
`
`feign injury to distract predators such as ot-
`ters, raccoon dogs, mink, polecats, eagle owls,
`and grass snakes.
`
`Mandarin ducks are not an endangered spe-
`cies, but they are considered to be threatened.
`Loggers continuously encroach upon their
`habitats, and hunters and poachers prize the
`males for their plumage. Their meat is con-
`sidered unpalatable by humans, and they are
`generally not hunted for food.
`
`Genevieve d’Entremont was the production ed-
`itor and proofreader for Designing Interfaces.
`Ann Schirmer was the copyeditor. Susan Hon-
`eywell was the page compositor. Phil Dangler
`and Claire Cloutier provided quality control.
`Kelly Talbot and Johnna VanHoose Dinse wrote
`the index.
`
`Mike Kohnke designed the cover of this book,
`based on a series design by Edie Freedman.
`The cover image is from Johnson's Natural
`History. Karen Montgomery produced the
`cover layout
`in Adobe InDesign CS, using
`Adobe's ITC Garmond font.
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`
`COLOPHON
`
`Our look is the result of reader comments,
`our own experimentation, and feedback from
`distribution channels. Distinctive covers com-
`plement our distinctive approach to techni-
`cal topics, breathing personality and life into
`potentially dry subjects.
`
`The animal on the cover of this book is a
`Mandarin duck (Aix ga/ericulata), one of the
`most beautiful of the duck species. Origi-
`nating in China, these colorful birds can be
`found in southeast Russia, northern China,
`Japan, southern Engiand, and Siberia.
`
`The males have diverse and colorful plumage,
`characterized by an iridescent crown, chest-
`nut-colored cheeks, and a white eye stripe
`that extends from their red bills to the back
`of their heads. Females are less flamboyant in
`appearance and tend to be gray, white, brown,
`and greenish brown, with a white throat and
`foreneck,
`
`These birds live in woocland areas near
`streams and lakes. Being omnivorous,
`they
`tend to have a seasonal diet, eating acorns
`and grains in autumn:
`insects,
`land snails,
`and aquatic plants in spring; and dew worms,
`grasshoppers, frogs, fish, and mollusks during
`the summer months.
`
`The mating ritual of Mandarin ducks begins
`with an elaborate and complex courtship
`dance that
`involves
`shaking movements,
`mimed drinking gestures,
`and preening.
`Males fight each other to win a female, but
`it
`is ultimately the fernale who decides her
`mate. Mandarin ducklings instinctively follow
`their notoriously protective mothers, who will
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`5/73
`
`

`

`
`
`CONTENTS
`
`Ol
`
`WHAT USERS DO
`
`A Means to an End
`
`The Basics of User Research
`
`Users’ Motivation to Learn
`
`The Patterns
`
`safe exploration
`
`instant gratification
`
`satisficing
`
`changes in midstream
`
`deferred thojces
`
`ineremental construction
`
`habituation
`
`spatial memory
`
`prospective memory
`
`streamlined repetition
`
`keyboard only
`
`other people's advice
`
`O2
`
`CFGAN/ZING TRE CONTENT
`ki shies ides1d
`44
`eed de Airs Sh ea Oey
`
`The Basics of Information Architecture:
`
`Dividing Stuff Up
`
`Physical Structure
`
`The Patterns
`
`two-panel selector
`
`22
`
`28
`
`30
`
`31
`
`Put two side-by-side panels on the interface. In the
`first, show a set of items that the user can select at
`will; in the other, show the content of the selected
`item.
`
`one-window drilldown
`
`36
`
`Show each of the application's pages within a single
`of
`window. As a user drills down through a menu
`options, or into an object'sdetails, replace the
`window contents completely with the new page.
`39
`alternative views
`
`Let the user choose among alternative views t
`are structurally different, not just cosmetically
`different, fram the default view.
`
`wizard
`
`hat
`
`42
`
`Lead the user through the interface step by step,
`doing tasks ina prescribed order.
`extras on demand
`
`45
`
`Show the most important content up front, but hide
`the rest. Let the user reach It via a single, simple
`gesture,
`
`intriguing branches
`
`47
`
`Place links to interesting content in unexpecte
`places, and label them ina way that attracts the
`curlous User.
`
`cl
`
`multi-level help
`
`49
`
`help
`Use a mixture of lightweight and heavyweight
`techniques to support users with varying needs.
`
`03
`
`GETTING AROUND:
`NAVIGATION, SIGNIOSTS.
`AND WAYEIN DING
`
`Staying Found
`
`The Cost of Navigation
`The Patterns
`
`21
`
`clear entry points
`
`55
`
`56
`
`63
`
`64
`
`Present only a few entry points into the interface:
`make them task-oriented and descriptive.
`
`Is
`
`canvas plus palette
`
`Place an iconic palette next to a blank canvas; the
`user clicks on the palette buttons to create objects
`on the canvas.
`
`54
`
`22
`
`global navigation
`
`66
`
`Using a small section of every page, show a
`consistent set of links or buttons that take the user
`
`to key sections of the site or application.
`
`
`
`CONTENTS
`
`
`
`
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`6/73
`
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`6/73
`
`

`

`hub and spoke
`
`68
`
`Al Kind
`
`center stage
`
`103
`
`isolate the sections of the app into mini-applications,
`each with one wayin (from the main page) and one
`way out (back to the main page).
`
`Put the most important part ef the Ul into the largest
`subsection of the page or window, cluster secondary
`tools and content around it
`in smaller panels,
`
`pyramid
`
`71
`
`titled sections
`
`joy
`
`Link a sequence of pages with Back/Nextlinks.
`Combine this sequential presentation with a main
`page that links to and from all pages in the
`sequence.
`
`modal panel
`
`74
`
`Show only one page, with no other navigation
`options, until the user solves the immeciate problem.
`
`sequence map
`
`76
`
`On each page in a sequence, shaw a map ofall of
`the pages in order, including a "You are here”
`indicator.
`
`breadcrumbs
`
`73
`
`On each page ina hierarchy, show a map ofall the
`Parent pages, up to the main page.
`
`annotated scrollbar
`
`80
`
`Make the scrollbar serve double-duty as a map of the
`content, or as a “You are here" indicator.
`
`color-coded sections
`
`82
`
`Use color to identify which section of an application
`or site that a page belongs to.
`
`animated transition
`
`84
`
`Smooth outa startling or dislocating transition with
`an animation that makes it feel natural.
`
`Define separate sections of content by giving each
`one a visually strong title, and then laying them all
`out on the page together.
`card stack
`
`109
`
`Put sections of content onto separate panels or
`“ecards,” and stack them up so only one is Visible at a
`time; use tabs or other devices to give Users access
`to them.
`
`WW
`closable panels
`Put sections of content onto separate panels, and let
`the user open and close each of them separately
`from the others.
`
`movable panels
`
`4
`
`Put different tools or sections of content onto
`separate panels, and let the user move them around
`to form a custom layout.
`
`38
`
`right/left alignment
`
`NG
`
`When desidning a two-column form or table, right-
`align the labels on the left, and left-alian the items
`on the right.
`
`39
`
`diagonal balance
`
`18
`
`Arrange page elementsin an asymmetric fashion,
`but balance it by putting visual weight into both the
`upper-left and lower-right corners.
`
`escape hatch
`
`86
`
`40
`
`property sheet
`
`120
`
`On each page that has limited navigation options,
`place a button orlink that clearly gets the user out
`of that page and back to a known place,
`
`ORGANIZING THE PAGE;
`LAYOUT OF PAGE ELEMENTS
`
`O4
`
`The Basics of Page Layout
`
`The Patterns
`
`ae
`
`visual framework
`
`38
`
`89
`
`99
`
`100
`
`Design each page to use the same basic layout,
`colors, and stylistic elements, but give the design
`enough flexibility to handle varying page content.
`
`4]
`
`42
`
`Use a twa-column or form-style layout to show the
`user that an object's properties are edited on this
`page.
`
`responsive disclosure
`
`]23
`
`Starting with a very minimal Ul, quide a user through
`a series of steps by showing more of the Ul as he
`completes each step.
`
`responsive enabling
`
`125
`
`Starting with a Ul that's mostly disabled, quide a
`user through a series of steps by enabling more of
`the Ul as each step is done.
`
`vi
`
`CONTENTS
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`7/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`7/73
`
`

`

`43
`
`liquid layout
`
`128
`
`As the user resizes the window, resize the page
`contents along with it so the page is constantly
`“filled.”
`
`DOING THINGS:
`
`O§5 ACTIONS AND COMMANDS
`
`Pushing the Boundaries
`
`The Patterns
`
`Aa
`
`button groups
`
`a0
`
`133
`
`136
`
`1a?
`
`Present related actions as a small cluster of buttons,
`aligned either horizontally or vertically. Create several
`of them if there are more than three or four actions.
`
`action panel
`
`140
`
`Instead of using menus, present a large group of
`related actions on a U! panel that's richly organized
`and always visible,
`
`prominent “done” button
`
`144
`
`Place the button that finishes a transaction at the end
`
`of the visual flaw; make it big and well-labeled.
`smart menu items
`146
`
`47
`
`Change menu labels dynamically to show precisely
`what they would do when invoked.
`
`181
`data brushing
`Let the user select data iterns In one view; show the
`
`same data selected simultaneously in another view.
`
`preview
`
`147
`
`lacal zooming
`
`184
`
`Show users 4 preview or summary of what will happen
`when they perform an action.
`
`ag
`
`progress indicator
`
`149
`
`Show the user how much progress was made ona
`time-consuming operation:
`
`cancelability
`
`151
`
`Provide a way to instantly cancel a time-consuming
`Operation, with no side effects.
`multi-level undo
`
`153
`
`Provide a way to easily reverse a series of actions
`performed by the user.
`
`command history
`
`156
`
`As the user perfarms actions, keep a visible record of
`what was done, to what, and when.
`
`macros
`
`158
`
`Show all the data In a single dense page, with small-
`scale data items. Wherever the mouse goes, distort
`the page to make those data items large and readable.
`
`|
`
`row striping
`
`Use two similar shades to alternately color the
`backgrounds of the table rows.
`
`sortable table
`
`ig?
`
`189
`
`Show the data in a table, and let the user sort the
`
`table rows according to the column values.
`
`jump to item
`
`191
`
`When the user types the name of an item, jurnp
`straight to that item and selectit.
`new-item row
`
`193
`
`Use the last row in the table to create a new item in
`place:
`
`cascading lists
`
`195
`
`Macros are single actions composed of other, smaller
`actions. Users can create them by putting together
`sequences of actions.
`
`Express a hierarchy by showing selectable lists of the
`items in each hierarchy level. Selection of any item
`shows that item's children in the next list.
`
`
`CONTENTS
`
`vil
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`8/73
`
`06 TREES,
`TABLES. AND COYOELI
`SHOWING COMPLEX DATA:
`INFORMATION ERA DCS
`
`The Basics of Information Graphics
`
`The Patterns
`
`overview plus detail
`
`bedi
`
`161
`
`173
`
`174.
`
`Place an overview of the araphic next to a zoomed
`“detail view.” As the user drags a viewport around the
`
`overview, show that part of the graphic inthe detail
`VIEW.
`
`datatips
`
`176
`
`As the mouse rolls over a point of interest on’ the
`graphic, put the data values for that point into a
`.
`;
`toeltip or some other floating window,
`178
`dynamic queries
`Provide ways to filter the data set immediately and
`
`interactively. Ermploy easy-to-use standard controls,
`such as sliders and checkboxes, to define which parts |
`of the data set get shown, As soon as the user adjusts |
`those controls, the results appear on the data display,
`
`|
`
`|
`
`|
`
`||
`
`||
`
`|
`|
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`8/73
`
`

`

`64
`
`tree table
`
`197
`
`autocompletion
`
`227
`
`Put hierarchical data in columns,like a table, but use
`an indented outline structure in the first column to
`illustrate the tree structure.
`
`As the user types inte a text field, anticipate the
`
`possible answers and automatically complete the
`entry when appropriate,
`
`a wn
`
`multi-y graph
`
`198
`
`dropdown chooser
`
`230
`
`Stack multiple graph lines, one above the other, in one
`panel; let them all share the same X axis.
`
`small multiples
`
`2006
`
`Create many small pictures of the cata using two or
`
`three data dimensions, Tile them on the page
`according to one or two additional data dimensions,
`ejther in a single comic-strip sequence, or ina 2D
`matrix.
`
`treemap
`
`205
`
`Express multidimensional and/or hierarchical data as
`rectangles of various sizes. You can nest those
`rectangles to show the hierarchy, and color or label
`them to show additional variables.
`
`07
`
`GETTING INPUT FROM USERS:
`Peet qh ildPN ies
`
`The Basics of Form Design
`Control Choice
`
`The Patterns
`
`65
`
`forgiving format
`
`ne
`
`207
`209
`
`218
`
`219
`
`Permit users to enter text ina variety of formats and
`syntaxes, and make the application interpretit
`intelligently
`
`| structured format
`
`220
`
`Instead of using one text field, use a set of text fields
`that reflect the structure of the requested data.
`
`__
`
`fill-in-the-blanks
`
`222
`
`Arrange one or more fields in the form of a prose
`sentence or phrase, with the fields as “blanks” to be
`filled in bythe user.
`
`input hints
`
`224
`
`Beside an empty text field, place a sentence or
`example that explains what is required.
`
`input prompt
`
`225
`
`Prefill a text fleld or dropdown with a prompt that tells
`the user what to do or type.
`
`Extend the concept of a menu by using a drop-down
`or pop-up panel to contain a more complex value-
`selection WI.
`
`illustrated choices
`
`2335
`
`Use pictures instead of words (or in addition to them)
`to show available choices.
`
`list builder
`
`235
`
`Show both the “source” and the “destination”lists on
`the same page; let the user move items between
`them.
`
`good defaults
`
`237
`
`Wherever appropriate, prefill form fields with your
`best guesses at the values the user wants.
`
`same-Page error messages
`
`239
`
`Place form error messages directly on the page with
`the form itself; mark the top of the page with an error
`message, and if possible, put indicators next to the
`originating controls.
`
`os BUILDERS AND EDITORS
`
`The Basics of Editor Design
`The Patterns
`
`‘9
`
`edit-in-place
`
`vi
`
`244
`248
`
`249
`
`Use asmall, dynamic text editor to let the user change
`text “in place”: position the editor directly over the
`original text, rather than using a separate panel or
`dialog box.
`
`smart selection
`
`251
`
`Make the software smart enough to automatically
`select a coherent group of items, rather than making
`the user do jt.
`
`composite selection
`
`253
`
`Use different gestures—or mouse clicks in different
`screen areas, such as the composite’s edgés versus its
`insides—to determine whether you should select a
`composite itself or allow its contained objects to be
`selected.
`
`vill
`
`CONTENTS
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`9/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`9/73
`
`

`

`one-off mode
`
`255
`
`30
`
`corner treatments
`
`297
`
`When a modeis turned on, perform the operatian
`once. Then switch back automatically inte the default
`or previous mode.
`
`spring-loaded mode
`
`257
`
`Let the user enter a mode by helding down a key ora
`mouse button. When the user releases it, leave the
`mode and go back te the previous one.
`constrained resize
`
`259
`
`“
`
`Supply resize modes with different behavior, such as
`preserving aspect ratio, for use under special
`circumstances,
`
`Instead of using ordinary right angles, use diagonals,
`curves, or cutouts for some of the interface’s box
`corners, Make these corner treatments consistent
`across the interface.
`
`|
`|
`
`oy
`
`borders that echo fonts
`
`300
`
`When drawing borders and other lines, use the same
`color, thickness, and curves used by one of the
`design's
`major fonts.
`
`92
`
`hairlines
`
`403
`
`Use one-pixel-widelines in borders, horizontal rules.
`ures,
`and text
`
`magnetism
`
`26)
`
`95
`
`contrast
`
`ina font weights
`
`306
`
`Make the objects "magnetic" to the things a user
`positions them against. When the user drags an
`object very near one of these things, it should stick.
`
`Use two
`cantrasting fonts—one thin and lightweight,
`and the
`other heavier and darker—to separate
`different levels of information and add visual interest.
`
`guides
`
`263
`
`94
`
`skins
`
`308
`
`Offer horizontal and vertical reference lines to help
`users align objects.
`
`paste variations
`
`266
`
`Open up the look-and-feel architecture of your
`application so users can design their own graphics
`and styles.
`
`Provide specialized paste functionality in addition to
`the standard paste operation.
`
`REFERENCES
`
`NDEX
`
`18
`
`MAKING IT LOOK GOOD:
`
`O9 VISUAL STYLE AND AESTHETICS
`
`Same Content,Different Styles
`
`The Basics of Visual Design
`
`What This Means for Desktop Applications
`The Patterns
`
`88
`
`deep background
`
`268
`
`270
`
`279
`
`287
`
`290
`
`291
`
`Place an Image or gradient into the page's back-
`ground that visually recedes behind the foreground
`elements
`
`89
`
`few hues, many values
`
`294
`
`Choose one, two, or at mast three major color hues to
`use jn the Interface, Create a color palette by selecting
`assorted Values (brightnesses) from within those few
`hues.
`
`
`
`CONTENTS
`
`ix
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`10/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`10/73
`
`

`

`
`
`
`PREFACE
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`11/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`11/73
`
`

`

`Once uponatime, interface designers worked with a woefully small toolbox.
`We had a handful of simple controls: text fields, buttons, menus, tiny icons, and modal dialogs. We care-
`fully put them together according to the Windows Style Guide or the Macintosh Human Interface Guide-
`lines, and we hoped that users would understand the resulting interface—and too often, they didn’t. We
`designed for small screens, few colors, slow CPUs, and slow networks (if the user was connected at all).
`We made them gray.
`
`Things have changed. If you design interfaces today, you werk with a much bigger palette of components
`and ideas. You have a choice of many more user interface toolkits than before, such as Java™ Swing, Qt,
`HTML and Javascript, Flash, and numerous open-source options. Apple's and Microsoft's native UI toolkits
`are richer and nicer-looking than they used to be. Display technology is better. Web applications often
`look as professionally designed as the web sites they're embedded in, and while desktop-Ul ideas like
`drag-and-drop are integrated inte web applications slowly, some of those web sensibilities are migrating
`back into desktop applications in the form of blue underlined links, Back/Next buttons, daring fonts and
`background images, and nice, non-gray color schemes.
`
`But it's still not easy to design good interfaces. Let's say you're not a trained or self-taught interface de-
`signer. If you just use the Ul] toolkits the way they should be used, and if you follow the various style quides
`or imitate existing applications, you can probably create a mediocre but passable interface.
`
`Alas, that may not be enough anymore. Users' expectations are higher than they used to be—if your inter-
`face isn’t easy to use “out of the box,” users will not think well of it. Even if the interface obeys all the
`standards, you may have misunderstood users’ preferred workflow, used the wrong vocabulary, or madeit
`too hard to figure out what the software even does. Impatient users often won't give you the benefit of the
`doubt. Worse, if you've built an unusable web site or web application, frustrated users can give up and
`switch to your competitor with just the click of a button. So the cost of building a mediocre interface is
`higher than it used to be, too.
`
`It's even tougher if you design products outside of the desktop and web worlds, because there's verylittle
`good design advice out there. Palmtops, cell phones, car navigation systems, digital TV recorders—design-
`ers are still figuring out what works and what doesn’t, often from basic principles. (And their users often
`tolerate difficult interfaces—but that won't last long.)
`
`Devices like phones, TVs, and car dashboards once were the exclusive domain of industrial designers. But
`now those devices have become smart. Increasingly powerful computers drive them, and software-based
`features and applications are multiplying in response to market demands. They're here to stay, whether or
`not they are easy to use. At this rate, good interface and interaction design may be the only hope for our
`collective sanity in 10 years.
`
`SMALL INTERFACE PIECES, LOOSELY JOINED
`
`As an interface designer trying to make sense of all the technology changesin the last few years, | see two
`big effects on the craft of interface design, One is the proliferation of interface idioms: recognizable types
`or styles of interfaces, each with its own vocabulary of objects, actions, and visuals. You probably recog-
`nize all the ones shown in the figure on the next page, and more are being invented all the time.
`
`
`
`
`
`
`
`
`SMALL INTERFACE PIECES. LOOSELY [OINED
`
`xt
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`12/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`12/73
`
`

`

`
`
`
`dari bape
`|
`PBs
`Edt Mew
`Insert
`Feytat
`Took
`Fa
`
`TenaerA i 1a,
`wong coves
`ro
`‘
`1
`‘
`:
`fet to Current Page
`| PCA!
`me
`31%
`=
`Boewntondi
`Meanwhile, other technological and 9
`TEST
`dita) cameras, and digital mune pla
`», T)
`wanealy — =
`and the technically adept. Once the d
`
`
`ges
`=
`2,Gl)
`they had computers
`become smart
`a7]i
`proliferated Chat and |
`
`eal tre
`iiciedsin:!
`
`=z
`
`Gevalepers'masting
`Beak ring read Che 14
`
`
`
`
`
`
`
`Graphic editors
`
`
`Peer20.0¢REGIMENS
`£20719
`1271S
`5a
`E-2
`:
`5 12e-23[ =i =] S7EGS 0
`oriS z
` -2:5E-24
`120715)
`
`WOFLE
`-<T4E1S
`
`
`
`
`
`
`
`
` Browsers
`
`
`0
`
`| ae
`’
`Last
`Index
` preneeren
`* 1012540
`i
`|
`asap
`1548.52
`ep. Eistad
`
`#* Sap soo
`1130.65
`Liat
`TG)
`Information graphics
`edia players
`
`~
`TT $17.46
`velop-a Space
`ie — —= |
`12
`IEE Milas
`a
`Baanery!
`leant 100 times
`eeeeersen eee
`|
`ee
`has flown man into Veeeeie “re
`1 yeah jstPuiniongabou!Mow itlwere in a teat Wana
`
`
`
`qnificantly mere thanSibiave,(aoe: fotow up win a JetBacay anghare Nice gong |
`+ Gallery Spaceshig
`oe
`-
`Leaea
`Sak
`|
`iboraleeeos
`-
`iain
`+ Interactive: Spaced
`ae
`7
`=
`Edit shopping cart_
`Hacrebatics during
`. Spaced
`Waserthe crigial by: Teen Wealty?
`+E Prize B+
`1 Said Mondays
`iia thie ooieme, but | mine the emagh aagen
`.
`6 but he was
`paues
`Dine ®
`
`ved these and we
`ty Savonte song for soene yaar now |
`
`{the rolls somarrew."
`QUICKVOTE
`Web pages
`Social spaces
`
`cha
`
`
`
`_——
`Immersive games
`
`E-commercesites
`
`
`A samoter of interface idioms
`
`PREPAC
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`13/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`13/73
`
`

`

`The second effect is a loosening of the rules for putting together interfaces from these idi-
`oms. It no longer surprises anyone to see several of these idioms mixed up in one interface,
`for instance, or to see parts of some controls mixed up with parts of other controls. Online
`help pages, which have long been formatted in hypertext anyway, might now haveinterac-
`tive applets in them, animations, or links to a web-based bulletin board. Interfaces them-
`selves might have help texts on them, interleaved with forms or eclitors; this used to be rare.
`Combo boxes’ dropdown menus might have funky layouts,
`like color grids or sliders,
`in-
`stead of the standard column of text items. You might see web applications that look like
`document-centered paint programs, but have no menu bars, and save the finished work
`only to a database somewhere.
`
`The freeform-ness of web pages seems to have taught users to relax their expectations
`with respect to graphics and interactivity. It's okay now to break the old Windowsstyle-
`guide strictures, as long as users can figure out what you're doing.
`
`And that's the hard part. Some applications, devices, and web applications are easy to use.
`Many aren't. Following style guides never guaranteed usability anyhow, but now designers
`have even more choices than before (which, paradoxically, can make design a /ot harder).
`What characterizes interfaces that are easy to use?
`
`Onecould say, “The applications that are easy to use are designed to beintuitive.” Well, yes.
`That's almost a tautology.
`
`Except that the word “intuitive” is a little bit deceptive. Jef Raskin once pointed out that
`when we say “intuitive” in the context of software, we really mean “familiar.” Computer mice
`aren't intuitive to someone who's never seen one (though a growling grizzly bear would
`be). There's nothing innate or instinctive in the human brain to account for it. But once
`you've taken 10 seconds to learn to use a mouse, it's familiar, and you'll never forget it. Same
`for blue underlined text, play/pause buttons, and so on.
`
`Rephrased: “The applications that are easy to use are designed to be familiar.”
`
`Now we're getting somewhere, “Familiar” doesn't necessarily mean that everything about
`a given applicationis identical to some genre-defining product (e.g., Word, Photoshop, Mac
`OS, or a Walkman). People are smarter than that. As long as the parts are recognizable
`enough, and the relationships among the parts are clear, then people can apply their previ-
`ous knowledge to a novel interface and figure it out.
`
`That's where patterns come in. This book catalogs many of those familiar parts, in ways you
`can reuse in many different contexts. Patterns capture a common structure—usually a very
`“local” one, like funky layouts on a combo box—without being too concrete on the details,
`which gives you flexibility to be creative.
`
`If you know what users expect of your application, and if you choose carefully from your
`toolbox of idioms (large-scale), controls (small-scale), and patterns (covering the range),
`then you can put together something which “feels familiar” while remaining original.
`
`And that gets you the best of both worlds.
`
`
`
`SMALL INTERIAGCE PrECES,
`
`LOCPSELY JOINED
`
`xii
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`14/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`14/73
`
`

`

`ABOUT PATTERNS IN GENERAL
`
`In essence, patterns are structural and behavioral features that improve the “habitability" of
`something—a user interface, a web site, an object-oriented pragram, or even a building.
`They make things easier to understand or more beautiful; they make tools more useful and
`usable,
`
`As such, patterns can be a description of best practices within a given design domain. They
`capture common solutions to design tensions (usually called “forces” in pattern literature)
`and thus, by definition, are not novel. They aren't off-the-shelf components; each imple-
`mentation of a pattern differs a little from every other. They aren't simple rules or heuristics
`either. And they won't walk you through an entire set of design decisions—if you're looking
`for a completestep-by-step description of how to design an interface, a pattern catalog
`isn't the place!
`
`This book describes patterns literally as solutions to design problems because part of their
`value lies in the way they resolve tensionsin various design contexts. For instance, an inter-
`face designer whoa needs to pack a lot of stuff into a too-small space can use a Card Stack.
`What remains for the designer is information architecture—how to split up the content into
`pieces, what to name them, etc.—and what exactly the Card Stack will look like when it's
`done. Tabs? A lefthand-side list or tree? That's up to the desianer’s judgment.
`
`Some very complete sets of patterns make up a “pattern language.” These patterns re-
`semble visual languages, in that they cover the entire vocabulary of elements used in a
`design (though pattern languages are more abstract and behavioral: visual languages talk
`about shapes, icons, colors, fonts, etc.). This set isn't nearly so complete, and jit contains
`techniques that don’t qualify as traditional patterns. But it’s concise enough to be manage-
`able and useful.
`
`OTHER PATTERN COLLECTIONS
`
`The text that started it all dealt with physical buildings, not software. Christopher Alexan-
`der's A Pattern Language, and its companion book, The Timeless Way of Building (both
`Oxford University Press), established the concept of patterns and described a 250-pattern
`multilayered pattern language. It is often considered the gold standard for a pattern lan-
`guage because of its completeness, its rich interconnectedness, and its grounding in the
`human response to our built world.
`
`In the mid-1990s, the publication of Design Patterns, (Addison-Wesley) by Erich Gamma,
`Richard Helm, Ralph Johnson, and John Vlissides profoundly changed the practice of com-
`mercial software architecture. This book is a collection of patterns describing object-
`oriented “micro-architectures.” If you have a background in software engineering, this is the
`book that probably introduced you to theidea of patterns. Many other authors have written
`books about software patterns since Design Patterns, Software patterns such as these do
`make software more habitable—for those who write the software, not those who useit!
`
`
`
`xiv
`
`PREFACE
`
`MemoryWebEx. 2018
`Samsung v. MemoryWeb — IPR2022-00221
`15/73
`
`MemoryWeb Ex. 2018
`Samsung v. MemoryWeb – IPR2022-00221
`15/73
`
`

`

`
`
`The first substantial set of user-interface patterns was the predecessor of this patterns col-
`lection, “Common Ground." Many other collections and languages followed, notably Mar-
`tijin van

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket