SlideShare une entreprise Scribd logo
1  sur  156
User Driven Software Architecture Simon Guest Senior Director Platform Architecture Team Microsoft Corporation
“ What is Architecture?”
“ Architecture is the balance between art and engineering”
But does this apply to Software Architecture?
Engineering Concerns SOA ESB Web Services Transactions ORM Replication etc.
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
Well understood environment… … with bright people… … and stable business model
… and we’d never get funding I’m not very good at UI stuff… … our users are smart enough…
“ What did I do wrong?”
New Perspective
New Perspective As architects and developers, we are in a position to affect user experience
 
“ 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”
Personas Purpose Prototype Ideas
Personas Purpose Prototype Ideas “ I use a similar application at home, and that works” “ Should I have read the manual?” “ The performance of this application sucks!”
Personas Performance Productivity Purpose Prototype Platform Interface Ideas
Personas Performance Productivity Purpose Prototype Platform Interface Ideas “ Err..  How long did you guys spend developing this?” “ I don’t think it installed properly…” “ Excuse me! I have a suggestion…”
Personas Performance Productivity Purpose Prototype Proactive Platform Proven People Interface Ideas Internals
 
 
Know Thy User For He Is Not Thee Questions and Quote, Source:  Why Software Sucks [2006], David Platt
Definition of a “user”
“ This would be quicker to develop as a Web Application.  Users  will understand how to use this.”
“ Yeah, most  users  will have access to a printer from their desk…”
“ Of course this button should be red.  Users  will know that this means danger.”
Think instead using Personas
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
“ For  Sally , a Web Interface may make sense.  But  Derek  has a lot of keyboard shortcuts we need to implement.”
“ Jim  will have access to a printer via his admin, but  Sally  works on the road, so may need another option”
“ For  Jim , a red button may mean danger, but we should check for  Derek  in our offshore call center”
Takeaways Source:  Persona Lifecycle [Pruitt, Adlin] Morgan Kaufmann Do you use personas today?  If so, how many? (3 – 7 personas per application is recommended) How do you use the word “user”? (Think about personas to help define who you are writing the application for) Do you know how Microsoft uses personas? (Use “Persona Lifecycle” for VSTS related personas)
 
 
Create new  document Type text Format the text Email to editor
Create new  document Type text Format the text Email to editor Task Task Task Task Goal
 
Create new  document Type text Format the text Email to editor Task Task Task Task Filter
Create new  document Type text Format the text Email to editor Task Task Task Task Guess the Goal
 
Create new  document Type text Format the text Email to editor Task Task Task Task Apply Context Apply Context Apply Context
 
 
 
Source:  www.devcomponents.com
Takeaways In use cases, how do you deal with tasks and goals? (Focus on the difference between the two) How do you use context in your applications? (Use context to help guide the experience) Could the Office UI be suitable for your application? (Refer to the list of ISVs supporting controls)
 
 
You want to build a house… You hire a  building  architect… You discuss requirements…
A  prototype  is created
12 months later…
You want to build a house… You hire a  software  architect… You discuss requirements…
Yeah, sorry, I don’t have much to show you right now…
I can show you some diagrams, but you won’t understand them.
But trust me – it’s going to be great!
12 months later…
In  Software Architecture  we don’t  do enough  prototyping
Static, one-way presentations (shown only to management) Few re-usable design assets Often different to what gets delivered
Great for Management! ,[object Object],[object Object],[object Object],[object Object],[object Object]
Great for Users! ,[object Object],[object Object],[object Object],[object Object],[object Object],Image:  Paper Prototyping / Nielsen Norman Group
The same set of controls Inherit High Fidelity Style Inherit Low Fidelity Style
How about if we could switch styles?
Takeaways Are you able to re-use any assets? (A prototype in XAML allows many design  assets to be reused) What prototyping do you do? (Software Architects don’t do enough) What fidelity do you use? (A mix of high and low fidelity prototypes can  be used for different feedback loops)
 
 
 
