What Makes Good UX? User Experience Honeycomb Courtesy of Peter Morville
Design from the Outside In
Don’t Think About What You/the App Need; Think About What the User Knows and What the User Needs
Don’t Assume: Preempt Questions/Avoid Confusion by Guiding Users
Make Software Smarter, More Context Aware
Consistency. Consistency. Consistency.
Information Architect (findable, usable)
Chiefly concerned with organization of information, focusing on navigation, search, page layout, & app structure.
Interaction Designer (usable, desirable)
Focuses on granular interactions, usually at the view level but also higher level such as how navigation works and transitions between focus/tasks.
Usability Engineer/Tester (usable, accessible)
Focuses on ensuring (testing) ease of use and user performance—users can achieve what they need with minimal effort and maximum efficiency.
HCI, CHI (usable, accessible)
Human-computer or computer-human interaction specialists are typically more research-oriented and experimental than usability engineers but share similar goals of making computers more usable and intuitive to users.
Visual Designer (desirable, credible)
Focuses on look and feel to establish good will and perception, enhances positive associations between app and user, helps communicate information effectively, creates consistent and distinguishing visual design, and establishes credibility by providing a finished, polished look.
Software Architect (useful, valuable, *)
Chief Experience Officer on projects. Must ensure solutions provide the desired business value, which means overall UX.
Valuable Experience Diagram
Why Should I Care?
“ I only build internal apps. Users don’t have to like them.”
“ I’m too busy; it’s hard enough just getting the functional requirements done.”
“ I have to learn LINQ, SharePoint, Silverlight, Entity Framework, etc. I already have enough to know.”
Find What You Want Know Where You Are
The Reality Humans Can Separate Feelings from Thinking And Act Only on Thinking Humans are Thinky-Feely Creatures – Our Thoughts and Feelings Influence Each Other and Our Actions (Productivity)
How Much Should I Invest in UX? Internal use commercial sale users opt-in compelled use generates revenue reduce costs company portal online tools (google, yahoo) shrink-wrap consumer software (quicken, ms money) ecommerce software (amazon, expedia) enterprise class accounting (sap, oracle) crm applications (salesforce.com, siebel) call center software company time tracking user adoption purpose
User-Centered Design (UCD)
Choosing a UX-Friendly Process
Behavior Driven Development )
UX Design Process
Meet Bob, Ivan, and Alice
“ Hi Bob, Ivan, and Alice!”
Imagination only goes so far…
Lightweight – “How to Test with Folks You Have Lying Around”
Usability by Inspection
Heavyweight – Full Usability Testing
Usability Testing Labs (One-Way Mirrors)
Field Research – Observing Users
Eye Tracking, and More
Building on Patterns Idea of Alexander et al
Building Things That Live or are Livable
Not Algorithms; Not Code; Not Components
Describe (Good) Open-ended Solutions to Problems Encountered in Specific Contexts
Seed the Language
UX Pattern Catalogues: infragistics.com/ux
Parts of a Pattern
Keep the Focus on User’s Experience
Building Great UX with .NET
What does .NET give you?
A Great Development Platform and Runtime(s)
What does .NET NOT give you?
Rapid Dev Tooling
Integrated Unit Testing
Integration with Expression
Future DSLs (DSL Tools)? “D” Language
Minimize/Eliminate Context Switching
Death to full page refreshes!
Enhance Perceived Performance
Modularize page and reduce server load.
Reduce rendering time by only updating relevant areas.
Autocomplete / Suggestions
Modal Popups / Dialogs
Expression Blend & WPF
Better Separation of UI and Code
Share Same Project Files
Simple, Designable Animations
Declarative Bindings & Triggers
Embedded 3D, Video, Audio, & Other UI Goodies
“ Lookless” Controls
Cross-Platform WPF – Bring Goodness of WPF to Web
Enable Richer UI Paradigms for Web Applications
AJAX on (cheap) Steroids
“ Cheap” means lower TCO
More Reliable Framework & Behavior
Built-in Multimedia Support
Multiple Language Support
Dynamic Language Support
What .NET Does NOT Provide
UX Expertise & Design
Great tools help, but ultimately, you have to learn how to use them to build great experiences.
What the heck did we cover? How do I make software for people? Quo Vadis? Why should I care? What can it do for me ? UX = UI Just another buzzword... UX? What is It?
All the tooling in the world will only go so far.
You need to change your approach to developing software: “Design from the outside in!”