Architectng UX

1,611 views

Published on

Presentation at Microsoft Architect Council in June 2007 - by Simon Guest, Microsoft

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,611
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Architectng UX

  1. 1. Simon Guest Director, Architecture Strategy Microsoft Corporation
  2. 2. “What is Architecture?”
  3. 3. “Architecture is the balance between art and engineering”
  4. 4. But does this apply to Software Architecture?
  5. 5. SOA ESB Web Services Transactions ORM Replication etc. Engineering Concerns
  6. 6. What is the art in Software Architecture?
  7. 7. User Experience Often Comes Last
  8. 8. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  9. 9. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  10. 10. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  11. 11. Why is this the case? Well understood environment Why is this the case? Dedicated development staff Stable business capabilities
  12. 12. Why is this the case? Difficult to justify investment Why is this the case? Not designing for the real users Optimizing for look and feel
  13. 13. Why is this the case? Why is this the case?
  14. 14. New Perspective
  15. 15. A framework for how architects can think about user experience New Perspective
  16. 16. “Was this application really designed for me?” “Why doesn’t this application help me get my work done?” “If it wasn’t for this application, I’d do stuff differently”
  17. 17. Implicit Personas Purpose Prototype
  18. 18. Implicit Personas Purpose Prototype “I use a similar application at home, and that works” “Should I have read the manual?” “The performance of this application sucks!”
  19. 19. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e
  20. 20. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e “I don’t think it installed properly…” “Err.. How long did you guys spend developing this?” “Excuse me! I have a suggestion…”
  21. 21. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  22. 22. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  23. 23. Implicit > Personas
  24. 24. Audience Survey Implicit > Personas
  25. 25. Audience Survey What percentage of today’s attendees are female? Implicit > Personas
  26. 26. Audience Survey Overall US population is 52% female according to 2000 Census Implicit > Personas
  27. 27. Audience Survey What percentage of today’s attendees do NOT have a college degree? Implicit > Personas
  28. 28. Audience Survey Roughly 82% of US population, 72% of US adults do not, according to 2000 Census Implicit > Personas
  29. 29. Audience Survey What percentage of today’s attendees drive a car with a manual transmission? Implicit > Personas
  30. 30. Audience Survey How many more WOULD if your spouses would let you buy one? Implicit > Personas
  31. 31. Audience Survey Roughly 12-14% of all vehicles in the US are sold with a manual transmission Implicit > Personas
  32. 32. Know Thy User For He Is Not Thee Implicit > Personas Source: Why Software Sucks [2006], David Plat
  33. 33. Definition of a “user” Implicit > Personas
  34. 34. “This would be quicker to develop as a Web Application. Users will understand how to use this.” Implicit > Personas
  35. 35. “Yeah, most users will have access to a printer from their desk…” Implicit > Personas
  36. 36. “Of course these buttons should be red and white. Users will be able to relate this to the up/down lights on an elevator.” Implicit > Personas
  37. 37. “The Homer” Implicit > Personas
  38. 38. Think instead using Personas Implicit > Personas
  39. 39. Sally – “Road Warrior” Implicit > Personas
  40. 40. Sally – “Road Warrior” 38, Married 2 Children 5 years of computer experience Mostly Windows/Office, experienced with PowerPoint Has between 10 and 20 clients – mix of small and medium businesses Relies on laptop and mobile phone device Implicit > Personas
  41. 41. Sally – “Road Warrior” Needs from your application: “Keep me connected to customer data regardless of my location” Implicit > Personas
  42. 42. Derek – “Call Center Operator” Implicit > Personas
  43. 43. Derek – “Call Center Operator” 25, Single 9 years of computer experience 3 years of which in a call center PDA/gadget junkie – “lifehacker” Relies on call center application Gets bonus if exceeds monthly target call quota Implicit > Personas
  44. 44. Derek – “Call Center Operator” Needs from your application: “I want the application to decrease my time per call” Implicit > Personas
  45. 45. Jim – “Executive” Implicit > Personas
  46. 46. Jim – “Executive” 57, Married 4 Children, all left home Very limited computer experience Brenda (his admin) used to print all his Email until very recently Likes to show off his Blackberry on the golf course Implicit > Personas
  47. 47. Jim – “Executive” Needs from your application: “I want the high level, abstract view of my customers” Implicit > Personas
  48. 48. Conversations “For Sally, a Web Interface may make sense. But Peter has a lot of keyboard shortcuts we need to implement.” Implicit > Personas
  49. 49. Conversations “Jim will have access to a printer via his admin, but Sally works on the road, so may need another option for printing” Implicit > Personas
  50. 50. Conversations “For Jim, red/white buttons may work, but we should check that this is the case for Derek in our offshore call center” Implicit > Personas
  51. 51. Takeaways Use 3 – 7 personas as the first step of designing any user experience Use personas to help resolve arguments in the development team Look at the personas that Microsoft uses (Persona Lifecycle) Implicit > Personas Source: Persona Lifecycle [Pruitt, Adlin] Morgan Kaufmann
  52. 52. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  53. 53. Implicit > Purpose
  54. 54. Implicit > Purpose Create new document Type text Format the text Email to editor
  55. 55. Implicit > Purpose Create new Task document Task Type text Goal Task Format the text Task Email to editor
  56. 56. Implicit > Purpose
  57. 57. Implicit > Purpose Create new Task document Type text Task Format the text Filter Task Email to editor Task
  58. 58. Implicit > Purpose Create new Task document Type text Task Guess the Goal Format the text Task Email to editor Task
  59. 59. Implicit > Purpose
  60. 60. Implicit > Purpose Create new Task document Apply Context Type text Task Apply Context Format the text Task Apply Context Email to editor Task
  61. 61. Implicit > Purpose
  62. 62. Implicit > Purpose
  63. 63. Implicit > Purpose
  64. 64. Implicit > Purpose Source: www.devcomponents.com
  65. 65. Implicit > Purpose Takeaways Don’t confuse tasks and goals when working on use cases Focus on the goal of your application, and apply context at each step Look into the Office UI licensing for using the ribbon in applications
  66. 66. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  67. 67. Implicit > Prototype
  68. 68. Implicit > Prototype You want to build a house… You hire a building architect… You discuss requirements…
  69. 69. Implicit > Prototype A prototype is created
  70. 70. Implicit > Prototype 12 months later…
  71. 71. Implicit > Prototype You want to build a house… You hire a software architect… You discuss requirements…
  72. 72. Implicit > Prototype Yeah, sorry, I don’t have a prototype to show you. I can show you some diagrams, but you probably won’t understand them.
  73. 73. Implicit > Prototype But trust me – it’s going to be great.
  74. 74. Implicit > Prototype 12 months later…
  75. 75. Implicit > Prototype In Software Architecture we don’t do enough prototyping
  76. 76. Implicit > Prototype Paper Wizard of Oz Many different ways of prototyping PowerPoint Card sorting Visio Flash More Information: Effective Prototyping [Arnowitz, Arent, Berger] Morgan Kaufmann
  77. 77. Implicit > Prototype Often static, one-way presentations (shown only to management) Few re-usable design assets Looks different to what gets delivered
  78. 78. Implicit > Prototype High Fidelity Prototype “Polished” look and feel Great for management Too high fidelity for users Low Fidelity Prototype “Sketch” look and feel Great for user feedback Don’t show management Source: Paper Prototyping / Neilsen Norman
  79. 79. Implicit > Prototype High Fidelity Style Control Base Low Fidelity Style Source: Paper Prototyping / Neilsen Norman
  80. 80. Implicit > Prototype Source: Napkin L&F for SWING / SourceForge
  81. 81. Implicit > Prototype Source: Napkin L&F for SWING / SourceForge
  82. 82. Implicit > Prototype Takeaways Software Architects don’t do enough prototyping Try to obtain re-usable design assets (not necessarily code assets) Switch between low and high fidelity to target the correct users
  83. 83. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  84. 84. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  85. 85. Interface > Platform
  86. 86. Interface > Platform Too many choices…
  87. 87. Interface > Platform I don’t want to go down the wrong path…
  88. 88. Interface > Platform Abstract guidance is hard to find…
  89. 89. Interface > Platform Pick something based on Technology Pick something based on Competition Pick something based on Experience
  90. 90. Interface > Platform Technically savvy, but not optimal Trapped in a process It’s just the way that things work here
  91. 91. Interface > Platform
  92. 92. Interface > Platform
  93. 93. Interface > Platform No Matching Case Studies…
  94. 94. Interface > Platform Is this really optimal as an Intranet application?
  95. 95. Interface > Platform
  96. 96. Interface > Platform
  97. 97. Interface > Platform
  98. 98. Interface > Platform server database web browser Pages HTML renders
  99. 99. Interface > Platform server database web browser Pages HTML renders msn search .NET add-in indexes creates Files Results (WordML)
  100. 100. Interface > Platform
  101. 101. Interface > Platform However, when it comes to guidance on selecting the right user experience…
  102. 102. Interface > Platform Microsoft is Guilty!
  103. 103. Interface > Platform Study of permutations to deliver a user interface
  104. 104. Interface > Platform Windows Presentation Smart Client with Windows Presentation Microsoft Office Foundation Client ClickOnce Deployment Foundation XBAP SharePoint Web Part Windows Vista Gadget PowerShell CmdLet InfoPath Media Center Add In Windows Live Messenger Command Line Microsoft Office Add In Media Player Add in Add In Application Windows Live Messenger ASP.NET Microsoft Office COM Add XBOX/XNA Application Activity Window In Windows Forms ASP.NET Mobile Microsoft Office Business Windows Mobile Pocket Application Application Outlook Application Windows Desktop Search ASP.NET AJAX Microsoft Office Smart Ink Enabled Tablet Add In Docs Application Windows Forms via Internet Explorer Add In Microsoft Office VBA Windows Mobile 5.0 Terminal Services Application System Tray Applet Silverlight Microsoft Office VSTO Add Windows Mobile 5.0 In Smartphone Application (We actually think it’s nearer to 50, but we ran out of time)
  105. 105. Interface > Platform What vectors can we use?
  106. 106. Interface > Platform Persona Application Environment Location Connectivity Installation Mobility Graphics Integration Training Look and Feel Hardware Personalization Interaction Developer IQ
  107. 107. Interface > Platform
  108. 108. Interface > Platform Takeaways “Gut Feel” may work technically, but often is not optimal Pressure vendors to create more guidance for selecting a UI If you have different visualization ideas, let me know 
  109. 109. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  110. 110. Interface > Productivity
  111. 111. Interface > Productivity Productivity Time
  112. 112. Interface > Productivity 3. Mastery Productivity 2. Learning 1. Discovery Time
  113. 113. Interface > Productivity Reduced by Familiarity Productivity Time
  114. 114. Interface > Productivity
  115. 115. Interface > Productivity
  116. 116. Interface > Productivity
  117. 117. Interface > Productivity Siebel CRM Siebel Client
  118. 118. Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser
  119. 119. Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser Outlook
  120. 120. Interface > Productivity
  121. 121. Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser Outlook
  122. 122. Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser Outlook
  123. 123. Interface > Productivity
  124. 124. Interface > Productivity M L D Productivity Time Persona - Sally
  125. 125. Interface > Productivity M L D Productivity Time Persona - Derek
  126. 126. Interface > Productivity M L D Productivity Time Persona - Jim
  127. 127. Interface > Productivity M L D Productivity Time Persona - Jim
  128. 128. Interface > Productivity Takeaways Often the most productive user experiences are not the best looking Map the productivity curve to personas when designing interfaces Look at existing experiences to see if there is an extensibility option
  129. 129. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  130. 130. Interface > Performance
  131. 131. Interface > Performance Performance conversations tend to be engineering conversations
  132. 132. Interface > Performance Performance vs. Expectations
  133. 133. Interface > Performance Specific Expectations
  134. 134. Interface > Performance Why is this taking so long?!
  135. 135. Interface > Performance No Expectations
  136. 136. Interface > Performance I wonder how long this will take?
  137. 137. Interface > Performance Asynchronous Javascript And
  138. 138. Interface > Performance Web Browser Web Server Page Load
  139. 139. Interface > Performance Web Browser Web Server Page Load Post Back
  140. 140. Interface > Performance Web Browser Web Server Page Load
  141. 141. Interface > Performance Web Browser Web Server Page Load Data Script Services Data
  142. 142. Interface > Performance
  143. 143. Interface > Performance
  144. 144. Interface > Performance Takeaways How many “milliseconds” conversations focus on engineering Consider skewing performance conversations around expectations Use AJAX to optimize for scenarios of good user expectations
  145. 145. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  146. 146. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  147. 147. Infrastructure > Proven
  148. 148. Infrastructure > Proven The biggest hurdle for building trust in your application is time
  149. 149. Infrastructure > Proven Once that trust is lost, it’s very difficult to recover
  150. 150. Infrastructure > Proven Installation Karma http://simonguest.com/blogs/sm guest/archive/2006/11/21/Ten- Ways-for-Good-Installation- Karma.aspx
  151. 151. Infrastructure > Proven Installation Karma Handling Exceptions
  152. 152. Infrastructure > Proven Installation Karma Handling Exceptions Enable Undo’s
  153. 153. Infrastructure > Proven Typical User Testing Willing users Test Test Test Test Feedback Modify [1]
  154. 154. Infrastructure > Proven
  155. 155. Infrastructure > Proven RITE Rapid Iterative Testing and Evaluation Willing user Etc. Modify [4] Modify [2] Test Test Feedback Feedback Feedback Feedback Test Test Modify [3] Modify [1]
  156. 156. Infrastructure > Proven RITE Rapid Iterative Testing and Evaluation Source: http://download.microsoft.com/download/5/c/c/5cc406a0-0f87-4b94-bf80-dbc707db4fe1/mgsut_MWTRF02.doc.doc
  157. 157. Infrastructure > Proven Takeaways Trust takes time. Don’t risk this by releasing a buggy v1.0 for time’s sake Installation, exception handling and undo are all parts of the experience Implement the RITE methodology to get accurate feedback from testing
  158. 158. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  159. 159. Infrastructure > People
  160. 160. Infrastructure > People It’s all about the SDLC…
  161. 161. Infrastructure > People Project Starts! Use cases created IT + User / BA IT Prototyping Development IT of Services IT UI is created User / BA User Testing Project Complete
  162. 162. Infrastructure > People I know what we’ll do…
  163. 163. Infrastructure > People Project Starts! Use cases created IT + User / BA IT Prototyping Development IT of Services IT UI is created UI Designer User Testing UI Polished User / BA Project Complete
  164. 164. Infrastructure > People A more successful methodology for promoting UX
  165. 165. Infrastructure > People Project Starts! Use cases created IT + User / BA IT + Designer + User / BA Prototyping Development Development IT Designer + User / BA of Services of UX UI and Services IT + Designer Integrated User Testing User / BA Project Complete
  166. 166. Infrastructure > People Are all designers the same?
  167. 167. Infrastructure > People Project Starts! Use cases created IT + User / BA IT + Designer + User / BA Prototyping Development Development IT Designer + User / BA of Services of UX UI and Services IT + Designer Integrated User Testing User / BA Project Complete
  168. 168. Infrastructure > People Interaction Designer Graphic Designer Interaction Designer
  169. 169. Infrastructure > People
  170. 170. Infrastructure > People Project Starts! Use cases created IT + User / BA IT + Designer + User / BA Prototyping Development Development IT Designer + User / BA of Services of UX UI and Services IT + Designer Integrated User Testing User / BA Project Complete
  171. 171. Infrastructure > People Project Starts! Use cases created IT + User / BA IT + Designer + User / BA Prototyping Development Development IT Designer + User / BA of Services of UX UI and Services IT + Designer Integrated User Testing User / BA Project Complete
  172. 172. Infrastructure > People Designer Developer XAML Challenges: • How much code level understanding will designers require? • Who owns check-in of XAML artifacts? • Will we require an “interface stub” for communication?
  173. 173. Infrastructure > People Takeaways Great SDLC more than often leads to Great User Experience Understand what types of designers your SDLC model will support Support interaction between developers and designers
  174. 174. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  175. 175. Infrastructure > Proactive Hey team, v2.0 was a hit! 7 7 98 8
  176. 176. Infrastructure > Proactive …it’s been out for a month and we haven’t heard a thing back from our users! ? ? ?? ?
  177. 177. Infrastructure > Proactive Reactive feedback is all too common 1 3 11 2
  178. 178. Infrastructure > Proactive
  179. 179. Infrastructure > Proactive Rating scale in the application
  180. 180. Infrastructure > Proactive Rating scale in the application Remote troubleshooting
  181. 181. Infrastructure > Proactive Rating scale in the application Remote troubleshooting Effective status updates
  182. 182. Infrastructure > Proactive Takeaways Think how users are going to provide 1 3 11 proactive feedback into the SDLC 2 Figure out a strategy for when things go wrong Provide status – both good and bad – to users where possible
  183. 183. Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  184. 184. Overall Takeaways Implicit Be Implicit by defining personas, purpose Personas Purpose Prototype and prototyping before you start coding Interface Define the Interface – think about how the platform choice, productivity, and performance will affect the user Performanc Platform Productivity e Support an Infrastructure that enables Infrastructure proven, proactive applications designed by a team that understands user experience Proven People Proactive
  185. 185. “Architecture is the balance between art and engineering”
  186. 186. But does this apply to Software Architecture?
  187. 187. SOA ESB Web Services Transactions ORM Replication etc. Engineering Concerns
  188. 188. Personas Platform Prototype Purpose Proven Productivity Performance Putting the User (Art) back into Architecture
  189. 189. If you want slides, please email me – or check out the recording on my blog (URL below) simon.guest@microsoft.com http://www.simonguest.com © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Microsoft Confidential

×