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.