IoT and U(X)

UX and IoT

IoT has arrived, but an ability to effortlessly manage it hasn’t. Enter UX.

UX and IoT: Why is this worth talking about?

You’ve heard the phrase, “If you build it, they will come.” The phrase still rings true today, but if you build a shopping mall with elusive bathrooms and elevators that use symbols instead of numbers, your users might show up, but chances are they’re not going to stick around. This is User Experience (UX), the packaging of your product that makes it accommodating for your users. If you want to build a successful product in a competitive market, ignoring UX can be a crippling mistake.

The same is true for building a product that manages the Internet of Things (IoT). It doesn’t help that IoT, as a domain, is especially hard to pin down. These “things” come in all shapes, sizes, and capabilities, thereby making management a complex problem. Complex problems’ most obvious answers are sometimes complex solutions. But, be wary of these complex solutions; they can often be self-defeating. Occam’s razor (that one should not make more assumptions than the minimum needed) is an oft-quoted principle for a reason! All of this complexity can confuse and overwhelm your IoT management system’s users; your users want to use your IoT management product to avoid complexity. Utilizing UX is therefore crucial in empowering users and enabling them to get the most out of your IoT platform.

A Quick Survey Through UX

We’ve said that managing IoT is complex and that it needs UX to simplify this complexity, but we haven’t discussed the nitty gritty of why applying UX to IoT is a unique challenge. UX principles have the unfortunate tendency of being vague and therefore hard to utilize. Let’s discuss UX at large in order to establish a context with which to best discuss UX within IoT.

A quick distinction beforehand: UX and User Interface (UI) are often discussed in tandem. Let’s explore this relationship using a metaphor: UI is a door. If the door is poorly built and doesn’t open, that’s a failure of UI. Now, imagine that this door functions properly, but the shape and design of the handle consistently confuses users into thinking the door should be pulled, when it reality it must always be pushed. This is a failing of UX. UI merely describes the items that facilitate user interaction and whether or not those items function in a minimal capacity. UX is about the larger use of said items, especially within the context of its users.

Throughout the discussion, we’ll be operating under the assumption that the product’s UI works at a fundamental level. If a product isn’t useful, that conversation is more likely related to the underlying UI or the workflows the product seeks to provide. An allegory often misattributed to Albert Einstein is, “Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.” While I certainly don’t believe every product is a work of genius, discussing the UX of a product requires that the discussion be around something the product actually sets out to accomplish.

Accessible

First things first: a product must be accessible. If not, the user won’t be able to do anything, whether it be because the product is actually inoperable or because the user thinks that they’re not capable of doing anything. This can occur due to the absence or misinterpretation of a feature or due to the fact that the feature simply isn’t apparent. If your door has a non-obvious locking mechanism (like pushing the knob and then turning), the user will never be able to lock the door - regardless of whether or not the lock works.

Responsive

A product must be responsive. We’re not referring to mobile responsiveness; that’s a different concept related to a product’s ability to be accessible and functional across platforms. When we say responsive, we mean that a product must respond to what the user is doing. If not, the product can be accessible and therefore facilitate user interaction, but with no feedback or response, the user won’t be confident that their action did something. It's like being in a bathroom where the lock on the door didn’t give any visual or auditory indication that it worked. You could pull the handle, but that would unlock the door. You wouldn't be confident that the action of locking the door worked because the lock gave no response. A user may very well doubt the functionality of a product based on its responsiveness.

Informative

A product must be informative. A product can be accessible and responsive, but what if the response is unintelligible or inconsistent? A user can lock the door, and then hear a click, but what does a click mean in the context of a locked door? Would not some sort of label to demonstrate that the door is locked make more sense? A product should be accessible to its users and respond to the user’s interaction, but this response must still make sense to the user.

Empowering

A product must be empowering. This concept is a bit more nebulous, but the motivation is important nonetheless. Your product should strive to not only allow the user to get as much done as possible, but it should also make the user feel accomplished, especially when the user has done something elaborate. Sometimes overly-supportive feedback can be grating for users, but finding opportunities to reward the user can tap into the psychology of positive feedback. Our locked door metaphor won’t work with this concept, but picture in your mind toast springing out of the toaster, fajitas sizzling their way toward your table, or even the voice of a flight attendant announcing, “We’ve landed in Paris.” Each of these small things feel rewarding to users, and are directly in response to something the user has chosen to undertake. A product can do all of the things I’ve mentioned so far: it can be accessible, responsive, and informative, but if the experience of using the product doesn’t feel empowering and satisfying, the user might still feel unhappy.

