inessential by Brent Simmons

What is Echo?

A number of people have asked me for an explanation of what the Echo project actually is.

I’ve stated before that while I’m not thrilled about it, my software will support it as long as it’s technically supportable.

That’s so you know where I stand. What follows is a stab at explaining it without advocacy either way and in terms that will be familiar to people who read this weblog.

What is Echo?

The point of Echo is to create a new format for syndication. It would be like RSS but different.

The second, related point is to create an API for editing weblogs. Two such APIs already exist, the Blogger and MetaWeblog APIs.

Why do this?

There appear to be two main motivations:

1. To improve on RSS and the current editing APIs, to do better. See for example Ben Trott on why we need Echo.

2. To deal with the political and personality issues involved with RSS and the current editing APIs. See Tim Bray’s conversation with Mr. Safe. See also Jon Udell’s conversation with Mr. Safe, which concludes somewhat differently.

Which is the bigger motivation? It’s hard to tell. I lean toward saying it’s the politics, but there appear to be a number of people interested primarily in the technical issues.

For more about the why of Echo, see the page on Motivation on the Echo wiki.

What will it look like?

It’s a safe bet that Echo format feeds will be XML. But the details are still being worked out.

If you’ve looked at an RSS feed, you’ve seen some stuff at the top about the feed (its title and description and so on) and then the rest of the feed is a number of news items. Echo will (most likely) look like this too.

See the EchoExample page. Nothing is set in stone yet, I think, but it appears that instead of having a bunch of item tags, as in RSS, there are a bunch of entry tags.

Were that the only difference from RSS, you’d have to say, “So what?” right now. I’ll note another difference, so you can get the flavor of the kind of ways Echo differs from RSS.

Each entry can have multiple content items. The same entry on a weblog could have a plain text version, an XHTML version, and so on. You can specify the language of individual content items.

Maybe that’s a big deal, and maybe not. (I’m not going to mention each way Echo differs from RSS.)

It looks like there are a number of such small things that may add up to a more flexible and complete syndication format. Or, it may add up to a more complex and difficult-to-generate and difficult-to-parse format.

Questioning Echo

One main criticism of Echo would be that it’s not really necessary: RSS and the current editing APIs get the job done. In fact, you could argue that they do the job fabulously well. Look how many weblog publishing systems there are; look how many sites support RSS; look how many newsreaders there are. If RSS was so broken, this wouldn’t be happening.

And if there are problems with RSS, they could perhaps be fixed by working with RSS rather than starting something new.

An Echo enthusiast would reply that RSS does indeed have some technical problems which can’t be fixed because RSS is a frozen spec and because politics gets in the way too much. An Echo enthusiast might also add that the politics of RSS is a barrier to wide adoption, so something that is completely vendor-neutral is needed. (Again, the two Mr. Safe conversations argue different sides of this.)

You might then ask what vendor-neutral means when Sam Ruby, who started the project, works for IBM and works on this with the blessing of IBM. You might also be getting into the realm of conspiracy theories and paranoia here.

You might also question the process. Tim Bray writes about too much creativity: “I am worried that the next-gen syndication process rooted in Sam’s Wiki is in danger of going seriously off the rails, because some of the participants have got the idea that it’s about trying to invent new technology or improve RSS.”

Design by come-one-come-all committee may make delivering a good spec nearly impossible, because so many people want to solve their favorite technical problem. Too many engineers may lead to an over-engineered format, which would subvert the goal of delivering a clear, well-specified, easy-to-use format.

Or not. If you like sausage, don’t go to the sausage factory. Sometimes beautiful things come from unsightly processes. Sometimes.