22 Apr 2016

A Question on API Design and Documentation

One of the projects that my team owns is the Concur Developer Center. Among other information, it houses the documentation for Concur's Web APIs. The documentation for the more recent API versions uses Swagger and until recently was generated by reflecting over the .NET API code. There were a bunch of problems that resulted from this approach as I'll describe in a second. But there's also some interesting trade-offs about the kind of APIs you get by focusing on service contracts as your primary design artifact.

08 Oct 2015

Growing Pains

If there's one thing that I want for the 10 of you that read this blog (hi dad!), it's that you know that I want to be as transparent as humanly possible with you - about both the successes and failures. I started with Concur as a development manager about a year ago and was promoted to director a few months ago. This is post is an update of what's gone well, what hasn't gone as well, and some areas where I'm not really sure whether what I'm observing is good or bad.

28 Sep 2015

Configuring Akamai with S3 Static Websites

For the next generation of the Concur Developer Center, we decided to break away from the standard enterprise, CMS-backed Web site and do what has become pretty common practice in the open source world for Web sites: we generated a completely static HTML Web site from markdown files using Jekyll.

22 Jun 2015

I lost a friend today

I have a million and one things that I should be doing right now. There's code that needs to be reviewed, more code that needs to be written, customer calls to prepare for, expense reports to approve (and submit).

24 May 2015

On API Gateways

Do you or your company build Web APIs and, if so, do you use an API gateway to broker traffic between your customers and your products? In this post, I want to tell you a little about our experience with this class of products and add a little of my opinion, but if you're using an API gateway, I want to hear about your experience - the good and the bad.