I received another article from Jenny Holt related to the hot topic being Internet of Things. Hopefully you will find it helpful in understanding what IoT is all about.
Software Development and the Internet of Things
The Internet of Things is bringing a new set of challenges and opportunities to software design and development. The interconnectedness that IoT provides, is spawning new tools and techniques for developers as this burgeoning opportunity becomes a reality.
Previously, software only needed to be developed to work on specific hardware. Now, smart ‘things’ have to collect and transmit data to an intelligent system of software that manages devices and networks, and stores, organizes, and processes data. This data is subsequently presented to the end user in a way that makes it useful.
Multi Step Approach to IoT
The programming of a smart device has three parts. The first is the device itself, the ‘thing.’ This could be a refrigerator, a self-driving vehicle, a building, a LED light system, or any of hundreds of other items that combine using IoT. These things usually have a low-power processor and a wireless connection, but no screen. The second part is the software that sends and receives data from the device and runs in the cloud. Finally, the analytics takes the data and processes it to make it useful. This web app, mobile app, or enterprise application is what the end user sees.
Each of these three parts requires specialist programming. The coding of the device itself is usually handled by the device manufacturer. This type of programming presents its own challenges since the hardware needs to be designed into the item that the user will use.
Introducing the Apple Watch
The Apple Watch, for example, was a challenge for Apple developers because it needed to be small, as consumers would expect a watch to be. Yet, it also had to have the capability to communicate with other devices and to collect and analyze data.
The other two parts, the communication, and analysis of the data are usually the purview of software developers. Because the hardware may be made by any number of manufacturers, the sheer number of discreet applications required has the potential to quickly get out of hand.
Fortunately, there are platforms that developers can use which already include the basics for these types of applications. Developers need only write the code that is specific to the device they are working on. Industry leaders like Microsoft and Oracle have IoT platforms, but a lot of the groundbreaking work is being done by startups like Bug Labs and ThingWorx.
These platforms will speed development and improve consistency in IoT development while contributing to the increase in connected devices and applications.