Archive for the ‘Interop’ Category

I got a feeling

A feeling deep inside.

Oh yeah.

1 2 3

A Busy Developer’s Guide to RSS 2.0

Disclaimer: This is not spec text.

Okay, so you’re busy and you’d like to get a quick implementation of RSS up asap and have it work with the largest number of feed readers and aggregators. Coool. Here are some tips for that will make your work go more smoothly, based on the experience of real developers.

1. Find a feed that’s popular and do what it does. This is the best advice you can get, for any format any time. If you do exactly what the New York Times does, or what Yahoo does, or what my feed does (it was the first) then you can’t go too far wrong, because all the feed readers will have had to deal with whatever these feeds do, because they are so popular, and old.

2. If you’re doing a podcast feed, at most one enclosure per item. There’s been some controversy about whether or not you can have more than one, and the spec doesn’t specifically disallow it, but if you want maximum interop, you shouldn’t have more than one enclosure per item.

3. No relative URLs. In your descriptions, and in links, all addresses should be absolute. Most readers and aggregators won’t do anything special with relative URLs, so your links will be broken in those tools if you use relative links.

4. Don’t include markup in any elements other than descriptions, at the channel level and at the item level. Where you include markup, you should encode ampersands and less-thans in the way proscribed recommended for HTML by the W3C.

5. Avoid using elements in namespaces when there are already core elements that do the same thing.

6. Use namespaces that are already in use by others before inventing new ones.


1. Thanks to Tim Bray for providing a great checklist to work from. 🙂

2. If this actually gets used by a lot of people, perhaps we should have a way for a feed to notify a reader that it is following these guidelines.

3. This is an informal document, and always will be, and it’s still very much a draft and a request for ideas. It is not spec text. If you think something belongs in this profile, post a comment, let’s consider it.

4. If have strongly differing ideas, please by all means, post your own BDG.

5. Some people will say I’m stupid, or corrupt, or incorrigible, even toxic, or any number of negative personal things. What they’re really saying is they don’t like me. That’s okay, no one is liked by everyone. It doesn’t hurt my feelings, and you shouldn’t worry about it, because I don’t.

6. Namaste y’all!

Getting my data out of Flickr?

I was at lunch today with Mike Arrington and a question came up — how do I get my data out of Flickr? I found out the other day that my RSS feed only has the ten most recent pictures in it. So how do I get the rest of the pictures out?

Don’t dis your competitor

There are some very practical time-tested reasons for not dissing your competitors on a personal level.

Like it or not you share a market with this person. How are you ever going to woo away his customers by saying nasty stuff about him to people who like his product? If you waste time talking about the person, people will quickly assume your product isn’t as good as his.

Instead, try saying something like this. Paul is a hell of a nice guy, and his product is excellent, but ours works better for people like you. Hell, if it were about who’s nicer, you should buy his product because he’s much nicer than I am, and smart as a whip! But as luck would have it, our product is better for you. It has more vitamins, gets better mileage, lasts longer, smells better, gets the job done faster, for you, the most important person in the world.

Now if you make it all about how the guy who makes the other product hasn’t bathed in a month, and flunked a math test in 7th grade, well that leaves people wondering why you aren’t talking about the product.

Maybe it’ll turn out that your product is better for one thing, and theirs for another, and everyone can be happy. But dissing your competitor on a personal level makes you look like a loser.

How to save a Gmail message?

This should be a real simple thing to do but I can’t figure out how to do it. I have about a dozen messages in my Gmail inbox that I want to save to my local hard disk. How do I do it? I’ve scoured the online help and have come up with nothing. I admit I should have checked this out before making it my main mail system. I hope the answer isn’t Save Page As in the Firefox File menu.

This is a test post

I am at the headquarters of SixApart in San Francisco, and we’re going to see if we can get this to work with Movable Type.

Niall and I are heading over to SixApart

Matt Mullenweg wouldn’t come out to play, so Niall and I are going over to SixApart to get WordPress.root working with Movable Type. Hehe.

This a demo of the software I is talking about.