Internet of Things (IoT) Software Development
For better or worse, the exponential growth in the number of objects connected to the Internet is changing our world. We know it as IoT – the “Internet of Things” – and its development is increasingly impacting on how we live and work. Here, we look at where IoT is going.
As you know, the term IoT describes the connection of everyday products or machines to the Internet, allowing them to process data and connect with other electronic devices. IoT is literally a giant network of connected man-made mechanical and digital objects, but also includes people with medical identifiers or farm animals with chip sensors. Current predictions say that by 2020 the IoT Market will reach the point of 24 billion devices across the Earth.
Such is the growth of IoT that it’s fast becoming a must-have for companies wanting to add digital presence to their existing operations, services or products. Put simply, any device with an on and off switch can be connected to the Internet and/or to each other. This includes mobile phones, coffee makers, washing machines, headphones, lamps, wearable devices and literally anything else you can think of.
Anything that can be connected, will be connected
Of course, IoT is much more than just a way to switch things off or on – the “Things” are embedded with electronics, software, sensors and network connectivity so that they can collect and exchange data to create a ‘smart’ world, where the objects we interact with ‘know’ what we need (like food running low in the fridge, or the coffee maker starting to brew after the morning alarm goes off).
Outside the home, the top 5 industrial uses of IoT include predictive maintenance, smart metering, asset tracking, and self-driving cars. But this is just the top of the iceberg. IoT has the potential to become omnipresent in our lives at every level of society.
In the streets of a “Smart City”:
- Monitoring structural integrity of buildings, roads, bridges, etc.
- Mapping noise/pollution/signal strength etc.
- Smart Grid power, citywide lighting/heating solutions.
- Waste Management — smart tags for sorting, trash level/cleaning quality control.
- Virtual tours in real time.
On “Smart Roads”, IoT can push messages to the driver, or to the automated vehicles:
- Traffic congestion analysis, with speed and direction tips.
- Smart Parking.
- Vehicle Auto-diagnostics.
In “Smart Homes”, controlled by an app running on the user’s smartphone and the home Smart TV:
- Power, heating, water use optimisation.
- Remote control appliances / Smart appliances that need minimal user involvement.
- Intrusion detection / Smart locks.
Outdoors in the “Smart Environment” seeded by rugged autonomous sensors:
- Flood, forest fire, avalanche, earthquake, contamination etc. early detection and real-time warning.
In the field of “Smart Health” — at hospitals, care centres, worn as accessories/part of clothing:
- Fitness / Medical sensors, watching the body functions and capable of alerting a doctor in critical cases — if the wearer has a cardiac arrest, fall etc.
- “Homedoc” devices routinely performing the prescribed analyses.
- Medicine delivery systems (“smart pill bottle”).
At the Enterprise level – in “smart” factories, stores, logistic depots etc. – IoT will change the way things are made, stored and moved, providing:
- Smart fabrication with customised product ordering.
- Supply chain control.
- Smart product / inventory management
- Quality of shipment conditions etc.
There are virtually endless opportunities for the application of IoT. But while the technology opens many doors, it also brings with it almost as many security challenges, as a hacked vulnerability in one device can compromise other connected devices. In this way, IoT can expose companies all over the world to increased security threats – which means the apps we, as developers, create must be very carefully designed to minimise such risks.
Another way in which the security of IoT devices could be breached is by IoT botnets. In this scenario, hackers look to launch a crippling DDoS attack, harnessing an army of devices to pool enough power to overwhelm a target in a torrent of traffic to render it helpless.
This all means building complex IoT applications can potentially be more difficult than any other type of software project due to connectivity and security challenges, which require very careful planning and consideration.
The actual components making up most IoT devices include tags, sensors, embedded computers and actuators integrated into objects. While some IoT objects are “vertical-specific” (like a speciality valve for an industrial device), others (like a grid-controlled smart bulb) can find use in many areas.
Some, like tags or iBeacons, will be of the “deploy and forget” type. Others will be constantly reporting data that is monitored and controlled via a web interface by the owner, or provided by companies that implement IoT-as-a-service for customers, like Thingspeak.
The main driving forces behind IoT, and therefore shaping its future, are commoditisation and interoperability, which in turn depend on:
- The development of embedded devices (low-power, reduced cost computers, most frequently based on the ARM architecture).
- Improved communications protocols (GSM, WiFi, Bluetooth variants and more specialized Zigbee, 6LowPAN, Sigfox and so on.)
- Software platforms like Thingworx, ioBridge, Sense and others.
Influential companies like Amazon, Google, Apple, IBM, and Microsoft are also playing a part as drivers of IoT.
IoT is one of the most exciting developments in recent times. It will impact all our lives and revolutionise the way we interact with the world.
If we assume hardware refinements and communication protocols will continue to improve, it will fall on the quality of the software applications we create to define the success of IoT devices, particularly how serious the malicious control of objects, access to data or unauthorised surveillance will become.
Already, IoT hacking is growing because manufacturers are selling cheap connected devices into the market without careful cybersecurity considerations, while consumers are equally keen to bring connected devices into their homes and lives. This makes the potential for crime very high, and the need for quality software critical.
The golden rule is to choose your IoT developer carefully – ensure they follow the compliance guidelines and requirements for your industry!