Quantcast
Channel: bSix12 - Do what makes you happy! » programming
Viewing all articles
Browse latest Browse all 17

How to Create Attractive, User Friendly Applications?

$
0
0

In this article I like to share my mental model about UI / UX development. It is all about creating attractive, user friendly applications. But in order to do this you need to understand attraction in the first place.

What is Attraction?

What is Attraction?

Studies have shown that almost 50 percent of all women make up their mind within the first 30 seconds of meeting a man about whether he is a potential partner. Men take a little longer. Men take about half an hour on average to make up their mind.

The first impression is influence by your outward appearances like the way you look and dress, your body language and how you communicate inner values like confidence, self esteem and humor.

Although those qualities can be categorized in a kind of “outer game” and “inner game” they are not independent of each other. For example self-confidence will reflect in the way you carry yourself and the tone of your voice.

If you found this paragraph interesting I also recommend watching Andy Budd excellent talk about Seductive Design.

The Outer Game and Inner Game of UI Development

The Four Areas of UI Development

In a similar way as in interpersonal relationships we can identify an “outer game” and “inner game” that make up an attractive, user friendly application:

  • The “outer game” is defined by the whole User Experience of the application. The user experience itself can divided into two main areas namely Usability Engineering and Visual & Interaction Design.
  • The “inner game” is defined by the technology related “inner workings” of the application. This can be further divided into Software Architecture and UI Technology.

Like in interpersonal relationships the “outer game” and “inner game” of UI development are not independent of each other. For example if an application does not work reliable it does not matter how appealing the visual design is.

Usability Engineering

This is where it normally starts after having a broad understanding of the requirements.

According to “usability guru” Jakob Nielsen usability is a quality attribute that assesses how easy user interfaces are to use. The word "usability" also refers to methods for improving ease-of-use during the design process.

However it is often very complex and time consuming to make something simple and easy to use. I love the following quote which summarizes this situation very well:

Simplicity

This means to simplify something you need to put a lot of effort into it:

Innovation

Just throwing the latest & coolest technology at the problem will not necessarily get the job done. Usability engineering is a way to find out how to best support people in getting their job done. This includes activities like:

  • Understanding the user needs and use cases
  • Interviews with potential end users
  • Describing use cases, user roles & tasks
  • Developing a role model
  • Paper prototyping, creating concept screens & mockups
  • Performing usability tests

At this stage it is also a good practice to look at suitable design patterns and to get inspiration on how other’s are solving similar problems. The result is a detailed usability concept of the screen layout, navigation and workflow description for each user role and task.

Software Architecture

Many modern software applications are designed with modularity and extensibility in mind and support their own plug-in system.

Composition

An application is composed of pluggable components called modules or plug-ins. The shell is the actual application that is responsible for loading and initializing base client services, loading and initializing modules, and providing the basic UI of the application. It also provides the overall user interface structure and defines the layout of the main window, navigation controls and workspaces.

Modules or plug-ins are distinct deployment units. Typically they contain functionally discrete pieces, but they integrate with the user interface, communicate with the shell, and communicate with each other. The shell and infrastructure provide access to services required by modules throughout the application. This means that the modules can leverage these capabilities instead of having to implement them themselves. This allows a solution to be developed much more quickly because the infrastructure is already in place – the modules can focus on the business logic and their piece of the overall solution instead of focusing on the basic foundation required to provide the necessary capabilities.

This approach enables the separation of concerns between infrastructure and module development.

UI Technology

Today the possibilities to develop rich user experiences are amazing! However it can be quite a challenge to choose the right technology for the task at hand. There are just so many options out there.

UI Technology

With technologies like HTML 5, Flex, JavaFX, Silverlight and WPF the borders between rich desktop applications and rich Internet applications are blurring more and more. Apple, Adobe, Microsoft, Google and Sun are competing head to head to attract as many developers and users as possible. They all provide their own technologies and runtime environments. To get an overview about the technology offerings of those big players read the following article: UI Platforms: Which One Would You Pick?

Visual & Interaction Design

The importance of design changed over time. Visual design nowadays is a critical success factor. The area of Visual & Interaction Design includes activities like:

  • The creation of Visual Design Prototypes
  • The definition of Design Guidelines
  • Designing the visual appearance of the UI
  • Interaction Design
  • Icon Design
  • Branding Considerations

Because visual design is a central part in the development process it is very important the collaboration between designers and developers is a smooth one.

Designer / Developer Workflow

How to Measure the Attractiveness of Your Application?

AttrakDiff is a survey technique that enables you to measure how the attractiveness of your application is experienced, in terms of usability and appearance and whether optimization is necessary.

The survey consists of numerous word-pairs which simplify the rating procedure. Each word of a pair represents the extreme opposite. There are other possible gradations to choose from between the two extremes.

An example of a word-pair is illustrated here:

This rating means that the product is essentially likable but that there is still room for improvement.

Read more about the AttrakDiff survey technique here.

Tags: , , ,

Related posts

Viewing all articles
Browse latest Browse all 17

Trending Articles