== Google Desktop and conditional GET (part 2) When I start grumpily thinking of ways to punish a program's bad behavior is about when it sinks in that I don't like it. Which means that Google Desktop has a problem. Back in December I wrote about [[Google Desktop and conditional GET GoogleDesktopAndCondGet]] and concluded that I didn't have enough evidence to really know what the heck was going on. Well, I have several months more data and more people using Google Desktop against me, and I've reached a conclusion: ~~Google Desktop doesn't do conditional GET~~. Most of the time it doesn't even bother trying, never sending _If-Modified-Since:_ and _If-None-Match:_ headers despite making repeated requests for the same Atom feed. A few clients sent the headers, but never updated them when DWiki returned updated information. One client has been sending an I-M-S header of 'Sun, 19 Feb 2006 10:44:42 GMT' for the past month, all the while getting updates; interestingly, it *did* change the _If-None-Match:_ header, but now hasn't updated it since February 25th. Here's a table about the requests since February 21st: | Total requests | 304 result | 200 result | Even tried | 3180 | 5 | 3175 | 715 (The 'even tried' category is any request that had an I-M-S or I-N-M, no matter how crazy.) These are not casual visitors; 19 different IP addresses requested at least one feed ten times or more. The most prolific one asked for one feed 597 times, and *never* included an I-M-S or I-N-M header. Not supporting conditional GET when fetching syndication feeds is bad. Not supporting it in something you expect to be widely deployed is really bad. I really had hoped for more from Google. (As always, the disclaimer: I like having readers and we have plenty of bandwidth. This is absolutely not a request for people using Google Desktop to stop reading WanderingThoughts.)