Flutterby™! : Organic APIs

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

Organic APIs

2009-02-05 20:10:08.128878+00 by Dan Lyke 2 comments

Looking at the new New York Times search API (thanks, Tara), I had an epiphany: We started out with CGI, that had a way to associate variables and values. We put XML on top of that, which then allowed more structured and hierarchical data to be represented. However, the schemes which have won out in actual usage are much simpler, they mostly revolve around a single string with name:value representation, ie: site:www.flutterby.com in Google, or byline:dowd here, with the interpretation of the untagged data left to the far end.

In short, letting a conversation happen in which the user and the service eventually agree on a syntax rather than trying to specify it up front. I think there are a lot of lessons there for software development.

[ related topics: Web development Content Management Invention and Design Software Engineering New York ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2009-02-10 06:42:44.894314+00 by: ebradway

Seeing the same thing in the geoweb world. Folks don't really like the OGC standards because they are too cumbersome for their needs: the classic "design by consensus". OGC's also not moving as fast as some people would like.

#Comment Re: made: 2009-02-10 12:17:09.986017+00 by: meuon

"Organic" code.. Laughing. I thought you were talking about my aberrations: lots of weeds, daisies, and a few elegant trees with great roots.

name:value works really well in my head. Easy to parse. Easy to type.

Every time I "design" something from scratch, it's just wrong. Start with something simple and the right ideas and it can grow. About the time it's almost mature you realize what you should have planted and nurtured. Sometimes I even get the time to start over.

XML has become the over-engineered over-defined kruft-pile of my nightmares. And we just fueled the fires by joining: MultiSpeak. Sounds like something from Orwell's 1984 NewSpeak, but in reality, the better interfaces/API's with a vendor are typically behind the scenes and constantly evolving.