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 pointed out in one of our recent blog posts, web APIs significantly increase functionality – functionality you wouldn’t otherwise have – empowering 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 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 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. And 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. But for the purposes of this blog, 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.
SMS. 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. 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.
Data analytics. Getting good data analytics is one of the more complex functionalities in the IoT. What makes this even more frustrating is that it’s required by many IoT devices. But 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. 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.
In addition to these web APIs, the Golgi Programmable Device Cloud can help you get your prototype to market easier and faster. Golgi essentially bridges the divide between embedded devices and the relatively heavyweight HTTP protocol by allowing you to access a device with your own custom web API. Golgi also enables you to access third-party APIs from an embedded device. With this capability, you could get time by calling from your embedded device to a time web API. You could also call to an SMS API to send an SMS, or to a data warehousing API to upload application data. Golgi offers a lot of extensibility, so you can easily build in access to all the other APIs available in addition to your own.
No matter which technology you 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.