Thanks to Danny Ayers post entitled Attention, Attention.xml I finally found a link to the attention.xml specification that was referenced in Robert Scobles post Gillmor's report on Attention.xml is done where he wrote

One of my 2005 predictions is coming true. Steve Gillmor's report on Attention.xml is included in Esther Dyson's Release 1.0. Thanks to Mike Manuel for letting us know the report is now available for $80. I'll have to check our corporate library and see if it's available there (I believe it is).

Danny Ayers does a good job of taking a critical look at the syntax chosen for the attention.xml format. I on the other hand, have fundamental questions about the purpose of the format and how it expects to solve the problems highlighted in its problem statement. As at the time I wrote this post the attention.xml problem statement stated

  • How many sources of information must you keep up with?

  • Tired of clicking the same link from a dozen different blogs?

  • RSS readers collect updates, but with so many unread items, how do you know which to read first?

Attention.XML is designed to to solve these problems and enable a whole new class of blog and feed related applications.

These are rather lofty goals and as the author of a moderately popular RSS reader I am interested in solutions to these problems. Looking at the attention.xml format schema description it seems the format is primarily a serialization of the internal state of an RSS reader including information such as

  • what feeds the user reads
  • when feeds were added or removed from the users subscription list
  • the last time a user read a feed
  • the amount of time the user spent reading a post
  • which links in the post the user cliecked on
  • the users rating for a post or feed
  • etc

This list of data seems suspiciously like a format for synchronizing the state between multiple aggregators or an aggregator client and server. This makes it very similar to the Synchronization of Information Aggregators using Markup (SIAM) format  which I authored with input from a number of aggregator authors including Luke Hutteman (author of SharpReader), Morbus Iff (author of AmphetaDesk) and Brent Simmons (author of NetNewsWire).

Before going into some of the details around the technical difficulties in recording some of the information that the attention.xml format requires I want to go back and address the problem statement. I can't see how the internal state of an RSS reader serialized to some XML format solves problems like users seeing multiple blogs posts from people linking to the same item or determining the relative importance of various unread items in a users queue. The former can be solved quite readily by aggregators today (I don't do it in RSS Bandit because I think the performance cost is too high and it is unclear that this feature is actually beneficial) while the latter is bordering on an AI problem which isn't going to be solved with the limited set of information contained in the attention.xml format. In short, I can't see how the information in an attention.xml document actually solves the problems described in the problem statement.

