Ask HN: Which web API's would you like to be easier to use?

3 points by awwx ↗ HN
Which web API's would you like to be easier to use? What do you find painful about them?

I've noticed some common patterns in the things that I wish were already implemented for me when I've worked with web API's, so I'm thinking it might be useful to get these into a library or service so everyone wouldn't need to reimplement them every time.

For example, I always want to log every request sent and response received from the API (at least for a day or two), and how long each call took, since a remote API can always do something undocumented or have some transient problem, and I want to be able to figure out what happened. Not rocket science, but annoying to have to do every time.

And the process flow involving API calls often involve multiple steps (for example, we make a call, they return immediately with "ok, request received successfully", but then later they call one of our web hooks with the actual response). So providing some abstraction around the process could be useful, such as a providing a closure of the data used across the multiple steps and perhaps reifying the concept of a "step" would be useful.

Such effort would ideally start with some particular API to ground the implementation in reality: an API that is both painful to use and one that people care about.

And, in response to the comments of people who want or are building easier to use interfaces to existing API's, yes, I do want to hear about those. The part I'm thinking the most about right now wouldn't provide such an interface directly, but it might prove useful to someone who was implementing such an interface.

9 comments

[ 2.7 ms ] story [ 30.3 ms ] thread
I thought payment APIs were especially a pain (that's why I'm working on http://payfacade.com).
Yup, I've experienced a lot of frustration myself the couple of times I've worked with payment API's.
Great question. I've made a little bit of money making Authorize.net's AIM API easier to use in .NET: http://sharpauthorize.com

Now, authorize.net could replace their aim API with an easier to use soap one, and that might put me out of business - doubt it, because there are lots of free competitors already and I still do pretty well.

It's strange that they haven't added a SOAP interface tot he AIM API yet since they have it for both ARB and CIM. I didn't know about SharpAuthorize. I know there are a lot of half-baked .NET implementations for Authorize.net (and I've written a few myself) but I might use this for an upcoming project to save some time.
Good luck with payfacade. I think it's a good idea. I just have to ask though, are you aware of the PCIDSS implications of a service like this? Level 1 compliance which you will need can cost around a million dollars all said and done.

Btw, Are you using our ActiveMerchant?

Amazon S3, I want it to have a WebDav interface instead of the proprietary stuff they have. That way I can use different tools to save file to S3 directly - less hassle.

To make a bit of money you can take a percentage of the bandwidth charges, sell your EC2 appliance, or offer both options.

Have you tried http://www.jungledisk.com/ ? It maps S3 to appear as a drive or directory on your computer, so you can use S3 from any program or tool that can read and write files.

Or is there something specific about WebDav that you needed?

1. I don't want to install a tool on each computer. I want to set it up once and then use it from all of my {servers, macbook, virtual machines}.

2. I want the links resulting from upload to be directly and (sometimes) publicly downloadable without going through jungledisk. E.g. I use screenshot app called Skitch which saves screenshots to WebDav among other things. I want to be able to save screenshot and share it immediately.

You should look at SMEStorage.com. They expose Amazon S3 in a variety of ways and have lots of different tools, including Linux and Mac Virtual Drives.