New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What feed format is best? #2

Closed
benbalter opened this Issue May 12, 2015 · 29 comments

Comments

Projects
None yet
@benbalter
Contributor

benbalter commented May 12, 2015

RSS 1.0? 2.0? Atom? Is there any difference in use or reader adoption?

@benbalter benbalter added the question label May 12, 2015

@daviddarnes

This comment has been minimized.

Show comment
Hide comment
@daviddarnes

daviddarnes May 12, 2015

Member

I've found that RSS 2 seems to be the best if you're wanting to use this with iTunes, if that helps?

Member

daviddarnes commented May 12, 2015

I've found that RSS 2 seems to be the best if you're wanting to use this with iTunes, if that helps?

@pathawks

This comment has been minimized.

Show comment
Hide comment
@pathawks

pathawks May 12, 2015

Member

I've found that RSS 2 seems to be the best if you're wanting to use this with iTunes, if that helps?

I have found this as well, when publishing a podcast.

For all other use cases, I prefer authoring Atom 1.0. It feels like, because it is newer, it had the benefit of hindsight and was able to smooth over some of the rougher edges of RSS.

Member

pathawks commented May 12, 2015

I've found that RSS 2 seems to be the best if you're wanting to use this with iTunes, if that helps?

I have found this as well, when publishing a podcast.

For all other use cases, I prefer authoring Atom 1.0. It feels like, because it is newer, it had the benefit of hindsight and was able to smooth over some of the rougher edges of RSS.

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks May 12, 2015

Contributor

The problem is that the biggest data provider on the planet uses Atom to feed it's system of news (Google) but that said they are also smart enough to reformat RSS as Atom before feeding it (I wish more companies normalized like that.)

Contributor

envygeeks commented May 12, 2015

The problem is that the biggest data provider on the planet uses Atom to feed it's system of news (Google) but that said they are also smart enough to reformat RSS as Atom before feeding it (I wish more companies normalized like that.)

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr May 12, 2015

Member

There is a gigundous amount of prior art here, both as gems and in blog post tutorial form. The top 10 Google results:

For reference, <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> = "RSS 2 / Atom".

I'd probably err on the side of Atom, as it's a little more formalized than RSS. We could always offer a configuration option (!!!!!! 🎄 your favourite!).

Looks like you're using RSS 2.0, yeah? https://github.com/jekyll/jekyll-rss-feed/blob/master/lib/feed.xml#L6-L13

Member

parkr commented May 12, 2015

There is a gigundous amount of prior art here, both as gems and in blog post tutorial form. The top 10 Google results:

For reference, <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> = "RSS 2 / Atom".

I'd probably err on the side of Atom, as it's a little more formalized than RSS. We could always offer a configuration option (!!!!!! 🎄 your favourite!).

Looks like you're using RSS 2.0, yeah? https://github.com/jekyll/jekyll-rss-feed/blob/master/lib/feed.xml#L6-L13

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks May 12, 2015

Contributor

👍 on an option, that gives the user the authority.

cartman-authority

Contributor

envygeeks commented May 12, 2015

👍 on an option, that gives the user the authority.

cartman-authority

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr May 12, 2015

Member

I was kidding about the option. We have too many options already!

Though I appreciate the South Park reference.

Member

parkr commented May 12, 2015

I was kidding about the option. We have too many options already!

Though I appreciate the South Park reference.

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks May 12, 2015

Contributor

I wasn't kidding about the option, you are forcing a format where no particular format is considered the defacto standard as competing services use competing formats. iTunes likes RSS, Google likes Atom, Facebook likes both, Yahoo likes RSS, our own services accept both.

I won't comment about the too many options part because it's clear that Jekyll doesn't force convention where convention is needed and options out, but in this case there is no convention that is widely accepted, just "preferences" and the keyword there is what should be done.

Contributor

envygeeks commented May 12, 2015

I wasn't kidding about the option, you are forcing a format where no particular format is considered the defacto standard as competing services use competing formats. iTunes likes RSS, Google likes Atom, Facebook likes both, Yahoo likes RSS, our own services accept both.

I won't comment about the too many options part because it's clear that Jekyll doesn't force convention where convention is needed and options out, but in this case there is no convention that is widely accepted, just "preferences" and the keyword there is what should be done.

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr May 12, 2015

