When defining a file format like Atom, a balance must be struck between simplicity and power. If the format is too complex, people will have trouble making tools to use it. If it's too simple, it won't be useful for the things people want to do with it. Good design will yield maximal power with minimal complexity, but there will inevitably be tradeoffs. Tim Bray's blog entry that I mentioned last week sparked a bunch of discussion on the Atom syntax mail list. The discussion has sparked in me a concern that Atom may swing too far from simplicity in the interest of greater power.

One of the virtues of newsfeeds is that, because their contents are virtually always formatted as plain text or HTML, they can be displayed in a web browser or simple feed reader with little or no processing. (Of course, a good newsfeed client will do some processing to ensure that the user's security is not compromised). The current discussion on the Atom syntax mail list is aimed at deciding how to link related items in a single entry or multiple entries. My concern is that the complexity of some of the solutions being discussed will make writing tools for Atom too difficult for many people. Had writing RSS tools been as complex, I likely would never have gotten involved in this industry at all.

Of course, what's going on right now is just discussion. Simpler solutions and more complex solutions are being explored. Until one solution is chosen and put into the specification, anything that deepens our understanding of the issues and broadens our view of possible approaches can only help us find the best solution. Hopefully when the final decision is made, we'll have discovered, and will choose, the simplest possible way to do as much of what we'd like to do as possible without having to jump through too many hoops to support things that few people will ever want to do.