SlideShare a Scribd company logo
1 of 78
Download to read offline
Gran Sasso Science Institute
Ivano Malavolta
Design patterns for mobile apps
Roadmap
Navigation
Forms
Search, sort & filter
Tools
Invitations
Feedback & Affordance
Anti-Patterns
Navigation
•  How users move through the views
–  Springboard
–  Lists (Vertical, Infinite)
–  Tabs
–  Gallery (Grid)
–  Dashboard
–  Metaphor
–  Page Carousel
–  Image Carousel
–  Expanding Lists
–  Infinite Area
Springboard
•  Use a grid layout for items of equal importance, or an
irregular layout to emphasize some items more than others
•  Consider personalization and customization options
Lists
•  Work well for long lists with subtext
•  All internal screens should have a way for returning back
•  It can be “infinite”, it can have thumbnails
Tabs
•  Clearly differentiate the selected tab from the others
•  Use easy to recognize icons or icons with labels
Gallery (Grid)
•  Works best for frequently updated content that people want
to browse
Dashboard
•  Dashboards provide a roll-up of key performance indicators
•  Don’t overload the dashboard
•  Usually Springboards are also called Dashboards
Metaphor
•  Pages are modeled to reflect the application’s metaphor
•  Use the Metaphor pattern judiciously
Page carousel
•  Works best for navigating a small number of pages
•  Visual indicator to reflect the number of screens, and
current screen 
•  Flick to navigate the carousel
Image Carousel
•  Works best for displaying fresh visual content, like articles,
products, and photos
•  Provide visual affordance, either with arrows, partial images,
or page indicators that more content can be accessed
Expanding Lists

•  Works best for progressively disclosing more details or
options for an object
Infinite Area
•  The entire data set can be considered to be a large, two-
dimensional graphic
•  The viewport shows only a small 

