Designing User Experiences

Although I can't go into too much depth here about designing user experiences, it's worth touching on the concept anyway, because it's something you will often hear about when XAML-based technologies are being discussed.

Traditionally, developers have an inherent focus on function over form when it comes to designing applications—that is, ensuring that they work as per the specifications rather than focusing on how they look and behave. However, there is a big push nowadays for producing applications that are not only functional but also a pleasure for the user to use—software that works the way that the user works, rather than making the user work the way that it works. From the wish to achieve this outcome, the process of user experience (often referred to as UX) design emerged.

Contrary to popular belief, designing user experiences is not about designing the look of the application (which is the role of a graphic designer) but instead designing the behavior of the application. The outcome of this process should be a user interface that is tailored to the needs of the users and how they interact with the application. Hence, the user experience design process may or may not be the role of graphic designers, depending on their skill set. (User experience design is a whole skill in itself, not necessarily related to the ability to create visually pleasing user interfaces.) Instead, UX design has given rise to the specialized role of the user experience designer, whose responsibility is to design the user interface from a user-centric perspective.

The concept of user experience design is regularly used in conjunction Silverlight and WPF development because these technologies leverage the power of XAML for designing user interfaces. XAML is the key technology that enables the design of unique and customized user experiences in Silverlight. Because of the incredible flexibility provided by XAML to intricately customize the look and behavior of your application, unique user experiences, and unique user interfaces, can emerge.

Because the controls are highly customizable, you are no longer locked into only the functionality and appearance—including the limitations—that a control provides out of the box. Hence, you have a lot of power to bend the user interface to your requirements.

In particular, there is a big debate over the overuse of the DataGrid control in business applications. The DataGrid control is generally used as a quick, easy, all-purpose control; however, this is often at the expense of the user's experience. Every time you use it, you should ask yourself whether you should really be using that control and reinforcing the old paradigm, to the possible detriment of the user, or instead see whether there is a way to achieve a better interaction with the user for that feature.

User experience design should be done before you actually start development on the application, as the outcome of the user experience design will have a big impact on the core design. SketchFlow, a part of Expression Blend, provides a lot of support for the user experience design process and provides a basis from which you can build a fully functional application.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset