Understand how IoT relates to other tech to get out front on software development
The Internet of Things (IoT) is one of the fastest growing trends in technology. The growth is occurring in part because many different types of devices are being connected to the Internet. This includes everything from garbage barrels to home appliances, in the area known as the Consumer IoT (CIoT). It also includes many machines inside factories, and it affects all industries within the Industrial IoT (IIoT). The number of connected devices will nearly match the number of computers, tablets, and mobile phones combined within the next five years.
But the IoT isn't simply about connecting devices to the Internet. It's also about using the data received from the devices and controlling those devices in different ways. For software developers, this means it's critical to understand the many users stories that pertain to these devices and their data, or the value of connecting them can never be realized.
The growth of the IoT and the accompanying need for IoT software is rapidly creating opportunities for development, test, and deployment teams, which in turn is giving rise to whole-team agile as well as DevOps practices. Once strictly hardware-focused companies now need software developers. Many companies are adding IoT-specific divisions, and whole new businesses are popping up that are focused on developing software to meet IoT application needs. As noted above, the IoT divides into CIoT and IIoT. CIoT gets covered frequently (for example, the recent TechBeacon interview with Scott Amyx covers wearables in the CIoT space). So my focus here will be on the IIoT.
IIoT examples in some unexpected places
The IIoT transformation is rapidly taking place in all industries. To explain that transformation I will discuss several industries people don't typically think of in terms of rapid transformation. Both of these examples show how IoT can enable more efficient use of resources and save end users time and money. The first is municipal garbage collection; the second is farming.
Smart cities improve their summer fragrance
In use in all 50 states in the US and in 47 countries throughout the world, Bigbelly trash barrels are contributing to smart city initiatives in an interesting way. They're shipped with solar powered compactors as part of a municipal garbage collection program. This has the advantage of on-site compaction so the barrel can hold three times the garbage a normal one would in the same space.
The garbage barrel reports when it fills up, and the system it reports to develops a pickup path targeting only the full and almost full barrels. This is where multiple devices come into play. The compaction combined with routing saves cities money by lessening the frequency with which garbage trucks check barrels, especially empty ones. It also reduces the barrels' likelihood of overflowing. This saves the city money by requiring fewer garbage trucks on the road, while still satisfying the general public with clean and usable garbage barrels. The company has said they're researching other use cases, such as adding cameras to trash barrels to allow cities to better monitor their streets, since cities using this service have connected and powered devices in every neighborhood.
In agriculture, farmers are burying sensors in the ground to learn how much water they need to add to their crops. The system attached to the sensors turn on and off sprinklers around a farm, and it makes adjustments according to the needs of specific crops. Each farmer's use case is a little different, and modern farms typically have many systems to interface with, so the issues involved are more complex than most of us might imagine.
The typical farmer isn't a software developer. They often need help building out their use cases. But they understand how this system is saving them money by supporting maximum crop yield while conserving water and reducing their water costs. This is especially critical in variable weather conditions; watering crops is one less thing the farmer has to monitor.
Companies leading the IoT transition
Let's take a look at some companies leading this IoT revolution, including a use case in the medical device industry.
Note that most companies implementing IIoT solutions didn't get into this market to build software. They were hardware vendors, typically, with a long history of producing things like valves and gauges, thermocouples and other types of sensors, flow meters, and so forth—all of which used mechanical means of some sort to generate data. That's why, today, there's a major opportunity for software experts to help develop the solutions for companies long focused on hardware, and to help these companies better understand the needs of end users. Opportunities abound for companies both big (PTC, IBM, Intel, Cisco) and small (Flowthings.io) to help fill this void.
The most basic need is for companies to get their devices connected to the Internet. This is true for all companies building IIoT devices. It even is critical for companies with traditionally strong software backgrounds, which is the case for most medical devices since much of their functionality is developed in software. One of my first jobs back in the late 1980s was developing software for medical devices. Medical devices are starting to add connectivity in order to report back operational data from the hospital to the device manufacturer. This type of data has the ability to tell the manufacturer that a CAT scan machine may face failure in the near future. This allows the manufacturer to repair the device in field before the device fails, so, in this case, a hospital isn't unexpectedly down one CAT scan machine. Retrieving data about how devices are being used in the hospital (frequency, duration, etc.) also allows them to better understand why parts are failing and then fix them in multiple locations quickly.
Getting approvals, getting connected
While medical device companies have the knowledge to build the connection themselves, their primary customers—hospitals—are highly risk-averse. Explaining to each hospital about the connection and then getting permission to open an external port is a time consuming process.
This is why companies like PTC focus on enabling connectivity. Since they use the same basic schema and port each time, they can leverage the fact that multiple medical device manufacturers need access to the same hospitals. PTC can get approval once, then get less complex approvals for differences as each new device or client company looks to get access. Essentially, this allows medical devices companies, who are competitors, to be represented by one company as they get connected to the hospital network.
This is advantageous to a medical device company, because their primary issue is getting hospital approval. Access through a universal channel levels that playing field, so companies can provide better service and focus on customer satisfaction. In the end, IoT technology is giving competitors a new reason to partner, to share network interfaces, and this should build the best solution for their customers. Companies who aren't willing to partner with their competitors could be left on the outside of a new paradigm shift.
Beyond basic connectivity, the IIoT also leverages major software trends like cloud, big data, and analytics. The data from devices is pulled into the cloud, stored, and analyzed. IoT is causing large growth trends in those areas. Do a quick search on IoT, and you'll find that Intel has built processors specifically for IoT-based used cases. Cisco has rebranded their entire website around IoE (Internet of Everything, which is a superset of IoT). IBM also has built a business unit focused on IoT.
Thinking about a job with one of these large organizations? You need to understand IoT.
For example, IBM Research built a weather prediction application based on pictures of clouds and existing weather data. This enables better predictation of the capacity of solar power in the next day, to weeks ahead, and hence allows the power grid to adjust its needs based on the knowledge of how much solar energy will be collected. This has been tested at power companies in New England and has helped improve predictations by 30 percent. This is just one example of real-time IoT data, camera/video, and other data sources being leveraged with existing data to do analysis and solve existing problems.
Use cases around safety and security
I'm a dog owner, and it always saddens me when I read or hear that a dog has died from being left in a hot car. This can happen to any dog, but police dogs are particularly susceptible because officers often have to get out of cars to deal with a situation where dogs aren't welcome. It happens more frequently than people realize.
Now a few different companies are selling devices that help save police dogs. The different systems read the temperature inside the car and also know if the dog is present via sensors in the car and on the dog's collar. Analytics let the system know if the dog is under duress. It then has options to notify officers or even open the car door through automatic controls. This is an example of a system that is saving dogs' lives on a daily basis and allowing police officers to focus on the tasks at hand with the knowledge that the dogs will be safe. While officers will always be the first line of defense in protecting their dogs, at least safe guards can be put in place.
Many of the existing devices now moving into the IoT were never designed to be connected to the Internet. This is why security has become a huge concern for some device types. One memorable breach involved Target and their heating and cooling system. The hackers got access through the HVAC system and stole Target customer records, including credit card information. This was possible because the HVAC system is connected to the rest of the Target network.
In another example, Fiat Chrysler is currently recalling 1.4 million vehicles due to a security hole that allows intruders to control the car through remote access to control the brakes. They can blast music and control other parts of the car as well. This breach was enabled by the remote accessibility of the car's touchscreen system, which is part of the car's internal network.
Wanted: Strong software development practices
Due to these types of security issues, many companies are looking for ways to validate data as it goes through their systems, rather than just having a firewall blocking edge access. But this often requires a complete redesign of the system, not only to check for valid connections but also to scan the data for any abnormalities. If a system wasn't designed with data checks in mind, then building-in those checks later can be quite time consuming.
The checks also can slow the data propagation around the network, which means the system won't perform to expectation. All of this is a daunting task for IT and development groups at any company working to implement the IoT into their network or the products they're building. But it's especially daunting if they lack the right kind of software engineering expertise.
This is where you might have a role to play.
Every IoT-based solution needs major software development support inside the device provider, inside the network leveraging the technology, and through third party support. Understanding how the IoT relates to the cloud, big data, analytics, security, and embedded devices is critical to understanding the future of software development. That's because we live in a connected world. All this is leading to huge growth in traditional software development, with a simple twist: we have to understand where all this data is coming from and how it will be used.