I have been hard at work adapting Unread to the iPhone Duo. I want to share what Unread looks like on the new device.

This is Unread on the iPhone Duo while it is closed:

Unread home screen on a closed iPhone Duo
Unread home screen on a closed iPhone Duo
Feed subscription list on a closed iPhone Duo
Feed subscription list on a closed iPhone Duo
Article list on a closed iPhone Duo
Article list on a closed iPhone Duo
Article on a closed iPhone Duo
Article on a closed iPhone Duo
Swipe-left menu of an article on a closed iPhone Duo
Swipe-left menu of an article on a closed iPhone Duo

When the iPhone Duo is open, Unread takes advantage of the additional screen real estate:

An article list on an open iPhone Duo
An article list on an open iPhone Duo
An article on an open iPhone Duo
An article on an open iPhone Duo

In landscape mode, Unread can take half the screen while the other half shows a home screen with widgets, or even a different app.

The home screen with an Unread widget on the left, and Unread on the right
The home screen with an Unread widget on the left, and Unread on the right

If you enjoy using Unread, please consider subscribing to Unread Premium. Unread Premium features include preemptive caching of webpage text and images, custom app icons, article actions for saving to read later services, and more.

Unread 5.0.1 is available from the App Store with these improvements:

  • This update fixes a layout bug that would occur on some iPhone 18 Pro Max devices.
  • This update adds modest improvements to article list thumbnails. Specifically, Unread will avoid zooming in so far on a face or another subject that the resulting thumbnail ends up being grainy. Unread will also include a little more of the area around the zoomed-in subject in small thumbnails.
  • When Unread is unable to import feeds from an OPML file because of a problem with that file, Unread now shows a more descriptive error message.
  • This update fixes a bug that prevented images from appearing properly in widgets on macOS when the “Dim widgets on desktop” setting was enabled.
  • In order to work around a bug in macOS 27.0, I had removed the article list tracking separator from the toolbar when running on macOS 27. I also removed the Mark All Read toolbar button from the default toolbar configuration, although it is still available by customizing the toolbar. Since that bug is fixed in beta versions of macOS 27.2, this change now only applies to macOS 27.0 and macOS 27.1. On macOS 27.2 (currently in beta) and later, the article list tracking separator is back and the Mark All Read button is in the toolbar by default.
  • This update prevents Unread from offering to add a FreshRSS account from a Fever account under certain circumstances where Unread can detect that the Fever account is not syncing with a FreshRSS server.

If you enjoy using Unread, please consider subscribing to Unread Premium.

macOS 27, iOS 27, and iPadOS 27 allow apps to offer extra large portrait widgets. Unread 5.0 offers an Articles widget and an Unread Counts widget with this new size. The article list thumbnail improvements in Unread 5.0 also apply to thumbnails displayed in widgets.

Two iPhones next to each other. The iPhone on the left shows a full height Articles widget. The iPhone on the right shows a full height Unread Counts widget. Each widget takes up most of the space on the home screen, leaving space only for the status bar, the dock, and the search button.

You can add an extra large portrait widget to your desktop on Mac, to your home screen on iPhone, and to the Today view on iPhone and iPad. Strangely, extra large portrait widgets cannot be added to the home screen on iPad.

Unread 5.0 is available now from the App Store. If you enjoy using Unread, please consider subscribing to Unread Premium. Unread Premium benefits include the ability to customize Unread’s widgets so that they show only articles or unread article counts from a specific feed or folder.

Unread 5.0 adds improvements to article list thumbnails. In this article I show how these thumbnail improvements apply to specific sample images.

Faces

When Unread needs to crop an image to a specific aspect ratio, it does so in a way that avoids removing or cutting off faces.

For example, take this tall photo of a woman holding a child:

A photo of a woman holding a child. The photo is tall and narrow. The woman’s face is near the top of the image.
Source image from propublica.org

Since the woman’s face is near the top of the source image, Unread generates a large thumbnail using the top of the image.

A 16x9 version of the image that includes the woman’s face.
Large 16x9 thumbnail
A square version of the image that includes the woman’s face.
Large square thumbnail

When generating a small thumbnail, Unread zooms in on the face.

Another 16x9 thumbnail of the same photo, but zoomed in on the woman’s face.
Small 16x9 thumbnail
Another square thumbnail of the same photo, but zoomed in on the woman’s face.
Small square thumbnail

When There Are No Good Cropping Options

Unread prefers to crop an image to fit the desired aspect ratio, but sometimes there are no good ways to do so.

For example, cropping this image into a square would be impossible without removing faces:

A 16x9 image showing two women on opposite sides of the image. There is text between their faces.
Source image from 404media.co

When Unread needs to fit this into a square area, it scales the image down further and centers it in the area reserved for the image.

The article list entry has a square thumbnail area. The entire image is in that thumbnail area, with whitespace above and below it.
An article list entry on Mac where the thumbnail shape is square

Text and Solid-Color Backgrounds

Unread will focus on text when an image has no faces. Sometimes an image cannot be cropped to the target aspect ratio without cutting off text. When that image has a solid-color background, Unread extends that color to the edges instead.

For example, take this tall and narrow image with text and a solid-color background:

The text “A fun way to take notes” is in the vertical center of a tall narrow image. The image has a solid blue background.
Source image from reddit.com

Unread crops this in a way that preserves the text. It extends the solid background as well:

A 16x9 thumbnail showing a solid blue background. The text is present and occupies most of the height of the thumbnail. The same solid blue color is in the background. The background is wider, relative to the text, than it is in the source image.
Large 16x9 thumbnail