Too many choices…
No one wants to choose the wrong thing…
Pick something based on  Competition Pick something based on  Experience Pick something based on  Politics
Technically savvy, but not optimal Trapped in a process It’s just the way that things work here
But there’s plenty of guidance, right?
No!
Microsoft is Guilty!
Study of permutations to deliver a user interface
32 (We actually think it’s nearer to 50, but we ran out of time) Windows Presentation Foundation Client Smart Client with ClickOnce Deployment Windows Presentation Foundation XBAP Microsoft Office SharePoint Web Part Windows Vista Gadget PowerShell CmdLet InfoPath Media Center Add In Windows Live Messenger Add In Command Line Application Microsoft Office Add In Media Player Add in Windows Live Messenger Activity Window ASP.NET Microsoft Office COM Add In XBOX/XNA Application Windows Forms Application ASP.NET Mobile Microsoft Office Business Application Windows  Mobile Pocket Outlook Application Windows Desktop Search Add In ASP.NET AJAX Microsoft Office Smart Docs Ink Enabled Tablet Application Windows Forms via Terminal Services Internet Explorer Add In Microsoft Office VBA Windows Mobile 5.0 Application System Tray Applet Silverlight Microsoft Office VSTO Add In Windows Mobile 5.0 Smartphone Application
What vectors can we use?
Application Connectivity Graphics Look and Feel Interaction Environment Installation Integration Hardware Developer IQ Persona Location Mobility Training Personalization
 
Takeaways What can Microsoft do to help? (We need to create more guidance for helping abstract technology selection decisions) How do you select technology? (Gut feel may result in short term gain, but often long term pain) Would a tool like this be useful? (And if so, do you have any other ideas for visualization?)
 
 
Productivity Time
1.  Discovery 2.  Learning 3.  Mastery Productivity Time
Reduced by Familiarity Productivity Time
 
 
 
Siebel Client Siebel CRM
Web Browser Siebel CRM Web Services ASP.NET
Web Browser Siebel CRM Web Services ASP.NET Outlook
 
Web Browser Siebel CRM Web Services ASP.NET Outlook
Web Browser Siebel CRM Web Services ASP.NET Outlook
 
Productivity Time D L M Persona - Sally
Productivity Time Persona - Derek D L M
Productivity Time Persona - Jim D L M
Productivity Time D L M
Takeaways Is productivity important for different roles in your organization? (Map personas to the productivity curve) How do you measure productivity? (Often the most productive applications are not the best looking) Can existing experiences be extended? (Often extending an experience results in greater productivity)
 
Performance conversations  are often engineering conversations
Performance vs. Expectations
Specific Expectations
Why is this taking so long?!
Few Expectations
I wonder how long this will take?
Asynchronous Javascript And XML
 
Takeaways Have user’s expectations been met? (Sitting with users before a new system is deployed can help set expectations) How do you plan for performance? (Conversations around milliseconds tend to be engineering focused) What technology do you use? (AJAX can help address specific expectations that the user may have)
 
Performance Productivity Purpose Prototype Proactive Platform Proven People Interface Ideas Internals Personas
 
The biggest hurdle for building trust in your application is  time
Once that trust is lost, it’s very difficult to recover
Installation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Source:  http://simonguest.com/blogs/smguest/archive/2006/11/21/Ten-Ways-for-Good-Installation-Karma.aspx
Installation Handling Exceptions
Installation Handling Exceptions Enable Undo’s
Typical User Testing Willing users
 
