David left an interesting comment a couple of days ago, asking for some clarification on concepts or methodologies I referred to in previous posts, concluding his comment by a challenging “what is this all about, and why should I care?”.
Basically, this blog is about Rich Internet Applications at large with a core focus on the visible part of it, or as Steven would put it, on the front of the glass.
Rich Internet Applications are, by definition, all about users and enhancing the experience these users go through while interacting with or within a software ecosystem. “User Experience Design” is about defining that experience, and believe me, there’s a lot to it! It’s not only about producing beautiful visual assets, nor making things function well, it’s a complex alchemy of many elements, such as:
- Properly understanding the user needs and expectations. Your app could very well be visually stunning and super easy to use, if it doesn’t do what the user needs it to do, it will lead to frustration and thus, a poor user experience.
- Presenting the right information in the right place, in the right format, at the right moment.
- Providing appropriate interaction mechanisms so that the targetted user can best execute the tasks he needs to perform.
- Understanding and leveraging the medium’s strengths and limitations.
- Properly communicating the messages we want/need to get to the users: reinforce a brand image, making our product more desirable or memorable than the competition, etc…
This is just a short, non-exhaustive summary, of some of the things that will participate to the quality of the User Experience. But the real alchemy, that will ultimately make a user experience successful or not, will derive from the necessary complementarity of each and every of these elements. That’s where the real challenge lies, and that’s precisely what I love about it.
It’s a complex craft, but it’s fascinating. And as always with complex human activities, people have tried to reduce complexity and optimize actions by developing and defining techniques, methodologies, and best practices to assist them in that architecture process.
So you have User-Centered Design, which is more of a philosophy than a technique on its own, where, as the name implies, we place the user at the center of the design process, at each and every step of it. It may sound very obvious said like that, but you would be surprised at how many applications have and are still being designed by comittees of stakeholders and business analysts that never cared to ask final users what they really wanted. UCD, as a philosophy, is sometimes imho over-sacralized, but it nevertheless comes with some great principles and techniques (personas, stories, testing…), that when used adequately, can reveal to be very useful and powerful design aids.
You have Design Patterns, which pretty much fullfill the same role they do in a programming context. I definitely intend to write a longer article on this very subject and the way I, as as an architect, perceive and use interaction design patterns, so I’ll keep it short for now, but feel free to ask/comment if you want to :).
And then you have tons of other techniques, concepts and methodologies practitioners refer to. I will try to make my use of the terminology as clear and explicit as possible by trying to explain terms as we encounter them. Meanwhile, if you are interseted by this fascinating subject and want to learn a bit more about it I can only but strongly recommend reference websites such as IxDA, UXMatters or Boxes & Arrows, and of course, if you have any specific questions or comment you want to make, please leave a message !^^