SlideShare a Scribd company logo
Designing	
  and	
  implemen-ng	
  responsive,	
  
     fluid	
  UIs	
  to	
  delight	
  end	
  users	
  
best	
  and	
  worst	
  prac.ces	
  for	
  interac.on	
  designers	
  and	
  programmers	
  




                                       Michael	
  Klein	
  
              Interac.on	
  designer,	
  developer	
  and	
  UI	
  connoisseur	
  
              at	
  CURE	
  (Center	
  for	
  Usability	
  Research	
  and	
  Engineering),	
  Vienna	
  
    hCp://gplus.to/michaelklein27,	
  hCp://www.linkedin.com/in/michaelklein3,	
  @mischkl	
  
Designing	
  and	
  implemen-ng	
  responsive,	
  
     fluid	
  UIs	
  to	
  delight	
  end	
  users	
  
best	
  and	
  worst	
  prac.ces	
  for	
  interac.on	
  designers	
  and	
  programmers	
  
           What	
  am	
  I	
  talking	
  about?	
  
What	
  am	
  I	
  talking	
  about?	
  
Let’s	
  take	
  a	
  look	
  at	
  some	
  examples	
  




                         hCp://www.youtube.com/watch?v=HyA6UXi0v6g	
  
What	
  am	
  I	
  talking	
  about?	
  
                    	
  




                                           hCp://xkcd.com/612/	
  
What	
  am	
  I	
  talking	
  about?	
  
                    	
  




                 hCp://www.youtube.com/watch?v=sxtYxIObjWg	
  
What	
  am	
  I	
  talking	
  about?	
  
                    	
  




               hCp://www.youtube.com/watch?v=nfnM_8JBmmA	
  
What	
  am	
  I	
  talking	
  about?	
  
                    	
  




                hCp://www.youtube.com/watch?v=apN0_NQrC0s	
  
What	
  do	
  all	
  these	
  examples	
  have	
  in	
  common?	
  
                                 	
  
What	
  do	
  all	
  these	
  examples	
  have	
  in	
  common?	
  
                                 	
  
TIME	
                     (aka	
  a	
  temporal	
  sequence	
  of	
  events)	
  
                                                                 	
  

                      What’s	
  so	
  special	
  about	
  it?	
  
                                  (from	
  a	
  user’s	
  perspec-ve)   	
  
                                                  	
  
•  “HCI	
  impedance	
  mismatch”	
  (my	
  phrase)	
  –	
  user’s	
  ac.ons	
  are	
  too	
  
   fast	
  for	
  the	
  system,	
  system’s	
  responses	
  are	
  too	
  slow	
  for	
  the	
  user	
  
•  Without	
  immediate	
  feedback,	
  user	
  error	
  is	
  introduced—they	
  click	
  
   buCons	
  mul.ple	
  .mes,	
  try	
  to	
  swipe	
  mul.ple	
  .mes,	
  try	
  to	
  close	
  
   unresponsive	
  apps	
  even	
  if	
  they	
  are	
  not	
  actually	
  frozen,	
  poten.ally	
  
   leading	
  to	
  data	
  loss,	
  etc.	
  
•  When	
  things	
  don’t	
  work	
  smoothly,	
  users	
  are	
  reminded	
  that	
  they	
  
   are	
  “using	
  a	
  computer”,	
  sense	
  of	
  magic/fun	
  decreases,	
  sense	
  of	
  
   control	
  decreases,	
  frustra.on	
  increases	
  
•  Unresponsive	
  apps	
  violate	
  4	
  of	
  Nielsen’s	
  10	
  usability	
  heuris-cs	
  
    (Visibility	
  of	
  system	
  status,	
  match	
  with	
  real	
  world	
  (real	
  objects	
  
    don’t	
  stuCer/freeze),	
  user	
  control/freedom,	
  error	
  preven.on.)	
  
