One of the most challenging and deep-influencing tasks in today’s applications is improving user interaction. When we say improve, we mean simplify. A wise man once said: “If you can’t explain a complex concept in a simple way, you don’t understand it well enough.” This is very true for user interfaces as well.
Do One Thing & Do It Well
“Do one thing and do it well” is a known, established mantra in the Linux ecosystem. This quote makes it obvious that creating a specialized application is exponentially more difficult than an enterprise application. This is simply due to the task sets each application requires. As its name suggests, a specialized application is built for a relatively narrow and specific task set.
Regardless of your application type, you want to maintain its simplicity in order to improve the user interface. This means keeping the tool or command simple, and restricting functionality to a small context. For high-quality user interaction, there are three main factors to pay attention to:
- Screen real-estate
- Data visualization
- Commands-to-execution paths
These factors influence, limit and provide context to each other.
Considering Screen Sizes in User Interaction
Various screen sizes and resolutions are something we cannot get away from today. It remains a physical limit we have to design around. But, it also provides us with A LOT of valuable information. Here’s an outline of various contexts screen size provides:
- Visual limit
Screen size will constrain the number of things you can display at one time.
- Control context
For example, touch interfaces behave differently and have specific requirements.
- Time context
Users on mobile devices tend to execute short tasks or those that require immediate action compared to desktop.
- Point-of-contact context
As an example, some use mobile devices for constant monitoring, as a notification endpoint.
- Hardware context
Mobile devices have limited graphical abilities. But, they allow for other environmental inputs (e.g., camera, inertia sensor data, GPS data, etc.).
- Network context
Mobile devices are often in areas with limited coverage and variable data connectivity
As you can see, screen size can influence and help form many of your user interaction design decisions.
Data visualization helps define who your user is, and their behaviors, when analyzing the data. This is how you can take visualizations into account:
- Preference context
Some users are more familiar/comfortable with specific visualization concepts. So, you can optimize/customize (inter)actions based on this preference.
- Action context
Repeated user actions reveal patterns which you can craft into macros and presets to automate and save time
- Frequency context
Knowing how often and the point in time in which a user requests new data can help optimize requests. You may also be able to reduce friction with caching and/or live updates.
Commands-to-execution paths are like breadcrumbs of your users’ activity, assumng you have sufficient logging that can help discover user click-through motions, backed by the statistics. In theory, the shorter the user path is, the better the interface. However, this is generally only valid for simple apps. It is a compromise between the amount of information directly available and clutter/level complexity.
If the data visualization provides context for what and how users display in your app, this should give insight based on the depth and timing of steps required to execute a certain function. Some examples:
- Count context
A high count means the user has to drill through numerous menus and screens before doing specific actions. This might indicate that an important or desirable feature needs more visibility.
- Time context
A longer time context can mean many things. For example, a user may simply be using an older or inadequate device. It can also mean that your interface is too slow. Or, the user is taking a long time to properly navigate through the interface.
- Traversal context
A user going back and forth between menus/screens frequently can suggest the required data needs to be more readily available. Perhaps, the required data should be composited in the same view.
Finally, don’t forget that one of the best ways of improving your interaction design is by talking to your users. Ask them what works and which parts need improvement. After all, they are the ones using the software on a daily basis.
In the upcoming Celayix products, we put in a lot of effort to create a modern user interface based on information and feedback from our customers.