These improvements are in Unread 5.0, which is available now from the App Store. If you enjoy using Unread, please consider subscribing to Unread Premium.

Two iPhones showing the same article list. The first one is showing the article list in a compact format with small image thumbnails that zoom in on the focus of the image. The second one is showing the article list in expansive format, with larger thumbnails that show more of the original image.
Unread article list on iPhone in compact format and expansive format

Unread 5.0 is available now from the App Store. This update adds these improvements and more:

  • Improvements around hero images, article list thumbnails, and widget thumbnails
  • Syncing with FreshRSS and Miniflux
  • The ability to quickly mark old articles read

Image Improvements

This update adds improvements around hero images, article list thumbnails, and widget thumbnails:

  • In prior versions when Unread needed to resize an image to generate a thumbnail, it would focus on the center and crop as little as possible. Unread now looks for faces, animals, text, and other salient portions of the image. Unread then crops the image in a way that preserves those most important areas of the image. For example, when Unread needs to generate a thumbnail of a tall and narrow image where a person’s face is near the top, Unread will generate a thumbnail with the person’s face even though it is not near the center of the image.
  • Sometimes there is no way to crop an image to the desired aspect ratio without losing very significant parts of that image. When this is the case, Unread detects that and instead embeds it into the center of a larger image with the correct aspect ratio.
  • When generating a small thumbnail and when there appears to be a small area of focus inside that image, the thumbnail will zoom in on that area of focus. For example, some thumbnails are generated from a photo of one person. Zooming in on that person’s face makes it easier to see it. This applies in compact article lists on iPhone, in article lists on Mac when the article list pane is narrow, and in widgets.
  • In Feedbin accounts, when Feedbin recommends a thumbnail for an article and Unread accepts that recommendation, Unread will now also prepend that image to the article content.
  • Some feed syncing systems indicate when there are images associated with articles beyond those embedded in article content. The image URLs can come from the feed or from the underlying webpage. Under some circumstances, Unread prepends those images to the article content. With this update, Unread now ignores such an image when it appears to apply to the entire website, rather than just the specific article. This change required building a server-side component that retrieves and stores header image information for websites. I added Section 3: Header Images to the privacy policy to reflect this.
  • The small Recent Articles widget no longer fades out the bottom of the image above the article title. Instead the bottom of the image has a clean break, and the article title is below it.

Syncing With FreshRSS and Miniflux

This update adds the ability to sync with FreshRSS accounts and with Miniflux accounts. Both FreshRSS and Miniflux are open source self-hosted web-based RSS readers.

Unread syncs with FreshRSS using its implementation of the Google Reader API, and with Miniflux using its REST API. It was already possible to sync with both FreshRSS and Miniflux using their implementations of the Fever API, but using a FreshRSS account or a Miniflux account adds these benefits:

  • The ability to subscribe to feeds, organize feed subscriptions, and unsubscribe from feeds from within Unread.
  • The ability to subscribe to feeds using the Subscribe in Unread share sheet extension.
  • The ability to mark read on scroll.
  • The ability to mark all articles above or below a specific article in an article list as read.

The privacy policy has been updated to reflect the addition of FreshRSS and Miniflux. Unread requires version 2.3.2 or later of Miniflux.

If you had been syncing with FreshRSS or Miniflux using their Fever API implementations, Unread makes it easy to add a FreshRSS or Miniflux account to Unread based on the existing Fever account. For FreshRSS this just requires one tap. For Miniflux you will need to enter an API key. Details are available on a separate page.

Mark Old Articles Read

This update adds the ability to mark old articles read. Choose a threshold of 24 hours, 3 days, 7 days, 14 days, or 30 days. When invoked, all articles within the appropriate context that are older than that amount of time will be immediately marked read so that you can focus on newer articles.

On iPhone and iPad, you can invoke this from the swipe left menu of any article list or from the top level subscription list of an account.

On Mac you can invoke this from the Article menu in the menu bar, as well as from the context menu of any feed subscription or any category, folder, or tag in the sidebar.

This capability is not available for Fever accounts.

Additional Improvements

This update also incorporates these improvements:

  • On version 27 of macOS, iOS, and iPadOS, this update adds an extra large portrait Recent Articles widget and an extra large portrait Unread Counts widget.
  • The Subscribe in Unread extension for Mac has been completely rewritten. Previously it used SwiftUI. Now it uses AppKit.
  • This update adds compatibility with direct touch input on iPad when using Sidecar on macOS 27.
  • This update adds pull-to-refresh capabilities on macOS 27.
  • With this update, posts without titles from Micro.blog feeds and Mastodon feeds in an Inoreader account will look better. This change will apply to new articles downloaded after installing this update.
  • This update adds a variety of minor improvements to the Feed Errors window on Mac, and the Feed Errors screen on iPhone and iPad. The list of feed errors is available for Unread Cloud, Local, Gobbler, and Miniflux accounts.
  • This update reinstates the ability on Mac to set a custom keyboard shortcut that does not have a modifier key, such as Command (⌘), for an article action or a shortcut.
  • The settings screen for an individual account on iPhone and iPad now includes the account username or email address for feed service accounts that are not Unread Cloud or Local accounts. For self-hosted accounts, this screen also includes the Server URL. The account detail view in the Accounts pane of the Settings window on Mac also now has this information.
  • When an iPhone is in landscape mode, the article list will now show a large image thumbnail on the right (like it does on the iPad), regardless of whether the Article List Format setting is set to Compact or Expansive.

Unread 5.0 requires macOS 15.0 (Sequoia) or later, iOS 18 or later, or iPadOS 18 or later.

If you enjoy using Unread, please consider subscribing to Unread Premium.