Developing Tools to Support IoT
Konekt CEO Ben Forgan shares insight into developer toolkits and why they are necessary for IoT applications.
We know that most enterprises will be embracing the Internet of Things (IoT) -- if not now, then soon. Applications supporting IoT endpoints still need to be developed. Some of these applications will be software produced by vendors; others will be cloud reliant; and in some cases, enterprises may need to produce their own applications. In any respect, there will be a need for application developers who develop software to communicate, control, monitor, and manage IoT endpoints.
There are two basic types of endpoints to manage, sensors and actuators. Sensors provide information about the status of some device or person. It can be periodically sending data, or it can be polled for the data. In most cases, sensor endpoints will present a modest amount of network traffic. There will be occasions, however, where a sensor determines that certain changes in status or conditions will require a continuous stream of data.
The second endpoint is an actuator, which is used to control and modify the conditions of a remotely located device or endpoint. If certain conditions are satisfied, it is also possible that an endpoint can be both a sensor and an actuator.
IoT application design has many components, a good portion of which are for the management of these sensors and actuators: Here are some functions typically performed by an IoT application:
- Endpoint authentication
- Session creation
- Session destruction and logout
- User accounts and management
- Individual user billing details as needed
- User recent API activity
- Individual device data plan details
- Individual device details
- Device claiming and activation
- Device ordering
- Incoming and outgoing SMS management
These observations prompted me to reach out to Ben Forgan, CEO of Konekt.
Konekt is a Chicago-based startup that offers a unique developer toolkit and cellular connectivity for creating IoT or M2M applications. The tool kit is designed for anyone to build connected devices that work everywhere through a secure connection to the Internet via cellular.
In the interview, I posed several questions to Forgan relating to developing applications for IoT. Here's what he had to say:
When a developer takes on an IoT project, a developer toolkit is the set of resources that person uses to get their application up and running quickly, often in prototype form. It can consist of a number of tools, both hardware and software related, like a cellular data plan and SIM card to establish a connection to the Internet, an online platform or Web portal for managing device activation and billing, a virtual or cloud-based location to store data, and a number of additional components including development environments, API access and much more. A developer toolkit enables the person or team to quickly transform an idea into a connected application.2. Will there be enterprise developers as well as product developers and why?
Absolutely. There are companies of all sizes and focuses, as well as individual makers, who are working on developing applications every day. They can all utilize the ability to quickly and easily get a project up and running, manage or adjust their data plans or access cloud services.3. What differences will there be in their focuses?
Oftentimes an enterprise developer is specifically interested in utilizing an API and a cloud services router because they're looking for a better way to manage and store their data. It's possible that they have an existing platform and would like to just add a toolkit component via an API. Product developers find these features beneficial.4. Will the applications be independent or dependent on specific standards?
The Konekt kit is based on open standards like JSON and an HTTP/REST API so that it's easy for developers to integrate with other applications. Konekt plans to support communications to their cloud via multiple protocols. Their goal is to make the platform as independent of specific standards as possible.5. Will the applications be agnostic to the connection media (wired, cellular, internal wireless like Wi-Fi and ZigBee)?
A toolkit should be hardware and connection media agnostic. Konekt is strongly focused on cellular; providing affordable data plans that work with their cloud. If cellular is not being used, then any connectivity technologies to connect, transmit, and store data via our cloud.6. How long does it take to produce an application for IoT?
It really just depends on the complexity of the application and the developer's level of experience. There are some basic starter projects that take a few hours or less, while there are obviously more complex applications that can take months to build. The great value of developer toolkits is that they can enable a faster development process because they offer ease of integration across multiple projects and devices. They can help significantly reduce the amount of upfront programming and infrastructure development necessary.7. What training and experience is required to effectively use the tool kit?
Anyone who has even a modicum of experience programming can use the Konekt toolkit after spending a little bit of time reading through our documentation and online tutorials. You don't need a computer science degree.