Apart from perhaps Virtual Reality (VR), Augmented Reality (AR) and Artificial Intelligence (AI), the Internet of Things (IoT) has been one of the major technology stories of the past few years, with big players such as Intel vying to become "the platform" for building it on.
So far many of the IoT start-ups have primarily focused on creating various forms of well connected, portable sensors with mobile applications geared towards logging simple data such as how many steps have been taken, the air quality in a room or even more basically whether a light-bulb is on or off. Essentially this means using mobile applications as no more than displays for collected data or apps which turn expensive mobile phones into a basic remote control, failing to make good use of the ever increasing power of mobile phone microprocessors.
Moving forward we are likely to see these devices become smarter, more concentrated and more intelligent in terms of how they interact with our mobile applications, which is where most of the real heavy lifting will be done. Rather than simply logging the temperature of a fridge - or allowing the user to control their fridge's temperature from an app - suddenly their fridge will know when they are out of bread and be able to communicate this to an application on their mobile which waits for a convenient time - such as when the user is near a petrol station - to let them know.
From this we can see that the future of IoT relies just as strongly on mobile application development as it does in the development of the actual objects or platforms which are becoming connected, particularly when considering the context and method in which these devices communicate useful knowledge or data to their users.
The expansion of mobiles into the central hub of star shaped networks presents its own new problems however, such as increasing competition for mobile phone bandwidth and processing resources. This means that development for both smart objects and mobile applications will not only need to be efficient in the way that they are programmed, but efficient in the way that they communicate.
One key way to reduce the bandwidth time needed by each device is for both the device and the mobile application to have shared knowledge. This way a device can have a library of all possible states of its multiple sensors and then only need to broadcast one packet of information to the mobile application containing the ID of that state in the library, rather than having to communicate the readings of each sensor independently.
Overall, not only is the IoT an interesting industry development to follow, but for mobile application developers the work - and play - is just getting started.