Now on the technical and social difficulties of creating the attention.xml format. The first problem is that not every aggregator can record all the information that is required by the format. Some aggregators don't have post rating features, some won't or can't track how long a user was reading an item [which will vary from user to user anyway due to people's different reading speeds], and others don't record the user's relationship to the author do the feed. So attention.xml requires a lot of new features from RSS readers. Assuming that the spec gets some traction, I expect that different aggregators will add support for different features while ignoring others (e.g. I can see myself adding post rating features to RSS Bandit but I doubt I'll ever track reading times) which is the case with support for RSS itself within various RSS readers today. The fact that various RSS readers will most likely support different subsets of the attention.xml format is one problem. There is also the fact that logging all this information may be cumbersome in certain cases which would also reduce how likely it is that all the information described in the spec will be recorded. Then the problem is what to do when clients speak different dialects of attention.xml. Are they expected to round trip? If I send Bloglines an attention.xml file with rating information even though it doesn't have that feature, should it track that information for the next time it is asked for my attention.xml by Newsgator which supports ratings?

Don't take this post to mean that I don't think something like attention.xml isn't necessary. As it stands now I want to increase the number of synchronization sources supported by RSS Bandit to include the Bloglines sync API and Newsgator Online synchronization but they use different web services. It looks like Technorati is proposing a third with attention.xml. I'd love for there to be some standardization in this area which would make my life as an aggregator author much easier. Client<->server synchronization of user subscriptions is something that users of information aggregators really would like to see (I get requests for this feature all the time) and it would be good to see some of the major players in this area get together with aggregator authors to see how we can make the ecosystem healthier and provide a better story for users all around.

I don't believe that attention.xml is a realistic solution to the problems facing aggregator authors and users of RSS readers. I just hope that some solution shows up soon as opposed to the current fragmentation that exists in the syndication market place.


 

December 27, 2004
@ 03:58 AM

I tend to think it takes a lot of insensitivity to stun me but it seems like I was incorrect. I was taken aback by Robert Scoble's post entitled Where's the blogosphere on first-hand earthquake reports? where he writes

By the way, PubSub really rocks (it lets you search blogs only and build an RSS feed so you can watch a specific search term over time -- something none of the big three search engines let you do). My posts only took a few minutes to start showing up in the earthquake feed I built. There's remarkably little blogging going on about the earthquake.

It's really disappointing. Citizen Journalism is really failing here. Almost no first-hand reports.

The mainstream press kicked the blogosphere's a##.

This is probably one of the most insensitive and unthinking posts I've seen in a while. A giant tidal wave kills over twelve thousand people and Robert Scoble's first instinct is to complain because none of the survivors rushed to their blogs immediately afterwards to post about it.

Wow...


 

As promised in the RSS Bandit roadmap, the preview of the next version of RSS Bandit is now available for general download. You can now download it at RssBandit.1.3.0.12.Wolverine.Alpha.zip.

NEW FEATURES THAT WORK

  • Newspaper styles: Ability to view all unread posts in a feed in a Newspaper view. This view uses templates that are in the same format as those used by FeedDemon so one can use RSS Bandit newspaper styles in FeedDemon and vice versa.

  • Per feed newspaper styles: Ability to specify a particular stylesheets for a given feed. For example, one could use the slashdot.fdxsl stylesheet for viewing Slashdot, headlines.fdxsl for viewing news sites and outlook-express.fdxsl for viewing blog posts.

  • Skim Mode: Added option to 'Mark All Items As Read on Exiting a Feed' 

  • Search Folder Improvements: Made the following additions to the context menu for search folders; 'New Search Folder', 'Refresh Search', 'Mark All Items As Read' and 'Rename Search Folder'. Also deletion of a search folder now prompts the user to prevent accidental deletion

  • Item Deletion: News items can be deleted by either using the [Del] key or using the context menu. Deleted items go to the "Deleted Items" special folder and can be deleted permanently by emptying the folder or restored to the original feed at a later date.

  • UI Improvements: Tabbed browsers now use a multicolored border reminiscent of Microsoft OneNote.

  • Limited NNTP Support: Ability to add a news server via the Tools->Newsgroups menu items. Once added the available news groups on that news server can be queried.

NEW FEATURES THAT DON'T WORK

  • Subscribing to newsgroups
  • Ability to filter items in list view by some search parameters
  • Option of automatic upload/download of RSS Bandit state for synchronization purposes 
  • Column chooser to enable users pick what columns show up in the list view.

For a detailed log of the differences between the Wolverine alpha and v1.2.0.117 check out the RSS Bandit changelog


 

Categories: RSS Bandit

Jim Hill has a post where he comments on Michael Eisner's management methods as Disney CEO in his post What does a Yeti smell like?  where he writes

Michael Eisner is a micro-manager. Now, I know that that's not exactly a late breaking story. But I think that it's important to understand how truly obsessive Disney's CEO can be when it comes to getting the details at the company's theme parks just right.

Take -- for example -- the Dolphin Resort Hotel. When Eisner wasn't entirely convinced that the giant banana leaves that architect Michael Graves wanted to paint on the sides of this resort would actually look good, Disney's CEO ordered that a huge sample leaf be painted on the backside of Epcot's Mexico pavilion. Just so he could see if this particular design element would look good when it was done to full scale.

But Michael's almost-insane attention to detail doesn't just stop at just the outside of Disney's resorts. Oh, no. After all, for years now, Eisner has insisted that -- before he signs off on the construction of any new WDW hotel -- that a sample room from this proposed resort be prepared. One that features all the furnishings that guests will actually be using in this hotel.

This sample room used to be located in a backstage area at the Caribbean Beach Resort. I've actually seen photos of this squat square structure back when the Imagineers were testing design elements for the All Star Music Resort. Which is why these pictures feature a giant sample maraca leaning against this tiny brightly painting building.

As for the other part of this story ... That Michael reportedly insists on sleeping in each of these sample rooms before he will actually allow construction of the proposed resort to go forward ... That part, I've never been able to prove.

Although Jim Hill's intention is to paint Michael Eisner in a negative light with these examples I'm not sure I necessarily see them as being bad practices. Personally, I'd love it if I heard that Steve Ballmer (the CEO of the company that employs me) wouldn't allow Microsoft to ship a copy of Microsoft Money until he'd used it to manage his finances with relative success or that no MSN Direct SmartWatches should go out until he'd succesfully used one as his personal timepiece for a month or that no release of Internet Explorer would be shipped until he could browse any site on the Web without fear of his computer being taken over by spyware. Of course, I don't expect this to ever happen even if Steve Ballmer wanted to do this Microsoft ships too many products to introduce such a bottleneck in the product development process.

I do know people who've had VPs take personal interest in their products that have ended up disliking that level of scrutiny. One person even commented "Whenever I see a VP asking some nitpicky questions about one of my features, I wonder to myself why he's trying to micromanage my features instead of trying to figure out how to get our stock price out of the flat funk its been in for the past few years". Different strokes for different folks I guess. :)


 

December 24, 2004
@ 02:38 AM

Mark Fussell, my former boss, has a post entitled Smart Watch Frustration - A Christmas tale of where he talks about the various problems he's had with an MSN Direct SmartWatch. He writes  

  • I wander into the company store and excitedly purchase a Fossil FX-3001 at the end of Dec 2003. I have to wait 4 weeks before I receive it, so it was a belated christmas present.
  • I receive watch one in Jan, the plastic/metal carton nearly kills me, but I activate it and procede to continuously show my work mates how great it is and how I know exaclty where to be for my next meeting.
  • End of Jan 2004 - watch one goes blank and stops working entirely. Not a hint of life. I send it to the Fossil repair center. 
  • Feb 2004 - Get new watch two, register it, continue to enjoy it and proudly show it off again, especially to Arpan, who desparately wants one. 
  • Feb 2004 - Watch two starts to reset on an hourly basis to 12pm 1/1/2001, rendering it useless. I send it to the Fossil repair center again.
  • March 2004 - Get new watch three, register it and enjoy it and tentively showing it off. By now everyone is uninterested in it.
  • May 2004 - Watch starts to reset on a 2-3 hourly basis. Worse still I start to tell people the wrong time and cause confusing including one old lady in the street who asked my the time and then argued that I was wrong. I should have agreed with her. 
  • May 2004 - Nov 2004 - I suffer watch three.Whilst it is in a good reception area (i.e. around my home) it works Ok. If I go anywhere out of reception range (i.e. the steel buildings at work, 20 miles north of my house or the UK) the watch becomes immediately useless, resetting to 12pm 1/1/2001 continuously. i.e. it is not even a watch.
  • Nov 2004 - I give up. I send watch three to the Fossil repair center having spent 30 minutes on the phone with a technican trying to "fix" it.
  • Dec 2004 - Get new watch four which is a new design, the FX-3005. The clasp must have been invented by someone from the Spanish Inquisition and it takes me about 10 minutes to figure out how to open and close it. I take watch four out of its brand new box and set it onto the charger. There is no comforting "beep" to indicate that it is charging. I spend 1 hour trying every combination and position on the charger. The next day I speak to the Fossil technical help desk and they determine, as I did the night before, that watch four is a lifeless heap of metal and plastic.  I sent it to the Fossil repair center.
  • Dec 22nd 2004 - I recieve watch five which is also a new FX-3005. Curiously this one is not in a new box and is simply wrapped in bubble wrap. I take it out and note that it is ready charged, but at least it is working, being careful not to slash my wrist with the dangerous metal clasp. I leave it to charge overnight and sync my personal settings.
  • Dec23rd - In the morning I note that it still has not synced my settings, so I go to register the watch ID on the MSD Direct site. Worringly it replies that this watch is already registered. No problem, I phone MSN Direct. To cut a 40 minute conversation short, I am told to 'reboot' the watch by continuously pressing three painful buttons (it takes 9 attempts)  to generate a new 'dynamic' ID for the watch. It turns out that this is all in futility. And here is the crux. This watch was previously owned(by the ID) and the icing on the cake is that the ID cannot be reset and assigned to my account. I am told by the help desk that the only thing that I can do is send it back to the Fossil repair center. Aaaaargh.Aaaaargh.Aaaaargh
  • I witnessed a lot of this first hand and I was stunned at how problematic these watches were for Mark. The initial lure of the SmartWatch to Mark was having a useful, internet-connected device that would automatically track his schedule as well as keep up with news and sports scores. I also had a need for such a decide but decided to go with a SmartPhone instead.

     

    So far my AudioVox SMT 5600 has worked like a charm. It's a phone, a camera, it syncs with Outlook wirelessly so I always have an up to date email and calendar, it tracks traffic density, it can be used to catch up on news when I'm bored while I'm stuck waiting somewhere, and I've even used it to hit Google once or twice while on the go. Plus the form factor is all that and a bag of chips.

     

    I should to talk Mark into giving up on the SmartWatches and going for a SmartPhone instead.

     


     

    December 22, 2004
    @ 05:27 PM

    It seems there's been some recent hubbub in the world of podcasting about how to attach multiple binary files to a single post in an RSS feed In a post entitled Multiple-enclosures on RSS items? Dave Winer weighs in on the issue. He writes

    This question comes up from time to time, and I've resisted answering it directly, thinking that anyone who really read the spec would come to the conclusion that RSS allows zero or one enclosures per item, and no more. The same is true for all other sub-elements of item, except category, where multiple elements are explicitly allowed. The spec refers to "the enclosure" in the singular. Regardless, some people persist in thinking that you may have more than one enclosure per item.

    Okay, let's play it out. So if I have more than one enclosure per item, how do I specify the publication date for each enclosure? How do I specify the title, author, a link to comments, a description perhaps, or a guid? The people who want multiple enclosures suggest schemes that are so complicated that they're reduced to hand-waving before they get to the spec, which I would love to read, if it could be written. Some times some things are just too hard to do. This is one of them.

    And there's a reason why it's too hard. Because you're throwing out the value of RSS and then trying to figure out how to bring it back. There's no need for items any more, so you might as well get rid of them. At the top level of channel would be a series of enclosures, and then underneath each enclosure, all the meta-data. Voila, problem solved. Only what have you actually solved? You've just re-created RSS, but instead of calling the main elements "item" we now call them "enclosure".

    The value of RSS is fairly self evident to me but it seems that given the amount of people who keep wanting to reinvent the wheel it may not be as clear to others. As someone who used to work on core XML technologies at Microsoft, the value of XML was obvious to me. It allowed developers to agree to use the same data format for information interchange which led to a proliferation of a wide and uniform set of tools for working with data formats. XML is not an optimal format for most of the tasks it is used for but it more than makes up for this with the plethora of tools and technologies that exist for processing XML.  

    My expectation about XML was always that the software industry would move on to agreeing on other higher level protocols built on XML for application information interchange. So I've always been frustrated to see many attempts by various parties, including the W3C with efforts such as XML 1.1 and binary XML, take us steps back by wanting to fragment the interoperability promise of XML.

    RSS is a wonderful example of the higher level of interoperability that can be built upon XML formats. Instead of information sources using various incompatible mechanisms for providing information to end users such as NOAA's SOAP web service and the Microsoft.com web services which each require a separate custom application to consume them, sites can all standardize on RSS. This standardization creates an ecosystem of applications that produce and consume RSS feeds which is a lot larger than what would exist for each site specific web services or market specific XML syndication formats.  Specifically, it allows for the evolution of the digital information hub where users can view data from the various information sources they care about (blogs, news, weather reports, etc) in their choice of applications. 

    Additionally, RSS is extensible. This means that even if the core elements and attributes do not satisfy all the requirements of a particular problem domain, then domain-specific information can be added to the feed. This allows for regular consumers of RSS to still be able to consume the content while domain specific applications can give users a richer experience. This is a much better solution for both content producers and consumers than coming up with domain specific applications.

    As a user I want less formats not more. I want my email to come in my RSS aggregator, I want my favorite newsgroups to show up in my RSS aggregator, I'm tired of having a separate application for what is essentially the same kind of data. In fact, it seems Google agrees with me as evidenced by them exposing XML feeds for your GMail inbox and for USENET newsgroups via Google Groups. Unfortunately, if you have a plain old RSS reader, you can't view these feeds and instead have to find an aggregator that supports Atom 0.3. Two steps forward, one step back.

    We need less data interchange formats not more. It is better for content producers, better for end users and better for developers of applications that use these formats. Existing problems in syndication should focus on how to make the existing formats work for us instead of inventing new formats. 

    Vive la RSS. 


     

    Categories: Syndication Technology | XML

    Tom has a post entitled MSN Messenger contact card problem where he writes

    When MSN Spaces first became available, I signed up for a test space, not knowing what I would finally end up with.  I liked it and thought it was cool that from MSN Messenger 7 beta, you could navigate to my Space from my contact card.

    I deleted my first Space and created this one, having decided I would maintain it and wanted a fresh start.  ("MrTom" as a Space URL was already taken, unfortunately...).  But know MSN Messenger still displays my original, deleted Space, and clicking the links takes you to a 'page unreachable' error.  Ugh.  Restarting messenger, changing my messenger profile, waiting a day or two didn't fix this.

    I first contacted messenger tech support and asked "how do I" fix this, and they gave me some nonsense about changing my display name.  They didn't understand my problem.  This is probably because "how do I" questions get routed to the most basic tech support pool.  Now I've contacted the "I need something fixed" pool, and gotten a good response.  They don't understand the issue, but they're looking into it and will let me know.  That's all I expect for the interactions between two beta products.  I'm crossing my fingers they can fix this without me deleting my site and recreating my passport. :)

    For now, only the most random of people might read my blog, rather than my messenger buddies.

    This problem typically occurs because MSN Messenger has information about the deleted Space cached. A tip I got from the MSN Messenger folks is to clear your browser cache and delete the contents of the folder C:\Documents and Settings\YourUserName\Application Data\Microsoft\MSN Messenger. This resolves the problem in most cases.

    It should be noted that deleting that folder deletes purchased MSN Messenger content such as emoticons, backgrounds and theme packs. If you've purchased content for MSN Messenger and are having the problems mentioned above do not use the above advice as a way to solve your problems. Instead, contact tech support for alternate solutions.


     

    Categories: MSN

    December 20, 2004
    @ 11:40 PM

    I've read Robert Scoble's Dear Bill Gates: can we create an interesting music player? post and the ensuing flood of negative  feedback with some interest. The core ideas of the post are fairly naive but do an interesting job of exposing the prejudices and internal biases of both Robert Scoble and many of his readers who responded. The core ideas of Roberts post were

    1. Microsoft should get in the music player business or pressure some OEMs to listen to their design suggestions.

    2. Get big name celebrities to endorse it

    3. Try and ship it in time for next year's back to school season

    4. create a marketting blitz around it

    5. blog about it

    The ideas in itself except for the part about blogging aren't really original and are the kind of things that would come up in any 30 minute brainstorming session about what one would do if they wanted to compete with Apple's iPod. I'm also quite skeptical that blogging about a hardware product will make me any more likely to buy it over an existing market leader. There is no blog by the Apple iPod team or the TiVo team yet I love both products and wouldn't consider alternatives even though there are Microsoft employees who blog who constantly evangelize competing products.

    The rest of the ideas are either impractical (even if Microsoft wanted it couldn't get in the music player business in less than six months and OEMs aren't under Microsoft's control when it comes to their product design) or common sense (getting celebrity endorsements).

    What I find interesting is the intensity of the reaction to this post.

    One reaction which is obvious in hindsight is the assumption in this post that Microsoft shouldn't abide the fact that Apple is dominating a market it isn't directly engaged in. This is such a natural way of thinking of for Microsoft people ("we should be number 1 in every software/hardware/technology related market") that it is often surprising for non-Microserfs when they first encounter the mentality.

    Then there are those who thinks Scoble dissed the Windows Media team by (a) touting such obvious ideas as too revolutionary for them to have come up with and (b) implying that they are failing. I think these people are being a tad bit sensitive. However I also think it was unwise of Robert to be so dismissive of the efforts of the folks working in this area at Microsoft. Given that his day job involves getting product teams to open up to him on Channel 9, he isn't going to get much of cooperation from them if he keeps knocking their efforts. Another reason is that you never know who you'll end up working with. I remember once writing that MSN Messenger was one of the software applications I cannot stand only to get a rebuke from Scoble to make the post more constructive which I did. A year and a half later, and I'm on the team that owns the server for MSN Messenger. I have lots of little stories like this just from my experiences in the past three years at Microsoft. I definitely weigh my thoughts more carefully before posting anything negative about products or technologies in the software industry in general.

    For a while I've been frustrated by my experience as an XBox owner. I can't get games like Transformers Armada and DragonBall Z: Budokai at all while games like Grand Theft Auto: San Andreas won't show up until 6 months after they've been out on Playstaton 2. However I've never thought of posting an open letter to Bill Gates on my blog with a proposal to use celebrity endorsements, partnerships with game publishers and blogging to counter the dominance of Playstation 2 in the console market.

    Sometimes I wonder if that is a virtue or a vice. ;)


     

    Categories: Life in the B0rg Cube

    December 19, 2004
    @ 02:06 AM

    The longer I have my AudioVox SMT 5600 the more I begin to understand what  Russell Beattie has been preaching all these years. Yesterday I attended the Phoenix Suns vs. Seattle Sonics game at Key Arena. In between the 1st and 2nd quarters they were playing some songs by Lil Jon (having gone to school in Atlanta I smile whenever I hear "Skeet Skeet" in public) then lo and behold I notice Lil Jon below sitting courtside. My date informed me that he was scheduled to be in concert later that night.

    I quickly navigated to http://www.ticketmaster.com on my phone to see if I could get some tickets but it seems the site doesn't support mobile browsers. I've slowly begun to get hooked on having Internet access with me wherever I am. Email, traffic reports, movie times and more can now be checked anytime and anywhere. How have I managed without a SmartPhone all this time?


     

    Categories: Technology

    I saw a recent post from Dave Winer berating Yahoo! where he wrote

    Yahoo is the strangest most jealous and behind-the-scenes plotting and scheming of tech companies. When any of the other "giants" moves in RSS space I get plenty of advance notice so that I can help them promote it, maybe even make it better before it's announced. Yahoo, as a company seems jealous and insecure, seems to have as a goal, replacing me. Hey it's been tried before, probably isn't worth the trouble. And it's amazing for all the lack of respect, how much of my (unpatented) work they're using to reshape their company. If I didn't know better I might think that someone inside the company is claiming credit for my work and doesn't want the boss to know. ";->"

    I wasn't sure what this post was about so I did a little Googling and came upon a post on the atom-syntax mailing list entitled Yahoo and "Media RSS" which points out that Yahoo! has created a specification entitled "Media RSS" Specification Version .9 (DRAFT). I found it interesting that Yahoo! is throwing its weight behind a spec to replace the current mechanisms used for podcasting. I am not surprised that Dave Winer was irritated especially since some of the stuff in the spec seems extremely questionable (the media:people is a single element that can contain multiple people separated by the '|' character, attributes like playerWidth & playerHeight that are supposed to control how big the media player window used to consume content should be, etc).

    However before getting deeper into the Yahoo! specification I stumbled on a post by Danny Ayers on the atom-syntax mailing list which expressed some confusion about how XML vocabularies are defined

    Correct me if I'm wrong, but it looks a little broken:

    <media:content url="http://www.foo.com/movie.mov"; fileSize="12216320"
    type="video/quicktime"
        playerUrl="http://www.foo.com/player?id=1111"; playerHeight="200"
    playerWidth="400"
        isDefault="true" expression="full" bitrate="128" duration="185">

    The attributes aren't namespace-qualified, yet aren't defined in the
    RSS 2.0 spec.

    Danny Ayers seems to think that the absence of a namespace name on an attribute is equivalent to the attribute being in some 'empty' namespace along with other types that are in no namespace in that vocabulary. That is actually incorrect. The best documentation to put one straight on how to consider to elements and attributes in today's age of XML namespaces is the W3C XML Schema Primer. The XML Schema recommendation is the primary specification which describes how defining XML vocabularies in a namespace aware manner is supposed to work.

    An attribute with an explicit namespace name (i.e. that has a prefix) is a global attribute which belongs to a particular vocabulary. There is only one declaration of an attribute with that name (namespace URI & local name pair) in the vocabulary. On the other hand, an attribute without a namespace name is scoped locally to the element it is declared on and is only defined in the context of that element. This means in a particular vocabulary multiple definitions of an attribute with a particular name can exist if it is un-namespaced since it is scoped locally to its owner element. 

    Since Danny Ayer's is the co-author of the upcoming book entitled Beginning RSS and Atom Programming  I hope he does some more research on designing XML vocabularies before the book is published. A lot of the power of RSS is the ability authors have of defining their own vocabularies as RSS modules and I'd hate to see a new generation of RSS module designers inherit a bunch of bad habits because they read the wrong stuff in a book.