You always want to get your application out of the prototype phase and into production as fast as possible. If you can do that, you have more time to spend refining and polishing your product.
Fortunately, prototyping is much easier – and often faster – when you use web APIs.
As we have pointed out in one of our blog posts, web APIs significantly increase functionality that you wouldn’t otherwise have and empower you to reduce the effort it takes to create your app.
Making it Easy With HTTP
So how do web APIs specifically make prototyping faster and easier? For starters, they’re based on the ubiquitous HTTP protocol, something that every developer knows how to use. If you’ve created a web or mobile app, you’ve used HTTP. It’s simple and extremely flexible, and most platforms have HTTP libraries. That means that HTTP services are able to reach a huge range of clients, from browsers to desktop apps to mobile devices.
HTTP is useful for many different forms of data transmission, from sample text to images and even videos. Basically, HTTP can be used for any type of data that isn’t streamed. This common, easy interface allows you to access extremely complex functionality.
There’s an API for Everything
There are web APIs for pretty much everything you need to do. One glance at this updated list of APIs will show you what we mean. For the purposes of this article, we’ll narrow the list down to focus on some of the main functionality you’ll be dealing with daily as IoT developers. With that in mind, here are some specific examples of how web APIs can help you simplify and speed up prototyping.
Speech to Text
More and more vendors are using speech-to-text APIs to add speech capabilities to appliances and devices. Samsung is one prominent example. The manufacturer has added a microphone on its smart TV remote controls for entering voice commands. Google has gotten in on the action, too, recently introducing a Voice Interaction API that enables apps to interact with users through spoken dialogue. For instance, when a person uses a smart home app to speak a command such as “Turn off the lights,” the API asks which specific room the person is talking about.
As cool as these APIs are, though, it’s important to keep security in mind because any conversations or other data could be transmitted to third parties.
There are many web APIs out there that can enable the sending and receiving of SMS messages, helping you avoid the need to build in the underlying infrastructure. One interesting choice is Plivo, an SMS API that contains message queuing, delivery reports, and real-time notifications and logs. Another popular one is the Twilio platform, which we talked about recently. Sending an SMS is one of the platform’s most common tasks.
Getting the Time
This is much easier using web APIs. You might be working with a microcontroller, for example, that doesn’t have a built-in time layer like a server or desktop would. But you could use web APIs to get time easily. The Tropo web API is one service that does this. Another example is TimeZoneDb, which offers a few APIs that do the same.
Getting good data analytics is one of the most complex functionalities in the IoT. What makes this even more frustrating is that it’s required by many IoT devices. However, it can be greatly simplified with APIs such as Opentracker, which is a big data analytics web API that offers an open service for measuring IoT devices. Similarly, Keen IO provides a set of web APIs that make it easy for developers to embed custom analytical dashboards and reports into apps.
Data storage is another complex functionality made simpler through web APIs. Probably the most common example is Amazon’s S3 API, which utilizes a web services interface to store objects using the company’s online storage infrastructure. Apigee is another solid offering. It features web APIs that provide a secure, redundant data store for storing and managing your app data. The store is backed by a NoSQL database, and you can use it to store and manipulate anything as a JSON object.
No matter which technology you choose to take advantage of, there’s no doubt that web APIs lighten your development load, helping you go from prototype to production in less time and with far less pain.