We, as software developers, often downplay some seemingly less important, yet very vital aspects of our software development lifecycles (and I’m talking here as the chief culprit). We often are over burdened with ensuring our software is developed to the highest standard, yet we leave out such fundamental segments.

But one may ask, what is this User Experience (UX)/Interaction (UI) at all? My gorgeous module leader, Astrid describes it as “the process of gaining an understanding of the target users, their capabilities and limitations, and their routine tasks to which this system is intended to make more efficient”

In an environment where there is a seeming phobia for technology, where literacy levels are relatively low, and where technological penetration is still growing, UX/UI is extremely vital to ensure maximum local relevance of such apps.

Question(s): How many times don’t we develop software that looks so simple to use from our perspective, and assume everybody would be able to make use of it without much hustle? How many times haven’t we developed software applications that the intended users find difficult using, as compared to a manual system? The obvious is that we are forced to create updates and upgrades and beta versions just to salvage the app we have developed (A self confession).

It is imperative to note that it does not cost much to undertake UX/UI in our software development lifecycle. The ultimate goal, after all, for developing applications is to enhance and at times automate typical (manual) user activities.

Regular Software Usability goals seek to create applications that are effective to use, efficient to use, and safe to use, while the goal of UX include providing satisfaction, enjoyment, support for creativity, motivation and finally to reduce frustrations to the users.

The goals of UX, can also be summarised in Norman’s Principles, which state that the application should ensure visibility, feedback, constraints, affordance and mapping to the intended users. You wouldn’t want to use a control panel of a lift that does not have any labelling? You also wouldn’t want to use a windows application that the keyboard combination of ‘CTRL+O’ (common shortcut for Open) is rather used for saving new files?

Focus group discussion

If you answered no to any of the questions, and you are an app developer, whether mobile of regular, then this is for you. You need to learn how to do more focused group discussions, interviews and observation. We need to understand our users!

One fundamental thing I studied under User Research, is the user perception (Mental Models). Let’s face it guys, when you talk to a person on phone for the first time, you form a perception of the person, based on the voice and statements the person is making without even seeing who the person is. So it is with our users! Each user forms a perception in their minds about an app, and so they often react when the app doesn’t match their perception, thus they may approach and use it differently. It is important to understand the mental model(s) of a sample space of your target users. This greatly enhances user acceptability.

Folks, in summary, we should endeavour at all times, to:

Develop an appreciable understanding of how our users use technology in their everyday activities and how well technology suits its use;

Develop skills in articulating issues about the design and use of technology from the perspective of its usability and usefulness;

Develop an appreciation of the role that UX and UI play in the software development lifecycle;

Understand that it pays to do more interaction, when it comes to app development;