A good UI design has the user front and center from the earliest concept stages all the way through to maintenance. Note that the initial concept and prototype have been separated intentionally by most of the component providers interviewed as they involve different levels of information.
- Try to understand the problem you are trying to solve from the users’ perspective. It is better to start with a hypothesis that is based on facts rather than personal assumptions. Who is the target user or user groups? What type of application is it (e.g., an e-mail client, a trading system, etc.)? Will the users stand or sit when they use the application? What is the average period of time the application will be used? What is currently used to accomplish the same task? What is/are the target device(s)? If you’re building a business application, understand the business process and how the application fits into it.“From a developer’s perspective, it starts with being application users ourselves,” said Rich Dudley, technical evangelist at ComponentOne. “You really wouldn’t want someone building an e-commerce website without ever having made an online purchase firsthand. You really have to put yourself in the end users’ shoes, which can be difficult.”
- Start with a sketch, storyboard, wireframe or pictures. It is better not to be too literal when presenting initial concepts, so stakeholders can remain focused on the concept rather than the nuances of specific functionality. “If you use Visual Studio at this stage, people will ask you why stuff doesn’t work and why they have to wait 12 weeks for a product,” said Julian Bucknall, CTO of Developer Express. “You’re better with a hand-drawn sketch that gets the point across.”
- Get feedback from stakeholders. Listen closely to what stakeholders like and don’t like about the concept. How does it differ from what they use now? How does it differ from their expectations? “The more a developer or designer listens to feedback, the better we become at anticipating how design should look in future projects,” said Dudley.
- Build a prototype. Make sure it includes the workflow or process. Which functions or steps are used most often? Which can be consolidated or eliminated? Would it improve user experience to assume defaults or ask relevant questions?
- User-test it. Where are users attempting to find information? Does that differ from how the information is presented? How easy is it for users to complete tasks and interact with information? What is their reaction to the aesthetic look and feel? What are they saying? What are they not saying but what does their body language say?
- Iterate until you achieve a “final” implementation. “If you want to build a great UI, you have to do it in an iterative way,” said Todd Anglin, chief evangelist at Telerik. “If you’re building line-of-business applications, you need to be consistent with what users expect. And if you’re developing consumer applications, you want to entertain them and get an emotional response.”
- Test it. This includes UI testing, usability testing and stress testing. Stress testing is important because some applications may work well in a lab environment under “normal” circumstances, but may falter if there is network latency or data access or connectivity issues.
by Lisa Morgan, SD Times, June 2011, Issue #: 266