Member

you are forcing a format

Using this plugin is opt-in, so we aren't forcing anything. The point is to try to limit the number of choices the users have to make to make a site. Jekyll is already pretty complicated, adding an option would make it even more so.

Member

parkr commented May 12, 2015

you are forcing a format

Using this plugin is opt-in, so we aren't forcing anything. The point is to try to limit the number of choices the users have to make to make a site. Jekyll is already pretty complicated, adding an option would make it even more so.

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks May 12, 2015

Contributor

Your argument is facetious to the fact that this is under the Jekyll umbrella which makes it a defacto plugin that will be used by more than not and you are deliberately gimping people because of a problem in Jekyll while claiming that this is not really a piece of Jekyll because it's opt-in.

Contributor

envygeeks commented May 12, 2015

Your argument is facetious to the fact that this is under the Jekyll umbrella which makes it a defacto plugin that will be used by more than not and you are deliberately gimping people because of a problem in Jekyll while claiming that this is not really a piece of Jekyll because it's opt-in.

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr May 12, 2015

Member

This argument is outside the scope of this issue now. Convention is better than configuration for new users and old users alike. If you don't want what we give you, write your own damn RSS feed as everyone does now.

Member

parkr commented May 12, 2015

This argument is outside the scope of this issue now. Convention is better than configuration for new users and old users alike. If you don't want what we give you, write your own damn RSS feed as everyone does now.

@stve

This comment has been minimized.

Show comment
Hide comment
@stve

stve May 12, 2015

I wanted to share this: https://github.com/stve/jekyll-atom

I never released the gem as I was seeking feedback, but it's based off the discussion in jekyll/jekyll-help#7

I'm happy to continue maintaining or hand this off if it's found to be useful.

stve commented May 12, 2015

I wanted to share this: https://github.com/stve/jekyll-atom

I never released the gem as I was seeking feedback, but it's based off the discussion in jekyll/jekyll-help#7

I'm happy to continue maintaining or hand this off if it's found to be useful.

@benbalter

This comment has been minimized.

Show comment
Hide comment
@benbalter

benbalter May 12, 2015

Contributor

It sounds like Rss 2 / atom gets us the best of both worlds?

Contributor

benbalter commented May 12, 2015

It sounds like Rss 2 / atom gets us the best of both worlds?

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks May 12, 2015

Contributor

I do write my own "damn" Jekyll RSS/Atom plugin that's maintained for people, just like I have to maintain my own "damn" Jekyll fork to give them what they need fixed in Jekyll2 as well and like many programmers who are tired of maintaining these "damn" forks, I was looking for a way to offload it onto something that would do it right but fair enough, I'll stop here as requested good luck with the plugin.

Contributor

envygeeks commented May 12, 2015

I do write my own "damn" Jekyll RSS/Atom plugin that's maintained for people, just like I have to maintain my own "damn" Jekyll fork to give them what they need fixed in Jekyll2 as well and like many programmers who are tired of maintaining these "damn" forks, I was looking for a way to offload it onto something that would do it right but fair enough, I'll stop here as requested good luck with the plugin.

@pathawks

This comment has been minimized.

Show comment
Hide comment
@pathawks

pathawks May 12, 2015

Member

It sounds like Rss 2 / atom gets us the best of both worlds?

Where does the "/ Atom" come in? Just because the feeds include an <atom:link>?

Member

pathawks commented May 12, 2015

It sounds like Rss 2 / atom gets us the best of both worlds?

Where does the "/ Atom" come in? Just because the feeds include an <atom:link>?

@erunyon

This comment has been minimized.

Show comment
Hide comment
@erunyon

erunyon May 12, 2015

Both RSS2 and Atom are viable formats. I'm curious, could the gem provide both? I see an advantage to the site having both feeds available, and then letting the consumer of the feed pick whichever they want.

erunyon commented May 12, 2015

Both RSS2 and Atom are viable formats. I'm curious, could the gem provide both? I see an advantage to the site having both feeds available, and then letting the consumer of the feed pick whichever they want.

@mlissner

This comment has been minimized.

Show comment
Hide comment
@mlissner

mlissner May 12, 2015

