User Experience

Does Your User Experience Deal with Connectivity Failures Gracefully?

By Dorothy Shamonsky, Ph.D.

Users find it frustrating and reluctantly accept the fact that connection to the Internet sometimes has glitches. Wait times are the norm. Users are accustomed to the cursor loading slowly, popping up periodically and at times needing to try a second or third time in order to connect to an online site.

However, users perceive devices that are part of the Internet of Things (IoT) differently. These new products are more black box in function than a computer, tablet or phone. The fact that a device is dependent on a connection to the Internet to operate properly is not so obvious to the user. It becomes clear, however, when the device unexpectedly takes extra time to respond or temporarily fails due to a connection glitch.

If the connectivity loss is not handled well within the user experience (UX) design on the interface of the device, the device looks bad. The user has no clue what might be wrong if a connection loss is not represented in the UX and will likely find the device behavior confusing and believe that it is malfunctioning or broken. Knowing that there is a connectivity issue is helpful to the user, but knowing how to deal with it when it fails is even more helpful.

How will your system fail gracefully? The UX should inform the user that connectivity is delayed or lost, but the UX should also strive to maintain user confidence in the device and help them know how to cope with the lack of connectivity.

We ran into this problem with our kiosk authoring system, ViewPoint. ViewPoint Interactive Kiosk software is used in a number of retail environments, and is able to utilize any combination of local content and online data and services. The proportion of local vs. online content and services is dependent on the particular client or context of use. Obviously, the more online content and services that are required, the more problematic connectivity glitches can become.

First, the kiosk has to recognize that it was offline and attempt to restore connectivity. The UX meanwhile needs to display an appropriate message or image that is understandable to a non-technical person. (I believe our original message before the UX team intervened was something like “Error Occurred-463”). We use a spinner for short delays, which is not always ideal but politely indicates that the system is attempting to accommodate the user request. Clearly, this can work for any processing delay.

Second, if connectivity cannot be restored quickly, then the kiosk needs to inform the user that this is more than a short-term wait situation. The message that we display is very context specific, but at all costs, we try to avoid things like, “It is not possible to make a connection at this time.” This is a dead end for the user – not much for them to do. Instead, where we can we save recent versions of downloaded data and display the stale data with a message such as, “{data name} is recent as of {date and time}.” We also save data that has been input by a user, until it can be uploaded.

We also attempt to offer the user an alternative solution as often as possible rather than just the notification of a failure to connect. However, ViewPoint has another issue. It is mostly used as a public kiosk, so end users need to be gently informed about connection issues, but it is not their responsibility to try to fix the situation if human intervention is required. The “owner” of the kiosk will then need to be informed. In retail situations this often means someone on the floor, such as a sales person, but it could mean the sales manager or an IT employee as well, or all of them.

This means the kiosk needs to display messages that are both gentle on the end user but alarming to the owner as in, “FIX THIS NOW!”. The bottom line is as designers and developers we need to work extra hard to avoid failures as much as possible. Connectivity failures are inevitable with all connected devices and one that the IoT must deal with effectively. UX is a crucial part of creating a positive experience with any device and when it comes to a graceful Internet connection failure, it is vital.