Comments
Want Great APIs? Start With Training
Newest First  |  Oldest First  |  Threaded View
Li Tan
50%
50%
Li Tan,
User Rank: Ninja
6/4/2014 | 4:16:26 AM
Re: Not a new problem
Thanks a lot for the clarification, gentelman. I do agree with your points - invent your own wheel when necessary by facilitating the industry standards. Sometimes the border is ambiguious but there is no need to make such kind of clear distinction - the working solition is the king here.
hmadsen
50%
50%
hmadsen,
User Rank: Author
6/3/2014 | 7:17:39 PM
Re: Not a new problem
Great question David. Let me address it this way:

What is the Ancestry Platform? It is our unified, standardized, documented service APIs. It's not a shim or a package. Simply a standard way of expressing our public interfaces. To evangelize our Platform effort, we used readymade tools such as AnswerHub, Sharepoint and other off-the-shelf document publishing tools.  Nothing was home grown but our internal APIs.

For our internal development standards, we chose industry standards. Now, industry standards (such as REST) can sometimes be ambiguous or there can be conflicting opinions on best practices. In these cases, we made pragmatic choices that helped us move forward as efficiently as possible.

Thanks again for your question,
Harold
David F. Carr
50%
50%
David F. Carr,
User Rank: Author
6/3/2014 | 1:45:01 PM
Re: Not a new problem
I wondered how much of a roll-your-own solution this had to be. Presumably, Ancestry.com took advantage of some standard software for components like the wiki, but it sounds like the overall platform was custom built. Was there really no commercial or open source platform for documentation and code repository to take advantage of, at least as a starting point? Seems like there ought to be.
TerryB
50%
50%
TerryB,
User Rank: Ninja
6/3/2014 | 1:06:40 PM
Not a new problem
Wasn't that long ago this argument was applied to writing software in general. In the very beginning, it was the "modular" versus "spaghetti code" problem, going back to green screen days. There was also focus on user interface standardization, IBM made huge effort there to make sure F3 key was used for exit when possible.

Then GUI came along, bringing many more things to standardize in the code style and the user experience. Then the web came along, adding even more, especially in user experience since you could no longer send a User Guide with your website. Then AJAX, CSS and javascript changed things tremendously in coding standards. Web services brought SOAP and REST, where API use really started to take off. Now, with the SaaS/cloud eliminating you getting source code, the API is the new "source code" most developers get to deal with now. API's are essentially becoming a programming language themselves.

I've never seen a book/tech article yet that talks about best practices in API creation. It's great Ancestry has addressed internally but this is really an issue that needs to standardize across everyone, like the idea that modular top down code was better then spaghetti branching all over the place.

I wonder if API's are the final solution anyway. I tend to think this might morph into what goes on in OOP, where you can take a base class and extend it with much more functionality. Then we'll get back more what source code offered over API's.


Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest, Dec. 9, 2014
Apps will make or break the tablet as a work device, but don't shortchange critical factors related to hardware, security, peripherals, and integration.
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.