Technology and Usability are like the twin stars – Mizar-Alcor (Vasistha-Arundhati in Indian astronomy) – they revolve around each other. E.g. Computer Mouse was invented as user felt a need for more elegant way to capture user input. Similarly, the joystick technology was made available to aircrafts but it found its usage in Gaming, as well. As a usability crusader you are always on the lookout of how you can make something more usable so that it is convenient to users to interact with a “system”. A “system” is anything that a user interacts with and considered a scope for a usability study. In this article, I will be focusing on software systems – software applications that users interact with.
In the recent time technology has opened up the doors to many concepts that can enhance a system usability by manifold. These technologies are widely available and affordable. Let us look at 7 such technologies that must be considered by every UX guru when they are designing a software system in 2017.
Progressive Web Application (PWA)
PWA brings mobile web experience closer to native experience. It offers various features – Web Push Notification, Offline Caching, Application Shell Architecture, Network Independence, Background Sync. One or more of these offerings can be combined to offer better usability to your application users. Imagine an Order Management application. Your users can watch for Web Push Notification to act on order approval workflows. Offline Caching, Application Shell Architecture, and Network independence features can be leveraged to offer seamless experience to field sales team to move between their desktop to mobile and from high-speed network to low-speed or no network and still manage their customer orders appropriately.
While every browser is moving towards supporting PWA features, it’s worth understanding how your usability design shall employ these features. Please refer to Progressive Web Apps: Are They Enterprise-Ready? Article for complete insight.
Bots
Bots are becoming all pervasive and transforming UI into Conversational UI. They are becoming the most convenient way to find information, enable features or access other applications. Skype BOT, Slackbot are some of the Bots that have become popular for their services. Let us say you are designing an Employee Engagement system. You can leverage Bots in your design to make various organisational assets – e.g. Org chart, last year financial performance, employee handbook, cafeteria menu, etc. – accessible to employees with a single conversational interface. Employees can type “What is our travel policy?” to quickly get to the policy handbook section talking about the Travel Policy. Similarly, you may design a Bot for your Order Management application so that just by typing “what’s the status of order XYZ?” or “no shipping required for order XYZ” an user can access or update an order into the system.
You can design your bot interface to kick off additional features or new applications. E.g. as a stress buster, you may add Tic-Tac-Toe to your Employee Engagement system and open the app when two people chat about “time for tic-tac-toe match?”. Creativity is the only limit about how you can use these bots as a unified interface to serve content and application services. Also, imagine the amount of application training time you can save.
Gamification
There is a lot that we have learnt and adopted from the gaming world. Input devices, Graphics hardware, Algorithms, and more. Games create a competitive environment where people play to win. Making a similar goal for Usability would be transformational. Simple things like animating a delete folder operation to sending it to a real-looking recycle bin or animating permanent delete operation to burning the document in fire. Based on the type of application you are designing, you can use human gestures(based on, say, motion sensor or webcam inputs) to drive application behaviour. Additionally, you may include gaming elements like real-time leaderboards and fine-grain point/badge system to measure performance and offer rewards. E.g. you can measure number of orders placed, size of the order, the average time between orders, repeat order, etc. as the way to give points/badge and link them to real-time rewards. Another example is if your application depends heavily on user profile – e.g. LinkedIn, you may let your user choose their avatar. However, the visibility of the avatar (say, their photo) can be linked to % completion of their profile, which will motivate them to complete their profile. So, if I have not completed my education and employment detail, only one-fourth of my photo will be visible.
So, irrespective of what kind of system you are designing you can always transform it by applying gaming elements and principles and make it a great experience to your users.
Audio Input
This is probably the most straight forward one in the list. With the advancements in Speech-to-Text area, the output produced by such systems has become reliable. These systems can now neutralize accents and produce accurate output. This opens up the possibility of taking those data-entry forms and transform them to accept audio input. This will speed up data entry and also make the application more accessible. Applications that require a lot of text input will benefit from the inclusion of audio input in the design.
The audio input can be used to capture text and the captured text can be furthered processed by a Natural Language Processing (NLP) sub-system to derive the command that links to an application service. Or it can be further processed to construct different text for downstream bots to return the required data.
Real-time Communication
Communication is key. In a collaborative environment, we are as effective as our communication. And, real-time communication is critical to timely and accurate decision making. So, if you are designing a system that requires users to collaborate to achieve an outcome, real-time communication must be built into it as an integral aspect. WebRTC and various Pub-Sub protocols have made it possible to build real-time communication quickly.
Real-time communication shall be deeply integrated/embedded into an application so that users can start a context-sensitive communication easily.
Audio/Voice Command Integration
Siri, Cortana, Google Voice Actions, Alexa Skills, etc. are some of the examples of how an audio integration can simplify the interface and drive application behaviour. All of these come with their APIs/toolkits to allow applications to integrate with audio. This enables the users to get things done with your application content and services by using their voice. Let us take the Order Management example. Assuming you have a B2B interface for Garages to inquire order status and place an order for auto parts. You can design that interface to integrate with voice command systems so that it is convenient for the garage operator to order parts through your application while they are working on servicing a vehicle.
Machine Learning
Again, the advancements in Machine Learning (ML) and availability of affordable technology – TensorFlow, R, Python, CNTK, Theon, Keras etc. – to build machine learning applications has enabled developers to build intelligent systems. Things like handwriting recognition, data-entry using computer vision, face recognition, fingerprint recognition, predictive analysis are some of the things that have become so common and available that including it in usability design is now an expectation. So, when you are designing your next authentication and authorization module think about machine learning. You may be able to do away with the User id/password based mechanism and replace that with face recognition based mechanism or a gesture based mechanism.
Make Assistance Agent an integral part of your application. It shall learn about where the user is lacking (against the average/expected performance) and assist him/her to get better. E.g. if the system learns that a particular sales person’s performance is low only because they are bringing in small-sized(monetary) orders the agent can present valuable insight and resources to that person so that they understand their area of improvement and also have the required resources to learn how to target big-sized(monetary) orders. Imagination is the only limit to the extent Machine Learning can be applied to usability.
Summary
The future looks very promising. There are and will be new ways to interact with a system that will bring a new level of freshness and approach to Usability. Technology advancements are translating imagination to reality and as a Usability crusader, you have the tremendous power to put it in action. 7 things that I have described here are more or less being done for a couple of years. But, it would interesting to see that they become core elements of usability. And, the time is now.