Etc. RITE  Rapid Iterative Testing and Evaluation Willing user
Source:  http://download.microsoft.com/download/5/c/c/5cc406a0-0f87-4b94-bf80-dbc707db4fe1/mgsut_MWTRF02.doc.doc   RITE  Rapid Iterative Testing and Evaluation
Takeaways How do you deal with installation, exception handling, and undos? (They are all part of the experience) What is your quality bar? (Trust takes time) What is your user testing strategy? (The RITE methodology can help find errors that would go otherwise undiscovered)
 
 
It’s all about the SDLC…
Project Starts! Project Complete Use cases created IT + User / BA Prototyping IT Development of Services IT UI is created IT User Testing User / BA
I know what we’ll do…
Project Starts! Use cases created Prototyping Development of Services UI is created IT + User / BA IT IT IT User Testing Project Complete User / BA
A more successful methodology for promoting UX
Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT User Testing User / BA
Are all designers the same?
Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT UI and Services Integrated User Testing User / BA Development of UX
Graphic Designer Interaction Designer Interaction Designer
 
Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT UI and Services Integrated User Testing User / BA Development of UX
Project Starts! Project Complete Use cases created IT + User / BA Prototyping IT + Designer + User / BA Development of Services IT IT + Designer User Testing User / BA Development of UX Designer + User / BA
What we need to learn: ,[object Object],[object Object],[object Object],XAML Developer Designer
Takeaways What types of designers do you need? (Recognize the different designer roles and  how they can work within the SDLC) Does UX factor in to your SDLC? (Incorporating UX into the SDLC can help create a better output) Do your developers and designers  talk to each other? (We need to support this)
 
 
Hey team, v2.0 was a hit! 8 7 7 9 8
… it’s been out for a month and we haven’t heard a thing back from our users! ? ? ? ? ?
Reactive feedback is all too common 2 1 3 1 1
 
Rating scale in the application
Remote troubleshooting Rating scale in the application
Remote troubleshooting Effective status updates Rating scale in the application
2 1 3 1 1 Takeaways What happens when things go wrong? (How does the architecture of an application handle exceptions?) How do your users provide feedback? (Proactive feedback can be very powerful input for the SDLC) Do you provide status? (Good and bad status reports can help users  better understand failure)
 
Overall Takeaways Define the  Interface  and think about how the platform choice, productivity, and performance will affect you Remember the  Internals  that enable proven, proactive applications designed by a team that understands user experience Realize  Ideas  by defining personas, purpose and prototyping
© 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. [email_address] http://www.simonguest.com

Contenu connexe

Tendances

Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software ArchitectureMarkus Voelter
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Software Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsJose Emilio Labra Gayo
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsJose Emilio Labra Gayo
 
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...CodeOps Technologies LLP
 
A Software Architect's View On Diagramming
A Software Architect's View On DiagrammingA Software Architect's View On Diagramming
A Software Architect's View On Diagrammingmeghantaylor
 
Architecture refactoring - accelerating business success
Architecture refactoring - accelerating business successArchitecture refactoring - accelerating business success
Architecture refactoring - accelerating business successGanesh Samarthyam
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guidemeroooo
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
Learning uml 2_part_1
Learning uml 2_part_1Learning uml 2_part_1
Learning uml 2_part_1Mark Gaad
 
Software Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patternsSoftware Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patternsJose Emilio Labra Gayo
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Agile India
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architectureIvano Malavolta
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive SystemsTom Mueck
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
 
Effective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software ArchitectsEffective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software ArchitectsGanesh Samarthyam
 

Tendances (20)

Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software Architecture
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Software Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & Connectors
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
 
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
 
A Software Architect's View On Diagramming
A Software Architect's View On DiagrammingA Software Architect's View On Diagramming
A Software Architect's View On Diagramming
 
IoC_and_DI
IoC_and_DIIoC_and_DI
IoC_and_DI
 
Architecture refactoring - accelerating business success
Architecture refactoring - accelerating business successArchitecture refactoring - accelerating business success
Architecture refactoring - accelerating business success
 
Web architecture pocket guide
Web architecture pocket guideWeb architecture pocket guide
Web architecture pocket guide
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
User-centred design
User-centred designUser-centred design
User-centred design
 
Learning uml 2_part_1
Learning uml 2_part_1Learning uml 2_part_1
Learning uml 2_part_1
 
Software Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patternsSoftware Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patterns
 
Dev381.Pp
Dev381.PpDev381.Pp
Dev381.Pp
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive Systems
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
Effective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software ArchitectsEffective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software Architects
 

Similaire à User Driven Software Architecture

Rich User Experience Documentation - Update
Rich User Experience Documentation - UpdateRich User Experience Documentation - Update
Rich User Experience Documentation - UpdateJohn Yesko
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDave Malouf
 
