Happiness is a well-designed API

Happiness is a well-designed API

Summary: The API director at Ancestry.com shares his secret to successful API delivery — consistency.

SHARE:

APIs continue to proliferate, everywhere — both inside and outside enterprises. It may be time for organizations to get a handle on how and where they are being used.

Harold Madsen, API director at Ancestry.com, calls for training in API development and deployment as a way to achieve consistency. In a recent post in InformationWeek, he says the way APIs are being developed in many companies — as was the case in his own — is problematic.  "As companies build their API programs using multiple teams, APIs tend to develop their own personalities and become radically different from one another. That's a problem," Madsen says.

There's a tangible business case to be made for API consistency, he says. Having one consistent set of APIs means faster time to market. As he explains it, developers wouldn't have to re-invent the wheel every time they develop or consume APIs. Plus, he adds, it will make developers or software engineers a lot happier.

To put all its API developers on the same page, Ancestry.com established a platform that includes tools and wikis that provide guidance to its developers regarding API development. The platform included a platform portal wiki, development standards, technical knowledgebase, documentation hub, newsletters, and API design training.

As with any software project, documentation is the key to ensuring consistency. The API design training also was an important component of Ancestry's API program, Madsen adds. And, along with the business benefits, it increased the overall job satisfaction of the company's software engineers.

Topics: Software Development, IT Priorities

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

3 comments
Log in or register to join the discussion
  • Except one person's "consistency" is another person's "copyright violation"

    Yes, consistency for APIs has always been a Good Thing. For example, in the Java world, how JUnit and TestNG implement the parameters for the assertXXX() functions in the opposite order! And how java.lang.String is an immutable object, yet java.util.Date isn't.

    Just checking: Is Ancestry.com going to waive any potential copyright claims for APIs written after having consulted its "tools and wikis"? By rights, this notion should be laughable, except for Oracle's antics in the Courts recently.
    Zogg
    • BTW - those Java examples are things I *dislike* about Java.

      And I dislike them *because* they are inconsistent. (*Sigh*. Oh, for an edit button... If only ZD-Net were consistent with other message boards...)
      Zogg
  • "Having one consistent set of APIs...

    means faster time to market. As he explains it, developers wouldn't have to re-invent the wheel every time they develop or consume APIs. Plus, he adds, it will make developers or software engineers a lot happier."

    Amen. Check out RAML.org. It designs APIs so they are human-readable and use patterns so you can re-use what you write to speed up the design and development process and eliminate errors from "re-inventing the wheel" each time.
    Craig_24