Chapter 5. IoT Applications

Over the next few years, as the Internet of Things brings billions of new connected devices into the world, there is tremendous potential to unlock previously hidden insight into physical processes for both businesses and consumers. However, to access the value of all these new connected things, we require a host of new software applications that can make sense of the constant data flow.

Through embedded sensors and intelligence, we can give nerves to products, services, and operations. Now we need to think about how we’re going to process the signals from our newfound senses. We certainly can’t look at every bit of data these systems generate: information overload is already a substantial problem. Well-designed software and predictive analytics help us make some of those determinations, but we still must decide what machine and digital elements will make up the autonomic nervous system of our IoT solutions, and conversely, what will make up the somatic nervous system, requiring human intervention for critical decision-making.

Creating applications that derive value from the IoT involves much more than generating a user interface on a web or mobile device. While it’s true that some IoT software may take the form of an app that gives a user a new experience on a smart, connected product, it could also consist of a prediction from an analytics model derived through machine learning and assimilated after an examination of multitudes of data, or it could mean the integration of a data feed from a connected operation into another business system.

IoT application design begins by establishing a model of the connected device and the worlds—both physical and digital—into which the device fits. This model enables the APIs, user interfaces, enterprise integrations, and analytics to access a common solution framework, even in the face of changing underlying technology. To effectively design and develop IoT applications, we need to model the specific problem domain, apply business logic, and surface that information to users.

In this chapter, we explore some of the considerations for IoT application architecture, as well as principles of good application design.

The Semantic Model

The IoT connects the digital and physical worlds so that smart devices and operations can provide feedback to users via a digital representation. When embarking on your software design, you should first ask, “What item am I connecting to, and how do I represent it digitally?” The answer to these questions varies wildly, depending on whether you’re modeling a smart product or a more complex system such as a smart building, or even a smart city.

A semantic model is a good way to build a bridge between the physical thing and its “digital twin” so a user can understand the relationship. It gives a person a way to make sense of the physical device or operation that may be located at a great distance. Think of the semantic model as similar to an API, an application program interface for the object or system. It’s a useful exercise to consider your connected product or environment as having routines and protocols. Ask yourself, “How do I want users to think about and work with this digital representation in the cloud?” The API of your connected device or operation defines the properties and services you want to expose to your application developers. Questions to consider include:

Properties
What are the properties I want to expose? In the semantic model for a product such as a connected tractor, for example, these properties could consist of critical operational metrics like fuel capacity and usage, engine temperature, ground temperature, location (latitude and longitude), engine runtime, last oil change, oil level, fuel level, and engine RPM.
Services
What are the services that my IoT device supplies? In our connected tractor example, users might need to get diagnostics and maintenance entries, and possibly even shut down the machine remotely.
Events
What events does my device emit? The connected tractor might indicate that it’s time for maintenance or send a fault code if there’s a malfunction.

Ultimately, the people informed by your IoT solution are not going to be interacting directly with connected devices and services, but with the information through this shared model. The semantic model bridges the human brain and the connected device or system so we can deliver applications and user experiences that create value, spark insight, and enable useful action.

Software UX Design Considerations

How do we consume data from the IoT effectively in a world already saturated with information? At their best, applications for the Internet of Things convey insights to decision makers and even automate responses, saving time and money by creating process efficiencies and improving system performance. At their worst, IoT apps can become glorified dashboards stacked with widgets and UI cruft, delivering nothing more than information overload. UX design in this area is fraught with bad metaphors (computer software for smart operations, for instance, should not at all resemble an aircraft cockpit) and misguided best practices (such as designing your software for the newbie rather than for the repeat user).

The purpose of your IoT application is to answer fundamental questions about your smart product or operation and allow users (or machines) to make immediate, informed decisions in response to the data. The time-to-decision matters. A well-designed application alerts users to problems when something goes wrong, and provides them with the right information to make decisions that have impact.

With many possible user types, from consumers to operations managers, system administrators to domain specialists, no two IoT solutions are ever the same, and one size never fits all. The key to designing an effective application lies in understanding both the needs of the user consuming the information, and the fundamental needs of the business, including the overall goals, decision requirements, and workflow.