TIME	
                   (aka	
  a	
  temporal	
  sequence	
  of	
  events)	
  
                                                            	
  

                    What’s	
  so	
  special	
  about	
  it?	
  
                    (from	
  an	
  interac-on	
  designer’s	
  perspec-ve)        	
  
                                                	
  
•  Difficult	
  to	
  portray	
  .me-­‐sensi.ve	
  interac.ons	
  in	
  sta-c	
  mockups,	
  
   or	
  even	
  in	
  higher-­‐level	
  prototypes	
  
•  Time-­‐based	
  performance	
  characteris.cs	
  are	
  invisible	
  and	
  
   unpredictable,	
  which	
  makes	
  it	
  hard	
  to	
  iden.fy	
  them	
  as	
  “features”	
  
   or	
  “defects”	
  
•  UI	
  performance	
  considera.ons	
  are	
  largely	
  qualita-ve	
  in	
  nature	
  –	
  
   the	
  answer	
  to	
  the	
  ques.on	
  of	
  “what’s	
  good	
  enough?”	
  varies	
  
   widely	
  
•  Because	
  of	
  their	
  invisible	
  and	
  qualita.ve	
  nature,	
  UI	
  performance	
  
   characteris.cs	
  tend	
  to	
  rate	
  low	
  on	
  the	
  list	
  of	
  managers’	
  and	
  
   programmers’	
  priori.es	
  
TIME	
                     (aka	
  a	
  temporal	
  sequence	
  of	
  events)	
  
                                                                	
  

                      What’s	
  so	
  special	
  about	
  it?	
  
                       (from	
  a	
  soPware	
  developer’s	
  perspec-ve)          	
  
•  Notoriously	
  difficult	
  to	
  handle	
  	
   npredictable	
  .me	
  values	
  in	
  code	
  –
                                                        u
   event/callback-­‐driven	
  asynchronous	
  programming	
  is	
  easy	
  to	
  screw	
  
   up	
  (or	
  is	
  avoided	
  due	
  to	
  fear	
  of	
  complexity,	
  lack	
  of	
  understanding)	
  
    •  Race	
  condi.ons	
  
    •  Error	
  handling	
  issues	
  
    •  “Feedback	
  loops”	
  
    •  Execu.ng	
  on	
  UI	
  thread	
  
    •  Asynchronous	
  APIs	
  are	
  harder	
  to	
  understand	
  and	
  debug	
  
•  Difficult	
  to	
  pin	
  down	
  sources	
  of	
  performance	
  issues	
  
•  UI	
  toolkit	
  weaknesses	
  (e.g.	
  Flash,	
  HTML5)	
  
•  Difficult	
  to	
  judge	
  real-­‐world	
  performance	
  characteris.cs	
  because	
  
   developers’	
  machines	
  tend	
  to	
  be	
  high-­‐spec’d	
  
So	
  what	
  can	
  we	
  do	
  about	
  it?	
  
1.  Acknowledge	
  that	
  UI	
  performance	
  characteris.cs	
  are	
  a	
  key	
  
    component	
  of	
  user	
  experience.	
  Designers	
  can’t	
  be	
  sa.sfied	
  with	
  
    sta.c	
  mockups	
  alone.	
  Developers	
  can’t	
  be	
  sa.sfied	
  with	
  simply	
  
    “looking	
  like”	
  a	
  design.	
  
2.  No	
  “designing	
  it	
  and	
  then	
  dropping	
  it	
  off	
  at	
  the	
  programmers’	
  
    feet”.	
  Designers	
  need	
  to	
  work	
  closely	
  with	
  developers	
  and	
  test	
  
    itera-ons	
  in	
  -ght	
  cycles—that’s	
  what	
  UCD	
  is	
  all	
  about!	
  
3.  Enough	
  -me	
  needs	
  to	
  be	
  devoted	
  to	
  fine-­‐tuning	
  UI	
  performance.	
  
    It	
  should	
  be	
  a	
  key	
  ongoing	
  task	
  for	
  developers	
  and	
  testers,	
  not	
  an	
  
    aqerthought.	
  