subset of the whole data set
Can you compare these navigation designs?
Exercise
Roadmap
Navigation
Forms
Search, sort & filter
Tools
Invitations
Feedback & Affordance
Anti-Patterns
Forms
•  They are for data entry and configuration
–  Sign In
–  Registration
–  Check-in
–  Comments
–  Users Profile
–  Share
–  Empty Datasets
–  Multi-step
–  Settings
Sign In
•  Don’t innovate on the sign in screen
•  Provide a way to retrieve a forgotten password
•  Provide a way to login via social networks
Registration
•  Keep it short, preferably one screen
•  Register button well visible
Check-in
•  Keep it ultra-short
•  Design for speed, and efficiency
•  Eliminate unnecessary fields
•  Don’t show the map!
Comments
•  Invite user to leave comment
•  Always clarify what is being commented
•  Show other people’s comments over time
Timeline
•  Within the current hour, show as minutes ago
•  Within the current day, show the time as number of hours ago
•  Within the last two days, shown the day of the week, and the
time range, morning, afternoon, evening, night
•  Within the past week, show the day of the week
•  Within 12 months, show as mm/DD
•  Older than 12 months, show only the year
Users Profile
•  Put the badges in evidence
•  Show their contribution to the social network
•  Provide action controls
Share
•  Always keep track of past logins
•  Always provide an “off social” way to share (e.g., by email)
•  Remark what is being shared
Empty datasets
•  Avoid white-screens, explain why the dataset is empty
•  call for action, only one!
•  Avoid error messages
Multi Step
•  Show the user where they are and where they can go
•  Eliminate unnecessary fields
•  minimize the number of pages and steps
Settings
•  Put them inside the app
•  Clear and grouped
•  Easy to be understood
Roadmap
Navigation
Forms
Search, sort & filter
Tools
Invitations
Feedback & Affordance
Anti-Patterns
Search, Sort & Filter
•  Search
–  Explicit Search
–  Auto-complete
–  Dynamic Search
–  Scoped Search
–  Saved & Recent
–  Search form
–  Search Results
Explicit Search
•  Offer a clear button in the field 
•  Provide an option to cancel the search
•  Use feedback to show the search is being performed
Search Auto-complete
•  Show feedback if there could be a delay in displaying the results
•  Consider emphasizing the matching search text in the search
results
Dynamic Search
•  Automatically filters a given list of items
•  Works well for constrained data sets, like an address book or
personal media library
Scoped Search
•  Offer reasonable scoping options based on the data set
•  3 to 6 scoping options are plenty
Search form
•  Minimize the number of input fields
•  Follow form design best practices (alignment, labels, size)
•  Use only when strictly needed
Search Results
•  Use live scroll instead of paging
•  Apply a reasonable default sort order
•  Call for action
this is also an Anti-pattern
(see Oceans of Buttons)
Search, Sort & Filter
•  Sort
–  Onscreen Sort
–  Sort Order Selector
Onscreen Sort
•  Clearly show which option is selected
•  Do not use it if option labels don’t fit nicely in a toggle button
bar
Sort Order Selector
•  Follow OS design conventions for choosing the selector
control, or choose an OS neutral interface control
•  Clearly show which sort option is applied
Filter Forms
•  Don’t over-design the filter, a simple onscreen filter or
drawer will usually suffice
Roadmap
Navigation
Forms
Search, sort & filter
Tools
Invitations
Feedback & Affordance
Anti-Patterns
Tools
•  Buttons & Controls
–  Toolbar
–  Option Menu
–  Contextual Tools
–  Inline Actions
–  Call to Action Buttons
–  Multi-state Button
–  Bulk Actions
–  Maps
Toolbar
•  Contain screen level actions, they are generally displayed at the
bottom of the screen
•  Choose icons that are easy to recognize, or use labels plus icons
Option Menu
•  Choose direct interactions when possible 
•  Possibly don’t hide navigation in the Option Menu
Contextual Tools
•  If buttons are necessary, they should be displayed in
proximity to the actionable object
•  Choose a familiar icon or use a text label
Inline Actions
•  They should be in proximity to the actionable object
•  Choose a familiar icon or use a text label
•  Max 1 to 2 Inline Actions per object
Call to Action Buttons
•  Don’t hide the main call to action in a menu or disguise it as
an unrecognizable icon in a toolbar
•  Good contrast and clear label
Multi-state Button
•  Multi-State Buttons work well for a series of tightly correlated
actions that will to be performed in succession
Bulk Actions
•  Bulk actions like delete and reorder are best handled in an
edit mode
•  Provide an obvious option for exiting the mode
Maps
•  Provide visible markers (avoiding “terrain-mode”)
•  Use as much screen as possible
•  Can be small if the location is not the main item
Roadmap
Navigation
Forms
Search, sort & filter
Tools
Invitations
Feedback & Affordance
Anti-Patterns
Invitations
•  Helpful tips displayed the first time a user launches an app
–  Dialog
–  Tip
–  Tour
–  Video
–  Transparency
–  1st Time Through
–  Persistent
–  Discoverable
Dialog
•  Keep dialog content short
•  make sure there is an alternate way to access instructions
from within the application
Tip
•  Place tips in proximity to the feature they refer to
•  keep the content short
•  remove the tip once interaction begins
Tour
•  A tour should highlight key features of the application,
preferably from a (user) goal perspective
•  Keep it short and visually engaging
Video
•  Demos should showcase key features or show how to use
the application
•  Common video features (stop, pause, volume controls, etc,...)
should be provided
Transparency
•  Transparencies are not meant to compensate for poor
screen designs! 
•  Remove the Transparency once interaction begins
My
favourite
invitation!
1st time through
•  Clearly differentiate the invitation from other content with
images or other visual cues
Persistent
•  Keep it short
•  Clearly differentiate the invitation from other content with
images or other visual cues
Discoverable
•  Use Discoverable invitations sparingly
•  The most common instance of this pattern is for prompting a
data refresh
Roadmap
Navigation
Forms
Search, sort & filter
Tools
Invitations
Feedback & Affordance
Anti-Patterns
Feedback & Affordance
•  Feedback
–  Errors
–  Confirmation
–  System Status
•  Affordance
–  Tap
–  Flick
–  Drag
Feedback: Errors
•  Use plain language that offers a solution for resolving the issue
•  make the error visible
•  use in-screen messaging instead of modal dialogs
Feedback: Confirmation
•  Provide confirmation when an action is taken
•  don’t break the user’s flow
Feedback: System Status
•  Provide feedback about the system’s status
•  Offer a cancel option for potentially lengthy operations
Affordance: Tap
•  Use common visual design techniques to indicate tappable
controls
•  Apply 3D effects judiciously
Affordance: Flick
•  Use a page indicator
•  show the edge of the next item
•  Avoid heavy weight scroll bars
Affordance: Drag
•  Use a recognizable icon for the handle
•  Consider using an invitation to let users know this feature is
available
Roadmap
Navigation
Forms
Search, sort & filter
Tools
Invitations
Feedback & Affordance
Anti-Patterns
Anti-Patterns
•  Common pitfalls to avoid
–  Novel Notions
–  Metaphor Mismatch
–  Idiot Boxes
–  Chart Junk
–  Oceans of Buttons
Novel Notions
•  If you are looking for a way to innovate with your application,
focus on your core features and offerings, but rely on best
practices for the interface design
•  If you design a custom control, rigorously test it and refine it to
make sure it is usable
Novel Notions Examples
Novel Notions Examples
Metaphor Mismatch
•  Consists in picking the wrong metaphor for the interface:
–  Control mismatch
–  Icon mismatch
–  Mental model mismatch
Metaphor Mismatch Examples
Control
mismatch
Icon
mismatch
Mental model
mismatch
Idiot Boxes
Avoid disrupting the workflow

