2006-03-22
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 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.)