• Save
Architectng UX
Upcoming SlideShare
Loading in...5
×
 

Architectng UX

on

  • 1,875 views

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

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

Statistics

Views

Total Views
1,875
Views on SlideShare
1,869
Embed Views
6

Actions

Likes
1
Downloads
0
Comments
0

2 Embeds 6

http://blogs.msdn.com 3
http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Architectng UX Architectng UX Presentation Transcript

  • Simon Guest Director, Architecture Strategy Microsoft Corporation
  • “What is Architecture?”
  • “Architecture is the balance between art and engineering”
  • But does this apply to Software Architecture?
  • SOA ESB Web Services Transactions ORM Replication etc. Engineering Concerns
  • What is the art in Software Architecture?
  • User Experience Often Comes Last
  • User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  • User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  • User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  • Why is this the case? Well understood environment Why is this the case? Dedicated development staff Stable business capabilities
  • 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
  • Why is this the case? Why is this the case?
  • New Perspective
  • A framework for how architects can think about user experience New Perspective
  • “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”
  • Implicit Personas Purpose Prototype
  • 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!”
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e
  • 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…”
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Implicit > Personas
  • Audience Survey Implicit > Personas
  • Audience Survey What percentage of today’s attendees are female? Implicit > Personas
  • Audience Survey Overall US population is 52% female according to 2000 Census Implicit > Personas
  • Audience Survey What percentage of today’s attendees do NOT have a college degree? Implicit > Personas
  • Audience Survey Roughly 82% of US population, 72% of US adults do not, according to 2000 Census Implicit > Personas
  • Audience Survey What percentage of today’s attendees drive a car with a manual transmission? Implicit > Personas
  • Audience Survey How many more WOULD if your spouses would let you buy one? Implicit > Personas
  • Audience Survey Roughly 12-14% of all vehicles in the US are sold with a manual transmission Implicit > Personas
  • Know Thy User For He Is Not Thee Implicit > Personas Source: Why Software Sucks [2006], David Plat
  • Definition of a “user” Implicit > Personas
  • “This would be quicker to develop as a Web Application. Users will understand how to use this.” Implicit > Personas
  • “Yeah, most users will have access to a printer from their desk…” Implicit > Personas
  • “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
  • “The Homer” Implicit > Personas
  • Think instead using Personas Implicit > Personas
  • Sally – “Road Warrior” Implicit > Personas
  • 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
  • Sally – “Road Warrior” Needs from your application: “Keep me connected to customer data regardless of my location” Implicit > Personas
  • Derek – “Call Center Operator” Implicit > Personas
  • 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
  • Derek – “Call Center Operator” Needs from your application: “I want the application to decrease my time per call” Implicit > Personas
  • Jim – “Executive” Implicit > Personas
  • 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
  • Jim – “Executive” Needs from your application: “I want the high level, abstract view of my customers” Implicit > Personas
  • Conversations “For Sally, a Web Interface may make sense. But Peter has a lot of keyboard shortcuts we need to implement.” Implicit > Personas
  • 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
  • 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
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Implicit > Purpose
  • Implicit > Purpose Create new document Type text Format the text Email to editor
  • Implicit > Purpose Create new Task document Task Type text Goal Task Format the text Task Email to editor
  • Implicit > Purpose
  • Implicit > Purpose Create new Task document Type text Task Format the text Filter Task Email to editor Task
  • Implicit > Purpose Create new Task document Type text Task Guess the Goal Format the text Task Email to editor Task
  • Implicit > Purpose
  • Implicit > Purpose Create new Task document Apply Context Type text Task Apply Context Format the text Task Apply Context Email to editor Task
  • Implicit > Purpose
  • Implicit > Purpose
  • Implicit > Purpose
  • Implicit > Purpose Source: www.devcomponents.com
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Implicit > Prototype
  • Implicit > Prototype You want to build a house… You hire a building architect… You discuss requirements…
  • Implicit > Prototype A prototype is created
  • Implicit > Prototype 12 months later…
  • Implicit > Prototype You want to build a house… You hire a software architect… You discuss requirements…
  • 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.
  • Implicit > Prototype But trust me – it’s going to be great.
  • Implicit > Prototype 12 months later…
  • Implicit > Prototype In Software Architecture we don’t do enough prototyping
  • 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
  • Implicit > Prototype Often static, one-way presentations (shown only to management) Few re-usable design assets Looks different to what gets delivered
  • 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
  • Implicit > Prototype High Fidelity Style Control Base Low Fidelity Style Source: Paper Prototyping / Neilsen Norman
  • Implicit > Prototype Source: Napkin L&F for SWING / SourceForge
  • Implicit > Prototype Source: Napkin L&F for SWING / SourceForge
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Interface > Platform
  • Interface > Platform Too many choices…
  • Interface > Platform I don’t want to go down the wrong path…
  • Interface > Platform Abstract guidance is hard to find…
  • Interface > Platform Pick something based on Technology Pick something based on Competition Pick something based on Experience
  • Interface > Platform Technically savvy, but not optimal Trapped in a process It’s just the way that things work here
  • Interface > Platform
  • Interface > Platform
  • Interface > Platform No Matching Case Studies…
  • Interface > Platform Is this really optimal as an Intranet application?
  • Interface > Platform
  • Interface > Platform
  • Interface > Platform
  • Interface > Platform server database web browser Pages HTML renders
  • Interface > Platform server database web browser Pages HTML renders msn search .NET add-in indexes creates Files Results (WordML)
  • Interface > Platform
  • Interface > Platform However, when it comes to guidance on selecting the right user experience…
  • Interface > Platform Microsoft is Guilty!
  • Interface > Platform Study of permutations to deliver a user interface
  • 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)
  • Interface > Platform What vectors can we use?
  • Interface > Platform Persona Application Environment Location Connectivity Installation Mobility Graphics Integration Training Look and Feel Hardware Personalization Interaction Developer IQ
  • Interface > Platform
  • 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 
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Interface > Productivity
  • Interface > Productivity Productivity Time
  • Interface > Productivity 3. Mastery Productivity 2. Learning 1. Discovery Time
  • Interface > Productivity Reduced by Familiarity Productivity Time
  • Interface > Productivity
  • Interface > Productivity
  • Interface > Productivity
  • Interface > Productivity Siebel CRM Siebel Client
  • Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser
  • Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser Outlook
  • Interface > Productivity
  • Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser Outlook
  • Interface > Productivity Web Services Siebel CRM ASP.NET Web Browser Outlook
  • Interface > Productivity
  • Interface > Productivity M L D Productivity Time Persona - Sally
  • Interface > Productivity M L D Productivity Time Persona - Derek
  • Interface > Productivity M L D Productivity Time Persona - Jim
  • Interface > Productivity M L D Productivity Time Persona - Jim
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Interface > Performance
  • Interface > Performance Performance conversations tend to be engineering conversations
  • Interface > Performance Performance vs. Expectations
  • Interface > Performance Specific Expectations
  • Interface > Performance Why is this taking so long?!
  • Interface > Performance No Expectations
  • Interface > Performance I wonder how long this will take?
  • Interface > Performance Asynchronous Javascript And
  • Interface > Performance Web Browser Web Server Page Load
  • Interface > Performance Web Browser Web Server Page Load Post Back
  • Interface > Performance Web Browser Web Server Page Load
  • Interface > Performance Web Browser Web Server Page Load Data Script Services Data
  • Interface > Performance
  • Interface > Performance
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Infrastructure > Proven
  • Infrastructure > Proven The biggest hurdle for building trust in your application is time
  • Infrastructure > Proven Once that trust is lost, it’s very difficult to recover
  • Infrastructure > Proven Installation Karma http://simonguest.com/blogs/sm guest/archive/2006/11/21/Ten- Ways-for-Good-Installation- Karma.aspx
  • Infrastructure > Proven Installation Karma Handling Exceptions
  • Infrastructure > Proven Installation Karma Handling Exceptions Enable Undo’s
  • Infrastructure > Proven Typical User Testing Willing users Test Test Test Test Feedback Modify [1]
  • Infrastructure > Proven
  • 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]
  • 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
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Infrastructure > People
  • Infrastructure > People It’s all about the SDLC…
  • 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
  • Infrastructure > People I know what we’ll do…
  • 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
  • Infrastructure > People A more successful methodology for promoting UX
  • 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
  • Infrastructure > People Are all designers the same?
  • 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
  • Infrastructure > People Interaction Designer Graphic Designer Interaction Designer
  • Infrastructure > People
  • 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
  • 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
  • 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?
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • Infrastructure > Proactive Hey team, v2.0 was a hit! 7 7 98 8
  • Infrastructure > Proactive …it’s been out for a month and we haven’t heard a thing back from our users! ? ? ?? ?
  • Infrastructure > Proactive Reactive feedback is all too common 1 3 11 2
  • Infrastructure > Proactive
  • Infrastructure > Proactive Rating scale in the application
  • Infrastructure > Proactive Rating scale in the application Remote troubleshooting
  • Infrastructure > Proactive Rating scale in the application Remote troubleshooting Effective status updates
  • 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
  • Implicit Personas Purpose Prototype Interface Platform Productivity Performanc e Infrastructure Proven People Proactive
  • 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
  • “Architecture is the balance between art and engineering”
  • But does this apply to Software Architecture?
  • SOA ESB Web Services Transactions ORM Replication etc. Engineering Concerns
  • Personas Platform Prototype Purpose Proven Productivity Performance Putting the User (Art) back into Architecture
  • 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