Open APIs: An indispensable link to customers

Public APIs let customers connect to you in new ways, but the interface must be easy for outside developers to work with.

1 2 3 Page 3
Page 3 of 3

Like most open APIs, the BLPAPI supports a variety of languages, so a developer can choose the best one for his app. Someone running an overnight batch process might choose Perl, or the recently released Python version. An electronic trading system would probably run on C or C++. Quantitative analysts, or quants, generally use the data in Matlab. The API also supports Java, .Net and C#, and Edwards says some developers are using an R wrapper as well.

One key to making an API successful lies in making it easy to use. Back in 2000, RedMonk's O'Grady says, APIs often used Web services protocols, but those proved too complex. Now about three-quarters of all APIs are REST-based, according to ProgrammableWeb, with SOAP a distant second. "Because developers overwhelmingly preferred this, it's now the dominant protocol for API systems," O'Grady says.

The Importance of Clarity

Another important requirement is having extensive, clear documentation, and tools to help developers do their jobs. Bloomberg's initial documentation was aimed more at the financial experts who are its customers, but it had to be reworked to tell developers what they needed to know.

Bloomberg will soon attempt to make BLPAPI easier for developers to use by providing a replay tool that will allow them to perform trial runs of their apps. Best Buy's BBYOpen also gives developers a set of tools, including a test console to run apps and an automatic widget generator. The World Bank offers a query builder that lets developers select options.

Tools and ideas for APIs don't all flow outward from the organizations; external developers often provide information and frameworks to help one another out. BBYOpen, for instance, offers libraries created by developers in Java, .Net, PHP and other languages. At the World Bank, there's a discussion forum where developers can ask questions and get answers from their peers.

"They don't wait for us to respond to questions in the forum," says Veerappan, who is working to add features to the forum and convert it into a knowledge base. "It's kind of interesting to see the knowledge that other developers have gained in the API."

Successful APIs tend to have MIT-style open-source software licenses; the World Bank, for example, uses an open source attribution license. O'Grady says one key to success is being very clear about the terms of service, and not having an overly restrictive license that discourages use.

For instance, he says Stack Overflow, a collaboratively edited question-and-answer site for programmers, has a very nice API, but the terms of using it are difficult to navigate. And he notes that Twitter irritated some developers by being too demanding about issues such as how the time stamp was formatted, or insisting that the word tweet be capitalized. While developers are unlikely to shun a widely used service such as Twitter for being difficult to work with, O'Grady says, "if your product isn't that popular [it's possible that] people will abandon it."

Cultural Resistance

Another nontechnological challenge to creating an open API is getting other people in your organization to cede some control, because they're likely accustomed to dealing with proprietary information and maintaining authority over their brand. "I had to do a lot of convincing," Bloomberg's Edwards says. "It's a different way of thinking, when you've been controlling your product." But he says it was important to distinguish between the market data Bloomberg sells and things like the symbology and software that the company doesn't need to control. "The time for all these proprietary interfaces is gone," he says. "It doesn't add value anymore."

Best Buy's Bendt faced similar concerns. "It was tough when we first started talking about an API platform," he says, noting that colleagues wondered, "What are they going to build? What if they create a bad experience?" The company addressed that with rules about how developers could use the data: They must attribute it to Best Buy, for instance, and they can't appropriate it for other purposes. Best Buy doesn't preapprove apps, but it does regular audits to make sure apps comply with the terms of service.

At the World Bank, there was concern that giving away data would mean giving up the revenue that paid for curation of the data. Fantom says the bank decided that a free model would be better for its main objective of fighting poverty. "By making these data available for free and using these tools, we've seen a massive increase in the use of our data," he says. "Once you start getting into this, it's pretty clear that this is the right thing to do."

All of these organizations say they are continually developing their APIs, adding new functionality, responding to feedback from developers and customers, and figuring out what data to make available. "You've got to release the right kind of data with the right documentation. Really, it comes down to what customer problems are you going to solve by doing what you do," Bendt says. "It's not a launch-it-and-leave-it type of capability. It's constant learning and constant improvement."

Savage is a freelance science and technology writer in Lowell, Mass. He can be reached at neil@stefan.com.

This version of this story was originally published in Computerworld's print edition. It was adapted from an article that appeared earlier on Computerworld.com.

Copyright © 2013 IDG Communications, Inc.

1 2 3 Page 3
Page 3 of 3
7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon