The Internet of Things is exploding, and it's not hard to explain why it's happening now. The sensors, networking chips and other technology required to connect to the Internet devices ranging from light bulbs to smartwatches to industrial equipment have all become inexpensive.
These connected "things" send and receive data through the network relating to a variety of physical characteristics -- temperature, moisture level, pulse rate, light level, velocity or revolutions per minute -- as well as more complex data such as maintenance requirements, sounds, and static or moving images.
Most analysts agree that that the Internet of Things will be huge. Two-thirds of consumers expect to buy connected technology for their homes by 2019, according to Acquity Group (a part of Accenture); nearly half expect to buy wearable technology. Gartner predicts that the total number of connected consumer, business and industrial "things" to grow to 26 billion units by 2020, representing an almost 30-fold increase over the 900 million things in 2009. (Gartner also says the Internet of Things has reached its hype peak.)
To be of any practical use, things collecting and transmitting data have to be connected to what Jeffrey Hammond, an analyst at Forrester, calls a system of automation. Such a software system intelligently manages the things and the networks they use, organizes and stores the vast amounts of data they generate, and processes it before finally presenting it to end uses in a useful way.
Building Internet of Things Apps Begs Important Questions
This begs some important questions for developers. What's the best way to build an "Internet of Things application" that could do anything from control home appliances remotely, to inform an aero-engine manufacturer that one of its engines somewhere in the world needs servicing, to gather meteorological data from sensors to produce a weather forecast? What skills are needed to do so? Where do you even begin?
The starting point for Internet of Things applications are the things themselves. These edge devices typically have no screen (although that's not always the case), a low-power processor, some sort of embedded operating system and a way of communicating (usually wirelessly) using one or more communication protocols. The things may connect directly to the Internet, to neighboring things or to an Internet gateway device -- typically a plastic box with blinking lights.
The next tier of the system, an ingestion tier, is software and infrastructure that runs in a corporate data center or in the cloud and receives and organizes the streams of data coming from the things. Software running in the ingestion tier is usually also responsible for managing things and updating their firmware when necessary.
Sign up for CIO Asia eNewsletters.