SlideShare a Scribd company logo
Application GUI Design
Notes From a Tizen Toolkit Developer
Tom Hacohen
Samsung Electronics Open Source Group
tom@osg.samsung.com
@TomHacohen
What does it do?
Essential features
What does it do?
Essential features
Nice to have features
What does it do?
Essential features
Nice to have features
Niche features (<1% of the users)
What does it do?
Essential features
Nice to have features
Niche features (<1% of the users)
Remove all the non-essential features
Who is it for?
CLI power users? Designers?
Who is it for?
CLI power users? Designers?
Target environment
Who is it for?
CLI power users? Designers?
Target environment
Common demographics
Who is it for?
CLI power users? Designers?
Target environment
Common demographics
Application specific classifications
Who is it for?
CLI power users? Designers?
Target environment
Common demographics
Application specific classifications
Userbase = you
KISS
Adapt feature list according to your audience
KISS
Adapt feature list according to your audience
Keep focus on the more important features
KISS
Adapt feature list according to your audience
Keep focus on the more important features
Avoid creating complex UIs
KISS
Adapt feature list according to your audience
Keep focus on the more important features
Avoid creating complex UIs
Keep option lists (combo box) short, simple and
in a sensible order
Have a rough sketch
Make a general storyboard sketch
Have a rough sketch
Make a general storyboard sketch
Have all the major interactions and features there
Have a rough sketch
Make a general storyboard sketch
Have all the major interactions and features there
Can be really rough – it’s more about the purpose of the “pages”
Have a rough sketch
Make a general storyboard sketch
Have all the major interactions and features there
Can be really rough – it’s more about the purpose of the “pages”
Have a rough sketch
Make a general storyboard sketch
Have all the major interactions and features there
Can be really rough – it’s more about the purpose of the “pages”
Stick to the basics
Don’t bother with colour – harder and will be added later
Stick to the basics
Don’t bother with colour – harder and will be added later
Do not customise available widgets/patterns unless there really is no other way
Stick to the basics
Don’t bother with colour – harder and will be added later
Do not customise available widgets/patterns unless there really is no other way
Develop it around the content – content is king
I meant it! KISS. . .
Be purposefully simple
I meant it! KISS. . .
Be purposefully simple
Skeuomorphs are almost always bad
I meant it! KISS. . .
Be purposefully simple
Skeuomorphs are almost always bad
Be consistent (easier when simple)
I meant it! KISS. . .
Be purposefully simple
Skeuomorphs are almost always bad
Be consistent (easier when simple)
Make it simple for your users – don’t create new
usage patterns, and adhere to common ones
I meant it! KISS. . .
Be purposefully simple
Skeuomorphs are almost always bad
Be consistent (easier when simple)
Make it simple for your users – don’t create new
usage patterns, and adhere to common ones
Common (all?) usage patterns should be easily
available
I meant it! KISS. . .
Be purposefully simple
Skeuomorphs are almost always bad
Be consistent (easier when simple)
Make it simple for your users – don’t create new
usage patterns, and adhere to common ones
Common (all?) usage patterns should be easily
available
Rest should be revealed as needed
I meant it! KISS. . .
Be purposefully simple
Skeuomorphs are almost always bad
Be consistent (easier when simple)
Make it simple for your users – don’t create new
usage patterns, and adhere to common ones
Common (all?) usage patterns should be easily
available
Rest should be revealed as needed
Make self-documenting applications
Spacing
Choose a baseline unit size (e.g. 8px)
Spacing
Choose a baseline unit size (e.g. 8px)
Align everything to that baseline size
Spacing
Choose a baseline unit size (e.g. 8px)
Align everything to that baseline size
Use a small set of spacing alternatives (e.g. 2, 3
and 6 units)
Spacing
Choose a baseline unit size (e.g. 8px)
Align everything to that baseline size
Use a small set of spacing alternatives (e.g. 2, 3
and 6 units)
Make sure touch-targets are spaced enough
Spacing
Choose a baseline unit size (e.g. 8px)
Align everything to that baseline size
Use a small set of spacing alternatives (e.g. 2, 3
and 6 units)
Make sure touch-targets are spaced enough
Counter example
Spacing
Choose a baseline unit size (e.g. 8px)
Align everything to that baseline size
Use a small set of spacing alternatives (e.g. 2, 3
and 6 units)
Make sure touch-targets are spaced enough
Counter example
Be generous, but don’t overdo it (don’t waste my
screen estate)
Spacing
Choose a baseline unit size (e.g. 8px)
Align everything to that baseline size
Use a small set of spacing alternatives (e.g. 2, 3
and 6 units)
Make sure touch-targets are spaced enough
Counter example
Be generous, but don’t overdo it (don’t waste my
screen estate)
Counter example
Spacing
Choose a baseline unit size (e.g. 8px)
Align everything to that baseline size
Use a small set of spacing alternatives (e.g. 2, 3
and 6 units)
Make sure touch-targets are spaced enough
Counter example
Be generous, but don’t overdo it (don’t waste my
screen estate)
Counter example
Give back space when possible
Organization
Content should be at the front of the stage
Organization
Content should be at the front of the stage
Important functionality in key positions
Organization
Content should be at the front of the stage
Important functionality in key positions
Make the hierarchy of information clear
Organization
Content should be at the front of the stage
Important functionality in key positions
Make the hierarchy of information clear
Associate related elements
Organization
Content should be at the front of the stage
Important functionality in key positions
Make the hierarchy of information clear
Associate related elements
Help directing the user’s focus
Icons and images
Use known icons on buttons
Icons and images
Use known icons on buttons
Don’t use a known icon for something other than
intended
Icons and images
Use known icons on buttons
Don’t use a known icon for something other than
intended
Use rich graphics when appropriate (cover-art,
mood graphics, etc.)
Icons and images
Use known icons on buttons
Don’t use a known icon for something other than
intended
Use rich graphics when appropriate (cover-art,
mood graphics, etc.)
Don’t overshadow content
Icons and images
Use known icons on buttons
Don’t use a known icon for something other than
intended
Use rich graphics when appropriate (cover-art,
mood graphics, etc.)
Don’t overshadow content
Don’t use ugly graphics
Icons and images
Use known icons on buttons
Don’t use a known icon for something other than
intended
Use rich graphics when appropriate (cover-art,
mood graphics, etc.)
Don’t overshadow content
Don’t use ugly graphics
Have consistent sizing
Typography
Use a readable font size
Text should be big and readable for everyone
Typography
Use a readable font size
Space up your text
Typography
Use a readable font size
Space up your text
Use text attributes (e.g. bold and size) to make
text more or less prominent
Typography
Use a readable font size
Space up your text
Use text attributes (e.g. bold and size) to make
text more or less prominent
Use a small set of fonts (probably one)
Overlaying text on images
Just put it on (bad)
Overlaying text on images
Just put it on (bad)
Black/colour/white-wash the whole image to
make text readable
Overlaying text on images
Just put it on (bad)
Black/colour/white-wash the whole image to
make text readable
Add translucent background to the text
Overlaying text on images
Just put it on (bad)
Black/colour/white-wash the whole image to
make text readable
Add translucent background to the text
Add a translucent gradient (i.e. partial
black/white-wash) so your text area is handled
Overlaying text on images
Just put it on (bad)
Black/colour/white-wash the whole image to
make text readable
Add translucent background to the text
Add a translucent gradient (i.e. partial
black/white-wash) so your text area is handled
Use a big font with a shadow and on outline
Colour
Option 1 (easier): keep the interface b&w and
use colour to direct focus
Colour
Option 1 (easier): keep the interface b&w and
use colour to direct focus
Option 2: Choose a palette of 2 different hues
and use different shades
Colour
Option 1 (easier): keep the interface b&w and
use colour to direct focus
Option 2: Choose a palette of 2 different hues
and use different shades
I almost always tint my greys (and not use black)
Colour
Option 1 (easier): keep the interface b&w and
use colour to direct focus
Option 2: Choose a palette of 2 different hues
and use different shades
I almost always tint my greys (and not use black)
Find a good palette online
Colour
Option 1 (easier): keep the interface b&w and
use colour to direct focus
Option 2: Choose a palette of 2 different hues
and use different shades
I almost always tint my greys (and not use black)
Find a good palette online
Use HSL/HSV rather RGB when choosing colours
Colour
Option 1 (easier): keep the interface b&w and
use colour to direct focus
Option 2: Choose a palette of 2 different hues
and use different shades
I almost always tint my greys (and not use black)
Find a good palette online
Use HSL/HSV rather RGB when choosing colours
Be aware of cultural differences
Mimic what works
Compare to other applications you/users like better using what we’ve covered
Mimic what works
Compare to other applications you/users like better using what we’ve covered
Mimic what’s good there (e.g. do you need more spacing?)
Mimic what works
Compare to other applications you/users like better using what we’ve covered
Mimic what’s good there (e.g. do you need more spacing?)
It’s usually easier to mimic than to design from scratch
Mimic what works
Compare to other applications you/users like better using what we’ve covered
Mimic what’s good there (e.g. do you need more spacing?)
It’s usually easier to mimic than to design from scratch
Don’t mimic the bad things (i.e. use them as excuse)
Mimic what works
Compare to other applications you/users like better using what we’ve covered
Mimic what’s good there (e.g. do you need more spacing?)
It’s usually easier to mimic than to design from scratch
Don’t mimic the bad things (i.e. use them as excuse)
Don’t copy, learn. . .
User experience tips
Consistent behaviour (with the platform and within the application)
User experience tips
Consistent behaviour (with the platform and within the application)
Start instantly and lazy load in the background
User experience tips
Consistent behaviour (with the platform and within the application)
Start instantly and lazy load in the background
Everything should take a small amount of clicks
User experience tips
Consistent behaviour (with the platform and within the application)
Start instantly and lazy load in the background
Everything should take a small amount of clicks
Discoverable UI (easy to figure out how to do things)
More user experience tips
Make it hard to make mistakes
More user experience tips
Make it hard to make mistakes
Counter example
More user experience tips
Make it hard to make mistakes
Counter example
Avoid interruptions
More user experience tips
Make it hard to make mistakes
Counter example
Avoid interruptions
Sort long lists in a predictable, sensible order
More user experience tips
Make it hard to make mistakes
Counter example
Avoid interruptions
Sort long lists in a predictable, sensible order
If your users do something and expect something
to happen, it probably should happen
Material design (Google)
Highly talked about cross device design guidelines
Material design (Google)
Highly talked about cross device design guidelines
A fairly good Android adoption rate
Material design (Google)
Highly talked about cross device design guidelines
A fairly good Android adoption rate
I personally don’t like animations that slow users
down
Material design (Google)
Highly talked about cross device design guidelines
A fairly good Android adoption rate
I personally don’t like animations that slow users
down
Concepts are good, it’s implementations that are
not always good
Material design (Google)
Highly talked about cross device design guidelines
A fairly good Android adoption rate
I personally don’t like animations that slow users
down
Concepts are good, it’s implementations that are
not always good
It doesn’t feel like they care about low-end and
power consumption
iOS (Apple)
Old style: horrible skeuomorphism
iOS (Apple)
Old style: horrible skeuomorphism
New style: very simple and clean, sometimes
confusing
iOS (Apple)
Old style: horrible skeuomorphism
New style: very simple and clean, sometimes
confusing
Flat and easy to theme
iOS (Apple)
Old style: horrible skeuomorphism
New style: very simple and clean, sometimes
confusing
Flat and easy to theme
Usually not very discoverable
iOS (Apple)
Old style: horrible skeuomorphism
New style: very simple and clean, sometimes
confusing
Flat and easy to theme
Usually not very discoverable
Good general guidelines
Tizen
Designed for low resolution devices
Tizen
Designed for low resolution devices
Focus on content and user needs
Tizen
Designed for low resolution devices
Focus on content and user needs
Frugal with screen estate
Tizen
Designed for low resolution devices
Focus on content and user needs
Frugal with screen estate
Tries to make applications consistent (encourages
a fixed colour theme)
Tizen
Designed for low resolution devices
Focus on content and user needs
Frugal with screen estate
Tries to make applications consistent (encourages
a fixed colour theme)
Make interaction simple and easy
Tizen
Designed for low resolution devices
Focus on content and user needs
Frugal with screen estate
Tries to make applications consistent (encourages
a fixed colour theme)
Make interaction simple and easy
Aims to support user customisation
Tizen
Designed for low resolution devices
Focus on content and user needs
Frugal with screen estate
Tries to make applications consistent (encourages
a fixed colour theme)
Make interaction simple and easy
Aims to support user customisation
Flat and “fun” design
Know your toolkit
Trying to pixel match a design across toolkits is a bad idea
Know your toolkit
Trying to pixel match a design across toolkits is a bad idea
Know what takes a performance hit on your toolkit
Know your toolkit
Trying to pixel match a design across toolkits is a bad idea
Know what takes a performance hit on your toolkit
Check out the toolkit’s common patterns, those are usually best for performance and
users
Easy takeaways
It’s like API design, it should be simple, self-documenting, consistent and have a
familiar feeling
Easy takeaways
It’s like API design, it should be simple, self-documenting, consistent and have a
familiar feeling
Start with black and white, don’t colour unless you need it
Easy takeaways
It’s like API design, it should be simple, self-documenting, consistent and have a
familiar feeling
Start with black and white, don’t colour unless you need it
Saturate your greys and almost never use black
Easy takeaways
It’s like API design, it should be simple, self-documenting, consistent and have a
familiar feeling
Start with black and white, don’t colour unless you need it
Saturate your greys and almost never use black
Add spacing and make your text bigger
Easy takeaways
It’s like API design, it should be simple, self-documenting, consistent and have a
familiar feeling
Start with black and white, don’t colour unless you need it
Saturate your greys and almost never use black
Add spacing and make your text bigger
Use common patterns (and take inspiration from the best)
Easy takeaways
It’s like API design, it should be simple, self-documenting, consistent and have a
familiar feeling
Start with black and white, don’t colour unless you need it
Saturate your greys and almost never use black
Add spacing and make your text bigger
Use common patterns (and take inspiration from the best)
Pay the design some thought (from the start)
Easy takeaways
It’s like API design, it should be simple, self-documenting, consistent and have a
familiar feeling
Start with black and white, don’t colour unless you need it
Saturate your greys and almost never use black
Add spacing and make your text bigger
Use common patterns (and take inspiration from the best)
Pay the design some thought (from the start)
KISS
Questions?
Tom Hacohen
tom@osg.samsung.com
http://stosb.com
@TomHacohen
Page 11, flight-deck.jpg
Page 15, twitter-sketch.jpg
Page 23, purposefully-simple.png
Page ??, skeuomorph.jpg
Page ??, self-documenting.png
Page ??, layout-baseline-align.png
Page ??, layout-spacing-alternatives.png
Page 58, direct-attention.png
Page ??, imagery-mood.png
Page ??, bad-blurry.png
Page ??, multiple-fonts.png
Page 53, text-overlay-bad.jpg
Page ??, two-colours.png
Page ??, palette.png
Page ??, colour-culture.jpg
Page ??, colour-culture.jpg
Page 73, repo-delete-confirmation.png
Page ??, interrupt-programmer.jpg
Page 78, material.png
Page 83, ios6v7.jpg
Page 88, tizen.png
Page ??, info-hierarchy.png

More Related Content

PPTX
UI/GUI Design Guide Process Tutorial
PDF
Pp3 - Pixel Perfect Precision V3
PDF
How to be Pixel Perfect (Replaces Making Accessibility Accessible) - Matt Gy...
PDF
Designing with illustrator
PDF
Android Apps Training - Day Four (Design)
PDF
Photoshop tool-basics
DOCX
Make Visually Stunning PowerPoints - Training Handout
UI/GUI Design Guide Process Tutorial
Pp3 - Pixel Perfect Precision V3
How to be Pixel Perfect (Replaces Making Accessibility Accessible) - Matt Gy...
Designing with illustrator
Android Apps Training - Day Four (Design)
Photoshop tool-basics
Make Visually Stunning PowerPoints - Training Handout

What's hot (16)

DOC
Image Editing for Beginners - Training Handout
PDF
PowerPoint Tips: Utilizing the Cropping Tool
PPT
Presentation
PDF
Rule for creating power point slide
PDF
Pop up design process
PPTX
Photoshop
PPT
Presentation
PDF
Adobe Illustrator - Creating the Poster
PPTX
Icon assignment
DOCX
Photoshop
PPTX
TDC 2014 - Trilha Mobile - Material design
PDF
Android Design Integration
PDF
How to use the photoshop pen tool to edit e commerce images
PDF
Top Graphic Designing Hacks to Make You a Designing Pro Today
PPTX
Introduction to adobe Photoshop
PPT
Game Design 2: Lecture 10 - UI Layout
Image Editing for Beginners - Training Handout
PowerPoint Tips: Utilizing the Cropping Tool
Presentation
Rule for creating power point slide
Pop up design process
Photoshop
Presentation
Adobe Illustrator - Creating the Poster
Icon assignment
Photoshop
TDC 2014 - Trilha Mobile - Material design
Android Design Integration
How to use the photoshop pen tool to edit e commerce images
Top Graphic Designing Hacks to Make You a Designing Pro Today
Introduction to adobe Photoshop
Game Design 2: Lecture 10 - UI Layout
Ad

