The software application development community is working hard engineering the APIs for the IoT, we will get there… eventually, so what’s the problem right now?
Not a series of commentary pieces as such, but definitely a serious enough issue to warrant a dedicated compendium of think tank insight in one form or another, the challenge of building Application Programming Interfaces (APIs) for the Internet of Things (IoT) is a debate that will take some serious discussion.
As already explained here on Internet of Business, APIs are the glue that hold applications and their component parts together and form an irreplaceable communications bond between different software program elements and data streams.
What’s the problem with IoT APIs?
The lack of API standards is causing connection, security, metrics, data refreshes, performance and rate limits to suffer. Without these much needed standards, we will struggle in our attempts to connect the devices which we so dearly want to get online for the IoT as it takes shape.
Andy Beier, director of engineering at business intelligence and data visualization company Domo has been very involved in the API Standards initiative.
Because of the benefit API standards could bring, Domo is emphasizing OAuth specifications, reporting APIs and other solutions to address this problem. The company has even started a “Standards for APIs” initiative to bring thought leaders in this space together and help them agree on the best path forward.
Internet of Business caught up with Domo’s Beier to put some questions to him on the lingering challenges with APIs that need to be addressed.
What are the main challenges?
There are two categories that need to be addressed explains Beier:
1) Everyone needs to standardize on the latest OAuth specifications. This by far has proved to be the easiest, most secure and reliable way for people to share their data with another system through APIs. Most of the big companies have done this but it needs to be done ubiquitously. The vast majority of APIs do not use the OAuth specification. Without a standard implementation of OAuth, pulling the data from the device becomes much more difficult. As you try to connect to those APIs, the connection can easily break, especially when there are changes such as if a user changes his/her password. The interruption of service degrades the ease of use for the one trying to power it up.
2) Getting reporting APIs vs. base data APIs. Base data APIs allow you to pull data but when you want metrics or measures out of it you have to recreate the algorithms on your end in order to get the numbers you want. With reporting APIs, which most use cases call for, you can ask questions and get the number right then. For example, with a base data API, if I wanted to pull all of my sales from the last year, I would have to get all the data in that year and then add the numbers to come up with what I want. With a reporting API I could ask for the year’s sales and it would automatically give the year’s total.
“APIs fundamentally need to be structured in a way where you can go to the system, ask a question and then get a metric in a reporting fashion. This will reduce calls on APIs and make a better experience for everyone.”
What stops IoT ‘data flow’ in enterprises?
“For the enterprise to adopt IoT devices they have to support enterprise standards with authentication, encryption and protocols. For example, we recently purchased a system at Domo that would track our electrical usage but when our electrician installed it we found that the device did not support the latest WiFi standard. It functioned on a 2 Gig standard instead of the 5 Gig we are set up on. Now our IT department has to make a special set up in order use the product. The greatest barrier in IoT flow is that many of these devices are not created at an enterprise standard making it more difficult for companies to benefit.”
What stops IoT ‘data flow’ outside the enterprise?
“If we look past the simpler IoT devices like the FitBit, ease of use becomes a barrier to consumers. The average person is not going to buy a $300 device and then pay an electrician to install it. Smart thermostats for example can be installed but if it blows the fuse in your furnace and your HVAC people tell you never to put it back because of electrical problems, consumers will lose faith in IoT. The barrier to entry is that consumers don’t know the proper voltages, dangers, etc. to make the more involved IoT devices useful. They think they are going to save money on their cooling bill but end up spending thousands on a neat wall ornament. IoT for consumers needs to be easy enough to integrate simply with their current world.”
How do we orchestrate IoT device communication?
“Orchestration is the vision of Domo. Users want to take all of your connected device data (electric usage, heart rate monitor, vehicle metrics, etc.) and cross tab those numbers to make decisions. But if a user has to extract all the data, put it into a sheet and come up with their own algorithm to determine actionable numbers, most will not end up doing that work. Right now users have to maintain all these different IoT accounts and it’s cumbersome. Companies need to be thinking clearly about API and reporting strategies in order to make these systems work together.”
“Right now companies’ core focus is making great products but if their core focus doesn’t include making a great API around the product’s vision (to allow for an ecosystem of apps/services to be built on top of it), it leaves room for competitors with an API first strategy to come in and conquer.”
“Also, There are two types of IoT devices, those that collect data and those that allow you to act on data collected. If I have a sensor tracking lighting, recording it is one thing but another device would adjust the light bulbs in my house accordingly. As we go forward, we will see two distinct things, actionary devices and data collection devices. Then we will see those two become married together.”
What is Domo doing to help?
“We have worked closely with APIs for the past five years at Domo and in that time have clearly seen that those who execute an API strategy well make a better experience, not only for their customers but also for themselves in terms of stability and availability. Those who have a good API strategy quickly pull away from the pack.”