views:

7

answers:

0

I am developing a filtering proxy for feeds (rightload.info). A key UI element is a link or equivalent embedded in each entry that allows the user to express an opinion such as "like" or "dislike". A design goal was to support the largest number of feeds and feed readers (and browsers since the most popular feed readers are web based). The other design goal was to make the feedback action as inconspicuous and fast as possible, including leaving the current view largely unmodified, so as to make the reading experience flow almost uninterrupted despite the feedback actions. Since feed readers "sanitize", that is strip or modify content, in rather heavy and unpredictable ways, this is more challenging that it sounds. In particular, no javascript is allowed. My plan was to embed a simple a href element and have the server return a status code of 204, which according to the w3c should tell the browser to keep the current view ("if the client is a user agent, it SHOULD NOT change its document view from that which caused the request to be sent" ). I've seen this technique used in simple ecommerce sites and, despite being a little disconcerting because of the almost complete lack of visual feedback, it was my first choice. Unfortunately the most popular feed reader, google reader, forces all a href element to have a target of _blank which causes all browsers I tested to open a new blank window or tab, irrespective of the returned status code. My current workaround is to return a 200 instead, print an ack message and immediately close the window, but this is not well received by users. It could very well be that, due to the variable, quirky and undocumented ways in which feed readers process feed content, this question has no solution, but I thought I would put it out there for the http/browser experts since I am just a lowly ML person.