4.  Programmers	
  need	
  to	
  wrap	
  their	
  heads	
  around	
  asynchronous	
  
    APIs	
  and	
  event-­‐driven	
  programming,	
  if	
  they	
  haven’t	
  already.	
  
5.  In	
  cases	
  where	
  performance	
  can’t	
  be	
  directly	
  improved,	
  don’t	
  
    keep	
  the	
  user	
  wai-ng	
  –	
  show	
  some	
  kind	
  of	
  progress	
  indica.on,	
  
    use	
  cached	
  content	
  liberally,	
  and	
  don’t	
  block	
  the	
  UI	
  (thread)!	
  	
  
Thanks	
  for	
  listening!	
  
and	
  now	
  it’s	
  .me	
  for	
  some	
  Q&A	
  /	
  discussions!	
  




                                          Michael	
  Klein	
  
                                          michaelklein27@gmail.com	
  
                                          hCp://gplus.to/michaelklein27	
  
                                          hCp://www.linkedin.com/in/michaelklein3	
  
                                          @mischkl	
  

More Related Content

Similar to Designing and implementing responsive, fluid UIs to delight end users

Incorporating UX into Your Projects
Incorporating UX into Your ProjectsIncorporating UX into Your Projects
Incorporating UX into Your Projects
Karl Kaufmann
 
Webbt user_centred_demos
Webbt user_centred_demosWebbt user_centred_demos
Webbt user_centred_demosCUO-KUleuven
 
Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...
Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...
Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...
Sten Govaerts
 
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
Elida Arrizza
 
More Agile (Than) Scrum?
More Agile (Than) Scrum?More Agile (Than) Scrum?
More Agile (Than) Scrum?
Ingvald Skaug
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design Workshop
Patrick McNeil
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
Russ Weakley
 
20130221 ucd leuven_leuven
20130221 ucd leuven_leuven20130221 ucd leuven_leuven
20130221 ucd leuven_leuvenErik Duval
 
User Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the UglyUser Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the Ugly
Joshua Randall
 
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
Adrian Jones
 
Supercharge your application with the best UX practices
Supercharge your application with the best UX practicesSupercharge your application with the best UX practices
Supercharge your application with the best UX practices
Gercek Karakus
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
Tathagat Varma
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience -
UXPA International
 
Module 10: Usability Testing
Module 10: Usability TestingModule 10: Usability Testing
Module 10: Usability Testing
Daniel Drew Turner
 
Developer disciplines
Developer disciplinesDeveloper disciplines
Developer disciplines
Chris Howe-Jones
 
Boas e Más Práticas para Agile UX
Boas e Más Práticas para Agile UXBoas e Más Práticas para Agile UX
Boas e Más Práticas para Agile UX
Tiago Silva da Silva
 
Practical Usability
Practical UsabilityPractical Usability
Practical Usability
Karolina Coates
 
UX at HP Enterprise
UX at HP Enterprise UX at HP Enterprise
UX at HP Enterprise
David Ismailov
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-modelasidharath
 
The Power of the UX Evaluation
The Power of the UX EvaluationThe Power of the UX Evaluation
The Power of the UX Evaluation
Jon Fukuda
 

Similar to Designing and implementing responsive, fluid UIs to delight end users (20)

Incorporating UX into Your Projects
Incorporating UX into Your ProjectsIncorporating UX into Your Projects
Incorporating UX into Your Projects
 
Webbt user_centred_demos
Webbt user_centred_demosWebbt user_centred_demos
Webbt user_centred_demos
 
Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...
Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...
Towards Responsive Open Learning Environments: the ROLE Interoperability Fram...
 
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
The 10 Golden Usability Heuristics (Montreal Girl Geeks September 2014)
 
More Agile (Than) Scrum?
More Agile (Than) Scrum?More Agile (Than) Scrum?
More Agile (Than) Scrum?
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design Workshop
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
20130221 ucd leuven_leuven
20130221 ucd leuven_leuven20130221 ucd leuven_leuven
20130221 ucd leuven_leuven
 
User Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the UglyUser Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the Ugly
 
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
 
Supercharge your application with the best UX practices
Supercharge your application with the best UX practicesSupercharge your application with the best UX practices
Supercharge your application with the best UX practices
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience -
 
Module 10: Usability Testing
Module 10: Usability TestingModule 10: Usability Testing
Module 10: Usability Testing
 
Developer disciplines
Developer disciplinesDeveloper disciplines
Developer disciplines
 
Boas e Más Práticas para Agile UX
Boas e Más Práticas para Agile UXBoas e Más Práticas para Agile UX
Boas e Más Práticas para Agile UX
 
Practical Usability
Practical UsabilityPractical Usability
Practical Usability
 
UX at HP Enterprise
UX at HP Enterprise UX at HP Enterprise
UX at HP Enterprise
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
 
The Power of the UX Evaluation
The Power of the UX EvaluationThe Power of the UX Evaluation
The Power of the UX Evaluation
 

Recently uploaded

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Designing and implementing responsive, fluid UIs to delight end users

  • 1. Designing  and  implemen-ng  responsive,   fluid  UIs  to  delight  end  users   best  and  worst  prac.ces  for  interac.on  designers  and  programmers   Michael  Klein   Interac.on  designer,  developer  and  UI  connoisseur   at  CURE  (Center  for  Usability  Research  and  Engineering),  Vienna   hCp://gplus.to/michaelklein27,  hCp://www.linkedin.com/in/michaelklein3,  @mischkl  
  • 2. Designing  and  implemen-ng  responsive,   fluid  UIs  to  delight  end  users   best  and  worst  prac.ces  for  interac.on  designers  and  programmers   What  am  I  talking  about?  
  • 3. What  am  I  talking  about?   Let’s  take  a  look  at  some  examples   hCp://www.youtube.com/watch?v=HyA6UXi0v6g  
  • 4. What  am  I  talking  about?     hCp://xkcd.com/612/  
  • 5. What  am  I  talking  about?     hCp://www.youtube.com/watch?v=sxtYxIObjWg  
  • 6. What  am  I  talking  about?     hCp://www.youtube.com/watch?v=nfnM_8JBmmA  
  • 7. What  am  I  talking  about?     hCp://www.youtube.com/watch?v=apN0_NQrC0s  
  • 8. What  do  all  these  examples  have  in  common?    
  • 9. What  do  all  these  examples  have  in  common?    
  • 10. TIME   (aka  a  temporal  sequence  of  events)     What’s  so  special  about  it?   (from  a  user’s  perspec-ve)     •  “HCI  impedance  mismatch”  (my  phrase)  –  user’s  ac.ons  are  too   fast  for  the  system,  system’s  responses  are  too  slow  for  the  user   •  Without  immediate  feedback,  user  error  is  introduced—they  click   buCons  mul.ple  .mes,  try  to  swipe  mul.ple  .mes,  try  to  close   unresponsive  apps  even  if  they  are  not  actually  frozen,  poten.ally   leading  to  data  loss,  etc.   •  When  things  don’t  work  smoothly,  users  are  reminded  that  they   are  “using  a  computer”,  sense  of  magic/fun  decreases,  sense  of   control  decreases,  frustra.on  increases   •  Unresponsive  apps  violate  4  of  Nielsen’s  10  usability  heuris-cs   (Visibility  of  system  status,  match  with  real  world  (real  objects   don’t  stuCer/freeze),  user  control/freedom,  error  preven.on.)  
  • 11. TIME   (aka  a  temporal  sequence  of  events)     What’s  so  special  about  it?   (from  an  interac-on  designer’s  perspec-ve)     •  Difficult  to  portray  .me-­‐sensi.ve  interac.ons  in  sta-c  mockups,   or  even  in  higher-­‐level  prototypes   •  Time-­‐based  performance  characteris.cs  are  invisible  and   unpredictable,  which  makes  it  hard  to  iden.fy  them  as  “features”   or  “defects”   •  UI  performance  considera.ons  are  largely  qualita-ve  in  nature  –   the  answer  to  the  ques.on  of  “what’s  good  enough?”  varies   widely   •  Because  of  their  invisible  and  qualita.ve  nature,  UI  performance   characteris.cs  tend  to  rate  low  on  the  list  of  managers’  and   programmers’  priori.es  
  • 12. TIME   (aka  a  temporal  sequence  of  events)     What’s  so  special  about  it?   (from  a  soPware  developer’s  perspec-ve)   •  Notoriously  difficult  to  handle     npredictable  .me  values  in  code  – u event/callback-­‐driven  asynchronous  programming  is  easy  to  screw   up  (or  is  avoided  due  to  fear  of  complexity,  lack  of  understanding)   •  Race  condi.ons   •  Error  handling  issues   •  “Feedback  loops”   •  Execu.ng  on  UI  thread   •  Asynchronous  APIs  are  harder  to  understand  and  debug   •  Difficult  to  pin  down  sources  of  performance  issues   •  UI  toolkit  weaknesses  (e.g.  Flash,  HTML5)   •  Difficult  to  judge  real-­‐world  performance  characteris.cs  because   developers’  machines  tend  to  be  high-­‐spec’d  
  • 13. So  what  can  we  do  about  it?   1.  Acknowledge  that  UI  performance  characteris.cs  are  a  key   component  of  user  experience.  Designers  can’t  be  sa.sfied  with   sta.c  mockups  alone.  Developers  can’t  be  sa.sfied  with  simply   “looking  like”  a  design.   2.  No  “designing  it  and  then  dropping  it  off  at  the  programmers’   feet”.  Designers  need  to  work  closely  with  developers  and  test   itera-ons  in  -ght  cycles—that’s  what  UCD  is  all  about!   3.  Enough  -me  needs  to  be  devoted  to  fine-­‐tuning  UI  performance.   It  should  be  a  key  ongoing  task  for  developers  and  testers,  not  an   aqerthought.   4.  Programmers  need  to  wrap  their  heads  around  asynchronous   APIs  and  event-­‐driven  programming,  if  they  haven’t  already.   5.  In  cases  where  performance  can’t  be  directly  improved,  don’t   keep  the  user  wai-ng  –  show  some  kind  of  progress  indica.on,   use  cached  content  liberally,  and  don’t  block  the  UI  (thread)!    
  • 14. Thanks  for  listening!   and  now  it’s  .me  for  some  Q&A  /  discussions!   Michael  Klein   michaelklein27@gmail.com   hCp://gplus.to/michaelklein27   hCp://www.linkedin.com/in/michaelklein3   @mischkl  

Editor's Notes

  1. Disclaimer: Is not specifically about natural user interfaces, tablet apps, multi-touch; also not specifically about automatically adapting to different screen sizes – although that is certainly importantApplies to all user interactions in all domains It could be that I cover a lot of material that is clear to everyone—I just want to get everyone on the same page
  2. Commentary: Why is this so? Because Apple is one of the few companies that truly invests in fine-tuning every aspect of the user experience, regardless of how much effort is needed.Note that most review sites focus on a simple paging / scrolling test in order to rate a device’s speed and “fluidity”Only in the last year has Google made UI smoothness in Android a top priority—5 versions / 5 years in.
  3. Note for the non-programmers In the room: I’m about to devolve into techno-babble. Feel free to tune this out.Error handling issues – story about Java throwing ExceptionsStory: Async UI vs. SyncFlash – lack of async APIHTML5 – Facebook app as example – unfortunately HTML is still not there yet due to performance issues, browser differences QuickTime for Java – lcoal network access
  4. Story: Microsoft uses exclusively Async APIs for accessing resources in Windows 8