I also include a short description of rss, which parts to support with an example and a description of how one could make an rss feed: you take whatever code produces the index html, remove everything except the part that outputs for each item the title, introduction text, the link and the publication date.
Followed by one more short example rss with $title
Not that any developer would really need this but it puts everything they need to know and do on a single page. You don't have to think, just do it.
RSS is great. Most blog engines support RSS by default. Podcasts typically use RSS (even if the app goes to great length to hide it).
I sometimes wonder why there is so much push for "federation" and so few for... well just simple interoperable solutions that just require a client to connect to whatever server it wants with a well-known protocol.
Where I have RSS feeds from news sites, I usually skim down the list of titles, read an article (in my feed) if it's interesting, and then move on. I never visit their website, I don't see their adverts, their tracking scripts can't run, and I don't see or interact with their comments.
Which is great for me as the end user - but makes it much harder for them to monetise.
As the consumer, that's a big benefit, and the main reason I use RSS.
But for the company running the website, the fact that you're no longer browsing to their site, being served adverts and tracking code, and seeing what's on their homepage is not a benefit
On the other hand, RSS definitely provides extra opportunities to monitise. Imagine your business provides a customisable "offers" feed so you can tell interested parties when a sale occurs, etc. Businesses should be falling over themselves to get that kind of engagement.
Not everyone is out to monetise (e.g public sector). And even if you are after monetisation, sending out a teaser snippet makes sense. The user can decide if they want to visit the site to read more, subscribe etc.
Le Monde will tell you that you only got 70% or so of the article in your feed and you need to go to the site to get the full article. Why don't more feeds do that? Actually, I am unsure if this is the feed itself or the fact that my RSS reader scrapes the sites too.
Some sites even have different RSS links for subscribers only that give a full feed.
There has been a significant longer amount of time between ancient civilizations and Shakespeare compared to today and l the first people who are recording audio content periodically and distributing it via RSS.
Similar to why radio relates to electromagnetical transmissions in the radio spectrum. When it happens over internet, we don't call it radio, but possibly internet radio. RSS was the origin of podcasts, and if it does not involve RSS, it is not podcasts
I'd be curious how you define podcasts and radio shows if you don't consider the distribution method. I don't see much light between the two other than the fact that a podcast show list is distributed via RSS.
I don't agree plenty of podcast are only on YouTube and twitch and never bother to setup a proper RSS feed, it was so annoying I developed a project to fix it for my self
It comes down to a push versus pull architecture. RSS is pull based, you aren't notified when a feed is updated. Most people today want push based with a feed, with all the bells and whistles of a social feed that is updated instantly.
Federation comes in mainly because push based systems require a server managing who follows who, what is posted, and who to notify of updates. That's a lot of information for one central service to be responsible for, leading some to think its better to federate and trust a bunch of servers to host copies of some or all of that same data.
Still I can't help but to wonder whether those notifications are needed or not. Except for instant messaging, I generally don't want notifications. Like I don't need to be told that a new podcast is available, I'll see it next time I open the app.
I would like to at least have the choice to use RSS instead of having to go through a complicated federated system.
That's actually the main reason I still use RSS, I never found a need for most notifications and the complexity required to manage a push-based system aren't worth it to me.
Even if I'm using someone else's system, I just don't like the idea of giving them a reason/need to manage all that for me. RSS works fine 99% of the time.
The push-based federated systems could still be built on top of RSS - have a pull-based feed as the source of truth and then optional push-based notifications for those that want more timely updates.
Ideally the push-based parts would be optional for both ends so you could host a static feed and still have people see those updates in their fancy fediverse apps, just not immediately when you post them.
Instead we have a completely different standard without a simple core that you can easily implement if you don't need all the bells and whistles.
Recently I have posted about RSDS (really simple decentralized syndication) - a protocol that tries to solve RSS content global discovery problem. Here is the link if you are interested to read more about it
This is a great initiative. Large tech companies, through hijacking our web experience and pursuing maximum scale, have normalized not being able to talk to a human being on the other side of a website/app/business.
In many situations you _can_ just send an email. Most often someone will read it and be very happy to help out if they can. Not always, but how much of a time and effort investment is an email really?
The best part is that a few kind words can absolutely make someone’s week.
It's a really nice way to be able to follow creators/playlists without needing to register an account. I'm surprised that YouTube still allow it, but I hope it stays.
Unfortunately those have a major flaw: they always show the top 15 items in a playlist.
This is a problem because many channels have playlists where they put older episodes at the top and add new ones to the bottom. This makes the playlist RSS useless, because it will always show the same 15 videos.
That's good to know. The number of times I have subscribed to someone on YouTube only to not see anything from them in years, and then find tens of their videos YouTube never offered is just insane.
So many times I can't find anything to watch on YouTube and it just isn't showing me any of my subscriptions, it's ridiculous.
The first three menu items in the navbar of the authenticated YouTube homepage are 'Home', 'Shorts', and 'Subscriptions'. 'Subscriptions' shows exactly what's on the tin, a timeline of videos from your subscribed channels.
A lot of people might not realize this exists because of the way apps for smart tv's and game systems present the content and menus. I'm not sure if that's intentional or just misguided design, but the only reason I knew to see it out on my PS4's YouTube app is because I'd seen it on desktop.
Because it's a heck of a lot better than what some people such as the grandparent are doing, which is ignoring the existence of the Subscriptions view entirely and relying on the home screen to be useful.
Using the Subscriptions view is as simple as changing your bookmark. Setting up RSS is a lot more complicated for someone who isn't already using one.
If you're already on RSS, no one is suggesting you use Subscriptions instead.
Click the bell also adds many undesirable to me notifications like push notifications or email notifications.
What I want from subscriptions is basically a filtered list I pull from when going to youtube. With maybe some tiering so the people who upload once a year don't get lost in amongst the people who upload 2+ times a day
There is a "Copy channel ID" link on each channel's page, but it's well hidden. Click "...more" in the channel description, then click "Share channel" to open a popup menu that has the "Copy channel ID" link. It does what it says.
I worry about YouTube RSS feeds getting popular and Google killing them. Every time I see them discussed publicly I have this "Ssshh! Keep it on the down low!" reaction.
I browse YouTube anonymously, have an ad blocker setup that pretty much eliminates all ads, and track my "subscriptions" with RSS. It's highly usable. I use a fork of tt-rss and actually embed the YouTube videos in the reader pane so I never see any of YouTube's algorithmic recommendation schlock (beyond recommendations at the end of videos, which I ignore). Browsing YouTube, the site, is a jarring nightmare.
I am considering having my podcatcher use a YouTube downloader to just pull down all the videos in the feeds I watch. I believe Google is throttling yt-dlp to realtime speeds, but I figure if my podcatcher is doing it behind the scenes that shouldn't matter. I maintain curated collections of podcasts I like (in case they ever disappear), and since I just added 40TB if storage to my home system I figure it's time to do that with YouTube too.
I have been doing that for plaintext emails. Whenever I receive an HTML-only email (that my email reader cannot open), I send a kind email to the company, asking if they could consider adding a plaintext version next to it. I clearly explain that they can keep the HTML version as a default, and that some people need plaintext for accessibility and security reasons.
I often receive answers, that surprised me! People saying "thank you for your suggestion, we will think about what we can do". None of them has every changed anything (I've been doing that for years). I don't even know if they did anything more than answering to the email.
Thus is a pet peeve of mine. Some companies send an multi-part E-Mail, just for the plain text part to be an empty string. Why bother? Pretty often the plain text is just the same html, so you get to read raw ugly html. Do people not test this?
I'm pretty sure they don't test them. I got a good one the other day from a well known institution. It was a bill and the html part said I owed N amount but the plain text said 0.00. By default I read the plain text part but when I saw it says 0.00 I thought it was odd so checked the html and there it was the correct amount!
Honest question: wouldn't it be simpler for text-only email readers to have plugins that runs HTML-only emails through a command that converts the HTML to text?
I don't think so. If you print the HTML, it's often full of " ", images and links unrelated to the actual content. It's hard to extract the meaningful part of that pile of stuff in a trustworthy way (and you wouldn't want to lose information).
Also many of those emails are autogenerated. So the template has to be done once, and that's it. And it should be trivial for whoever composes the HTML email to copy-paste the important part into a text-only version. Maybe it would actually help them think about what the important part actually is.
Decoding and other entities should be part of converting the HTML to text. This is absolutely basic.
> So the template has to be done once, and that's it.
Except the world is not static and then when the HTML template gets updated they'll forget the text template and now you are missing vital information. Perhaps even legally required information like unsubscribe links.
Supporting text email only makes sense if that will actually be tested. Otherwise you are better of just rendering the HTML to text locally. That's going to lose you less information than a forgotten text mail template.
I'm not saying it's impossible. I'm just saying that they make my email experience worse by only sending HTML, and most (all?) of the time, it's absolutely unnecessary.
The problem is when the email explicitly includes a plain text part which is an empty string (or a generic one-sentence placeholder), and a separate html part. In these cases, the email client is right in defaulting to the plain text version.
I don't mean to sound super callous - but what? I have so many questions, as someone who uses screen readers a lot. How are you browsing HN - it's not like websites maintain a separate .txt file for the blind. When you click "Read aloud" in a browser (or whatever the inbuilt screenreader calls it), thanks to the structure of the html DOM it can find the main txt. Since your email client can't open most emails, you still have no idea what people said to you? Coworkers ignored, bills unpaid. Instead, you've just been scolding the senders for years, and admit you've not had one single success from it? Even if everyone changed, and you got dual format back for every email, would the senders be manually creating both, or would they just let software convert one to the other? If software, then as a general computer science infra question, for scaling, should that computation be run on the 99% of cases that never use it, or should it just be run at the 1% of endpoints that use it? Are you on an ARPANET PDP-10? You're shifting the burden onto hundreds of non-technical email writers, shaming them for not catering to your niche desire for dual format emails (gmail doesn't even do this), when your email reader could just enter the 90s era. Hackers make computers do things despite it all. If you created that email client, there are many open source tools for you to do html2txt in one line. pandoc for one.
Right, let me answer in a tone that I find similar to yours.
> gmail doesn't even do this
How the hell did you test that? Gmail sends goddamn plaintext together with HTML.
If you can't be arsed to even check that, why should I even answer to the rest? You've completely ignored the security aspect of it, but I guess you have similarly "not super callous" opinions about that. Don't bother, I don't care to read them.
Nice list. I tried at some point to analyze html using a tree-sitter grammar and generate a list of articles, index them, and be on alert every so often for new entries.
RSS feed could be generated automatically with some AI code generator (or tree-sitter query generator), and just parsing the elements of the page.
Eventually i failed, but also i didn't try hard enough.
> Please advocate for more RSS support - especially with orgs you want to stay up-to-date with.
Also advocate for support with browser manufacturers. It used to be good, then one of them dropped it and the others blindly followed. People clearly want the RSS button, why on earth not provide it?
Not everyone has the time, inclination, patience, or opportunity to “be informed” about all the shit every tech company does. It’s exhausting even for tech-literate people.
If people arent functioning because they choose to refuse to learn to read or write, you wouldn't defend them. Why is it different for computers? Computers are just as important for functioning in society today as being able to read or write.
- 54% of adults have a literacy below a 6th-grade level (20% are below 5th-grade level).
I would argue than everyone who is stuck a below 6th grade understanding of a language they use everyday can hardly be tech literate ( which in itself requires good reading and abstraction capabilities)
Is it their fault because they choose to be like this? Their parents? Their goverment? Nature gave them the wrong genes? Society shun them for their skin color? A bearded white guy in a cloud chose to ruin their lives?
Don’t know, don’t care, but demanding agency to all adults feels a bit narrow minded, selfish, and not too thankful for avoiding a few external barriers that other humans have to endure…
most of us here skipped those challenges, and ignoring how much headstart we got by sheer luck and no own merit is a bit inmature, IMHO.
Opinions are like noses: everyone has one, and almost all of them are unremarkable and irrelevant to other people. This is my nose.
We have a tool for people who can't deal with the responsibility and freedom of adulthood. They have guardians who make the decisions for them (parents in the case of minors or a guardian assigned to them).
The american education system being abhorrent is a separate issue but adapting society to fit the lowest common denominator isn't a solution.
I don't know, it's almost kind of like saying that newborn babies are illiterate by choice. Not everybody cares about computers or how to use them, they just want to find that restaurant address or read this news article or whatever. They don't have time or interest to learn how to use computers.
I don't know how to replace transmission in my car. It's not by choice - I just don't have time and money to learn how to do that.
Things take time and money to learn.
Yes, this is true. But then nefarious tricks by tech companies aren't exactly punished. Eg google itself attempted to kill rss, by massively supporting it then dropping it. This is not an illegal or punishable offence (it is immoral imo), but illustrates the point that these companies attempt to sculpt the reality, to train people into compromise. It can't be a one way street only, where individuals have to fend for themselves, but corporations can try every trick to get their way.
When Chrome appeared, Google still had “don’t be evil” as a motto and was generally considered a champion of users. It’s been a decade and a half since then, the tech landscape shifted tremendously. Think we’re Apple was back then, the iPhone barely existed.
This may be more regional-based and profession-based though. Around 2010 when Chrome was entering the market Firefox had around 30% global market share. In Slovakia where I'm from Firefox was "mainstream enough" that we had it pre-installed on high school and library computers and were taught to use it instead of IE as early as 2005..., But also in lots of enterprise-style managed companies (including basically all government offices, banks, ...) you couldn't use anything other than IE as late as 2016 cause there was no way they were gonna allow you to change your homepage from the company intranet home, so there were also lots of people who were using Firefox at home but also using IE at work because they had no other choice...
I think Opera had even bigger share in Eastern European countries at the time. But it was actively killed by Google. From homepage ads on google/youtube to blocking features or whole applications based on user agent.
At the time, Chrome was far and away the most secure browser available. It still is the most secure browser in many respects but not by enough of a margin to outweigh its disadvantages in some cases, like mobile, where its lack of extension support hurts security for those who know what they're doing as well as usability.
I'm a teacher, and Google Classroom is ubiquitous in American schools. I was not tricked into using Chrome. It is without a doubt the best browser for Google Apps. Mozilla is laggy when editing documents and doesn't have an extension for offline editing.
Give Google credit: they have created a very useful ecosystem that has won people over in the marketplace. I NEVER thought anything would convince companies to move off of Microsoft Office, but Google is actually doing it (on a small scale at least).
The webapps Google makes only work well on the browser Google makes and all these students have no choice but to use Google services to complete their education? That is a very clever trick they've pulled.
I use RSS heavily and I don't want an RSS button - what would that even do? RSS is best when integrated with a stateful server-side reader.
Whatever comes with the browser will not be as good as an extension from a company focused on that feature. For example I use https://www.inoreader.com/
Open the current page's RSS feed in my configured client. Failing that, copy its URL. Absolute minimum, it's a shortcut for having to view source, cmd-f, "RSS", cmd-c
- If provided a little widget to open the feed in your feed reader (in practice it substituted the feed url into a URL template with popular readers by default and the option to add your own). This basically made it a one-click subscribe option.
> RSS is best when integrated with a stateful server-side reader.
Who said that? It's meaningful if you read the feed across multiple devices, but lots of people read RSS on their computer only.
And even so browsers could provide RSS status synchronization. In fact almost every browser is already syncing your browsing history, bookmarks and settings if you are signed in.
> Whatever comes with the browser will not be as good as an extension...
I agree, it's like robots.txt, you don't have a link to it from the webpage, but it's always (well it's supposed to be...) there. However I can see how normal folk wouldn't look for a feed like I would on a site: right click -> view source, control-f `rss` or `feed` to get the RSS url.
If RSS could solve the problem it would have done so a decade ago.
The core issue is that browsers have completely failed at offering anything to keep track of websites. Why aren't notifications simply build into the bookmark system? I don't need the website to provide that information via yet another special format, my browser should be able to figure that out itself from plain .html. But bookmarks haven't changed one bit in about 30 years, instead we moved that functionality server-side for no reason.
God wouldn't that be simple and novel? Check a box when you bookmark a website and your browser polls it every so often for updates and gives you a little badge like a mobile app icon.
I wouldn't mind if browsers want to offer that feature in addition to RSS. But I also don't want to be forced to use my browser's bookmarking feature - RSS helps to decouple that.
Poe's Law, or you really don't remember the time where browsers had a huge button in the address bar to announce their feeds or that Firefox used to have a "Smart Bookmarks" feature to show you all the latest updates from all the feeds you subscribed to?
I agree that to succeed RSS must be properly managed right in the browser.
The problem is that it was not properly implemented inside Firefox, so I personaly didn't want to use that system.
What I want is a simple counter that show how many new posts there are of the RSS, and that's it. I only click for new content.
I am not talking about RSS, I am talking about plain old bookmarks. Browser never would give you notification when something you bookmarked changed.
The RSS feature was always kind of useless, since it required that the website provided a RSS feed to begin with, which most don't. The implementation in Firefox was also horrible on top.
HTML is a markup language, with header, datetime and article tags, parse that and do something useful with it, we don't need yet another format that duplicates the information that is already on the website.
I guess you are vastly underestimating the complexity of parsing HTML and extracting the relevant information out of it. It might seem trivial nowadays, but it falls well within https://xkcd.com/1425/ territory if you take into account that the majority of web pages are basically producing non-spec conforming (X)HTML.
And if you respond with "well, I don't care about the actual content, I just want to receive a notification when the page has changed at all", think how long would it take for every marketer use that "feature" to simply make minimal changes in the site to trick their viewers into inflating their page view numbers...
Mozilla had half a billion dollars each year to work with, I am sure they could have figured something out if they cared. But hey, instead of fixing some HTML tags lets reinvent a completely new format and require every singe website on the planet to adopt that, that'll sure work out well...
> But hey, instead of fixing some HTML tags lets reinvent a completely new format and require every singe website on the planet to adopt that, that'll sure work out well...
It worked amazingly well! It worked so well that it became a problem for the publishers when they realized the standard for syndication has become so widely adopted that people were not visiting the websites anymore and they had lost control of content gatekeeping.
> Mozilla had half a billion dollars each year to work with, I am sure they could have figured something out if they cared.
I agree with you that Mozilla has shown that they don't really care about an open web, but I think you are reversing cause and effect. RSS was already a reality when Google had to kill (*) it, and Mozilla went along with it because they never managed to get out of Google's money tit.
* Not really kill it, but just taking all the steam out of it so it wouldn't destroy their own business.
A publisher does not want countless browsers scraping arbitrary web pages just to see if they’ve changed when they can instead offer a single lightweight end point specifically for content that is intended to be updated. If browsers started doing this scraping I can only imagine the arms race.
I can only see this happening as a service. A company crawls the web—probably a search company. Their LLM classifies changes. Their users can subscribe to individual sites or pages.
Even then there are downsides to publishers including loss of some tracking information and users spending less time on their sites being subjected to advertisements.
This was part of the technical justification for RSS: concentrate all the redundant page hits in once place. But another reason was that parsing an article list from messy tables-based HTML was harder than it is today with HTML5. There's even a feed attribute `h-feed` available today, which effectively turns list pages into feeds. Nobody uses it.
The problem with the "single lightweight endpoint" is that it has to be maintained. RSS is literally a whole shadow site, with finicky XML validation to worry about on top. I've worked on multiple projects where the RSS endpoint was broken much of the time. It's both fragile and not very visible.
A solution involving client parsing of semantic markup at least has the benefit of requiring zero maintenance.
OK I won't dispute that. The problem is that they would function nicely as a pragmatic solution to the underlying problem. Maintaining a few HTML attributes on an existing webpage is significantly easier than maintaining an RSS XML endpoint.
RSS 1.0 was created in 2000. We are talking about a time where the browser that dominated the market was Internet Explorer 5, where virtually no website would render on strict standards mode, and MS refused to introduce any significant changes if it meant breaking its compatibility mode. People realized that that asking the whole web to adopt XHTML fully would never happen, so a new XML-based format hat was separate from the webpages was needed.
(Also, a bit of a side rant: now that I am working on ActivityPub stuff I'm finding less and less sympathy for those that jump into code and push for "pragmatic" solutions. The ActivityPub spec is not perfect, but it's incredible how almost everyone implementing ActivityPub ignores JSON-LD and RDF and just want to wing with the JSON messages. It gets to the point where perfectly valid JSON-LD will get refused to anything that is not called Mastodon, because everyone else is just parsing the JSON they receive and completely ignoring @context directives)
Yep I know the history, I was building sites at the time. And my own unfashionable take is that "pragmatic" HTML5 was a cop-out, it was still early days for the web and XHTML would have been worth the initial breakages.
Interesting rant about ActivityPub, you have my sympathy.
> Also, a bit of a side rant: now that I am working on ActivityPub stuff I'm finding less and less sympathy for those that jump into code and push for "pragmatic" solutions. The ActivityPub spec is not perfect, but it's incredible how almost everyone implementing ActivityPub ignores JSON-LD and RDF and just want to wing with the JSON messages. It gets to the point where perfectly valid JSON-LD will get refused to anything that is not called Mastodon, because everyone else is just parsing the JSON they receive and completely ignoring @context directives
Maybe making everyone who wants to interact with the fediverse deal with all that complexity isn't such a great idea after all. What we really should have gotten was RSS++ with optional push notifications for new content instead of this mess. But it wouldn't be the web without reinventing the wheel for every new "standard" I guess.
But this wouldn't give you two-way interactivity, and RSS and ATOM are just different ways to go about representing RDF.
I could entertain the argument that we don't need two way interactivity, and that most of the applications would be fine by implementing their own ad-hoc API. This is exactly what is happening in the Fediverse now, where every microblogging project ends up implementing Mastodon's API and every Lemmy client goes straight up to Lemmy's API instead of getting the data from "raw" ActivityPub.
> A solution involving client parsing of semantic markup at least has the benefit of requiring zero maintenance.
This is a pipe dream. In reality your HTML markup needs just as much maintenance if not more - at least the separate feed is unbothered by design changes to the HTML site.
> if you take into account that the majority of web pages are basically producing non-spec conforming (X)HTML
That part is a non-issue since Browsers need to be able to turn that tag soup into a sane DOM already. And these days how to do that is well specified.
My joke since the 90's: Mosaic had full text history search!! It aged well I must say.
With all the money coming in from google it was hard for Mozilla to understand the point of subscribing to RSS or organizing what one finds online. For google it must have been even more incomprehensible.
> I've been advocating for [X], and you should too
This seems like what we should do against negative trends. I think complaining is more common, probably more accepted (?) than advocating, but logically, the latter is what we should do.
I recently had a popular post on HN and several people reached out asking if I had an RSS feed implemented.
Was surprised that anyone would be interested in keeping up with my writing, but was happy to oblige the request as it had been on my to-do list for a while. Happy I did do as it seems many people are hitting the RSS endpoint now. Cool to see that RSS is relevant in 2025, and will definitely advocate for its usage more moving forward :-)
I never bothered to make a list of the mails I send but now I see it is quite useful to show how well it works. Maybe some data on implementation time would be as useful.
Took me a few hours. I use MDX for formatting so most of the time was spent figuring out how to convert the MDX to plain HTML. Not a very heavy lift overall :)
I might have been one of these people, because I was following your site as a bookmark in my RSS reader already. I didn't see any content in your feed so I checked again for a feed endpoint. I found it eventually on your site, but you might consider making it auto-discoverable (see https://www.rssboard.org/rss-autodiscovery). People only have to enter your domain name into their RSS reader then.
That might be a useful site, but why on earth is it stuffed full of privacy-abusing, invasive advertising? I'm sure there are better sources for the RSS standard.
The Hacker News folks do love their RSS. I also added support for RSS[1] to my site when one of my posts hit the front page, and a few people reached out for an RSS link.
I came to the industry way later than the Web 2.0 inception and didn’t even know about it until a while back.
I have some app/service ideas which all involve "informing" the user about something.
Implementations of this notification mechanism are either spammy, privacy-problematic, or both: (Web) Push notifications, Email, or Messages.
The only solution that doesn't have either of these problems seems to be RSS: Provide the user with (customised) feed link and let them/their RSS client deal with it.
I really wish RSS was less niche and more mainstream. I will "advocate" for it regardless.
RSS was a key protocol in syndication a widely free and open web before the domination of big tech/social media. We now have new internet generation that has never known RSS, relying largely on "the algorithm" of the big tech in content syndication.
Thank you for your effort in advocating RSS support. I hope RSS makes a major come back especially with the recent events.
RSS is a wonderfully simple solution to get notifications for things I care about.
I came to the software industry a lot later than the inception of Web 2.0 and rediscovered RSS almost accidentally. I advocate for it too.
You’d be surprised how many people still care about this. My static site build broke the RSS[1] once recently, and I immediately got like 5 emails from different people.
Not much at all. If you are using a static site generator, they usually support it out of the box.
Recently, one of my posts hit the front page here, and a few people emailed me asking for an RSS[1] feed. It turned out that it was just a simple config update to enable this on Hugo.
Other SSGs usually support it out of the box too. Plus, it’s not too hard to build the XML from your HTML if you want to build it yourself from scratch.
It's an open text format. There are some complexities if you dive down the rabbit hole, but at the most basic level, it's pretty simple. I even do it by hand on one site that I rarely update.
In the vein of: the web is already decentralized and social by it's nature, I built an RSS reader-and-feed-in-one for Hey Homepage (a DIY website pack that I made). So there's one place for reading posts and for publishing your own posts, just like the timelines from big tech.
Combine that with a list of shared links which functions as a blog roll and consists of the feeds that you follow, and you have yourself a Really Social Site. You can even download the OPML file that contains all the shared links and start following some feeds from it yourself. So discovery is also possible with RSS feeds and OPML lists, albeit it works slightly different than you're used to from big tech.
After that I built a Newspaper module that automatically collects new posts from feeds that I selected. This is my main way to get news without some algorithm deciding for me.
The only wish I have is that more of your personal sits/blogs (most websites I follow come from HN) offer more 'photo feeds', just an enclosure-element in your item with a link to a picture or other media.
Openrss.org is a non-profit that advocates for RSS adoption in addition to providing RSS feeds for websites that have none and cleainup/improving existing rss feeds.
Consider helping them out if this interests you, you might even be using a feed already as they have some custom feeds for github like for discussions and issues.
I would guess a combination of frequency from sitemap.xml, last modified http header, and past heuristics. Previously viewed items would, I think, need to be cached in the client (unless the RSS URL uses some kind of token to identify the user, which sounds ripe for abuse).
RSS can be polled as frequently or infrequently as you like, it's just a bit of XML hosted by a site which lists content or links to content.
Tracking what's been read or not isn't done by the RSS feed or whoever hosts it, it's performed by the user's feed reader, which be just a local app on your phone or PC, or it might be a cloud service, either hosted (like Feedly) or self-hosted (using ie. FreshRSS).
Personally I just start my reader then it aggregates and sorts my feeds by date into a single interface. This works well specially for much larger numbers.
A lot of readers (intentionally?) get this wrong though and show entries as new/unread if there are changes to the content.
Of course a lot of feeds also get this wrong and change the GUIDs for existing entries once in a while which results in strictly compliant readers showing you the entire feed history as new. Really annoying.
My system updates¹ the entry and marks the changes in the first case. What is right and what is wrong depends on what you want, I think.
The latter is annoying, I agree.
¹ It is an NNTP interface so the article is superseded; https://feedbase.org/about/ - if you don't want to see updates, you can configure your newsreader to skip supersedes.
Speaking of advocating RSS, I was trying out Nikola [0] for static site generation and found that they have a really nice-looking RSS end-point [1] that is viewable both from the browser and an RSS reader. Looking into the XML, it turns out it's called xml-stylesheet:
And I would argue that this is an excellent way to introduce new readers to RSS: instead of the browser popping up a download prompt, you can make your RSS feeds themselves a dedicated page for advocating RSS, in case an interested reader is browsing through the links on your site.
My suggestion for best practice would be to have a feed endpoint that is as minimal and clean as possible, and provide a separate endpoint (can be the same base url but with a parameter) for human consumption. This ensures maximal compatibility and ease of consumption for both machine and human.
Yes, and if everything is properly configured that is great.
Where is falls apart is when your site host/admin slaps Cloudflare protection on the domain and forgets to properly exclude the RSS pages, then programs can't fetch the feed without resorting to anti-bot evasion tech scraping, and are left with rendered HTML instead of the actual feed and have to deal with that.
247 comments
[ 3.6 ms ] story [ 230 ms ] threadI also include a short description of rss, which parts to support with an example and a description of how one could make an rss feed: you take whatever code produces the index html, remove everything except the part that outputs for each item the title, introduction text, the link and the publication date.
Followed by one more short example rss with $title
Not that any developer would really need this but it puts everything they need to know and do on a single page. You don't have to think, just do it.
I sometimes wonder why there is so much push for "federation" and so few for... well just simple interoperable solutions that just require a client to connect to whatever server it wants with a well-known protocol.
Which is great for me as the end user - but makes it much harder for them to monetise.
But for the company running the website, the fact that you're no longer browsing to their site, being served adverts and tracking code, and seeing what's on their homepage is not a benefit
On the other hand, RSS definitely provides extra opportunities to monitise. Imagine your business provides a customisable "offers" feed so you can tell interested parties when a sale occurs, etc. Businesses should be falling over themselves to get that kind of engagement.
Some sites even have different RSS links for subscribers only that give a full feed.
I would even say that a podcast that does not support RSS is not a podcast, it is something else.
https://github.com/madiele/vod2pod-rss
Federation comes in mainly because push based systems require a server managing who follows who, what is posted, and who to notify of updates. That's a lot of information for one central service to be responsible for, leading some to think its better to federate and trust a bunch of servers to host copies of some or all of that same data.
Still I can't help but to wonder whether those notifications are needed or not. Except for instant messaging, I generally don't want notifications. Like I don't need to be told that a new podcast is available, I'll see it next time I open the app.
I would like to at least have the choice to use RSS instead of having to go through a complicated federated system.
Even if I'm using someone else's system, I just don't like the idea of giving them a reason/need to manage all that for me. RSS works fine 99% of the time.
Ideally the push-based parts would be optional for both ends so you could host a static feed and still have people see those updates in their fancy fediverse apps, just not immediately when you post them.
Instead we have a completely different standard without a simple core that you can easily implement if you don't need all the bells and whistles.
The people creating websites often don't know that they're providing RSS feeds though, and never link to it.
To solve that I developed a tool that finds RSS feeds, even if RSS autodiscovery isn't implemented: https://lighthouseapp.io/tools/feed-finder
https://news.ycombinator.com/item?id=42654891
It's the correct amount of complicated imho.
In many situations you _can_ just send an email. Most often someone will read it and be very happy to help out if they can. Not always, but how much of a time and effort investment is an email really?
The best part is that a few kind words can absolutely make someone’s week.
The form is
https://www.youtube.com/feeds/videos.xml?channel_id=UC2wdo5v...
where channel_id is the channel hash code which is buried in the source for the "nicely named" channel:
https://www.youtube.com/@CuttingEdgeEngineering
and can be found without source diving via (say) FeedBro (RSS browser extension) "Find Feeds in Current Tab" function.
https://nodetics.com/feedbro/
https://www.youtube.com/feeds/videos.xml?playlist_id=
It's a really nice way to be able to follow creators/playlists without needing to register an account. I'm surprised that YouTube still allow it, but I hope it stays.
This is a problem because many channels have playlists where they put older episodes at the top and add new ones to the bottom. This makes the playlist RSS useless, because it will always show the same 15 videos.
So many times I can't find anything to watch on YouTube and it just isn't showing me any of my subscriptions, it's ridiculous.
I'm using the RSS feeds, so I'm not sure...
I do not understand why people keeps suggesting subscription view, as it is a worse experience for me, than central RSS management
Using the Subscriptions view is as simple as changing your bookmark. Setting up RSS is a lot more complicated for someone who isn't already using one.
If you're already on RSS, no one is suggesting you use Subscriptions instead.
For some reason YouTube website never has any kind of notification popup in site either. Instead, the notification icon count increases by one.
Which caps at out 9+. Stupid.
What I want from subscriptions is basically a filtered list I pull from when going to youtube. With maybe some tiering so the people who upload once a year don't get lost in amongst the people who upload 2+ times a day
I browse YouTube anonymously, have an ad blocker setup that pretty much eliminates all ads, and track my "subscriptions" with RSS. It's highly usable. I use a fork of tt-rss and actually embed the YouTube videos in the reader pane so I never see any of YouTube's algorithmic recommendation schlock (beyond recommendations at the end of videos, which I ignore). Browsing YouTube, the site, is a jarring nightmare.
I am considering having my podcatcher use a YouTube downloader to just pull down all the videos in the feeds I watch. I believe Google is throttling yt-dlp to realtime speeds, but I figure if my podcatcher is doing it behind the scenes that shouldn't matter. I maintain curated collections of podcasts I like (in case they ever disappear), and since I just added 40TB if storage to my home system I figure it's time to do that with YouTube too.
I use that for my ex-twitter RSS feeds.
0 - https://github.com/kieraneglin/pinchflat
Adding /.rss on to the end of lots of URLs works all over the place on the site.
Example: For channel id "UCXuqSBlHAE6Xw-yeJA0Tunw" replace the first two letters "UC" (channel ids always start with "UC") with "UULV". The feed url then looks like this: https://www.youtube.com/feeds/videos.xml?playlist_id=UULVXuq...
For more special playlist id prefixes see this StackOverflow answer by "coco0419": https://stackoverflow.com/a/76602819
Example: For channel id "UCXuqSBlHAE6Xw-yeJA0Tunw" replace the first two letters "UC" (channel ids always start with "UC") with "UULF". The feed url then looks like this: https://www.youtube.com/feeds/videos.xml?playlist_id=UULFXuq...
It will only contain Videos, no Shorts, but also no Live Streams (in case you want (only) Live Streams use "UULV").
For more special playlist id prefixes see this StackOverflow answer by "coco0419": https://stackoverflow.com/a/76602819
Do someone knows a way to retrieve RSS feeds URLs for any podcast that would be hosted on major platforms? (Spotify, Apple Music)
I subscribed to podcast having some hosted website (where they are publishing the RSS feed from) but most of them don’t
https://pca.st/podcast/170a7610-948e-0135-9d21-5bb073f92b78
Under "more ways to listen" it has RSS as an option.
The site is https://podcastindex.org/
https://openrss.org/feeds/spotify
I often receive answers, that surprised me! People saying "thank you for your suggestion, we will think about what we can do". None of them has every changed anything (I've been doing that for years). I don't even know if they did anything more than answering to the email.
Also many of those emails are autogenerated. So the template has to be done once, and that's it. And it should be trivial for whoever composes the HTML email to copy-paste the important part into a text-only version. Maybe it would actually help them think about what the important part actually is.
> So the template has to be done once, and that's it.
Except the world is not static and then when the HTML template gets updated they'll forget the text template and now you are missing vital information. Perhaps even legally required information like unsubscribe links.
Supporting text email only makes sense if that will actually be tested. Otherwise you are better of just rendering the HTML to text locally. That's going to lose you less information than a forgotten text mail template.
And again, HTML brings security concerns.
The problem is when the email explicitly includes a plain text part which is an empty string (or a generic one-sentence placeholder), and a separate html part. In these cases, the email client is right in defaulting to the plain text version.
Right, let me answer in a tone that I find similar to yours.
> gmail doesn't even do this
How the hell did you test that? Gmail sends goddamn plaintext together with HTML.
If you can't be arsed to even check that, why should I even answer to the rest? You've completely ignored the security aspect of it, but I guess you have similarly "not super callous" opinions about that. Don't bother, I don't care to read them.
1. https://github.com/0x2E/fusion - A lightweight, self-hosted friendly RSS aggregator and reader
2. https://rawweb.org/ - A search engine for indie websites (the crawler collects data from RSS feeds)
3. https://github.com/0x2E/rss-finder - A tool for finding the RSS link of a website
RSS feed could be generated automatically with some AI code generator (or tree-sitter query generator), and just parsing the elements of the page.
Eventually i failed, but also i didn't try hard enough.
1. https://lighthouseapp.io/ - feed reader combined with bookmarking
2. https://lighthouseapp.io/tools/feed-finder - tool to find RSS feeds (https://lighthouseapp.io/blog/deep-dive-finding-rss-feeds)
3. https://lighthouseapp.io/tools/newsletter-to-rss - tool to convert newsletters to RSS feeds
Also advocate for support with browser manufacturers. It used to be good, then one of them dropped it and the others blindly followed. People clearly want the RSS button, why on earth not provide it?
Most people didn't decide. Most people were tricked into using chrome. Most people are not computer literate.
Im sick of this paternalism for tech illiterate people. Its a choice.
Have some empathy.
The bar is knowing what a directory or file is. Yes, the bar is that low. https://www.forbes.com/consent/ketch/?toURL=https://www.forb...
If people arent functioning because they choose to refuse to learn to read or write, you wouldn't defend them. Why is it different for computers? Computers are just as important for functioning in society today as being able to read or write.
How do you learn than on an iPhone?
- 21% of adults in the US are illiterate in 2024.
- 54% of adults have a literacy below a 6th-grade level (20% are below 5th-grade level).
I would argue than everyone who is stuck a below 6th grade understanding of a language they use everyday can hardly be tech literate ( which in itself requires good reading and abstraction capabilities)
Is it their fault because they choose to be like this? Their parents? Their goverment? Nature gave them the wrong genes? Society shun them for their skin color? A bearded white guy in a cloud chose to ruin their lives?
Don’t know, don’t care, but demanding agency to all adults feels a bit narrow minded, selfish, and not too thankful for avoiding a few external barriers that other humans have to endure…
most of us here skipped those challenges, and ignoring how much headstart we got by sheer luck and no own merit is a bit inmature, IMHO.
Opinions are like noses: everyone has one, and almost all of them are unremarkable and irrelevant to other people. This is my nose.
The american education system being abhorrent is a separate issue but adapting society to fit the lowest common denominator isn't a solution.
As for the car analogy:
You're right, but you also accept the consequences of that choice which is mostly limited to having to pay for a mechanic every once in a while.
The consequences of tech illiteracy is much worse (more comparible to actual illiteracy):
- Lower employability.
- Easier to get scammed / have data leaked or hacked.
- Easier to get manipulated by platforms (social media are comparable to priests interpreting the bible to people before literacy was common).
- On a societal scale, when enough people are affected, the above leads to instability, proliferation of dis- and misinformation on a societal scale.
- Per av above, destabilising of democracy.
I'm sure people argued the same about people not having to learn to read / write during the enlightenment. Im happy they did not win out.
Tragically, it appears we are going the opposite direction this time.
Good old EEE.
Most people switched from Internet Explorer.
Firefox was never the "mainstream" choice.
This may be more regional-based and profession-based though. Around 2010 when Chrome was entering the market Firefox had around 30% global market share. In Slovakia where I'm from Firefox was "mainstream enough" that we had it pre-installed on high school and library computers and were taught to use it instead of IE as early as 2005..., But also in lots of enterprise-style managed companies (including basically all government offices, banks, ...) you couldn't use anything other than IE as late as 2016 cause there was no way they were gonna allow you to change your homepage from the company intranet home, so there were also lots of people who were using Firefox at home but also using IE at work because they had no other choice...
Give Google credit: they have created a very useful ecosystem that has won people over in the marketplace. I NEVER thought anything would convince companies to move off of Microsoft Office, but Google is actually doing it (on a small scale at least).
Creating an ecosystem where you web apps "encourage" users to use your browser is the antithesis of an open marketplace.
Whatever comes with the browser will not be as good as an extension from a company focused on that feature. For example I use https://www.inoreader.com/
Open the current page's RSS feed in my configured client. Failing that, copy its URL. Absolute minimum, it's a shortcut for having to view source, cmd-f, "RSS", cmd-c
- It rendered the feed in a pretty way.
- If provided a little widget to open the feed in your feed reader (in practice it substituted the feed url into a URL template with popular readers by default and the option to add your own). This basically made it a one-click subscribe option.
Then don’t click it?
> RSS is best when integrated with a stateful server-side reader.
Hard disagree.
Look, you do you, but your preferences aren’t universal.
Who said that? It's meaningful if you read the feed across multiple devices, but lots of people read RSS on their computer only.
And even so browsers could provide RSS status synchronization. In fact almost every browser is already syncing your browsing history, bookmarks and settings if you are signed in.
> Whatever comes with the browser will not be as good as an extension...
not true.
The core issue is that browsers have completely failed at offering anything to keep track of websites. Why aren't notifications simply build into the bookmark system? I don't need the website to provide that information via yet another special format, my browser should be able to figure that out itself from plain .html. But bookmarks haven't changed one bit in about 30 years, instead we moved that functionality server-side for no reason.
No need for JS workers or push servers.
What I want is a simple counter that show how many new posts there are of the RSS, and that's it. I only click for new content.
The RSS feature was always kind of useless, since it required that the website provided a RSS feed to begin with, which most don't. The implementation in Firefox was also horrible on top.
HTML is a markup language, with header, datetime and article tags, parse that and do something useful with it, we don't need yet another format that duplicates the information that is already on the website.
And if you respond with "well, I don't care about the actual content, I just want to receive a notification when the page has changed at all", think how long would it take for every marketer use that "feature" to simply make minimal changes in the site to trick their viewers into inflating their page view numbers...
It worked amazingly well! It worked so well that it became a problem for the publishers when they realized the standard for syndication has become so widely adopted that people were not visiting the websites anymore and they had lost control of content gatekeeping.
> Mozilla had half a billion dollars each year to work with, I am sure they could have figured something out if they cared.
I agree with you that Mozilla has shown that they don't really care about an open web, but I think you are reversing cause and effect. RSS was already a reality when Google had to kill (*) it, and Mozilla went along with it because they never managed to get out of Google's money tit.
* Not really kill it, but just taking all the steam out of it so it wouldn't destroy their own business.
I can only see this happening as a service. A company crawls the web—probably a search company. Their LLM classifies changes. Their users can subscribe to individual sites or pages.
Even then there are downsides to publishers including loss of some tracking information and users spending less time on their sites being subjected to advertisements.
The problem with the "single lightweight endpoint" is that it has to be maintained. RSS is literally a whole shadow site, with finicky XML validation to worry about on top. I've worked on multiple projects where the RSS endpoint was broken much of the time. It's both fragile and not very visible.
A solution involving client parsing of semantic markup at least has the benefit of requiring zero maintenance.
Are you referring to the microformats tags? They were never standard, and they were never meant to "turn pages into things".
Microformats, while nice and useful, were never meant to be more as compilation of certain adopted practices by the indieweb crowd.
(Also, a bit of a side rant: now that I am working on ActivityPub stuff I'm finding less and less sympathy for those that jump into code and push for "pragmatic" solutions. The ActivityPub spec is not perfect, but it's incredible how almost everyone implementing ActivityPub ignores JSON-LD and RDF and just want to wing with the JSON messages. It gets to the point where perfectly valid JSON-LD will get refused to anything that is not called Mastodon, because everyone else is just parsing the JSON they receive and completely ignoring @context directives)
Interesting rant about ActivityPub, you have my sympathy.
Maybe making everyone who wants to interact with the fediverse deal with all that complexity isn't such a great idea after all. What we really should have gotten was RSS++ with optional push notifications for new content instead of this mess. But it wouldn't be the web without reinventing the wheel for every new "standard" I guess.
I could entertain the argument that we don't need two way interactivity, and that most of the applications would be fine by implementing their own ad-hoc API. This is exactly what is happening in the Fediverse now, where every microblogging project ends up implementing Mastodon's API and every Lemmy client goes straight up to Lemmy's API instead of getting the data from "raw" ActivityPub.
This is a pipe dream. In reality your HTML markup needs just as much maintenance if not more - at least the separate feed is unbothered by design changes to the HTML site.
That part is a non-issue since Browsers need to be able to turn that tag soup into a sane DOM already. And these days how to do that is well specified.
Or wait, that was just a clone from the pc desktop which was a clone from the 1973 Xerox Alto.
https://design.tutsplus.com/articles/know-your-icons-part-1-...
Ah yes, how familiar it looks...
My joke since the 90's: Mosaic had full text history search!! It aged well I must say.
With all the money coming in from google it was hard for Mozilla to understand the point of subscribing to RSS or organizing what one finds online. For google it must have been even more incomprehensible.
This seems like what we should do against negative trends. I think complaining is more common, probably more accepted (?) than advocating, but logically, the latter is what we should do.
Was surprised that anyone would be interested in keeping up with my writing, but was happy to oblige the request as it had been on my to-do list for a while. Happy I did do as it seems many people are hitting the RSS endpoint now. Cool to see that RSS is relevant in 2025, and will definitely advocate for its usage more moving forward :-)
I never bothered to make a list of the mails I send but now I see it is quite useful to show how well it works. Maybe some data on implementation time would be as useful.
Auto-discovery for RSS is simple enough to explain here: just put the following code in your head element (at least on the homepage).
<link rel="alternate" type="application/rss+xml" href="/feed.xml" title="RSS Feed">
I came to the industry way later than the Web 2.0 inception and didn’t even know about it until a while back.
[1]: https://rednafi.com/index.xml
Or use an open source module. Here is a general atom feed generator that I wrote and published under the GPL:
https://github.com/no-gravity/atomfeed.py
Just 14 lines of Python. And it has been reliably serving the feed for my own website for quite a while now.
Implementations of this notification mechanism are either spammy, privacy-problematic, or both: (Web) Push notifications, Email, or Messages.
The only solution that doesn't have either of these problems seems to be RSS: Provide the user with (customised) feed link and let them/their RSS client deal with it.
I really wish RSS was less niche and more mainstream. I will "advocate" for it regardless.
Thank you for your effort in advocating RSS support. I hope RSS makes a major come back especially with the recent events.
I came to the software industry a lot later than the inception of Web 2.0 and rediscovered RSS almost accidentally. I advocate for it too.
You’d be surprised how many people still care about this. My static site build broke the RSS[1] once recently, and I immediately got like 5 emails from different people.
[1]: https://rednafi.com/index.xml
Recently, one of my posts hit the front page here, and a few people emailed me asking for an RSS[1] feed. It turned out that it was just a simple config update to enable this on Hugo.
Other SSGs usually support it out of the box too. Plus, it’s not too hard to build the XML from your HTML if you want to build it yourself from scratch.
[1]: https://rednafi.com/index.xml
Combine that with a list of shared links which functions as a blog roll and consists of the feeds that you follow, and you have yourself a Really Social Site. You can even download the OPML file that contains all the shared links and start following some feeds from it yourself. So discovery is also possible with RSS feeds and OPML lists, albeit it works slightly different than you're used to from big tech.
After that I built a Newspaper module that automatically collects new posts from feeds that I selected. This is my main way to get news without some algorithm deciding for me. The only wish I have is that more of your personal sits/blogs (most websites I follow come from HN) offer more 'photo feeds', just an enclosure-element in your item with a link to a picture or other media.
Consider helping them out if this interests you, you might even be using a feed already as they have some custom feeds for github like for discussions and issues.
https://openrss.org/about/contributing
When pulling RSS, how do you know how often to poll? How do you know which items have been seen previously?
I would guess a combination of frequency from sitemap.xml, last modified http header, and past heuristics. Previously viewed items would, I think, need to be cached in the client (unless the RSS URL uses some kind of token to identify the user, which sounds ripe for abuse).
Tracking what's been read or not isn't done by the RSS feed or whoever hosts it, it's performed by the user's feed reader, which be just a local app on your phone or PC, or it might be a cloud service, either hosted (like Feedly) or self-hosted (using ie. FreshRSS).
Personally I just start my reader then it aggregates and sorts my feeds by date into a single interface. This works well specially for much larger numbers.
TL;DR: readers should not poll more often than once and hour, use ETag and If-Modified-Since to determine whether to download the full feed again.
Which items you have seen previously is something the feed reader keeps track of.
Is there a particular field that can be used as an identifier?
Of course a lot of feeds also get this wrong and change the GUIDs for existing entries once in a while which results in strictly compliant readers showing you the entire feed history as new. Really annoying.
The latter is annoying, I agree.
¹ It is an NNTP interface so the article is superseded; https://feedbase.org/about/ - if you don't want to see updates, you can configure your newsreader to skip supersedes.
It really depends on you but IMO for most feeds polling once a day is plenty.
https://www.rssboard.org/rss-specification#optionalChannelEl...
ttl, skipHours, skipDays
Source: working on a feed reader (https://lighthouseapp.io/) and feed finder tool (https://lighthouseapp.io/tools/feed-finder).
[0] https://getnikola.com/
[1] https://getnikola.com/rss.xml (Open it in your browser!)
[2] https://github.com/getnikola/nikola/blob/master/nikola/data/...
Retrospectively, writing code in XML, eewwww, but back then I liked writing XHTML by hand
For example: https://andrewstiefel.com/feed.xml
Niche? It happens far more than you think.
And since this is HN, implementing a RSS reader tutorial is surely more interesting than TODO lists.