UX in the World of IoT

Now that we’ve discussed some of the critical aspects of UX in general, we’ll explore how IoT complicates this picture even further.

Keeping Things Cohesive: The “Things” Aren’t Cohesive

We mentioned earlier that IoT is defined by its diverse array of devices. One of the core UX concepts we discussed is the notion that a product and its use be informative. One of the biggest challenges with providing a management system for IoT is maintaining a cohesive and consistent display of information when the source of that information differs across devices. It’s a lot like stuffing a shopping cart with groceries and going to the self-checkout. As you’re scanning your groceries you’re faced with a slew of challenges. Where’s the barcode for this box? Where’s the barcode for this other box? How do I scan a single banana? What’s the expiration date for the milk and where is it? Does the cheese even have an expiration date? It can be difficult as a shopper understanding all of your groceries when the information about your groceries is so diverse. It’s the same for IoT. How can online status for devices be conveyed when a subset of devices only come online in intervals? How can I sort through my devices to find those that have a weak cell signal, regardless of their type designation? An IoT management system should make it easy for users to understand their devices by standardizing and providing cohesive information. This construction and design of views to show aggregate data for disparate devices is a huge challenge to IoT management.

Managing the Madness

If understanding IoT data is a complex feat, imagine configuring that data. A large part of UX is simplifying difficult tasks. One approach is to break complex tasks into smaller, more digestible tasks. Unfortunately for IoT, lots of workflows exist depending on the type of device. Adding personal touches to a large number of configuration workflows can add up to a lot of work. Certain devices might need a workflow for configuring router network settings. Other devices might need workflows for filtering data from reports and generating alerts upon certain conditions. Certain devices can be integrated into other IoT management systems. Providing all of these options is not only difficult, but presenting them can be overwhelming to users. An ideal IoT management system should provide the ability to configure any and all devices’ capabilities while still emphasizing the most common workflows and relegating niche tasks to submenus. Managing all of these different devices is like being an orchestra conductor. You can’t give the same instructions to the percussion section as you would the woodwinds, but you need to switch between managing those groups effortlessly. An IoT management system must be able to contextualize what action needs to be taken on what device.

The Scaling Problem

If your IoT management system can provide a cohesive view of varied device information while still facilitating the configuration of those devices, you’re in good shape. That is, until scale comes into the picture. IoT is not only varied; it’s massive. Thousands or millions of devices need to be understood and configured. How does your IoT system onboard these devices? How can your system utilize a variety of clients’ existing IoT records for this onboarding process? Does your system’s graphs of aggregate data provide useful impressions at scale? Do your workflows allow for bulk interaction such that a single action can be carried out on thousands of devices? Do you have filters and tags that allow users to create their own taxonomy of devices? UX often focuses on enhancing existing features, but UX should also drive conversations that analyze how well those features address the users’ goals. As the scale increases, conversations about the effectiveness of workflows and visualizations must take place. Creating a system for assigned seats in a movie theatre requires a degree of organization, but imagine using this same seating system for a football stadium. As the scale increases, so too does the need for organization.

IoT Customer Specificity: Tomato, Tomahto

A major challenge that faces IoT management is creating a system that can easily adapt to the needs of the customer. These customers might be a variety of different hardware manufacturers. Each of these manufacturers will have a variety of different devices, but the way in which those manufacturers understand their devices is also different. This can include the terminology around network nodes, or can inform which visualizations may or may not be needed. An IoT management system must accommodate customer-specific business requirements, whether that be hiding unneeded configuration workflows, dashboard widgets, or abstracting device relationships into larger units. Most Software as a Service platforms face this challenge, but given the complexity inherent in IoT’s wide assortment of devices, this problem of customer-specificity compounds. Resorting to the usage of general language, non-customizable features, and ambiguous iconography is a failing of UX. Your IoT management system should always strive to personalize the experience for its customers.

Conclusion

As the lead developer and designer of MachineShop’s Device Relationship Management Portal, I’ve not only studied the ins and outs of other IoT platforms, I’ve experienced firsthand the process of making a great IoT management system. MachineShop is proud to say that our IoT management solution not only features a wide array of product offerings, but it does so with best in class UX. This article is the first in a four part series that will highlight the lessons we’ve learned while implementing our unique solution, including a break down of UX best practices, the importance of designing for the future of IoT, and tips and tricks for implementing customer service in the digital world. We won’t give away all of our secrets, but we’re more than happy to contribute all of our hard work to better promote the importance of UX in the world of IoT.