Making every feed look perfect
One of the goals of Downread is to make every feed look good. Even the most difficult ones. This is a very abstract claim, and I think it's an often overlooked aspect of feed readers, so I will use this blog entry to show you the difference it makes.
For many websites, the RSS feed is just an afterthought. They dump the HTML code from their website into the RSS feeds, without ever testing how it renders. Even on sites that use a proper Content Management System, where you might expect them to work perfectly, the feeds often include elements that don't work in any existing RSS reader.
Making every feed render perfectly is an ongoing effort, of course, as new blogs come out every day, and so do new features. Downread tries hard to keep up and support as much as possible. It supports HTML-native styling as far as possible, embeddings of video and audio data from common platforms, CSS classes used by Content Management Systems and publishing platforms, and content that uses the Tailwind framework. For some particularly complicated websites, we even use custom CSS to make the content look better.
Here are some recent improvements, shown side by side with other common RSS readers.
CMS-specific elements
Mainstream Content Management Systems like WordPress or Substack generate feeds with many internal styles that regular RSS readers can't render. The following example is from Noahpinion and shows a reference to another Substack-hosted blog, Ramp Economics Lab.
Downread supports the most common Substack-specific references to other blogs. On the left side, you see what the link to Ramp Economics Lab looks like on practically all readers. On the right side, you see how Downread renders it.
Better support for tables
HTML tables can be used for various purposes. They can be used to display tabular data, but especially in a restricted environment like RSS or email, they are also often used for layout, as this is the only widely supported way of positioning elements.
Downread analyzes tables to identify how they are used. Tabular data is displayed in a way that makes reading the data easier, while layout use of tables is recognized and displayed without additional styling.
In the example above from GitHub Blog you can see the formatting of a small table in a regular RSS reader, and what it looks like in Downread. It identifies the table as showing tabular data, and renders it as such.
Semantic HTML elements
HTML has many semantic elements that carry a certain meaning. Downread supports them and renders them appropriately — something most RSS readers do not.
The screenshot above is also from GitHub Blog and compares how an <aside>-section in HTML is rendered. The left RSS reader does not support the element, like most readers do. And on the right-hand side you see it rendered in Downread.
Tailwind support
Tailwind is a CSS layout framework that's used on a significant number of websites. Those that support RSS often include Tailwind styles in their RSS as well. This isn't a good idea, since RSS has no good way of allowing that. But they do it anyway.
Downread is, to my knowledge, the only RSS reader that comes with Tailwind support and supports the most common styles (but not all, for technical and security reasons). This is the difference it can make:
This example from Mashable shows the difference between a Tailwind-styled post and one that just dumps the text without applying any styles.
Custom CSS for difficult sites
Some RSS feeds are notoriously difficult. They include CSS styles but do not define them, leaving a generic RSS reader no chance to get it right.
Downread solves the issue by allowing per-feed custom styling. This needs to be hand-written (or AI-generated), so it is only realistic for the most popular websites. But it can make a huge difference, as you can see in the next two examples.
The first example is from Frequent Miler, a website that includes comparisons of credit cards. They offer very detailed tables that are, unfortunately, too complex for generic HTML in an RSS feed. But as the HTML still exposes the classes that they use, it was possible to develop a custom style that renders the data as on their website.
The last example is from the popular website MacRumors and shows a custom-styled button as well as some other formatting challenges in the MacRumors feed. Again, on the left side, you see the feed rendered without any help. And on the right, what it looks like with the help of custom CSS and Downread's smart heuristics that remove those large sections of whitespace.