Importance of User eXperience
Importance of User eXperienceImportance of User eXperience
Importance of User eXperienceguest1bcbc9
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersSarah Dutkiewicz
 
Web 2.0 for IA's
Web 2.0 for IA'sWeb 2.0 for IA's
Web 2.0 for IA'sDave Malouf
 
Spicing Up Your Vanilla With a Custom Look and Feel
Spicing Up Your Vanilla With a Custom Look and FeelSpicing Up Your Vanilla With a Custom Look and Feel
Spicing Up Your Vanilla With a Custom Look and Feeljpberetz
 
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePointSharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePointMarc D Anderson
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for DevelopersSarah Dutkiewicz
 
UCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designUCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designsdavis6b
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane MorrisShane Morris
 
A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)YangJerng Hwa
 
Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)Markus Breuer
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slidesSameer Al-Sakran
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for DevelopersSarah Dutkiewicz
 
SPC Adriatics 2016 - Creating a Great User Experience in SharePoint
SPC Adriatics 2016 - Creating a Great User Experience in SharePointSPC Adriatics 2016 - Creating a Great User Experience in SharePoint
SPC Adriatics 2016 - Creating a Great User Experience in SharePointMarc D Anderson
 
Creating a Great User Experience in SharePoint
Creating a Great User Experience in SharePointCreating a Great User Experience in SharePoint
Creating a Great User Experience in SharePointSPC Adriatics
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentDavinci software
 
Architecting For Ux
Architecting For UxArchitecting For Ux
Architecting For UxJosh Holmes
 

Similaire à User Driven Software Architecture (20)

Rich User Experience Documentation - Update
Rich User Experience Documentation - UpdateRich User Experience Documentation - Update
Rich User Experience Documentation - Update
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
Importance of User eXperience
Importance of User eXperienceImportance of User eXperience
Importance of User eXperience
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for Developers
 
SLDC Presentation
SLDC PresentationSLDC Presentation
SLDC Presentation
 
Web 2.0 for IA's
Web 2.0 for IA'sWeb 2.0 for IA's
Web 2.0 for IA's
 
Spicing Up Your Vanilla With a Custom Look and Feel
Spicing Up Your Vanilla With a Custom Look and FeelSpicing Up Your Vanilla With a Custom Look and Feel
Spicing Up Your Vanilla With a Custom Look and Feel
 
Hci Overview
Hci OverviewHci Overview
Hci Overview
 
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePointSharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
 
UCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designUCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction design
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane Morris
 
A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)
 
Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
 
SPC Adriatics 2016 - Creating a Great User Experience in SharePoint
SPC Adriatics 2016 - Creating a Great User Experience in SharePointSPC Adriatics 2016 - Creating a Great User Experience in SharePoint
SPC Adriatics 2016 - Creating a Great User Experience in SharePoint
 
Creating a Great User Experience in SharePoint
Creating a Great User Experience in SharePointCreating a Great User Experience in SharePoint
Creating a Great User Experience in SharePoint
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software Development
 
Architecting For Ux
Architecting For UxArchitecting For Ux
Architecting For Ux
 

Plus de Simon Guest

10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better ProductivitySimon Guest
 
Building a Great Engineering Culture
Building a Great Engineering CultureBuilding a Great Engineering Culture
Building a Great Engineering CultureSimon Guest
 
Interviewing Techniques
Interviewing TechniquesInterviewing Techniques
Interviewing TechniquesSimon Guest
 
Presentation Anti-Patterns
Presentation Anti-PatternsPresentation Anti-Patterns
Presentation Anti-PatternsSimon Guest
 
10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better ProductivitySimon Guest
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScriptSimon Guest
 
Advanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSAdvanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSSimon Guest
 
Indoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeaconsIndoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeaconsSimon Guest
 
Creating Context-Aware Applications
Creating Context-Aware ApplicationsCreating Context-Aware Applications
Creating Context-Aware ApplicationsSimon Guest
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScriptSimon Guest
 
Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Simon Guest
 