What follows are some design tenets for balancing complexity, aesthetics, and information design in IoT applications—the design considerations, trade-offs, and other issues that you should work through as you create your software.

The Right Design

What’s the data story of your intelligent operation or smart product? The system is a living organism, and we’re measuring its health: its unique strengths, capabilities, and metrics. For your IoT application, you may require an appropriate visual representation of the management layer, as well as easy ways to understand and drill down to the data level required to make effective decisions.

Gather the right data

Oftentimes, easily accessible data is displayed in user interfaces rather than the data that’s truly important to operational staff. Using a business and user-centric development approach coupled with advanced information visualization and aesthetic engineering best practices significantly upgrades the decision support capability of your UI. What data and metrics do the users really need to see? What context does each metric require to make it meaningful? Do users need to see the trend, the breakdown by region, or target?

Provide the right data display

Detailed information should be easily accessible within the same interface. The user should be able to understand cause and effect, trends, and correlation to key drivers, thereby getting a clear picture of system status and how it got here–all in a single, integrated view.

Enable mission-critical decision-making

Good information design matters. What is the visual representation that best communicates the metric? Not enough attention is spent on information visualization techniques and pushing business and operational critical data to decision makers.

What are the decisions the user needs to make? IoT applications should empower good decisions that have a positive impact on the individual or business.

To increase the pace of and instill higher confidence in decision-making, make sure your aesthetic presentation is contextually appropriate for specific roles to maximize clarity. The data display should be relevant, clear, and memorable.

Machine Learning and Predictive Analytics

If we want the IoT data we collect and analyze to have real-world impact, machine learning, predictive modeling, and process adaptation are essential tools. Through this learn-predict-adapt cycle, software for smart products and systems can turn intelligence into action, moving beyond simple monitoring to anticipate problems and take proactive steps to improve our systems (Figure 5-1).

IoT data analysis requires machine learning, predictive modeling, and system adaptation
Figure 5-1. IoT data analysis requires machine learning, predictive modeling, and system adaptation

Learning

Machine learning is an important tool for data description and discovery, particularly if you have an incomplete understanding of the classifications, ranges, or kinds of device data that make up a particular domain. Deciding which data aggregations make sense can often require a depth of understanding about a problem domain, which may or may not be available to you.

It can be difficult to understand exactly what a user needs to know, which is why automated discovery can be so important. For example, users may only care about a metric, like temperature, as an average over the course of a day. A machine-learning algorithm can help you understand when you need to consistently monitor a particular signal, or, in contrast, when you really should only care about discovering the outliers. Additionally, by integrating and analyzing information from multiple data sets, including those from third parties like weather and geographic information, automated discovery algorithms can help find valuable patterns that would otherwise remain hidden.

Predicting

You may be familiar with the popular IFTTT (If This, Then That) service. The IFTTT pattern expects that a human has a priori knowledge of what to do. However, within any set of potential IoT events, the subset that we know what to do about is vanishingly small. Here in the data, then, are mysteries to uncover. Which are signals, and which are noise? Of the petabytes of data generated by my devices, where’s the insight I’m looking for? Where do we find it? In short, If This, Then What?

IFTTW seeks answers to questions like:

  • Is it time for preventative maintenance?

  • Is it time to adjust a configuration?

  • Is it time to order consumables?

  • Is it time to procure a new part?

  • Is it time to send a repair technician?

  • Should we change the product? How?

When you leverage an analytics engine with your IoT solution, you get not only a rearview-mirror, historical log of events that have occurred, you also get a predictive view of the future, based on an analytical model trained by that history.

Machine-learning algorithms can convert overwhelming amounts of data, billions of points of information, into clear patterns. By examining historical system data to understand what has happened in the past, machine-learning algorithms can discover predictive models that a human would likely never find.

These predictions help generate problem solving policies and methods—heuristics derived from experience with similar issues or scenarios—which can lead to important system adaptations. We can use this intelligence to affect the business process if we know that a problem or undesirable outcome is imminent.

