Tim Bray finds an Irish web services standard and likes it. His description does sound good, rather RESTful and all, but Sam Ruby has good objections.
The points Sam Ruby make illustrate with great clarity why much more care than you think must always be taken in interface design. The natural tendency, even for good engineers, is to start fresh, and then to solve all the problems from your own ground up. As Ruby points out (and REST embodies), you can often use preexisting standards to great effect, if you use the preexisting standards carefully. You don't always need Yet Another Interface Layer. It also illustrates that other important aspect of good interfaces: Clarity and precision is not enough. Naturalness wins them over. So when an XML based protocol suddenly disallows UTF-8, and decides HTTP GET is not fancy enough for professional use, then that's a serious design flaw, because clients have every right to ask why? - And than because they don't bother to ask. They just choose the one where they don't have to ask.
[UPDATE] Sean McGrath points out in a comment below that the specs Ruby commented on are outdated. On McGrath's blog we find this tasty view of the future (unrelated) as well as this Haskell hacker joke which seems to have the hardest learning curve of any joke I ever came across. Not usualy considered a good quality in jokes, but yhen I also like JAPHs. Blog bookmarked.Posted by Claus at May 15, 2004 02:06 AM | TrackBack (0)