Objective View of MEAPs
Objective View of MEAPsObjective View of MEAPs
Objective View of MEAPsSimon Guest
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentSimon Guest
 
Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOSSimon Guest
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsSimon Guest
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.Simon Guest
 
Developing iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows AzureDeveloping iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows AzureSimon Guest
 
iPhone and iPad Security
iPhone and iPad SecurityiPhone and iPad Security
iPhone and iPad SecuritySimon Guest
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Simon Guest
 
Future of Mobility
Future of MobilityFuture of Mobility
Future of MobilitySimon Guest
 

Plus de Simon Guest (20)

10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity
 
Building a Great Engineering Culture
Building a Great Engineering CultureBuilding a Great Engineering Culture
Building a Great Engineering Culture
 
Interviewing Techniques
Interviewing TechniquesInterviewing Techniques
Interviewing Techniques
 
Presentation Anti-Patterns
Presentation Anti-PatternsPresentation Anti-Patterns
Presentation Anti-Patterns
 
10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScript
 
Advanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSAdvanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JS
 
Indoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeaconsIndoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeacons
 
Creating Context-Aware Applications
Creating Context-Aware ApplicationsCreating Context-Aware Applications
Creating Context-Aware Applications
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?
 
Objective View of MEAPs
Objective View of MEAPsObjective View of MEAPs
Objective View of MEAPs
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web Development
 
Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOS
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.
 
Developing iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows AzureDeveloping iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows Azure
 
iPhone and iPad Security
iPhone and iPad SecurityiPhone and iPad Security
iPhone and iPad Security
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
 
Future of Mobility
Future of MobilityFuture of Mobility
Future of Mobility
 

Dernier

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Dernier (20)

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