Doing both does sound like a good approach, if laborious. An old prof of mine (@dret) used to study XML and various formats for syndication. I asked him RSS vs. Atom and he said, "Atom, full stop." I asked him to elaborate and he acted like I was crazy and that there was no debate. So there's that. Maybe he'll chime in now that I've copied him.

When does iTunes use RSS? Are we talking about podcasts here? If so, that's a different thing altogether. For podcasts, they do indeed require RSS.

mlissner commented May 12, 2015

Doing both does sound like a good approach, if laborious. An old prof of mine (@dret) used to study XML and various formats for syndication. I asked him RSS vs. Atom and he said, "Atom, full stop." I asked him to elaborate and he acted like I was crazy and that there was no debate. So there's that. Maybe he'll chime in now that I've copied him.

When does iTunes use RSS? Are we talking about podcasts here? If so, that's a different thing altogether. For podcasts, they do indeed require RSS.

@erunyon

This comment has been minimized.

Show comment
Hide comment
@erunyon

erunyon May 12, 2015

@mlissner I prefer Atom as well, and in our custom CMS it's the only option currently available (for the past 8 years). We're currently looking to add RSS 2 because we've run into issues where various "widgets" (digital signs as an example) that are capable of consuming remote data for display only support RSS. We've only run into it a handful of times, but it does cause an issue now and then.

erunyon commented May 12, 2015

@mlissner I prefer Atom as well, and in our custom CMS it's the only option currently available (for the past 8 years). We're currently looking to add RSS 2 because we've run into issues where various "widgets" (digital signs as an example) that are capable of consuming remote data for display only support RSS. We've only run into it a handful of times, but it does cause an issue now and then.

@benbalter

This comment has been minimized.

Show comment
Hide comment
@benbalter

benbalter May 12, 2015

Contributor

could the gem provide both

Pending the discussion over in #4, I think that may be the best approach. As it's been stated multiple times here, there's no clear winner, and I don't know that an either/or option does anyone any good (readers or publishers).

How does /feed.xml (RSS2) and /atom.xml output (in parallel) sound?

Where does the "/ Atom" come in