only show a confirmation dialog when an irreparable
action is being taken (like a permanent delete)
Chart Junk
Only use visual elements in charts and graphs that are necessary
to communicate the information represented on the graph
Oceans of Buttons
•  Use standard patterns for displaying page level actions
•  Provide contextual tools for item level actions instead of repeating
the same button
•  Keep page level actions visually separate from navigational
elements
References
•  Screenshots from:
–  www.mobiledesignpatterngallery.com
–  pttrns.com
–  inspired-ui.com
–  mobile-patterns.com
get
inspired!
+ 39 380 70 21 600
Contact
Ivano Malavolta | 
Gran Sasso Science Institute
iivanoo
ivano.malavolta@univaq.it
www.ivanomalavolta.com

More Related Content

What's hot

Usability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt AcademyUsability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt AcademyDániel Góré
 
6 mobile user interface design bb
6   mobile user interface design bb6   mobile user interface design bb
6 mobile user interface design bbShahid Riaz
 
SELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLSSELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLSDhanya LK
 
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUModule 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUSachin Gowda
 
Human Factors and User Interface Design
Human Factors and User Interface DesignHuman Factors and User Interface Design
Human Factors and User Interface DesignSaggitariusArrow
 
User Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid ProcessUser Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid ProcessbrindaN
 
Basic Principles of Interface design
Basic Principles of Interface designBasic Principles of Interface design
Basic Principles of Interface designZdeněk Lanc
 
Interaction design patterns
Interaction design patternsInteraction design patterns
Interaction design patternsDCU_MPIUA
 
Interaction design: desiging user interfaces for digital products
Interaction design: desiging user interfaces for digital productsInteraction design: desiging user interfaces for digital products
Interaction design: desiging user interfaces for digital productsDavid Little
 
User Interface Design - Module 1 Introduction
User Interface Design - Module 1 IntroductionUser Interface Design - Module 1 Introduction
User Interface Design - Module 1 IntroductionbrindaN
 
Information Architecture. Card Sorting
Information Architecture. Card SortingInformation Architecture. Card Sorting
Information Architecture. Card SortingDCU_MPIUA
 
Mobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best PracticesMobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best PracticesOXD
 
Design Principles
Design PrinciplesDesign Principles
Design PrinciplesDavid Gelb
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15koolkampus
 
Ux Meets Code Interaction Usability
Ux Meets Code Interaction UsabilityUx Meets Code Interaction Usability
Ux Meets Code Interaction UsabilityArabella David
 
Designing and Testing for Digital Accessibility
Designing and Testing for Digital AccessibilityDesigning and Testing for Digital Accessibility
Designing and Testing for Digital AccessibilityUsability Matters
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basicsPreeti Mishra
 

What's hot (20)

Usability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt AcademyUsability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt Academy
 
6 mobile user interface design bb
6   mobile user interface design bb6   mobile user interface design bb
6 mobile user interface design bb
 
SELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLSSELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLS
 
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUModule 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
 
Human Factors and User Interface Design
Human Factors and User Interface DesignHuman Factors and User Interface Design
Human Factors and User Interface Design
 
User Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid ProcessUser Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid Process
 
Basic Principles of Interface design
Basic Principles of Interface designBasic Principles of Interface design
Basic Principles of Interface design
 
Interaction design patterns
Interaction design patternsInteraction design patterns
Interaction design patterns
 
Interaction design: desiging user interfaces for digital products
Interaction design: desiging user interfaces for digital productsInteraction design: desiging user interfaces for digital products
Interaction design: desiging user interfaces for digital products
 
User Interface Design - Module 1 Introduction
User Interface Design - Module 1 IntroductionUser Interface Design - Module 1 Introduction
User Interface Design - Module 1 Introduction
 
Information Architecture. Card Sorting
Information Architecture. Card SortingInformation Architecture. Card Sorting
Information Architecture. Card Sorting
 
Mobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best PracticesMobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best Practices
 
Design Principles
Design PrinciplesDesign Principles
Design Principles
 
IA basics
IA basicsIA basics
IA basics
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
 
WEB INTERFACE DESIGN
WEB INTERFACE DESIGNWEB INTERFACE DESIGN
WEB INTERFACE DESIGN
 
Ux Meets Code Interaction Usability
Ux Meets Code Interaction UsabilityUx Meets Code Interaction Usability
Ux Meets Code Interaction Usability
 
Designing and Testing for Digital Accessibility
Designing and Testing for Digital AccessibilityDesigning and Testing for Digital Accessibility
Designing and Testing for Digital Accessibility
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
 
Psych of good ux
Psych of good uxPsych of good ux
Psych of good ux
 

Viewers also liked

[2015/2016] Local data storage for web-based mobile apps
[2015/2016] Local data storage for web-based mobile apps[2015/2016] Local data storage for web-based mobile apps
[2015/2016] Local data storage for web-based mobile appsIvano Malavolta
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigmsIvano Malavolta
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architectureIvano Malavolta
 
[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)Ivano Malavolta
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinkingIvano Malavolta
 
[2015/2016] The REST architectural style
[2015/2016] The REST architectural style[2015/2016] The REST architectural style
[2015/2016] The REST architectural styleIvano Malavolta
 
