Skip to main content
1 of 2
Kevin Montrose
  • 18.7k
  • 6
  • 35
  • 62

"Agile" API releases are a really bad idea, frankly.

The StackOverflow code base undergoes rapid iteration already, just watch the build numbers. On average we deploy at least once a day. Oftentimes these are just bug fixes, but a non-trivial amount of the time we're introducing new features or revising existing ones.

To take one feature for example:

  • The "interesting tab", announced November 9th
  • initial revision deployed (for testing) on the 3rd
  • formula revised the 11th

There are 3 different dates on which the API could have been revised, and the only certain one (the 3rd) is also the one almost invariably incorrect in very short order (8 days later in this case).

Remember, once its in the API (baring exceptional circumstances) it has to stay there until the whole version† is deprecated. This is promise #3 on our API announcement.

The right way to expose new features to an API is to let them bake on the site until we're satisfied with them, and then expose them. Which is basically what we're doing.

You'll note that nobody really does agile APIs. Twitter goes months only updating documentation and fixing bugs, and Facebook is notorious for not even bothering with the "fixing bugs" part of that.


Now, all that aside I do think its about time for another API version. We froze version 1 a little less than 6 months ago, and I guess a biannual API revision (or beta, or something) is just as good a schedule‡ as any.

I also don't think its worth blocking on writing (which has actually gotten harder, now that a few sites have custom post renderers). I'd like for the next version (perhaps just a point release) to be a refresh, exposing new features, fixing all the little issues with v1.0, making it easier to tweak [app] performance, etc. Maybe add user authentication, as while there are some tricky issues there in the absence of writing I'm more open to experimentation.

Its just a matter of finding the time.


As to Legal and Promotion...

Legal usage of the API is governed by the same agreement as the sites (subject to change at any time, etc. etc.) which is linked as legal in the footer of every page. Some additional guidelines (likewise, subject to change) are linked from my answer to the question you linked.

This ad (and a similar one, in a sidebar slot) has been running on SO (and possibly SU and SF, I forget) since the end of the contest. Its a link to the apps tab. Given that neither you nor anybody in the linked thread noticed, I doubt yet another ad (which would presumably replace some of the OSS ads*) would do any good.

†I suppose we could start deprecating methods instead of versions, but that'd put alot of burden on developers... for basically no gain.
‡Note, there will never be an official release schedule. Its a pointless constraint. I'm speaking in broad vagaries.
*The number of ad slots being finite, something would have to go.

Kevin Montrose
  • 18.7k
  • 6
  • 35
  • 62