Bringing UX to Developers – .NET Users Group Presentation

I had the opportunity to present at the Metro Toronto .NET User Group last Wednesday. Even it was the first snow of the winter in GTA, but there were still more than 40 people showed up to listen to my talk on "Building for People: 5 Practical Tips for Creating Great User Experience." I was very excited about the presentation because it was my first time to conduct a pure UX talk to a developer audience. I've been presenting about Microsoft UX platform, stories, and tools to designer audience in the past year, so it was an exciting challenge for me to see how I can talk about UX design to developers that resonates to them.

Thanks for everyone's positive encouragement and feedback! I learnt using practical and interactive approach to present UX topics to developers worked. I'll continue improve the presentation and bringing UX to more developers. Below are my presentation slides and a summary of the talk.

Presentation Summary:

  • What is UX? "User Experience Design is all aspects of the user’s interaction with the product: how it is perceived, learned, and used." - wikipedia It's more than skin deep, so UX doesn't equal to User Interface. UX matters to many aspects of the product that software developers and architects care such as performance, security, reliability, and much more. The key UX elements are: Usability, Usefulness, Efficiency, Adaptability, and Desirability.
  • Why Bother? It’s hard enough to just get the things done and functional, much less make it have good UX. Because
    • Experience Defines the Product not functionality. The ROI of UX design is great.
    • A focus on UX will help you better address functional requirements: build the right thing, prioritize functions, improve users’ efficiency and accuracy when using your software
    • The final user experience is determined by:
      • What the developers can build in the time available
      • What the developers can be bothered building
      • How well User-Centred Design practice is integrated in the development cycle
      • What the developers understands of the User Interface specification
  • How? So how do I, as a developer/architect, create good experiences for my users?
    • Understand and embrace user-centred design process. Integrate the process into your existing software development cycle.
    • You don't need a degree in HCI (Human-Computer Interaction), but there are lightweight UX practice you can do now such as
      • keep an eye on popular applications and websites to see what makes them popular
      • Research and study couple of fundamental books in UX
      • Use UX principles and patterns
      • Remember the following 5 tips
        • Know your users. You are not the user, and most of the times your clients are not the users either. Your users are the people who will ultimately use the software your are building. Spend time to find out what they know and need. Don't let your ego get in the way.
        • Reduce concepts to increase confidence. Minimize the number of choices presented at any given time.
        • Communicate effectively through a visual language. Think about whether if a concept communicate better visually than text. Use as few different typefaces and sizes as possible. Follow simple visual design principles: Contrast, Alignment, Repetition, and Proximity.
        • Increase efficiency when possible. Reduce the number of steps to accomplish a task.
        • Be Consistent. Conventions are good, use consistent language, follow the users expectation, and let users existing skills transfer. Remember innovate only when you know you really have a better idea, but take advantages of conventions when you don’t.
  • Resources
Skip to main content