As an example of this, let’s look at an IoT solution for automated parking kiosks (Figure 5-2). Predictive modeling can help inform the parking lot’s operations manager if a kiosk is at risk of failing, and alert him to take preventative action. In this scenario, a machine-learning algorithm examining historical data could detect, for instance, that a high volume of kiosk transactions per day combined with significant precipitation and an average outdoor temperature below a certain threshold signals that the kiosk’s credit card acceptor is likely to fail within a short timeframe. This heuristic, derived from a group of unique situational factors and long-term data, would have taken a field service technician a decade of experience with the product to understand. That discovery, made by a machine-learning algorithm, becomes a new input into the data model for the kiosk, a prediction that becomes part of its API.

A dashboard depicting data analysis for automated parking systems
Figure 5-2. A dashboard depicting data analysis for automated parking systems

Adapting

Not long ago, systems were designed with the pattern that looked like this:

  1. Dump data into a database.

  2. Every night, run queries against the new data and apply some business logic.

  3. Dump the output of the batch operation into a database.

  4. Run a report explaining what happened.

Unfortunately, this pattern doesn’t get us very far in the fast-paced world of the IoT. As we’ve seen, the store-then-query approach of the past is not tractable, and moreover, not timely. We need to react to events in real time.

Predictive analytics can enable preventative action and facilitate real-time system adaptation, but only if the insights from machine learning are discoverable by users. For this to happen, it’s important to create intelligent systems that are integrated tightly with the operational processes and technologies already in place.

In smart manufacturing, machine-learning algorithms automatically detect patterns and anomalies in complex production processes and flag machines for maintenance before downtime or manufacturing errors occur. For instance, an algorithm might discover that when a facility experiences a drastic swing in humidity levels, machines operating above a certain temperature are most likely to fail. It’s not enough for our IoT software to provide this heuristic in isolation; it must deliver the information at the right time to the right user. This might be achieved by integrating predictive information as a continuous data feed in the factory’s existing production planning and supply chain management (SCM) systems. On days when humidity becomes an issue, the software surfaces a series of alerts. When the machines run at a higher temperature, workers can adapt operations accordingly by either increasing the dehumidifying processes or running the machines during cooler, evening temperatures. In this way, manufacturers can adapt their processes to better manage potential inhibitors to successful production runs.

Rapid Application Development

You may (or may not) remember the revolution in development that came about when Microsoft first launched Visual Basic in 1991. Prior to Visual Basic, if you wanted to develop a graphical user interface (GUI) for software, you submitted yourself to strange and arcane forms of coding, with complicated APIs to draw basic objects like lines and rectangles. Visual Basic and other similar tools were responsible for the explosion of productive developers who were, for the first time, able to deliver consistent—if not particularly engaging—software interfaces. In many ways, Visual Basic helped drive the desktop PC revolution.

So, aren’t software developers still using such tools today? Well, yes and no. In many ways, we have taken a few steps back in productivity, not because we no longer value rapid application development (RAD) tools, but rather because the types of user experiences and accompanying rendering environments have increased dramatically: from desktop to tablet, mobile, devices, and everything in between. Now engineers might require multiple sets of tools to create the same experience across platforms and devices.

With an application enablement platform (AEP), you can leverage the foundational elements of the edge, the cloud, and the model layers using a set of visual UI and functional design patterns designed specifically for the IoT, and pre-wired for connected devices produced by a wide range of manufacturers.

Leveraging an AEP shields designers and developers from a degree of complexity by providing abstractions that allow for rapid development. A growing number of companies offer application enablement platforms, including ThingWorx (a PTC company) and Xively (from LogMeIn), among others, with Microsoft and SAP adding IoT capabilities to their product lines, as well. To be business-agile and ready to respond to changes, it’s worth considering an AEP that’s tuned for the application-building requirements of the Internet of Things.

1 For a complete discussion of these considerations, it’s worth having a look at Designing Connected Products: UX for the Consumer Internet of Things, by Claire Rowland, Elizabeth Goodwin, Martin Charlier, Ann Light, and Alfred Lui. O’Reilly Media, 2015.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset