About Design

We live surrounded by tons of products that are no longer ordinary or inactives. Most of them are interactive and because we are so used to them, we are not conscious in what manner they contribute to our daily live. Those devices I'm talking about are mobile phones, personal computers, coffee machines, printers, videogames, just to list a few of them.
The important question here is: How many are easy to use and enjoyable without making a huge effort?
Of course, this is pretty easy to answer and the list will be quite small!
Sometimes we end up hammering our heads against the wall because we are not able to complete the desired task with this product.
Why this happens?
The answer is because some products were not designed with the user in mind.
The aim of interaction design is to solve these kind of issues bringing usability to the design process. That is, developing products that are easy, effective, and enjoyable to use from the user perspective.

Good Design vs Poor Design 

A good way to start thinking when a product has a good or bad interactive design is explore some examples that reflect the concept we are looking for.
Hitting the radio
Why I cannot use the radio while carrying my beverages?

Coffee Machine
In this coffee machine after inserting the coins in the slot you have to select your coffee bean. So, you press the rectangular labels to select your coffee but...they are not buttons! Probably you might think this because of Coke Can Machines work that way but...these ones not. Mmm...this is really working? Lets press the + or - sign that supposedly controls the amount of sugar...Wait WHAT? they are not buttons! After 10 minutes standing at the machine you can distinguish BLACK rounded buttons with BLACK background. Clearly a bad design!

Keyboard Layout
The guy who came up with this amazing design should be in prison right now. In fact, a friend used to have this keyboard. I never was able to use it. Every time I wrote something, suddenly the computer shut down unexpectedly...My friend always said to me "you probably has pressed the shut down key".  Nice...thanks for the two hours I have sent to the trash. Terrible design!

Thinking in What, Why and How

Suppose you have to design a new software product what would you do?
Start coding in a frenzy way until you are done with? Studying the characteristics of a well known similar software? Asking your end users about their experience, their problems, studying their tools and based on this start thinking about the what, why and how to design it? Probably the best approach would be the latter one. One of the main advantages is that you will definitely save money, time and effort.   

Conceptual Models

A good way to better understanding the problem domain is to develop conceptual models. By conceptual models we mean a description of the proposed system in terms of ideas and concepts about what it should do and look like also being understandable by the users. 
Developing conceptual models helps to envision the future product based on the user's needs and other requirements identified. As the product is being developed it is highly advisable to do iterative testing to ensure that it is designed to be understandable in the way that was planned. A key aspect in the design process is to identify what tasks the user will be doing when using the product. As with any aspect of interaction design, the process of filtering or cleaning the conceptual models should be done iteratively, using different methods such as sketching ideas, storyboards, brainstorming sessions (or visual brainstorming), describing scenarios (like "stories")  and prototyping aspects of how the system works.

Norman's Framework (1988)

One of the most important activities while developing a conceptual model is to determine if the users will understand the system in the manner intended. Norman presented a framework to make the relationship between the design of a conceptual model and the user's understanding be clearer.
Norman Framework
In this framework we can distinguish three different components:
  • the Design Model represents how the system should work, 
  • the System Image represents how the system actually works
  • the User's Model represents how he thinks the system works.
The point is that even though everybody should have the same idea or (metal model) of the system, real world doesn't work that way. Users, in most of the cases, are not able to complete their tasks effectively and error-free because their mental model is quite different from the Design Model and the System Image.
Jacob Nielsen wrote a blogpost explains a little bit what Mental Models are. In it, he says that mental models are "based on belief, not facts: that is, it's a model of what users know (or think they know) about a system such as your website". This definition brings to the light the discrepancies that Norman's Framework want to iron out. Also, "Metal Models" by Indi Young states that "metal models give you a deep understanding of people’s motivations and thought-processes, along with the emotional and philosophical landscape in which they are operating". Moreover, the author highlight the importance that these kind of models have. She summary this idea in the "three C's":


  • Confidence - guide the decision of the solution, 
  • Clarity - make good user and business decisions,
  • Continuity - ensure longevity of vision and opportunity.
Furthermore, Don Norman affirmed previously the idea that "the designer has an obligation to provide an appropriate conceptual model for the way that the device works. It doesn't have to be completely accurate, but it has to be sufficiently accurate that it will help in both the learning of the operation and also dealing with novel situations".


The Process of Design


Pabini Gabriel-Petit, a professional with more than 20 years of experience in User Experience and Design, in an article at uxmatter.com wrote that in the goal for achieving optimal design solutions, designers need an effective process that provides a framework to work with to deliver high quality work.
This should be a user-centered design (UCD) process, but also being a flexible process.  She came up with UC3D Lifecycle that comprises three phases: Discovery, Design, and Development Support.
UC3D Lifecycle - from uxmatters.com
The UC3D can be summarised in the following steps:
Discovery Phase:
  • Learning about your users 
Try to gain all the understanding possible of your users. Use your intuition to put yourself in your user's place. Once you truly understand your users, this understanding provides a basis for modelling your users. 
  • Modelling your users (like using model personas)
Once you are armed with all the information your group can develop profiles (or "personas" which are fictional user archetypes that are representative of your end users). Based on your information, you can develop a set of clearly differentiated user profiles whose goals and needs you intend your product to serve.
  • Analysing your user's tasks
This step comprise the identification of the tasks (task domain) that the user follow while using the future system and will be the basis for designing its workflows. Task analysis is an activity that can help you to understand much in depth the tasks.
  • Eliciting and Defining Clear Product Requirements
During this step requirements are clearly identified and prioritised. The working team will design and define what capabilities, features, and qualities your product must have. 

Design Phase:
  • Developing Conceptual Models
Conceptual modelling is an activity that helps your working group see your product's concepts, workflows, features, and language from your users's viewpoint and envision, define, and design products that are simpler, more consistent, and easier for users to understand.
  • Solving Key Design Problems Through Ideation
During ideation everyone on your working group has an opportunity to communicate requirements and constraints and contribute design ideas. Ideation involves rapidly generating many different possible workflows and user interface design solutions and capturing them by sketching designs on easel pads or whiteboards or in notebooks. As an example this can be seen in the video How Google fixed its design process and started making beautiful apps and also being part of the next step.
  • Doing Detailed Design
Once your working group has agreed on some basic design approaches during previous step, you will continue working on them during this step, continually refining your interaction design solutions by optimising workflows and interaction models, and creating design artifacts that communicate them effectively (like flowcharts and wireframes). All the feedback from the working group is taking into account to make more refinements on the design solutions. After all team is satisfied all stakeholders will approve design artifacts for implementation.

Development Support:
  • Providing Development Support
Your iterative process of design refinement should continue throughout product development as developers discover they need additional design details. All doubts that may arise should be answered by the working team to the people in charge of the development, and clarify design artifacts as necessary.
Also at this stage, if the testing reveals usability problems or usability issues you will need to do recheck your design solutions and artifacts. However, most of the usability issues you discover at this step are not addressed until the next product release. The Development Support Phase ends with the delivery of the (supposedly) high quality product that meets user's needs and is easy to learn and use.


Conclusion

Finally, if we can separate the less possible the Design Model and the User's Model making good conceptual models we will come up with understandable, enjoyable and easy to use products. In addition to have good conceptual models, expertise in the domain can help substantially. But, the implementation of an efficient design process such as UC3D will play a central role in the deliver of a high quality product.

Comments

Popular posts from this blog

Como configurar el control de directv para que funcione con el Tv

Las Tutucas y todo lo demás

Python Ipdb Cheatsheet