[U]sability exists in the experience of the person. If the person experiences a system as usable, it is. A commitment to designing for people means that, at base, we must accept their judgement as the final criterion for usability […] The starting point for usability engineering must be the uncovering of user experience.
- Whiteside and Nixon, 1987
UI (User-Interface) design and UX (User Experience) in the software world is a hot market today, as gradually many organizations have started “experiencing” the need for it.
A few years back, when I was tasked to find and evaluate the best recruitment software by my team, it opened my eyes to this most amazing thing about ‘User Experience’. At the end of my task, the only software application I could recommend was with the ‘best’ user-experience. We had a constraint on how much we wanted to spend, but at the same time, we also wanted to save time of a team member – which became even more important. When we evaluated the value from a software with the best user experience, we were astounded by the outcomes. The savings on our precious team-members time for recruitment activity was huge!! This was apart from the frustrating experience they may have had to go through managing a large amount of candidate’s data.
Initially, I used to wonder… What’s the big deal with designing a software User-Interface? But now, after going in-depth in understanding this field, the implications to develop an application are exceptionally high!
So, what I am driving at… over here? The conclusion is very simple…
‘User Experience’ as a result of ‘UI and Workflow design’ is a game changer to make a product successful in this highly competitive market.
Let’s start with understanding… What is “User Experience (UX)”?
A very succinct definition of UX is given by the author of this blog – UX Definition as –
User experience refers to the singular and accumulated experiences that occur for users because of them interacting with an object in a given context.
From the software development perspective; from my experience, the below
pointers would help you to understand, how BIG UX impacts application
development. For a user, a good experience with an application means…
- Great UI Design: The pages designed are objective oriented, de-cluttered, have simple workflows, right colors (based on target audience type) and content is placed correctly at the right places.
- Integrated Field Behavior: The fields on a page should be weaved along with each other using business rules. It should be easy to manage data across multiple features.
- Modularity for Developers and Users: Page design should use widgets or modular features (plug and play), that allows for ease of application maintenance. This in-turn leads to less stress for the application users.
- Less is More (Simplicity): Well-designed pages should have limited fields with powerful features / functions.
- Content Type: Better UI designs have special content at the right places, which enables more usability of the application.
- Unique Insights: Well-designed pages also offer important & correctly phrased information that their target audience loves.
A lot of my own insights have come from my experience managing application development and my reference to this amazing site - https://goodui.org/. I highly recommend all the software developers to go through all the points here, given by its authors.
Why is UX so important?
UX has a far-reaching impact, as building an application user interface is a result of the user’s behavioral patterns. The below points would surmise this.- Pleasant User Experience: One of the important quality objectives for application development is “customer delight”. The most important of all to get to this is by giving a pleasant user experience, when using an application UI. This also ensures, that the user can stay or keep using the application for a longer period without getting stressed / frustrated.
- Positive Impact on Memory: Users remember well-designed sites very well and for a long time in future. A unique design, that blends well with a pleasant experience can ensure this very well.
- Less Stress for Mundane Work: A good UI design ensures less stress for users to perform mundane daily jobs, such as typing-in data, mouse-clicks, page-scrolling etc… A lot of research has already gone into reducing extra physical work for such jobs.
- High Application Integrity: An important, but most often ignored aspect when building an application is to ensure, that the functions of a feature doesn’t break another feature due to non-existing constraints on data. A well-designed application UI always takes care of this aspect. Even bigger impact is on the user-experience, if user data is smartly auto-updated based on certain rules. For example, the sex of employee can be auto-defaulted to a female, if the first name entered by the user matches any existing female’s name in the database.
How can software engineers build better applications with a better UX?
The most important aspect of building an “amazing” software application
is understand the “Core Need” of users. The best way to understand this is – to
think of the below “user perspectives” first.
- Time Spent using the Application: Is the user going to do his / her primary job “using” the application or his / her core work-area is something else?
- License Fees for the Application: Is the user “interested” to pay a hefty amount to acquire the application? Many target audiences of an app are rich to ‘afford’ the application, but they would still never put the money, since the “value” they expected is not there. Understanding the value first and then pricing it right is very important here.
- Efforts for Data Entry Jobs: Is the user ok for “spending time” doing data-entry in order to use the application. If yes, then having long forms is okay, but even after this, an analysis of the most basic required fields is of the utmost importance.
- Online / Offline Use: Is the user required to work offline sometimes or most of the times? Even in today’s world, this aspect remains relevant and is extremely important.
- Learn simple UI design tricks (for example, de-cluttering a page by smart grouping of fields etc…)
- Strictly ‘Plan and Design a Prototype’ before jumping into module designs and core development.
- Segregate the ‘basic’ UI features as modular components, which are always required for any application. For example – Login pages, User management, validations etc… Make these into best practices for your organization by including requirements management, design, development and testing for such components as a separate activity.
- Incorporate User Experience practices as part of software process engineering. This allows for re-use, optimization and enhancing knowledge of many more teams across the organization and benefits galore!
Comments
Post a Comment