The importance of Application Programmer Interfaces (API’s)

As more and more devices are network connected the ability to control these devices opens the door to developers. Developers tend to think vertically addressing the needs of specific customers.

Designers of the core products have their own set of features, releases and deadlines to meet, so they are very rarely in a position to customize their products for a given customer.  APIs allow downstream organizations to add value by doing the extra work.

When designing an API, it is important that the vendor provide a simple socket based, plain English control interface. Many of the downstream groups are not interested in dealing with more complex protocols. There are a number of vendors that provide more than one interface. Lifesize and Magor are visual communication companies that provide both a REST (Representational State Transfer) and basic control interface. REST is the default standard for web based API’s.

Web based API’s are available from organizations like Google that give programmers access to many of the Google services, like Google maps. If the project’s user interface will be web based, REST does make programmers life much easier. Devices currently found in boardrooms for communication and device control however, are typically not web based.

It’s probably easiest to describe the importance an API with a real life example.

When designing software there are an infinite number of ways a product can be used, so design teams focus on the most common subset. If we consider visual communications, most legacy systems use remote control devices similar to what you have for your home TV set. These interfaces are limited to the on-screen user interface which can require a large number of clicks to perform a single action.

If you want to call a remote location on a Tandberg videoconference system, you have to work your way through the menus until you find an address book entry and then press enter on the remote.

Resellers commonly add devices like AMX and Crestron controllers for boardroom systems to make driving the video conferencing equipment easier for executives. This would not be possible without an API.

Crestron provides resellers with a development environment that connects to remote devices via RS232 or Ethernet. Once connected the environment defines a state machine that reacts to commands and responses. The end result is a touch screen control that provides executives with a one touch call capability. The Crestron controller often controls lighting, window shades, positioning of screens, audio settings and various other in room systems.

Applications for Android and Apple devices are also staring to find their way to the boardroom. In both of these cases, the devices communicate over Wifi to the API’s on the devices that they will control.

Some more advanced systems, like the ones from Magor, have simplified the user interface to the point where one-touch devices are not required for most installations. There are always exceptions however, like cases where the room is so large it is difficult to see an on-screen user interface.  For those cases, applications for Apple devices and Android devices are available for remote control.

For developers it is important to look at your user interfaces and make sure that everything that can be done from your user interface can also be done from your API. This is one of those “easier said than done” situations, but it is a very effective guideline.

Another example of a vertical application with special requirements is the education vertical. In many cases classrooms have requirements for sharing presentations both locally and remotely, recording video, audio and presentation material for publication, document cameras for viewing paper documents and objects and PTZ cameras to gather content from several positions in a classroom.

There are vendors that specialize in recording and broadcasting content., vendors that specialize in content compression and transport, vendors that specialize in simple user interfaces and other vendors that specialize in lighting, sound and post production. There is no one vendor that does it all. This means that an integrator is typically required to deliver a complete integrated solution. All of these suppliers have API’s that make the integration and solution possible.

API’s protect your investment by creating options for the future. If it doesn’t have an API, don’t buy it.

 

This entry was posted in General and tagged . Bookmark the permalink.

4 Responses to The importance of Application Programmer Interfaces (API’s)

  1. Pat Beirne says:

    REST is also a nice way to run test coverage, or measure system response times. Python talks to REST quite nicely.

  2. read this says:

    Hey there would you mind letting me know which web host you’re utilizing? I’ve loaded your blog in 3 different internet browsers and I must say this blog loads a lot quicker then most. Can you suggest a good web hosting provider at a reasonable price? Thanks a lot, I appreciate it!

  3. outlet says:

    Thanks for taking this opportunity to discuss

Leave a Reply

Your email address will not be published. Required fields are marked *