Viewers also liked (19)

PDF
Enlightenment Foundation Libraries (Overview)
PDF
ODP
EFL: Scaling From the Embedded World to the Desktop
PDF
Enlightenment as Standalone Wayland Compositor
PDF
A Detailed Look at Cairo's OpenGL Spans Compositor Performance
PPSX
Gui application development guidelines
PDF
Clang: More than just a C/C++ Compiler
DOCX
Use case diagram
PDF
Activity diagram-UML diagram
PDF
Online shop system use case diagram report
PDF
IoTivity for Automotive IoT Interoperability
PPT
Use case-diagrams
PPTX
Online shopping system
PPTX
Online Shopping Presentation
DOC
Online shopping report-6 month project
PPT
Activity Diagram
DOC
Online shopping cart system file
PPT
Use Case Diagram
PPTX
Online shopping presentation
Enlightenment Foundation Libraries (Overview)
EFL: Scaling From the Embedded World to the Desktop
Enlightenment as Standalone Wayland Compositor
A Detailed Look at Cairo's OpenGL Spans Compositor Performance
Gui application development guidelines
Clang: More than just a C/C++ Compiler
Use case diagram
Activity diagram-UML diagram
Online shop system use case diagram report
IoTivity for Automotive IoT Interoperability
Use case-diagrams
Online shopping system
Online Shopping Presentation
Online shopping report-6 month project
Activity Diagram
Online shopping cart system file
Use Case Diagram
Online shopping presentation
Ad

