BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Is it Difficult to Write REST Clients?

Is it Difficult to Write REST Clients?

Leia em Português

This item in japanese

Bookmarks

Adam DuVander, from the Programmable Web,reported last week on a survey of API experiences which raised some of the largest problems developers encounter in consuming Web APIs, including the most popular APIs.

The Facebook API was mentioned far and away more than any other in long-form answers to questions about headaches, horror stories and other issues while integrating with APIs. Also mentioned often were Google APIs and the Twitter API. While it should be noted that all three are also among the most popular for developers, there are lessons to be learned in mining the results of this survey put out to Hacker News readers.

Trove, who ran the survey to evaluate the cost of API integration and maintenance, reported on its blog that:

[API providers] are not serving their developers well. There’s bad documentation. There are problems with services like OAuth. APIs randomly change without warning. And there’s nothing even resembling industry standards, just best practices that everyone finds a way around. As developers, we build our livelihoods on these APIs, and we deserve better.

[The] Biggest Headaches with API Integrations: Well, no surprise for us, but here’s a quick list of your major complaints:

  • Poor documentation (how you loathe poor documentation)
  • OAuth (oh wow, do you hate OAuth)
  • Poor error handling
  • Lack of example code
  • Lack of test environments
  • Lack of standardized libraries across languages
  • APIs that change/break frequently (huge shout out to Facebook here, like you’re surprised)
  • Normalizing data to match internal data structures
  • Line between use and abuse
  • Arbitrary throttling (differences between services)
  • Differing standards (REST v SOAP v XML-RPC, XML v JSON v POST, versioning v not, etc.)
  • Getting services to talk to a dev machine behind a firewall

Who Makes Your Life Easier: In general… No one! However, honorable mentions go to Mashery and Apigee.

In this context, Trove did find surprising though that developers felt maintenance improved with time.

One of our biggest assumptions was that the maintenance overhead for integrating services would get worse year after year... However, the survey results say the opposite.

They remain cautious about the interpretation of that answer and they plan on running another survey to better understand the meaning of the current one.

Rate this Article

Adoption
Style

BT