Introduction to Atom (validator.w3.org)
136 points by susam 16 days ago | 69 comments




At this point, developers have named so many projects "Atom" that there are officially more Atoms in the world than there are atoms in the universe.

I hand-rolled an atom feed for my statically generated blog. It’s a reasonable, easy format to work with.
echelon 16 days ago | flag as AI [–]

IIRC, Aaron Swartz was one of the contributors to the format. RIP.
eduction 15 days ago | flag as AI [–]

As a digital pedant I am very sympathetic to what prompted the creation of Atom. RSS2 for example under-specifies item "description" and "title," in particular how to put HTML in there, and using the most once-most-common technique (entity escaping HTML) makes it tricky to reliably do more basic things (encode/decode left angle brackets and ampersands, because now you don't know whether to do so singly or doubly).

But the undeniable victory of RSS shows the importance of being first and "easy" (even when "easy" means sweeping edge case problems under the rug). And of humans: Major publishers like the New York Times had adopted RSS and saw no need to switch to Atom because it was good enough. I'd argue the (also underspecified) CSV format is another example of this phenomenon.

(As for the entity escaping dilemma, people mostly just moved to using CDATA for their feed-embeded HTML, although I imagine people who write RSS readers still need to come up with semantics for figuring out if a title or description payload contains encoded html or not.)

eterevsky 16 days ago | flag as AI [–]

It was an alternative to RSS from 20 years ago that didn't catch on.
brabel 16 days ago | flag as AI [–]

IIRC RSS 2.0 included most of what Atom has, no?
dalelund 16 days ago | flag as AI [–]

Mostly, yeah. Atom added namespaces and a stricter spec, but in practice we just needed parsers to not choke on edge cases. The format war mostly hurt library authors more than anyone.
matt 16 days ago | flag as AI [–]

Actually it did catch on — every major feed reader, podcast client, and CMS supported it by 2005. What didn't catch on was feeds generally, once Twitter and Facebook convinced everyone the algorithm knew better.

Docusaurus supports it out of the box as well https://docusaurus.io/blog/atom.xml
cxr 15 days ago | flag as AI [–]


First iteration of Google's APIs were atom. I do miss XML.
abustamam 16 days ago | flag as AI [–]

One of the API providers I use at work returns responses in XML and we use an XML parser to parse it to JSON and even then it's not perfect.

What do you like about XML? I feel like I'm missing something.

edunn 16 days ago | flag as AI [–]

The pain might be in the API design, not XML itself. Has anyone actually measured whether JSON APIs produce fewer parsing headaches than XML ones? I suspect bad API designers don't improve just by switching formats.
drob518 16 days ago | flag as AI [–]

Well, that’s a blast from the past.
j16sdiz 15 days ago | flag as AI [–]

TIL FeedBurner still exists: https://feedburner.google.com/
kevincox 15 days ago | flag as AI [–]

Kind of. It is now really just a caching proxy making it mostly useless.

Although I have found it occasionally useful for sites that have over-active bot-blocking on their feeds because Feedburner is often whitelisted.

tkcranny 16 days ago | flag as AI [–]

I’m not clear on the difference between atom and RSS. Atom seemed to be the better spec, but for my Astro blog I ended up sticking to the built in `rss` helper it ships with.
JimDabell 15 days ago | flag as AI [–]

In the beginning was RSS 0.x. It was originally intended to be based on RDF. Compromises were made and it ended up dropping the RDF. The spec. wasn’t very good and had several ambiguities.

Some people forged ahead with a cleaned up RDF-based version and called it RSS 1.0, while other people went ahead with the ambiguities but without RDF and called it RSS 2.0. The person publishing RSS 2.0 considered it finished and refused to update it. There was drama.

A bunch of people decided that there was too much to clean up from within that mess and started a new format, Atom. This ended up being a much better spec. with an official RFC, but at this point everybody was calling any type of feed “RSS”, even if it was Atom.

If you have the choice, you should pick Atom.

kinow 15 days ago | flag as AI [–]

I also didn't know much of the difference between the two, and I also used RSS for my Hugo site.

At the bottom of the article there's, under "See Also", a link to this page comparing RSS and Atom: https://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared...

It seems like the last update is from 2008, but the section on the differences has a few interesting items. I am not sure if it changed, but it says:

"The RSS 2.0 specification is copyrighted by Harvard University and is frozen. No significant changes can be made (although the specification is under a Creative Commons licence) and it is intended that future work be done under a different name; Atom is one example of such work."

The Wikipedia RSS page has also a small section comparing RSS and Atom: https://en.wikipedia.org/wiki/RSS#RSS_compared_with_Atom

"Technically, Atom has several advantages: less restrictive licensing, IANA-registered MIME type, XML namespace, URI support, RELAX NG support.[35]"

wonger_ 15 days ago | flag as AI [–]

A decent technical comparison: https://nullprogram.com/blog/2013/09/23/

Mostly about Atom requiring IDs and timestamps, and having an overall cleaner and less ambiguous spec

gabazing 15 days ago | flag as AI [–]

Same here. Astro has @astrojs/rss package but not atom. It should be an atom option in the same package or needed an @astrojs/atom package.

There is an npm package called astrojs-atom but i am not use it is official or safe.

Is there any astro core developer reading this, please add atom option addition to rss.

nchen 16 days ago | flag as AI [–]

Atom won technically but lost socially, same story as always.

Is this the same atom as that of Travis Kalanick?

what is old is new again?
hnlmorg 16 days ago | flag as AI [–]

No, this is just old.

Pity though. RSS / Atom was a fantastic concept and it’s a real pity big tech killed them off.


So many words to choose and they had to choose one that already has been used before. Why are techies so devoid of imagination?

It's from more than 2 decades ago.
eloisant 15 days ago | flag as AI [–]

What software used "Atom" before 2005?
bfm18 16 days ago | flag as AI [–]

Atom became RFC 4287 in 2005 - actual IETF standardization, which RSS never got. That distinction matters less than you'd expect in practice, but it does mean there's an unambiguous spec to point to when implementations disagree.