User Driven Software Architecture

  • 1. User Driven Software Architecture Simon Guest Senior Director Platform Architecture Team Microsoft Corporation
  • 2. “ What is Architecture?”
  • 3. “ Architecture is the balance between art and engineering”
  • 4. But does this apply to Software Architecture?
  • 5. Engineering Concerns SOA ESB Web Services Transactions ORM Replication etc.
  • 6. What is the art in Software Architecture?
  • 8. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  • 9. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  • 10. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
  • 11. Well understood environment… … with bright people… … and stable business model
  • 12. … and we’d never get funding I’m not very good at UI stuff… … our users are smart enough…
  • 13. “ What did I do wrong?”
  • 15. New Perspective As architects and developers, we are in a position to affect user experience
  • 16.  
  • 17. “ 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”
  • 19. Personas Purpose Prototype Ideas “ I use a similar application at home, and that works” “ Should I have read the manual?” “ The performance of this application sucks!”
  • 20. Personas Performance Productivity Purpose Prototype Platform Interface Ideas
  • 21. Personas Performance Productivity Purpose Prototype Platform Interface Ideas “ Err.. How long did you guys spend developing this?” “ I don’t think it installed properly…” “ Excuse me! I have a suggestion…”
  • 22. Personas Performance Productivity Purpose Prototype Proactive Platform Proven People Interface Ideas Internals
  • 23.  
  • 24.  
  • 25. Know Thy User For He Is Not Thee Questions and Quote, Source: Why Software Sucks [2006], David Platt
  • 26. Definition of a “user”
  • 27. “ This would be quicker to develop as a Web Application. Users will understand how to use this.”
  • 28. “ Yeah, most users will have access to a printer from their desk…”
  • 29. “ Of course this button should be red. Users will know that this means danger.”
  • 31.
  • 32.
  • 33.
  • 34. “ For Sally , a Web Interface may make sense. But Derek has a lot of keyboard shortcuts we need to implement.”
  • 35. “ Jim will have access to a printer via his admin, but Sally works on the road, so may need another option”
  • 36. “ For Jim , a red button may mean danger, but we should check for Derek in our offshore call center”
  • 37. Takeaways Source: Persona Lifecycle [Pruitt, Adlin] Morgan Kaufmann Do you use personas today? If so, how many? (3 – 7 personas per application is recommended) How do you use the word “user”? (Think about personas to help define who you are writing the application for) Do you know how Microsoft uses personas? (Use “Persona Lifecycle” for VSTS related personas)
  • 38.  
  • 39.  
  • 40. Create new document Type text Format the text Email to editor
  • 41. Create new document Type text Format the text Email to editor Task Task Task Task Goal
  • 42.  
  • 43. Create new document Type text Format the text Email to editor Task Task Task Task Filter
  • 44. Create new document Type text Format the text Email to editor Task Task Task Task Guess the Goal
  • 45.  
  • 46. Create new document Type text Format the text Email to editor Task Task Task Task Apply Context Apply Context Apply Context
  • 47.  
  • 48.  
  • 49.  
  • 51. Takeaways In use cases, how do you deal with tasks and goals? (Focus on the difference between the two) How do you use context in your applications? (Use context to help guide the experience) Could the Office UI be suitable for your application? (Refer to the list of ISVs supporting controls)
  • 52.  
  • 53.  
  • 54. You want to build a house… You hire a building architect… You discuss requirements…
  • 55. A prototype is created
  • 57. You want to build a house… You hire a software architect… You discuss requirements…
  • 58. Yeah, sorry, I don’t have much to show you right now…
  • 59. I can show you some diagrams, but you won’t understand them.
  • 60. But trust me – it’s going to be great!
  • 62. In Software Architecture we don’t do enough prototyping
  • 63. Static, one-way presentations (shown only to management) Few re-usable design assets Often different to what gets delivered
  • 64.
  • 65.
  • 66. The same set of controls Inherit High Fidelity Style Inherit Low Fidelity Style
  • 67. How about if we could switch styles?
  • 68. Takeaways Are you able to re-use any assets? (A prototype in XAML allows many design assets to be reused) What prototyping do you do? (Software Architects don’t do enough) What fidelity do you use? (A mix of high and low fidelity prototypes can be used for different feedback loops)
  • 69.  
  • 70.  
  • 71.  
  • 73. No one wants to choose the wrong thing…
  • 74. Pick something based on Competition Pick something based on Experience Pick something based on Politics
  • 75. Technically savvy, but not optimal Trapped in a process It’s just the way that things work here
  • 76. But there’s plenty of guidance, right?
  • 77. No!
  • 79. Study of permutations to deliver a user interface
  • 80. 32 (We actually think it’s nearer to 50, but we ran out of time) Windows Presentation Foundation Client Smart Client with ClickOnce Deployment Windows Presentation Foundation XBAP Microsoft Office SharePoint Web Part Windows Vista Gadget PowerShell CmdLet InfoPath Media Center Add In Windows Live Messenger Add In Command Line Application Microsoft Office Add In Media Player Add in Windows Live Messenger Activity Window ASP.NET Microsoft Office COM Add In XBOX/XNA Application Windows Forms Application ASP.NET Mobile Microsoft Office Business Application Windows Mobile Pocket Outlook Application Windows Desktop Search Add In ASP.NET AJAX Microsoft Office Smart Docs Ink Enabled Tablet Application Windows Forms via Terminal Services Internet Explorer Add In Microsoft Office VBA Windows Mobile 5.0 Application System Tray Applet Silverlight Microsoft Office VSTO Add In Windows Mobile 5.0 Smartphone Application
  • 81. What vectors can we use?
  • 82. Application Connectivity Graphics Look and Feel Interaction Environment Installation Integration Hardware Developer IQ Persona Location Mobility Training Personalization
  • 83.  
  • 84. Takeaways What can Microsoft do to help? (We need to create more guidance for helping abstract technology selection decisions) How do you select technology? (Gut feel may result in short term gain, but often long term pain) Would a tool like this be useful? (And if so, do you have any other ideas for visualization?)
  • 85.  
  • 86.  
  • 88. 1. Discovery 2. Learning 3. Mastery Productivity Time
  • 89. Reduced by Familiarity Productivity Time
  • 90.  
  • 91.  
  • 92.  
  • 94. Web Browser Siebel CRM Web Services ASP.NET
  • 95. Web Browser Siebel CRM Web Services ASP.NET Outlook
  • 96.  
  • 97. Web Browser Siebel CRM Web Services ASP.NET Outlook
  • 98. Web Browser Siebel CRM Web Services ASP.NET Outlook
  • 99.  
  • 100. Productivity Time D L M Persona - Sally
  • 101. Productivity Time Persona - Derek D L M
  • 104. Takeaways Is productivity important for different roles in your organization? (Map personas to the productivity curve) How do you measure productivity? (Often the most productive applications are not the best looking) Can existing experiences be extended? (Often extending an experience results in greater productivity)
  • 105.  
  • 106. Performance conversations are often engineering conversations
  • 109. Why is this taking so long?!
  • 111. I wonder how long this will take?
  • 113.  
  • 114. Takeaways Have user’s expectations been met? (Sitting with users before a new system is deployed can help set expectations) How do you plan for performance? (Conversations around milliseconds tend to be engineering focused) What technology do you use? (AJAX can help address specific expectations that the user may have)
  • 115.  
  • 116. Performance Productivity Purpose Prototype Proactive Platform Proven People Interface Ideas Internals Personas
  • 117.  
  • 118. The biggest hurdle for building trust in your application is time
  • 119. Once that trust is lost, it’s very difficult to recover
  • 120.
  • 123. Typical User Testing Willing users
  • 124.  
  • 125. Etc. RITE Rapid Iterative Testing and Evaluation Willing user
  • 127. Takeaways How do you deal with installation, exception handling, and undos? (They are all part of the experience) What is your quality bar? (Trust takes time) What is your user testing strategy? (The RITE methodology can help find errors that would go otherwise undiscovered)
  • 128.  
  • 129.  
  • 130. It’s all about the SDLC…
  • 131. Project Starts! Project Complete Use cases created IT + User / BA Prototyping IT Development of Services IT UI is created IT User Testing User / BA
  • 132. I know what we’ll do…
  • 133. Project Starts! Use cases created Prototyping Development of Services UI is created IT + User / BA IT IT IT User Testing Project Complete User / BA
  • 134. A more successful methodology for promoting UX
  • 135. Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT User Testing User / BA
  • 136. Are all designers the same?
  • 137. Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT UI and Services Integrated User Testing User / BA Development of UX
  • 138. Graphic Designer Interaction Designer Interaction Designer
  • 139.  
  • 140. Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT UI and Services Integrated User Testing User / BA Development of UX
  • 141. Project Starts! Project Complete Use cases created IT + User / BA Prototyping IT + Designer + User / BA Development of Services IT IT + Designer User Testing User / BA Development of UX Designer + User / BA
  • 142.
  • 143. Takeaways What types of designers do you need? (Recognize the different designer roles and how they can work within the SDLC) Does UX factor in to your SDLC? (Incorporating UX into the SDLC can help create a better output) Do your developers and designers talk to each other? (We need to support this)
  • 144.  
  • 145.  
  • 146. Hey team, v2.0 was a hit! 8 7 7 9 8
  • 147. … it’s been out for a month and we haven’t heard a thing back from our users! ? ? ? ? ?
  • 148. Reactive feedback is all too common 2 1 3 1 1
  • 149.  
  • 150. Rating scale in the application
  • 151. Remote troubleshooting Rating scale in the application
  • 152. Remote troubleshooting Effective status updates Rating scale in the application
  • 153. 2 1 3 1 1 Takeaways What happens when things go wrong? (How does the architecture of an application handle exceptions?) How do your users provide feedback? (Proactive feedback can be very powerful input for the SDLC) Do you provide status? (Good and bad status reports can help users better understand failure)
  • 154.  
  • 155. Overall Takeaways Define the Interface and think about how the platform choice, productivity, and performance will affect you Remember the Internals that enable proven, proactive applications designed by a team that understands user experience Realize Ideas by defining personas, purpose and prototyping
  • 156. © 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. [email_address] http://www.simonguest.com