I may have made that up based on @parkr's comment. I'd never heard of it before. But please feel free to drop some knowledge around formats here if you have any (that's why I opened the issue).

I'm happy to continue mainting or hand this off if it's found to be useful.

@stve I googled around, but didn't see your plugin before heading down this (admittedly short) path. Pending the discussion above, what do you think about combining the two efforts into jekyll-feed (dropping the -atom and -rss)? It looks like you you've got a sold atom template, if you could pull request it here, and otherwise the Ruby looks identical (with the need to abstract both to support multiple files if we head that route).

Contributor

benbalter commented May 12, 2015

could the gem provide both

Pending the discussion over in #4, I think that may be the best approach. As it's been stated multiple times here, there's no clear winner, and I don't know that an either/or option does anyone any good (readers or publishers).

How does /feed.xml (RSS2) and /atom.xml output (in parallel) sound?

Where does the "/ Atom" come in

I may have made that up based on @parkr's comment. I'd never heard of it before. But please feel free to drop some knowledge around formats here if you have any (that's why I opened the issue).

I'm happy to continue mainting or hand this off if it's found to be useful.

@stve I googled around, but didn't see your plugin before heading down this (admittedly short) path. Pending the discussion above, what do you think about combining the two efforts into jekyll-feed (dropping the -atom and -rss)? It looks like you you've got a sold atom template, if you could pull request it here, and otherwise the Ruby looks identical (with the need to abstract both to support multiple files if we head that route).

@mlissner

This comment has been minimized.

Show comment
Hide comment
@mlissner

mlissner May 12, 2015

@benbalter if RSS is only needed for iTunes podcasts (which I assume are really out of scope?) and really niche digital signs, I suspect you could get away with only offering Atom. Not that offering both is a terrible idea...

mlissner commented May 12, 2015

@benbalter if RSS is only needed for iTunes podcasts (which I assume are really out of scope?) and really niche digital signs, I suspect you could get away with only offering Atom. Not that offering both is a terrible idea...

@miklb

This comment has been minimized.

Show comment
Hide comment
@miklb

miklb May 12, 2015

I've yet to convert over to Jekyll, though I'm in the process, but have been following along for a few months. I'd argue that purely from an open source project standpoint, including a core gem/plugin should only include Atom. I don't claim to be an expert, but I know from experience with another open source blogging engine/CMS we decided early on to only support Atom in core because of its solid RFC and standardized spec. For a general overview of the differences, see this comparison.

As previously mentioned, it's still an optional feature, and those with preference or need for RSS 2.0 options are available.

miklb commented May 12, 2015

I've yet to convert over to Jekyll, though I'm in the process, but have been following along for a few months. I'd argue that purely from an open source project standpoint, including a core gem/plugin should only include Atom. I don't claim to be an expert, but I know from experience with another open source blogging engine/CMS we decided early on to only support Atom in core because of its solid RFC and standardized spec. For a general overview of the differences, see this comparison.

As previously mentioned, it's still an optional feature, and those with preference or need for RSS 2.0 options are available.

@pathawks

This comment has been minimized.

Show comment
Hide comment
@pathawks

pathawks May 12, 2015

Member

Where does the "/ Atom" come in

I may have made that up based on @parkr's comment. I'd never heard of it before. But please feel free to drop some knowledge around formats here if you have any (that's why I opened the issue).

 

For reference, <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> = "RSS 2 / Atom".

This just means that the feed is RSS 2.0, and includes an <atom:link> element (for which there is no equivalent in RSS). It is not really a best-of-both unicorn, it's just RSS 2.0.

Member

pathawks commented May 12, 2015

Where does the "/ Atom" come in

I may have made that up based on @parkr's comment. I'd never heard of it before. But please feel free to drop some knowledge around formats here if you have any (that's why I opened the issue).

 

For reference, <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> = "RSS 2 / Atom".

This just means that the feed is RSS 2.0, and includes an <atom:link> element (for which there is no equivalent in RSS). It is not really a best-of-both unicorn, it's just RSS 2.0.

@stve

This comment has been minimized.

Show comment
Hide comment
@stve

stve May 12, 2015

Pending the discussion above, what do you think about combining the two efforts into jekyll-feed (dropping the -atom and -rss)? It looks like you you've got a sold atom template, if you could pull request it here, and otherwise the Ruby looks identical (with the need to abstract both to support multiple files if we head that route).

@benbalter I'd be happy to. I'll try to send a pull request later today.

stve commented May 12, 2015

Pending the discussion above, what do you think about combining the two efforts into jekyll-feed (dropping the -atom and -rss)? It looks like you you've got a sold atom template, if you could pull request it here, and otherwise the Ruby looks identical (with the need to abstract both to support multiple files if we head that route).

@benbalter I'd be happy to. I'll try to send a pull request later today.

@benbalter

This comment has been minimized.

Show comment
Hide comment
@benbalter

benbalter May 12, 2015

Contributor

Hoping to summarize where things are at right now best I can:

Reasons to use RSS

  • iTunes only supports RSS due to enclosures (but podcasts are not the primary use case for Jekyll or this plugin).
  • Wide adoption: most people still seem to think of them as RSS feeds (regardless of the standard used), as evidenced by the posts @parkr linked to, many of which didn't even appear to contemplate using Atom (and underscore the need for a plugin which can pull in upstream updates more easily than a blog post).

Reasons to use Atom

  • Less widely adopted by publishers (but it's unclear if any consumers, e.g., feed readers don't support the standard)
  • A superior standard in terms of extensibility and future-proofness

Reasons not to use Both

  • Adds a non-negligible amount of complexity to the code
  • We should take the time to research the current best-of-breed standard, and if there's a clear winner, make the choice for our users, rather than pushing that complexity on to them.

Suggestion

Unless there's evidence that what we'd expect to be a mainstream consumer of Jekyll feeds (e.g, Feedly, IFTTT, Outlook, etc) doesn't support Atom (which my quick research doesn't seem to suggest is the case), I'm going to suggest we adopt Atom, and only Atom, by adopting @stve's Atom template (and refining it from there as needed).

While RSS seems to be more popular among publishers, perhaps for brand recognition reasons, Atom seems to be the superior technology, with near-equal support, IMHO.

Contributor

benbalter commented May 12, 2015

Hoping to summarize where things are at right now best I can:

Reasons to use RSS

  • iTunes only supports RSS due to enclosures (but podcasts are not the primary use case for Jekyll or this plugin).
  • Wide adoption: most people still seem to think of them as RSS feeds (regardless of the standard used), as evidenced by the posts @parkr linked to, many of which didn't even appear to contemplate using Atom (and underscore the need for a plugin which can pull in upstream updates more easily than a blog post).

Reasons to use Atom

  • Less widely adopted by publishers (but it's unclear if any consumers, e.g., feed readers don't support the standard)
  • A superior standard in terms of extensibility and future-proofness

Reasons not to use Both

  • Adds a non-negligible amount of complexity to the code
  • We should take the time to research the current best-of-breed standard, and if there's a clear winner, make the choice for our users, rather than pushing that complexity on to them.

Suggestion

Unless there's evidence that what we'd expect to be a mainstream consumer of Jekyll feeds (e.g, Feedly, IFTTT, Outlook, etc) doesn't support Atom (which my quick research doesn't seem to suggest is the case), I'm going to suggest we adopt Atom, and only Atom, by adopting @stve's Atom template (and refining it from there as needed).

While RSS seems to be more popular among publishers, perhaps for brand recognition reasons, Atom seems to be the superior technology, with near-equal support, IMHO.

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks May 12, 2015

Contributor

I don't care which way you go, I just wanted to point out that the "non-negligible" seems guessed because that's wholly based on implementation no? So you can't assume unless you actually put it to the 1-3 hour test.

Contributor

envygeeks commented May 12, 2015

I don't care which way you go, I just wanted to point out that the "non-negligible" seems guessed because that's wholly based on implementation no? So you can't assume unless you actually put it to the 1-3 hour test.

@pathawks

This comment has been minimized.

Show comment
Hide comment
@pathawks

pathawks May 12, 2015

Member

Reasons to use RSS

  • Plugin can be found when somebody searches for "Jekyll RSS"

As evidenced by the current name of this project, RSS is to feed as Kleenex is to facial tissue.

But, yeah, I'm a big fan of Atom, and I can attest that Feedly and IFTTT both support Atom perfectly well.

Member

pathawks commented May 12, 2015

Reasons to use RSS

  • Plugin can be found when somebody searches for "Jekyll RSS"

As evidenced by the current name of this project, RSS is to feed as Kleenex is to facial tissue.

But, yeah, I'm a big fan of Atom, and I can attest that Feedly and IFTTT both support Atom perfectly well.

@envygeeks

This comment has been minimized.

Show comment
Hide comment
@envygeeks

envygeeks May 12, 2015

Contributor

They do, and I believe they both format RSS as Atom internally. Feedly more so because it started out as the alternate to Google Reader which preferred Atoms so they are in bed with it for good I'm to assume.

Contributor

envygeeks commented May 12, 2015

They do, and I believe they both format RSS as Atom internally. Feedly more so because it started out as the alternate to Google Reader which preferred Atoms so they are in bed with it for good I'm to assume.

@aprescott

This comment has been minimized.

Show comment
Hide comment
@aprescott

aprescott May 13, 2015

Does Atom support any features that are not in RSS 2.0? What about vice versa? I know I've encountered problems with RSS-format feeds not including stuff like update timestamps, or Atom's equivalent of <id> to avoid duplicate feed entries.

aprescott commented May 13, 2015

Does Atom support any features that are not in RSS 2.0? What about vice versa? I know I've encountered problems with RSS-format feeds not including stuff like update timestamps, or Atom's equivalent of <id> to avoid duplicate feed entries.

@doktorbro

This comment has been minimized.

Show comment
Hide comment
@doktorbro

doktorbro May 13, 2015

Member

I know I've encountered problems with RSS-format feeds not including stuff like update timestamps

Me too. This is the main reason why I use Atom only.

Member

doktorbro commented May 13, 2015

I know I've encountered problems with RSS-format feeds not including stuff like update timestamps

Me too. This is the main reason why I use Atom only.

@julien51

This comment has been minimized.

Show comment
Hide comment
@julien51

julien51 Jun 4, 2015

+1 for Atom... and more importantly +1 for using only one single format!

julien51 commented Jun 4, 2015

+1 for Atom... and more importantly +1 for using only one single format!

@jekyll jekyll locked and limited conversation to collaborators Feb 27, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.