Similar to Application GUI Design (20)

PDF
Application GUI Design - Notes from a Toolkit Developer
PPTX
UI UX Tips and Guidelines
PPT
UI/UX Design InterfaceDesign_Basics..ppt
PDF
AAU UX club presentation - April 23, 2015
PDF
Typography and Colors for GUI Designers
PPTX
Ui ux designing principles
PDF
Refactoring ui by letruongan.com
PPTX
Usability Engineering – Methods and Tools • Heuristic Evaluation (Nielsen’s...
PDF
Make better apps - Guide for Better UX
PDF
UI Design
PPTX
Building strong visual foundations for your design system
PDF
UI design for mobile apps
PDF
Svcc12 designfundamentals
PPTX
Learn ios design
PPTX
Mobile Apps Design Principles
PDF
Ubercool, pixel perfct & slick design… that just doesn't work
PDF
When the Developer Must Design
PPTX
Designing Windows 8 application - Microsoft Techdays 2013
PDF
Essentials of UI Design_UI/UX for beginners.pdf
PDF
essentials-of-ui-design.pdf
Application GUI Design - Notes from a Toolkit Developer
UI UX Tips and Guidelines
UI/UX Design InterfaceDesign_Basics..ppt
AAU UX club presentation - April 23, 2015
Typography and Colors for GUI Designers
Ui ux designing principles
Refactoring ui by letruongan.com
Usability Engineering – Methods and Tools • Heuristic Evaluation (Nielsen’s...
Make better apps - Guide for Better UX
UI Design
Building strong visual foundations for your design system
UI design for mobile apps
Svcc12 designfundamentals
Learn ios design
Mobile Apps Design Principles
Ubercool, pixel perfct & slick design… that just doesn't work
When the Developer Must Design
Designing Windows 8 application - Microsoft Techdays 2013
Essentials of UI Design_UI/UX for beginners.pdf
essentials-of-ui-design.pdf

More from Samsung Open Source Group (20)

PDF
The Complex IoT Equation (and FLOSS solutions)
PDF
Easy IoT with JavaScript
PDF
Spawny: A New Approach to Logins
PDF
Rapid SPi Device Driver Development over USB
PDF
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
PDF
IoTivity: Smart Home to Automotive and Beyond
PDF
IoTivity for Automotive: meta-ocf-automotive tutorial
PDF
GENIVI + OCF Cooperation
PDF
Framework for IoT Interoperability
PDF
Open Source Metrics to Inform Corporate Strategy
PDF
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
PDF
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
PDF
IoTivity: From Devices to the Cloud
PDF
SOSCON 2016 JerryScript
PDF
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
PDF
Run Your Own 6LoWPAN Based IoT Network
PDF
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
PDF
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
PDF
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
PDF
Introduction to Linux-wpan and Potential Collaboration
The Complex IoT Equation (and FLOSS solutions)
Easy IoT with JavaScript
Spawny: A New Approach to Logins
Rapid SPi Device Driver Development over USB
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
IoTivity: Smart Home to Automotive and Beyond
IoTivity for Automotive: meta-ocf-automotive tutorial
GENIVI + OCF Cooperation
Framework for IoT Interoperability
Open Source Metrics to Inform Corporate Strategy
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
IoTivity: From Devices to the Cloud
SOSCON 2016 JerryScript
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
Run Your Own 6LoWPAN Based IoT Network
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
Introduction to Linux-wpan and Potential Collaboration

Recently uploaded (20)

PDF
System and Network Administraation Chapter 3
PPTX
Introduction to Artificial Intelligence
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Digital Strategies for Manufacturing Companies
PPTX
ai tools demonstartion for schools and inter college
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Essential Infomation Tech presentation.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
System and Network Administration Chapter 2
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administraation Chapter 3
Introduction to Artificial Intelligence
Reimagine Home Health with the Power of Agentic AI​
Digital Strategies for Manufacturing Companies
ai tools demonstartion for schools and inter college
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Essential Infomation Tech presentation.pptx
Design an Analysis of Algorithms II-SECS-1021-03
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
CHAPTER 2 - PM Management and IT Context
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
System and Network Administration Chapter 2
VVF-Customer-Presentation2025-Ver1.9.pptx

Application GUI Design

  • 1. Application GUI Design Notes From a Tizen Toolkit Developer Tom Hacohen Samsung Electronics Open Source Group tom@osg.samsung.com @TomHacohen
  • 2. What does it do? Essential features
  • 3. What does it do? Essential features Nice to have features
  • 4. What does it do? Essential features Nice to have features Niche features (<1% of the users)
  • 5. What does it do? Essential features Nice to have features Niche features (<1% of the users) Remove all the non-essential features
  • 6. Who is it for? CLI power users? Designers?
  • 7. Who is it for? CLI power users? Designers? Target environment
  • 8. Who is it for? CLI power users? Designers? Target environment Common demographics
  • 9. Who is it for? CLI power users? Designers? Target environment Common demographics Application specific classifications
  • 10. Who is it for? CLI power users? Designers? Target environment Common demographics Application specific classifications Userbase = you
  • 11. KISS Adapt feature list according to your audience
  • 12. KISS Adapt feature list according to your audience Keep focus on the more important features
  • 13. KISS Adapt feature list according to your audience Keep focus on the more important features Avoid creating complex UIs
  • 14. KISS Adapt feature list according to your audience Keep focus on the more important features Avoid creating complex UIs Keep option lists (combo box) short, simple and in a sensible order
  • 15. Have a rough sketch Make a general storyboard sketch
  • 16. Have a rough sketch Make a general storyboard sketch Have all the major interactions and features there
  • 17. Have a rough sketch Make a general storyboard sketch Have all the major interactions and features there Can be really rough – it’s more about the purpose of the “pages”
  • 18. Have a rough sketch Make a general storyboard sketch Have all the major interactions and features there Can be really rough – it’s more about the purpose of the “pages”
  • 19. Have a rough sketch Make a general storyboard sketch Have all the major interactions and features there Can be really rough – it’s more about the purpose of the “pages”
  • 20. Stick to the basics Don’t bother with colour – harder and will be added later
  • 21. Stick to the basics Don’t bother with colour – harder and will be added later Do not customise available widgets/patterns unless there really is no other way
  • 22. Stick to the basics Don’t bother with colour – harder and will be added later Do not customise available widgets/patterns unless there really is no other way Develop it around the content – content is king
  • 23. I meant it! KISS. . . Be purposefully simple
  • 24. I meant it! KISS. . . Be purposefully simple Skeuomorphs are almost always bad
  • 25. I meant it! KISS. . . Be purposefully simple Skeuomorphs are almost always bad Be consistent (easier when simple)
  • 26. I meant it! KISS. . . Be purposefully simple Skeuomorphs are almost always bad Be consistent (easier when simple) Make it simple for your users – don’t create new usage patterns, and adhere to common ones
  • 27. I meant it! KISS. . . Be purposefully simple Skeuomorphs are almost always bad Be consistent (easier when simple) Make it simple for your users – don’t create new usage patterns, and adhere to common ones Common (all?) usage patterns should be easily available
  • 28. I meant it! KISS. . . Be purposefully simple Skeuomorphs are almost always bad Be consistent (easier when simple) Make it simple for your users – don’t create new usage patterns, and adhere to common ones Common (all?) usage patterns should be easily available Rest should be revealed as needed
  • 29. I meant it! KISS. . . Be purposefully simple Skeuomorphs are almost always bad Be consistent (easier when simple) Make it simple for your users – don’t create new usage patterns, and adhere to common ones Common (all?) usage patterns should be easily available Rest should be revealed as needed Make self-documenting applications
  • 30. Spacing Choose a baseline unit size (e.g. 8px)
  • 31. Spacing Choose a baseline unit size (e.g. 8px) Align everything to that baseline size
  • 32. Spacing Choose a baseline unit size (e.g. 8px) Align everything to that baseline size Use a small set of spacing alternatives (e.g. 2, 3 and 6 units)
  • 33. Spacing Choose a baseline unit size (e.g. 8px) Align everything to that baseline size Use a small set of spacing alternatives (e.g. 2, 3 and 6 units) Make sure touch-targets are spaced enough
  • 34. Spacing Choose a baseline unit size (e.g. 8px) Align everything to that baseline size Use a small set of spacing alternatives (e.g. 2, 3 and 6 units) Make sure touch-targets are spaced enough Counter example
  • 35. Spacing Choose a baseline unit size (e.g. 8px) Align everything to that baseline size Use a small set of spacing alternatives (e.g. 2, 3 and 6 units) Make sure touch-targets are spaced enough Counter example Be generous, but don’t overdo it (don’t waste my screen estate)
  • 36. Spacing Choose a baseline unit size (e.g. 8px) Align everything to that baseline size Use a small set of spacing alternatives (e.g. 2, 3 and 6 units) Make sure touch-targets are spaced enough Counter example Be generous, but don’t overdo it (don’t waste my screen estate) Counter example
  • 37. Spacing Choose a baseline unit size (e.g. 8px) Align everything to that baseline size Use a small set of spacing alternatives (e.g. 2, 3 and 6 units) Make sure touch-targets are spaced enough Counter example Be generous, but don’t overdo it (don’t waste my screen estate) Counter example Give back space when possible
  • 38. Organization Content should be at the front of the stage
  • 39. Organization Content should be at the front of the stage Important functionality in key positions
  • 40. Organization Content should be at the front of the stage Important functionality in key positions Make the hierarchy of information clear
  • 41. Organization Content should be at the front of the stage Important functionality in key positions Make the hierarchy of information clear Associate related elements
  • 42. Organization Content should be at the front of the stage Important functionality in key positions Make the hierarchy of information clear Associate related elements Help directing the user’s focus
  • 43. Icons and images Use known icons on buttons
  • 44. Icons and images Use known icons on buttons Don’t use a known icon for something other than intended
  • 45. Icons and images Use known icons on buttons Don’t use a known icon for something other than intended Use rich graphics when appropriate (cover-art, mood graphics, etc.)
  • 46. Icons and images Use known icons on buttons Don’t use a known icon for something other than intended Use rich graphics when appropriate (cover-art, mood graphics, etc.) Don’t overshadow content
  • 47. Icons and images Use known icons on buttons Don’t use a known icon for something other than intended Use rich graphics when appropriate (cover-art, mood graphics, etc.) Don’t overshadow content Don’t use ugly graphics
  • 48. Icons and images Use known icons on buttons Don’t use a known icon for something other than intended Use rich graphics when appropriate (cover-art, mood graphics, etc.) Don’t overshadow content Don’t use ugly graphics Have consistent sizing
  • 49. Typography Use a readable font size Text should be big and readable for everyone
  • 50. Typography Use a readable font size Space up your text
  • 51. Typography Use a readable font size Space up your text Use text attributes (e.g. bold and size) to make text more or less prominent
  • 52. Typography Use a readable font size Space up your text Use text attributes (e.g. bold and size) to make text more or less prominent Use a small set of fonts (probably one)
  • 53. Overlaying text on images Just put it on (bad)
  • 54. Overlaying text on images Just put it on (bad) Black/colour/white-wash the whole image to make text readable
  • 55. Overlaying text on images Just put it on (bad) Black/colour/white-wash the whole image to make text readable Add translucent background to the text
  • 56. Overlaying text on images Just put it on (bad) Black/colour/white-wash the whole image to make text readable Add translucent background to the text Add a translucent gradient (i.e. partial black/white-wash) so your text area is handled
  • 57. Overlaying text on images Just put it on (bad) Black/colour/white-wash the whole image to make text readable Add translucent background to the text Add a translucent gradient (i.e. partial black/white-wash) so your text area is handled Use a big font with a shadow and on outline
  • 58. Colour Option 1 (easier): keep the interface b&w and use colour to direct focus
  • 59. Colour Option 1 (easier): keep the interface b&w and use colour to direct focus Option 2: Choose a palette of 2 different hues and use different shades
  • 60. Colour Option 1 (easier): keep the interface b&w and use colour to direct focus Option 2: Choose a palette of 2 different hues and use different shades I almost always tint my greys (and not use black)
  • 61. Colour Option 1 (easier): keep the interface b&w and use colour to direct focus Option 2: Choose a palette of 2 different hues and use different shades I almost always tint my greys (and not use black) Find a good palette online
  • 62. Colour Option 1 (easier): keep the interface b&w and use colour to direct focus Option 2: Choose a palette of 2 different hues and use different shades I almost always tint my greys (and not use black) Find a good palette online Use HSL/HSV rather RGB when choosing colours
  • 63. Colour Option 1 (easier): keep the interface b&w and use colour to direct focus Option 2: Choose a palette of 2 different hues and use different shades I almost always tint my greys (and not use black) Find a good palette online Use HSL/HSV rather RGB when choosing colours Be aware of cultural differences
  • 64. Mimic what works Compare to other applications you/users like better using what we’ve covered
  • 65. Mimic what works Compare to other applications you/users like better using what we’ve covered Mimic what’s good there (e.g. do you need more spacing?)
  • 66. Mimic what works Compare to other applications you/users like better using what we’ve covered Mimic what’s good there (e.g. do you need more spacing?) It’s usually easier to mimic than to design from scratch
  • 67. Mimic what works Compare to other applications you/users like better using what we’ve covered Mimic what’s good there (e.g. do you need more spacing?) It’s usually easier to mimic than to design from scratch Don’t mimic the bad things (i.e. use them as excuse)
  • 68. Mimic what works Compare to other applications you/users like better using what we’ve covered Mimic what’s good there (e.g. do you need more spacing?) It’s usually easier to mimic than to design from scratch Don’t mimic the bad things (i.e. use them as excuse) Don’t copy, learn. . .
  • 69. User experience tips Consistent behaviour (with the platform and within the application)
  • 70. User experience tips Consistent behaviour (with the platform and within the application) Start instantly and lazy load in the background
  • 71. User experience tips Consistent behaviour (with the platform and within the application) Start instantly and lazy load in the background Everything should take a small amount of clicks
  • 72. User experience tips Consistent behaviour (with the platform and within the application) Start instantly and lazy load in the background Everything should take a small amount of clicks Discoverable UI (easy to figure out how to do things)
  • 73. More user experience tips Make it hard to make mistakes
  • 74. More user experience tips Make it hard to make mistakes Counter example
  • 75. More user experience tips Make it hard to make mistakes Counter example Avoid interruptions
  • 76. More user experience tips Make it hard to make mistakes Counter example Avoid interruptions Sort long lists in a predictable, sensible order
  • 77. More user experience tips Make it hard to make mistakes Counter example Avoid interruptions Sort long lists in a predictable, sensible order If your users do something and expect something to happen, it probably should happen
  • 78. Material design (Google) Highly talked about cross device design guidelines
  • 79. Material design (Google) Highly talked about cross device design guidelines A fairly good Android adoption rate
  • 80. Material design (Google) Highly talked about cross device design guidelines A fairly good Android adoption rate I personally don’t like animations that slow users down
  • 81. Material design (Google) Highly talked about cross device design guidelines A fairly good Android adoption rate I personally don’t like animations that slow users down Concepts are good, it’s implementations that are not always good
  • 82. Material design (Google) Highly talked about cross device design guidelines A fairly good Android adoption rate I personally don’t like animations that slow users down Concepts are good, it’s implementations that are not always good It doesn’t feel like they care about low-end and power consumption
  • 83. iOS (Apple) Old style: horrible skeuomorphism
  • 84. iOS (Apple) Old style: horrible skeuomorphism New style: very simple and clean, sometimes confusing
  • 85. iOS (Apple) Old style: horrible skeuomorphism New style: very simple and clean, sometimes confusing Flat and easy to theme
  • 86. iOS (Apple) Old style: horrible skeuomorphism New style: very simple and clean, sometimes confusing Flat and easy to theme Usually not very discoverable
  • 87. iOS (Apple) Old style: horrible skeuomorphism New style: very simple and clean, sometimes confusing Flat and easy to theme Usually not very discoverable Good general guidelines
  • 88. Tizen Designed for low resolution devices
  • 89. Tizen Designed for low resolution devices Focus on content and user needs
  • 90. Tizen Designed for low resolution devices Focus on content and user needs Frugal with screen estate
  • 91. Tizen Designed for low resolution devices Focus on content and user needs Frugal with screen estate Tries to make applications consistent (encourages a fixed colour theme)
  • 92. Tizen Designed for low resolution devices Focus on content and user needs Frugal with screen estate Tries to make applications consistent (encourages a fixed colour theme) Make interaction simple and easy
  • 93. Tizen Designed for low resolution devices Focus on content and user needs Frugal with screen estate Tries to make applications consistent (encourages a fixed colour theme) Make interaction simple and easy Aims to support user customisation
  • 94. Tizen Designed for low resolution devices Focus on content and user needs Frugal with screen estate Tries to make applications consistent (encourages a fixed colour theme) Make interaction simple and easy Aims to support user customisation Flat and “fun” design
  • 95. Know your toolkit Trying to pixel match a design across toolkits is a bad idea
  • 96. Know your toolkit Trying to pixel match a design across toolkits is a bad idea Know what takes a performance hit on your toolkit
  • 97. Know your toolkit Trying to pixel match a design across toolkits is a bad idea Know what takes a performance hit on your toolkit Check out the toolkit’s common patterns, those are usually best for performance and users
  • 98. Easy takeaways It’s like API design, it should be simple, self-documenting, consistent and have a familiar feeling
  • 99. Easy takeaways It’s like API design, it should be simple, self-documenting, consistent and have a familiar feeling Start with black and white, don’t colour unless you need it
  • 100. Easy takeaways It’s like API design, it should be simple, self-documenting, consistent and have a familiar feeling Start with black and white, don’t colour unless you need it Saturate your greys and almost never use black
  • 101. Easy takeaways It’s like API design, it should be simple, self-documenting, consistent and have a familiar feeling Start with black and white, don’t colour unless you need it Saturate your greys and almost never use black Add spacing and make your text bigger
  • 102. Easy takeaways It’s like API design, it should be simple, self-documenting, consistent and have a familiar feeling Start with black and white, don’t colour unless you need it Saturate your greys and almost never use black Add spacing and make your text bigger Use common patterns (and take inspiration from the best)
  • 103. Easy takeaways It’s like API design, it should be simple, self-documenting, consistent and have a familiar feeling Start with black and white, don’t colour unless you need it Saturate your greys and almost never use black Add spacing and make your text bigger Use common patterns (and take inspiration from the best) Pay the design some thought (from the start)
  • 104. Easy takeaways It’s like API design, it should be simple, self-documenting, consistent and have a familiar feeling Start with black and white, don’t colour unless you need it Saturate your greys and almost never use black Add spacing and make your text bigger Use common patterns (and take inspiration from the best) Pay the design some thought (from the start) KISS
  • 106. Page 11, flight-deck.jpg Page 15, twitter-sketch.jpg Page 23, purposefully-simple.png Page ??, skeuomorph.jpg Page ??, self-documenting.png Page ??, layout-baseline-align.png Page ??, layout-spacing-alternatives.png Page 58, direct-attention.png
  • 107. Page ??, imagery-mood.png Page ??, bad-blurry.png Page ??, multiple-fonts.png Page 53, text-overlay-bad.jpg Page ??, two-colours.png Page ??, palette.png Page ??, colour-culture.jpg Page ??, colour-culture.jpg Page 73, repo-delete-confirmation.png Page ??, interrupt-programmer.jpg Page 78, material.png Page 83, ios6v7.jpg Page 88, tizen.png Page ??, info-hierarchy.png