Small victories, much delayed...
Aug. 16th, 2009 08:28 pmTen years ago, Microsoft came out with an NNTP server, and with it came the usual collection of "embrace and extinguish" extensions that Microsoft loves to tack on to various protocols in the hopes of owning them and putting everyone else out of the game.
One of the most annoying things about the Microsoft newsserver/newsreader pairing was that all of MS's "new" protocols violated an old standard. The standard, in NNTP, and POPx, and most of the protocols with which I'm familiar, is this: if the search or filter criteria for a collection of items results in no matches, an empty list is returned. This seems obvious, right? You search for something, and there are no results found, the list comes back empty. If the client wants to display something, it can detect an empty list and say, "Sorry, no results found."
But no, Microsoft does things its way: the server returned an error code and no list. There is no conceivable reason that a successful search with no hits should return anything other than the result of a successful search with no hits, i.e. an empty list.
I'm pleased to note that the current standard for search-over-NNTP does things the correct way. I was one of many people who protested loudly over this extension that required clients to recognize a new error code-- and would break clients that didn't know what to do with it. In the latest standard, RFC 3977, when you don't find what you're looking for, searches and queries return success-- nothing went wrong-- and empty lists.
One of the most annoying things about the Microsoft newsserver/newsreader pairing was that all of MS's "new" protocols violated an old standard. The standard, in NNTP, and POPx, and most of the protocols with which I'm familiar, is this: if the search or filter criteria for a collection of items results in no matches, an empty list is returned. This seems obvious, right? You search for something, and there are no results found, the list comes back empty. If the client wants to display something, it can detect an empty list and say, "Sorry, no results found."
But no, Microsoft does things its way: the server returned an error code and no list. There is no conceivable reason that a successful search with no hits should return anything other than the result of a successful search with no hits, i.e. an empty list.
I'm pleased to note that the current standard for search-over-NNTP does things the correct way. I was one of many people who protested loudly over this extension that required clients to recognize a new error code-- and would break clients that didn't know what to do with it. In the latest standard, RFC 3977, when you don't find what you're looking for, searches and queries return success-- nothing went wrong-- and empty lists.