When faced with endless data and the need to manage it, there are a variety of proven design patterns that will help designers create usable, effecient, and effective interfaces. From advanced distributing workload to avoiding information overload, this presentation reviews techniques that are enabling the highly scalable user interfaces of today and tomorrow.
2. Designing for Infinity – Dustin KirkDesigning for InfinityA bit about me1. I grew up on a ranch in South Dakota2. I started building websites back in 1995 3. Background in CS, Psych, & HCI4. Sr. UX Designer at Neustar Webmetricswww.dustinkirk.com@Dustin_KirkME
20. iOS App StoreDesigning for Infinity – Dustin KirkSearching1343 Flashcard Apps“Whoa! I’ll only see the first 25”
21. iOS App StoreDesigning for Infinity – Dustin KirkSearching1343 Flashcard ResultsA Common Mistake… Relying on search aloneiOS App StoreDesigning for Infinity – Dustin KirkSearching1343 Flashcard ResultsA Common Mistake… Relying on search aloneHow would you improve this?
22. iOS App StoreDesigning for Infinity – Dustin KirkSearching1343 Flashcard ResultsA Common Mistake… Relying on search aloneSolution Use Filters too
23. Sorting becomes a prominent fixtureSearching & Filtering“Designing for Infinity 101”Parts 1 & 2 of 8
29. Yelp on iPhoneDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Searching and Filtering on a smart phoneKey Points Use Filtering when you have lots of results
30. Use Sorting tooYelp on iPhoneDesigning for Infinity – Dustin KirkSearching & FilteringWhat about the map button?
31. Yelp on iPhoneDesigning for Infinity – Dustin KirkSearching & FilteringDevices with GPS allow you to bypass entering in your location, over and over and over again.
32. Google mapsDesigning for Infinity – Dustin KirkSearching & FilteringOn a PC you have to manually enter an address, or zoom in to an area.
33. Yelp on iPhoneDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Location based searchKey Points Utilize GPS to get current location
36. Redo search when the user moves the mapSplunkDesigning for Infinity – Dustin KirkSearching & Filtering
37. SplunkDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Building complex search queriesKey Points Ability to click on text in search results to drill-down further
38. Ability to create conditionals with the use of a key press + mouse click
39. Flexible filtering capabilities (time based + categorical based)Mint.comDesigning for Infinity – Dustin KirkSearching & Filtering
40. Mint.comDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Simplifying search queriesKey Points Display categorical filters based on the item(s) selectedAmazon Diamond SearchDesigning for Infinity – Dustin KirkSearching & Filtering
41. Amazon Diamond SearchDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Filter categorical rangesKey Points Allows for setting upper and lower limits
49. GmailDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Selecting a single item from a listKey PointsReplaces combo boxes
56. Use keyboard arrows move selection up/downGmailDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Selecting commonly selected itemsKey Points Combines both filtering and select into one step
58. Keep to a minimum # of filtersGmailDesigning for Infinity – Dustin KirkSearching & FilteringAuto-suggest in Gmail for Contact Disambiguation
59. GmailDesigning for Infinity – Dustin KirkSearching & FilteringClose, but it shows only a maximum of 10 itemsAuto-suggest in Gmail for Contact Disambiguation
60. iPhone SMSDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Contact DisambiguationKey Points Results are searched in real-time
69. FacebookDesigning for Infinity – Dustin KirkSearching & FilteringGreat Design Pattern For Multi-selectionKey Points Ability to filter on multiple characters
75. GmailDesigning for Infinity – Dustin KirkInfinite ScrollingCommon Mistake #2 Restricting the number of items that can be selected due to paginationMint.comDesigning for Infinity – Dustin KirkInfinite ScrollingCommon Mistake #2 Restricting the number of items that can be selected due to paginationNeustarWebmetricsDesigning for Infinity – Dustin KirkInfinite Scrolling
76. NeustarWebmetricsDesigning for Infinity – Dustin KirkInfinite ScrollingGreat Design Pattern For Selectable Data ListsKey Points Enables actions to be taken on ALL items
78. Buffers additional data to prevent jerky loading
79. Calculates total height to prevent jerky scrolling
80. Track scroll position to support back button useBing ImagesDesigning for Infinity – Dustin KirkInfinite ScrollingMaxes out at 1000 (of 131,000) images
83. GmailDesigning for Infinity – Dustin KirkInfinite ScrollingGreat Design Pattern For Navigating an Infinite Scrolling pageKey Points Navigation options float at the edge of the screen above the scrolling content
84. Includes the ability to jump directly to the topInfinite ScrollingContext RecognitionPart 4 of 8
88. Microsoft WordDesigning for Infinity – Dustin KirkContext RecognitionGreat Design Pattern For Simplifying menus and toolbarsKey Points Use context to hide/show content appropriate menus
89. Adjust icon size the most used items are easy to locate and click
90. Allow the menu to resize based on screen real-estate to maximize shortcuts
91. Use visuals in drop-down menus to aid in quick decision makingWufoo.comDesigning for Infinity – Dustin KirkContext RecognitionGreat Design Pattern For Providing HelpKey PointsHelps users in decision making
92. Contextual help only appears when it is relevant
93. Eliminates need for external help documentation for users
94. Keeps users in the ‘zone’ and doesn’t require leaving the application.ZimbraDesigning for Infinity – Dustin KirkContext Recognition
95. ZimbraDesigning for Infinity – Dustin KirkContext RecognitionGreat Design Pattern For Providing Just-In-Time information/toolsKey Points Reduces steps to access additional information
96. Keeps user engaged within the applicationContext RecognitionDistributing WorkloadPart 5 of 8
99. WikipediaDesigning for Infinity – Dustin KirkDistributing WorkloadGreat Design Pattern For Large scale public projectsKey Points Distributes work across people willing to volunteer time and effort
100. Enables general public to contribute and govern
101. Works well for collaboration and keeping up with fast moving eventsGalaxy ZooDesigning for Infinity – Dustin KirkDistributing Workload
102. Galaxy ZooDesigning for Infinity – Dustin KirkDistributing WorkloadGreat Design Pattern For Overcoming weaknesses in computer visionKey Points Take advantage of people’s ability to easily discern objects visually
103. Provide users simple options to classify objectsMechanical TurkDesigning for Infinity – Dustin KirkDistributing Workload
104. Mechanical TurkDesigning for Infinity – Dustin KirkDistributing WorkloadGreat Design Pattern For Outsourcing tasks cheaplyKey Points Easy way to outsource simple tasks that require a human
105. Pay for services people would not generally volunteer forESP GameDesigning for Infinity – Dustin KirkDistributing Workload
106. ESP GameDesigning for Infinity – Dustin KirkDistributing WorkloadGreat Design Pattern For Acquiring additional dataKey Points Simple tasks can become fun through a social game
107. Use multiple data points to validate reliability of contributionsDistributing WorkloadAutomationPart 6 of 8
112. iPhoto FacesDesigning for Infinity – Dustin KirkAutomationGreat Design Pattern For Augmenting manual tasksKey Points Enable people to classify items
117. GmailDesigning for Infinity – Dustin KirkAutomationGreat Design Pattern For Reducing information overloadKey Points Enable people to provide identify unwanted data
119. Prevent unwanted data from appearing to othersSporeDesigning for Infinity – Dustin KirkAutomation
120. SporeDesigning for Infinity – Dustin KirkAutomationGreat Design Pattern For Create Unique ExperiencesKey Points Reduce upfront work by using procedural algorithms
127. Amazon.comDesigning for Infinity – Dustin KirkAutomationGreat Design Pattern For Enable discovery through recommendationsKey Points Suggestions should augment searching and filtering toolsAutomationLoading DataPart 7 of 8
129. Delicious LibraryDesigning for Infinity – Dustin KirkLoading DataGreat Design Pattern For Avoiding work duplicationKey Points Use APIs to pull in 3rd party dataRoambiDesigning for Infinity – Dustin KirkLoading Data
130. Mechanical TurkDesigning for Infinity – Dustin KirkLoading DataGreat Design Pattern For Bulk loading dataKey Points Use pattern recognition to identify data structures
134. Google FinanceDesigning for Infinity – Dustin KirkNavigationGreat Design Pattern For Navigating TimelinesKey Points Ability to see the overall timeline
135. Ability to set zoom level (day, month, year, custom)
136. Secondary view showing zoomed in timelineMicrosoft PivotDesigning for Infinity – Dustin KirkNavigation
137. Microsoft PivotDesigning for Infinity – Dustin KirkNavigationGreat Design Pattern For Exploring DataKey Points Ability to visual all data types using bar chart
138. Ability to filter data categories, choose data source to sort, and ability to zoom
139. Ability to represent all data in a visual mannerWindows Media CenterDesigning for Infinity – Dustin KirkNavigationGreat Design Pattern For Navigating time linearlyKey Points Accelerates scrolling the longer you hold a button down
141. Provides a broader view of time as scrolling speeds upiPhone ContactsDesigning for Infinity – Dustin KirkNavigationGreat Design Pattern For Navigating alphabeticallyKey Points Floating index layer allows jumping to a letter
147. Designing for Infinity – Dustin KirkConcluding NotesTakeaway Tips1. When designing UIs, think about limits2. Utilize patterns that have been proven by others3. Keep the innovation going and find new patternsView these slides online and share them with otherswww.dustinkirk.com/infinity/@Dustin_Kirk
Yelp is a great website example that showcases many of the techniques we’ll see repeated in UI’s dealing with Big Data later on. It’s Search functionality is it’s primary means of navigation It provides sorting options It provides filtering capabilities (including contextual category filters) It provides a rating system It allows you to search using the mapSearching and sorting options are plentiful and important when a user is in discovery mind-state
Splunk is fantastic and utilizes many patterns for tackeling big data.- Smart about importing data, auto recognition of key-value pairs, great tool for mapping custom fields- Great UI for searching logs and time-based information- Click on text in log entries to narrow down search results- It suggests ‘interesting fields’ and allows you to customize your own list- A big shout out to Nick Mealy, Principal UI Designer at Splunk, for his excellent work
Mint.com is great for a number of reasons, but in regards to searching and filtering, I like how they provide filters based on the item that is selected.
Amazon Diamond Search allows the user to filter through over 12000 diamonds.An excellent model when the needs are right Items are classified by categories which are discrete values, and can be represented visually
- This is a great example of a scalable UI for applying and displaying tags (labels)
Create shortcuts of common actions.For example combine filtering and selecting into a single step using a drop-down menu for selection.
Same as the iPhone SMS appAuto-suggest is highly useful when creating scalable user interfaces-Auto-suggest prevents misspelling Allows users to select the appropriate item quickly Allows the user to select one of multiple sub-items for the same item being typed. (also used when sending a SMS on iPhone to select between multiple phone numbers)
Same as the iPhone SMS appAuto-suggest is highly useful when creating scalable user interfaces-Auto-suggest prevents misspelling Allows users to select the appropriate item quickly Allows the user to select one of multiple sub-items for the same item being typed. (also used when sending a SMS on iPhone to select between multiple phone numbers)
The key for multi-select with a filter is being able to view all selected items in an area other than the filtered list.
Great model for selecting multiple items from a big list Ability to search Uses auto-complete Uses real-time search to narrow down results Build up lists by running multiple searches, selecting people, and viewing a list of all selected people
When web browsers all began to support asynchronous data loading around 2005, the need for pagination was diminished.
Google News on a PC doesn’t have infinite scrolling, but Google News on an iPad does
Only lets you edit 100 items at a time
Only lets you edit 100 items at a time
NeustarWebmetricsEnterpirse Console is a web application for website performance monitoring.The Enterprise Console uses infinite scrolling such that when a user clicks the ‘select all’ option , users can take action upon everything, even items not loaded in view.
Great model for creating a list Ability to search Uses auto-complete Uses real-time search to narrow down results Build up lists by running multiple searches, selecting people, and viewing a list of all selected people
Will display up to 1000 images
Google shows 15 pictures per ‘page’ and limits 50 ‘pages’ of results for a total of 750 images after clicking ‘view more’
Friendly, an iPad app for viewing Facebookallows infinite scrolling
The Microsoft Ribbon uses context to know if the picture or chart options are necessary to display or not The menu system provides room for icons to expand and contract based on the real-estate available The menu system can make items used more than others bigger The menu allows for visual recall with icons The menus are flexible and enable a large number of sub-options to be displayed.
Zimbra will recognize text strings and present relevant information based on that string. Maps are shown when mousing over an address Events can be added to the calendar Email addresses and phone numbers can be added to the contacts list
Pay people on the internet to do work that humans can do, but machines can’t effectively.
Created by Luis von Ahn who later created many games called ‘Games With A Purpose’ Gathers image tags from players which are licensed by Google to improve its image search results
iPhoto faces uses the manual tagging of faces in a portion of photos to automate the tagging of the same face in additional photos.
Face recognition is used in iPhoto Users tag a portion of the photos with the people’s names, and iPhoto tries to tag the rest. While it isn’t perfect, it beats doing it all manually.
Gmail has used the same technique for their Priority Inbox which sorts out the mail you usually read from the rest
Gmail has used the same technique for their Priority Inbox which sorts out the mail you usually read from the rest
Spore, created by Will Wright, uses automation to create custom and unique player experiences throughout the game.
Spore’s characters are created by players and texture mapping, character movement, and music are all created based on a system of rules
Pandora is well known for their personalized radio stations which can be seeded with a genre, song name, or artist. The initial seeing however, is not automated. Employeesmanually categorize over 13,000 songs (with 400 characteristics each) a month feeding the Music Genome Project (perhaps this will be automated in the future)
Binary (up/down) and 5-star ratings are limiting and don’t allow users to specify why they are giving it a low or high rating.
While Netflix offers searching capability, it is limited to shallow fields such as titles and descriptions.
Delicious library catalogsyour movie, music, and book collections by using barcode lookup and importing data from Amazon.com
Players describe a photo and earn points when the person they play with matches their descriptions
Uses great graphing techniques, as well as time filtering Great use of touch controls on the iPad
- Auto-detects data key value pairs from 3rd party sources and excel files
Uses great graphing techniques, as well as time filtering Great use of touch controls on the iPad
- Once you start navigating in 3D space, your inspiration really needs to come from videos games. For computers that means using [w][a][s][d] keyboard controls along with mouse pointing.- Nonetheless Photosynth is a great use of crowd-sourced content
MS Pivot is a very versatile way to view data- Ability to sift and browse information, very visual- The Filters on the left are limited in height, so combining it with the scalable solution seen in Splunk would make it better
Microsoft Pivot is an excellent inspiration for anyone working on BI tools
The techniques shared here can be found in all types of software that deals with Big DataiTunes is a good example of managing information- enables filters, tagging (play-lists), searching, and sorting- search results update as you type- genius play-lists- genius recommendation