[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIs[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIsIvano Malavolta
 
[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JSIvano Malavolta
 
[2015/2016] User-centred design
[2015/2016] User-centred design[2015/2016] User-centred design
[2015/2016] User-centred designIvano Malavolta
 
[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mapping[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mappingIvano Malavolta
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache CordovaIvano Malavolta
 
Design Patterns for mobile apps
Design Patterns for mobile appsDesign Patterns for mobile apps
Design Patterns for mobile appsIvano Malavolta
 
SKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to ConstructionSKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to ConstructionJoint ALMA Observatory
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web InterfacesBill Scott
 

Viewers also liked (20)

[2015/2016] Local data storage for web-based mobile apps
[2015/2016] Local data storage for web-based mobile apps[2015/2016] Local data storage for web-based mobile apps
[2015/2016] Local data storage for web-based mobile apps
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
 
[2015/2016] The REST architectural style
[2015/2016] The REST architectural style[2015/2016] The REST architectural style
[2015/2016] The REST architectural style
 
[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIs[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIs
 
[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS
 
[2015/2016] Backbone JS
[2015/2016] Backbone JS[2015/2016] Backbone JS
[2015/2016] Backbone JS
 
[2015/2016] User-centred design
[2015/2016] User-centred design[2015/2016] User-centred design
[2015/2016] User-centred design
 
[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mapping[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mapping
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache Cordova
 
Design Patterns for mobile apps
Design Patterns for mobile appsDesign Patterns for mobile apps
Design Patterns for mobile apps
 
Map_Layout_Labelling
Map_Layout_LabellingMap_Layout_Labelling
Map_Layout_Labelling
 
Map_Projections
Map_ProjectionsMap_Projections
Map_Projections
 
Map_Layout_Color_Readablity
Map_Layout_Color_ReadablityMap_Layout_Color_Readablity
Map_Layout_Color_Readablity
 
SKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to ConstructionSKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to Construction
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
[2015/2016] JavaScript
[2015/2016] JavaScript[2015/2016] JavaScript
[2015/2016] JavaScript
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web Interfaces
 

Similar to Mobile App Design Patterns Guide

Common Design Patterns for Mobile (part 1)
Common Design Patterns for Mobile (part 1)Common Design Patterns for Mobile (part 1)
Common Design Patterns for Mobile (part 1)Ivano Malavolta
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesInductive Automation
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesInductive Automation
 
UXD - A quick overview on what you need to work with your UX team
UXD - A quick overview on what you need to work with your UX team UXD - A quick overview on what you need to work with your UX team
UXD - A quick overview on what you need to work with your UX team Guilherme Rodrigues
 
Usability and Salesforce - Dallas Salesforce.com User Group September 2011
Usability and Salesforce - Dallas Salesforce.com User Group September 2011Usability and Salesforce - Dallas Salesforce.com User Group September 2011
Usability and Salesforce - Dallas Salesforce.com User Group September 2011Shell Black
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design TipsLuis Abreu
 
unit5_usability.pptx
unit5_usability.pptxunit5_usability.pptx
unit5_usability.pptxSrilekhaK12
 
UX Edmonton - Pattern Libraries
UX Edmonton - Pattern LibrariesUX Edmonton - Pattern Libraries
UX Edmonton - Pattern LibrariesRobert Evans
 
Ten Usability Heuristics by Jakob Nielsen.pptx
Ten Usability Heuristics by Jakob Nielsen.pptxTen Usability Heuristics by Jakob Nielsen.pptx
Ten Usability Heuristics by Jakob Nielsen.pptxsharmiladevi941
 
Usability Evaluation
Usability EvaluationUsability Evaluation
Usability EvaluationSaqib Shehzad
 
Driving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous ImprovementDriving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous ImprovementLeanKit
 

Similar to Mobile App Design Patterns Guide (20)

Common Design Patterns for Mobile (part 1)
Common Design Patterns for Mobile (part 1)Common Design Patterns for Mobile (part 1)
Common Design Patterns for Mobile (part 1)
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation Schemes
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation Schemes
 
UXD - A quick overview on what you need to work with your UX team
UXD - A quick overview on what you need to work with your UX team UXD - A quick overview on what you need to work with your UX team
UXD - A quick overview on what you need to work with your UX team
 
Usability and Salesforce - Dallas Salesforce.com User Group September 2011
Usability and Salesforce - Dallas Salesforce.com User Group September 2011Usability and Salesforce - Dallas Salesforce.com User Group September 2011
Usability and Salesforce - Dallas Salesforce.com User Group September 2011
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
 
ui.ppt
ui.pptui.ppt
ui.ppt
 
unit5_usability.pptx
unit5_usability.pptxunit5_usability.pptx
unit5_usability.pptx
 
UX Edmonton - Pattern Libraries
UX Edmonton - Pattern LibrariesUX Edmonton - Pattern Libraries
UX Edmonton - Pattern Libraries
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Mobile-First Design
Mobile-First DesignMobile-First Design
Mobile-First Design
 
Ten Usability Heuristics by Jakob Nielsen.pptx
Ten Usability Heuristics by Jakob Nielsen.pptxTen Usability Heuristics by Jakob Nielsen.pptx
Ten Usability Heuristics by Jakob Nielsen.pptx
 
Intelligent design 101
Intelligent design 101Intelligent design 101
Intelligent design 101
 
Ux gsg
Ux gsgUx gsg
Ux gsg
 
Design pattern of mobile application
Design pattern of mobile applicationDesign pattern of mobile application
Design pattern of mobile application
 
Usability Evaluation
Usability EvaluationUsability Evaluation
Usability Evaluation
 
Lesson 2 HCI 2.pptx
Lesson 2 HCI 2.pptxLesson 2 HCI 2.pptx
Lesson 2 HCI 2.pptx
 
Driving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous ImprovementDriving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous Improvement
 
Uxperts mobi 2013 ux for android
Uxperts mobi 2013   ux for androidUxperts mobi 2013   ux for android
Uxperts mobi 2013 ux for android
 

More from Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 

More from Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Mobile App Design Patterns Guide

  • 1. Gran Sasso Science Institute Ivano Malavolta Design patterns for mobile apps
  • 2. Roadmap Navigation Forms Search, sort & filter Tools Invitations Feedback & Affordance Anti-Patterns
  • 3. Navigation •  How users move through the views –  Springboard –  Lists (Vertical, Infinite) –  Tabs –  Gallery (Grid) –  Dashboard –  Metaphor –  Page Carousel –  Image Carousel –  Expanding Lists –  Infinite Area
  • 4. Springboard •  Use a grid layout for items of equal importance, or an irregular layout to emphasize some items more than others •  Consider personalization and customization options
  • 5. Lists •  Work well for long lists with subtext •  All internal screens should have a way for returning back •  It can be “infinite”, it can have thumbnails
  • 6. Tabs •  Clearly differentiate the selected tab from the others •  Use easy to recognize icons or icons with labels
  • 7. Gallery (Grid) •  Works best for frequently updated content that people want to browse
  • 8. Dashboard •  Dashboards provide a roll-up of key performance indicators •  Don’t overload the dashboard •  Usually Springboards are also called Dashboards
  • 9. Metaphor •  Pages are modeled to reflect the application’s metaphor •  Use the Metaphor pattern judiciously
  • 10. Page carousel •  Works best for navigating a small number of pages •  Visual indicator to reflect the number of screens, and current screen •  Flick to navigate the carousel
  • 11. Image Carousel •  Works best for displaying fresh visual content, like articles, products, and photos •  Provide visual affordance, either with arrows, partial images, or page indicators that more content can be accessed
  • 12. Expanding Lists •  Works best for progressively disclosing more details or options for an object
  • 13. Infinite Area •  The entire data set can be considered to be a large, two- dimensional graphic •  The viewport shows only a small subset of the whole data set
  • 14. Can you compare these navigation designs? Exercise
  • 15. Roadmap Navigation Forms Search, sort & filter Tools Invitations Feedback & Affordance Anti-Patterns
  • 16. Forms •  They are for data entry and configuration –  Sign In –  Registration –  Check-in –  Comments –  Users Profile –  Share –  Empty Datasets –  Multi-step –  Settings
  • 17. Sign In •  Don’t innovate on the sign in screen •  Provide a way to retrieve a forgotten password •  Provide a way to login via social networks
  • 18. Registration •  Keep it short, preferably one screen •  Register button well visible
  • 19. Check-in •  Keep it ultra-short •  Design for speed, and efficiency •  Eliminate unnecessary fields •  Don’t show the map!
  • 20. Comments •  Invite user to leave comment •  Always clarify what is being commented •  Show other people’s comments over time
  • 21. Timeline •  Within the current hour, show as minutes ago •  Within the current day, show the time as number of hours ago •  Within the last two days, shown the day of the week, and the time range, morning, afternoon, evening, night •  Within the past week, show the day of the week •  Within 12 months, show as mm/DD •  Older than 12 months, show only the year
  • 22. Users Profile •  Put the badges in evidence •  Show their contribution to the social network •  Provide action controls
  • 23. Share •  Always keep track of past logins •  Always provide an “off social” way to share (e.g., by email) •  Remark what is being shared
  • 24. Empty datasets •  Avoid white-screens, explain why the dataset is empty •  call for action, only one! •  Avoid error messages
  • 25. Multi Step •  Show the user where they are and where they can go •  Eliminate unnecessary fields •  minimize the number of pages and steps
  • 26. Settings •  Put them inside the app •  Clear and grouped •  Easy to be understood
  • 27. Roadmap Navigation Forms Search, sort & filter Tools Invitations Feedback & Affordance Anti-Patterns
  • 28. Search, Sort & Filter •  Search –  Explicit Search –  Auto-complete –  Dynamic Search –  Scoped Search –  Saved & Recent –  Search form –  Search Results
  • 29. Explicit Search •  Offer a clear button in the field •  Provide an option to cancel the search •  Use feedback to show the search is being performed
  • 30. Search Auto-complete •  Show feedback if there could be a delay in displaying the results •  Consider emphasizing the matching search text in the search results
  • 31. Dynamic Search •  Automatically filters a given list of items •  Works well for constrained data sets, like an address book or personal media library
  • 32. Scoped Search •  Offer reasonable scoping options based on the data set •  3 to 6 scoping options are plenty
  • 33. Search form •  Minimize the number of input fields •  Follow form design best practices (alignment, labels, size) •  Use only when strictly needed
  • 34. Search Results •  Use live scroll instead of paging •  Apply a reasonable default sort order •  Call for action this is also an Anti-pattern (see Oceans of Buttons)
  • 35. Search, Sort & Filter •  Sort –  Onscreen Sort –  Sort Order Selector
  • 36. Onscreen Sort •  Clearly show which option is selected •  Do not use it if option labels don’t fit nicely in a toggle button bar
  • 37. Sort Order Selector •  Follow OS design conventions for choosing the selector control, or choose an OS neutral interface control •  Clearly show which sort option is applied
  • 38. Filter Forms •  Don’t over-design the filter, a simple onscreen filter or drawer will usually suffice
  • 39. Roadmap Navigation Forms Search, sort & filter Tools Invitations Feedback & Affordance Anti-Patterns
  • 40. Tools •  Buttons & Controls –  Toolbar –  Option Menu –  Contextual Tools –  Inline Actions –  Call to Action Buttons –  Multi-state Button –  Bulk Actions –  Maps
  • 41. Toolbar •  Contain screen level actions, they are generally displayed at the bottom of the screen •  Choose icons that are easy to recognize, or use labels plus icons
  • 42. Option Menu •  Choose direct interactions when possible •  Possibly don’t hide navigation in the Option Menu
  • 43. Contextual Tools •  If buttons are necessary, they should be displayed in proximity to the actionable object •  Choose a familiar icon or use a text label
  • 44. Inline Actions •  They should be in proximity to the actionable object •  Choose a familiar icon or use a text label •  Max 1 to 2 Inline Actions per object
  • 45. Call to Action Buttons •  Don’t hide the main call to action in a menu or disguise it as an unrecognizable icon in a toolbar •  Good contrast and clear label
  • 46. Multi-state Button •  Multi-State Buttons work well for a series of tightly correlated actions that will to be performed in succession
  • 47. Bulk Actions •  Bulk actions like delete and reorder are best handled in an edit mode •  Provide an obvious option for exiting the mode
  • 48. Maps •  Provide visible markers (avoiding “terrain-mode”) •  Use as much screen as possible •  Can be small if the location is not the main item
  • 49. Roadmap Navigation Forms Search, sort & filter Tools Invitations Feedback & Affordance Anti-Patterns
  • 50. Invitations •  Helpful tips displayed the first time a user launches an app –  Dialog –  Tip –  Tour –  Video –  Transparency –  1st Time Through –  Persistent –  Discoverable
  • 51. Dialog •  Keep dialog content short •  make sure there is an alternate way to access instructions from within the application
  • 52. Tip •  Place tips in proximity to the feature they refer to •  keep the content short •  remove the tip once interaction begins
  • 53. Tour •  A tour should highlight key features of the application, preferably from a (user) goal perspective •  Keep it short and visually engaging
  • 54. Video •  Demos should showcase key features or show how to use the application •  Common video features (stop, pause, volume controls, etc,...) should be provided
  • 55. Transparency •  Transparencies are not meant to compensate for poor screen designs! •  Remove the Transparency once interaction begins My favourite invitation!
  • 56. 1st time through •  Clearly differentiate the invitation from other content with images or other visual cues
  • 57. Persistent •  Keep it short •  Clearly differentiate the invitation from other content with images or other visual cues
  • 58. Discoverable •  Use Discoverable invitations sparingly •  The most common instance of this pattern is for prompting a data refresh
  • 59. Roadmap Navigation Forms Search, sort & filter Tools Invitations Feedback & Affordance Anti-Patterns
  • 60. Feedback & Affordance •  Feedback –  Errors –  Confirmation –  System Status •  Affordance –  Tap –  Flick –  Drag
  • 61. Feedback: Errors •  Use plain language that offers a solution for resolving the issue •  make the error visible •  use in-screen messaging instead of modal dialogs
  • 62. Feedback: Confirmation •  Provide confirmation when an action is taken •  don’t break the user’s flow
  • 63. Feedback: System Status •  Provide feedback about the system’s status •  Offer a cancel option for potentially lengthy operations
  • 64. Affordance: Tap •  Use common visual design techniques to indicate tappable controls •  Apply 3D effects judiciously
  • 65. Affordance: Flick •  Use a page indicator •  show the edge of the next item •  Avoid heavy weight scroll bars
  • 66. Affordance: Drag •  Use a recognizable icon for the handle •  Consider using an invitation to let users know this feature is available
  • 67. Roadmap Navigation Forms Search, sort & filter Tools Invitations Feedback & Affordance Anti-Patterns
  • 68. Anti-Patterns •  Common pitfalls to avoid –  Novel Notions –  Metaphor Mismatch –  Idiot Boxes –  Chart Junk –  Oceans of Buttons
  • 69. Novel Notions •  If you are looking for a way to innovate with your application, focus on your core features and offerings, but rely on best practices for the interface design •  If you design a custom control, rigorously test it and refine it to make sure it is usable
  • 72. Metaphor Mismatch •  Consists in picking the wrong metaphor for the interface: –  Control mismatch –  Icon mismatch –  Mental model mismatch
  • 74. Idiot Boxes Avoid disrupting the workflow only show a confirmation dialog when an irreparable action is being taken (like a permanent delete)
  • 75. Chart Junk Only use visual elements in charts and graphs that are necessary to communicate the information represented on the graph
  • 76. Oceans of Buttons •  Use standard patterns for displaying page level actions •  Provide contextual tools for item level actions instead of repeating the same button •  Keep page level actions visually separate from navigational elements
  • 77. References •  Screenshots from: –  www.mobiledesignpatterngallery.com –  pttrns.com –  inspired-ui.com –  mobile-patterns.com get inspired!
  • 78. + 39 380 70 21 600 Contact Ivano Malavolta | Gran Sasso Science Institute iivanoo ivano.malavolta@univaq.it www.ivanomalavolta.com