What should the Poderopedia API look like?

142 views
Skip to first unread message

Miguel Paz

unread,
Jul 20, 2012, 1:48:50 PM7/20/12
to poderope...@googlegroups.com
Hello everyone:

We are starting to think of what our Poderopedia API must have, do and provide. For starters 

1. We are working on the basic premise that a good API is one that it`s creators use for rolling out improvements and services for their own projects. 

2. The API should be easy to use and must be based on proven standards already approved by the community

3. Here is the information you will be able to extract from Poderopedia

-Basic info of a person, company or institution (basic bio, avatar, industry, country, website, social media)
-News oriented profile
-Hard data sheet of connections (father of, son of, brother of, married with, owner of X company, stock owner of Y company, General Manager of Z company, Board Member of A company, Member of B private club, related to D religious group, financer of E Political Party, Government possitions, relation to think tanks, relation to non profits, etc.)
-Visualization map of those connections
-Documents related to the person, company or institution (we are using Documentcloud`s doc viewer integrated to Poderopedia)
-Sources of information 

All the information above is marked with PoderVocabulary, the controlled vocabulary used as metadata by Poderopedia

Questions and comments:

1. Should we develop a full-service API or different API `s for separate services?

2. HTTP method and RESPONSE format: So far we are leaning to HTTP / GET and RESPONSE / XML and JSON. If you have comments or advice on this topics please send it to the discussion group. We can all benefit from your prior experience and knowledge

3. API`s that we like a lot (for services provided, how they are delivered and the documentation):

Poderopedia grupo de discusión / discussion group

unread,
Jul 20, 2012, 2:13:34 PM7/20/12
to poderope...@googlegroups.com
Dan Nguyen from ProPublica just suggested this:

Here's a few good resources:

Slides form Joshua Bloch of Google, http://lcsd05.cs.tamu.edu/slides/keynote.pdf

I think you'll find the overarching theme is: have great documentation.

Not everyone's a fan of the Twitter API, but their documentation is very well laid out: http://37signals.com/svn/posts/3018-api-design-for-humans/

Poderopedia grupo de discusión / discussion group

unread,
Jul 20, 2012, 2:35:44 PM7/20/12
to poderope...@googlegroups.com
Travis Swicegood, from Texas Tribune says:

I've been enjoying API: A Strategy Guide from O'Reilly.  I haven't finished it, so I don't know how strongly it finishes.  Might be less practical than you're looking for.  Ben Ramsey has given many talks on REST principles (here's one from a few years ago[2]).  I'd spend some time looking into that.  The new Twitter APIs are RESTful and tend to be much better than their existing one.

To mirror what Dan said, documentation is a big part of an APIs success.  Considering writing at least high-level documentation for your API prior to spending a lot of time implementing it.  The parts you have a hard time explaining or have to spend a lot of time on are parts to consider refactoring.

Also like Dan, I didn't read the whole email -- I just saw that you wanted this discussion somewhere else. :-)

Poderopedia grupo de discusión / discussion group

unread,
Jul 20, 2012, 5:35:36 PM7/20/12
to poderope...@googlegroups.com
_Clément Renaud says:

@all
Thanks for sharing those interesting sources.
I have made a write-up about API design on our research center website, but it still largely to be improved. 

All comments are welcome, of course !

cheers



El viernes, 20 de julio de 2012 13:48:50 UTC-4, Miguel Paz escribió:

Alvaro Graves

unread,
Jul 20, 2012, 6:45:39 PM7/20/12
to poderope...@googlegroups.com
http://www.slideshare.net/jmusser/what-makes-a-great-open-api

Alvaro Graves-Fuenzalida
Web: http://graves.cl - http://ManzanaMecanica.org Twitter: @alvarograves


--
Has recibido este mensaje porque estás suscrito al grupo "Poderopedia grupo de discusión / discussion group" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a poderope...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a poderopedia-us...@googlegroups.com
Para ver este debate en la Web, visita https://groups.google.com/d/msg/poderopedia-users/-/aZ6__D1WWrEJ.

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Miguel Paz

unread,
Jul 20, 2012, 7:40:21 PM7/20/12
to poderope...@googlegroups.com

Terry Jones

unread,
Jul 23, 2012, 4:43:19 AM7/23/12
to poderope...@googlegroups.com
Hi Miguel

A few quick comments following your mail to the FOO list:

 - Don't do XML at all to begin with (and preferably not at all). You can add it if people ask for it, but don't be surprised if no one does.
 - Consider using JSONRPC. That way parameters to your calls are in JSON payloads, which can eliminate some issues with encoding and may make the back-end side simpler & more uniform. Downside is that interacting with your API from the command line with curl, wget etc becomes more awkward.
 - In your JSON responses, be careful not to make decisions that will be severely limiting in the future (and which will require compatibility changes or support of multiple API versions where that could be avoided). E.g., if you have a list of results, don't return a JSON list like [ result1, result2, .... ] but instead return { 'results': [result1, result2, ... ] } which is much more future-proof as you can add more fields to the returned object without breaking anything.

I'll comment further if more comes to mind.

Terry Jones
CTO, Fluidinfo

Miguel Paz

unread,
Jul 23, 2012, 1:39:48 PM7/23/12
to poderope...@googlegroups.com
Thanks Terry
I just saw your Cookbook too.
Great input

B Lorica

unread,
Aug 1, 2012, 2:19:04 AM8/1/12
to poderope...@googlegroups.com
Hi Miguel,

#foocamp alum and API aggregator, John Musser, founder of ProgrammableWeb has some new slides up, that I thought you may want to scan:  http://www.slideshare.net/jmusser/what-makes-a-great-open-api 

Ben


Miguel Paz

unread,
Aug 1, 2012, 9:43:55 PM8/1/12
to poderope...@googlegroups.com
Thanks Ben!
Reply all
Reply to author
Forward
0 new messages