This is the second of my now yearly roadmap blog posts. You can find the last year’s post here.

Looking back

Looking at my commit history for the last few years, 2019 was actually the busiest year so far.
All in all there were 19 updates for iOS and 3 for macOS. As always you can find the entire changelog here.

3 Pane View

In preparation for the Catalyst Mac app, I’ve started the year implementing the three pane view on iPads.
Looking back this was a good idea, there were more than enough other things to do to get the macOS app ready in time for Catalina, so it was nice to have this out of the way early.

Sync Services

One of the more requested features was a way to use Fiery Feeds without having to signup for a third party service.

Version 2.2 added an integrated RSS parser that allows you to subscribe to feeds without having to rely on any server or service. The feeds are downloaded and parsed on device (the way traditional RSS readers work).
Because I noticed that a lot of the things needed for a read later service, from text extraction to database code, were already in place, version 2.2 also added an integrated read later account.

I didn’t stop with local accounts, instead if added iCloud syncing to both the RSS and read later accounts. Since the database structure is shared between all account types, I can even use the same iCloud sync code for both types of accounts. And, while I was at it, I’ve added support for syncing the app and account settings through iCloud as well.

Later I’ve also added support for syncing with NextCloud News.

Article tags

New is also support for article tags, creating new tags and adding tags to an article. It’s only supported by some services, but it made sense to implement it now, since they’re now also used it in local/iCloud accounts.

Siri Shortcuts

Fiery Feeds learned Siri Shortcuts with parameters, allowing you scripting access to your feeds and articles. You could search for articles or save all starred article from a particular folder to your notes, or whatever you want. (Do let me know if you’re doing something interesting!)

Bionic Reading

This year also brought Bionic Reading to Fiery Feeds. It highlights parts of words to guide the eye through the text.

Full Page Screenshots

Another new feature in iOS 13 are full page screenshots. When you take a screenshot of an article, you’ll now have the option to save or annotate a PDF of the entire articles (even if it’s longer than what’s on the screen). Just take a screenshot, and then choose Full Page in the system’s screenshot UI.

Mac App & iOS 13 Update

After iOS 12 which required nearly no changes to the code, iOS 13 brought (mostly due to Catalyst – most of the new features in the iOS version were required for the Mac) some massive changes.

  • Context Menus
  • Multiple Window Support
  • System Dark Mode
  • New Keyboard Shortcuts API
  • New Background Sync API

But at least there is now a working, and fairly usable macOS version of Fiery Feeds. It’s not perfect yet, and there are still lots of bigger and smaller improvements planned for it, but if you like your RSS app configurable, it might already be the option out there.

Planned 2020

Both the Mac app and the iOS 13 update were much more work then expected, so I had to push some of the planned features to 2020. Full text search and saved searches in particular.

Here are the things planned for 2020, in no particular order. (And I want to emphasise that they are only planned. Plans change sometimes.)

Mac Trial

Fiery Feeds for macOS is sold separately from the iOS as a €35 one time purchase. I understand that you might want to try the app before buying it, so the first thing in 2020 will be a trial version.

Full Text Search

As mentioned before, full text search was originally planned for 2019. It’s been pushed to 2020 and should be in the first feature update for iOS and macOS this year.

Saved Searches

Once it’s possible to search for text, it’d be nice to save those searches for quick access. I’m thinking of something along the lines of iTunes’ smart playlists to create powerful smart views, possibly even across multiple accounts.

Native Article View

Another big feature that’s coming sooner than later. Instead of relying on an embedded web view to render the article content, I’m parsing the content myself, and drawing it with standard UIKit labels and images to the screen. This is not only a lot faster, it also gives me much more control over the content (think useful context menus, or loading images only when needed, to save bandwidth).

You can even try it out already, if you want. Just open the Expert Settings by tapping and holding the settings button, then look into the ‘Experimental’ settings. There are still a few things missing, most notably text selection, but it’s coming along.

Drag and Drop / Multi Selection

One of the more macOS centered improvements. Selecting multiple article to mark read or tag at once, or simply dragging feeds / articles to folders / tags to assign them is something I’d expect from a Mac app. I’ve caught myself trying to do this and getting annoyed that it doesn’t work multiple times. Interestingly I’ve never missed those features on iOS – I still plan on supporting it on both platforms.

Per Feed Settings

Over the time people have asked for different settings they want only on a per feed basis, not for the entire app. Showing Preview Images for example, or notifications only for specific feeds. Alongside that I also want to support automatically marked articles read after a certain time (for specific feeds), and some more.
Those will be ‘override’ settings, that is, if you never look into the feed settings view, the app should continue to behave exactly as it does today.

Performance

And lastly, 2019 had some massive features and changes (and you might notice that the features planned for 2020 are quite a bit smaller in scope), this year I want to focus more on general performance and stability. Sound boring, I know, but I have quite the backlog of smaller issues, and ideas of where I could make the app a bit faster.

Fiery Feeds for Mac offers the same customisability as you’re used to. It’s build using Catalyst and on the same code base as the iOS version. I’ve written some more about it here.

It offers the same customisability as you’re used to in the iOS version, including multiple article list styles, custom themes, custom URL and Email actions, iCloud synchronisation, smart views, automatic full text extraction and all the rest.

The system wide action extension to subscribe or read later is coming in one of the next updates. It’s already working in my development builds, but I haven’t managed to convince the App Store servers to accept uploads with the extensions embedded. Let’s see if that changes after the official Catalina release, wouldn’t be the first time that the App Store isn’t quite up to date.

The new Bionic Reading feature from version 2.3 is also available on the Mac.

Pricing

I’ve thought long about how to price the Mac version. The most obvious option would be to make it part of the subscription that already exists on iOS, but this comes with some technical issues. The Mac and the iOS/iPadOS apps are two separate apps on the App Store (since universal apps between iOS and Mac are not supported). Apple allows syncing the subscription between separate apps, but doesn’t provide any help in doing so.

Right now there is only a single subscription (group) available in Fiery Feeds. That means, no matter what, a single Apple ID can not subscribe more than once. If I wanted to do subscription syncing, I’d have to at least offer a separate (because it’s separate app) subscription in the Mac app (for people who do not use the iOS app), which means users might subscribe twice by accident (if they didn’t follow the steps to synchronise the subscription from the iOS app exactly step by step). Together, with the fact that I can’t refund subscriptions (or purchases) even if I wanted to, that sounds like a support nightmare in the making. So a shared subscription is out, at least until it’s properly supported by the App Store.

Generally requiring a second subscription for the Mac app for everyone… feels just wrong. So that’s out too.

That leaves me with probably the most straightforward option. Fiery Feeds for Mac will be a single, paid upfront, onetime purchase, as Mac apps have been for a long time. It’s going to be $35 and I expect to support it with new updates and features for the next 3-5 years, before doing some sort of paid upgrade, be that a move to a subscription (if supported by Apple), or another paid version.

You can find Fiery Feeds on the Mac App Store.

I’ve posted a few things here and there about the progress on the Mac app during development on twitter. I’ll try to add a few more words here.

Getting an initial version of the iPad app to run on macOS was relatively straightforward. It did not look particularly good (or mac like) though. Luckily I’ve started working towards the Mac app, when Apple announced Catalyst last year, and the 3 pane view was already done.

After adding a stretching mode the the toolbars, and disabling the large titles, it’s getting a little bit better. Both navigation bar and toolbar are custom implementations, since I’ve had far too many issues with the standard classes in iOS over the years. I’m quite happy I did it this way.


Multi window support is also a must on macOS, even more so than on iPad. It’s nice that implementing windows for the Catalyst app, also gave me multi window support on iPad for free, basically. But on macOS I’m using it a bit more, by default. For example the settings above are always opened in a separate window (as they should be), or if the main window with the article list is too small to show the three pane mode, it defaults to opening articles in separate windows as well (although this can be changed in the settings).

And of course menus. I’ve spend a lot of time switch everything to the new context menus (which are weirdly similar to my own long press menu from version 2.2), except of course, that they get translated to actually context menus on the Mac. And the menu bar, of course, it wouldn’t be a Mac app without it. While at it, I’ve completely rewritten the handling of keyboard shortcuts, which were kind of hacky before.

Additionally to the keyboard shortcuts, I’ve also completely rewritten the background sync using the newest APIs. You probably shouldn’t notice any change on iOS, but it was still necessary to get background sync working on Mac as well.

Finally, I’m using an AppKit bundle for some of the smaller details. Like the nice and entered traffic lights on the (custom) window titlebar wouldn’t be possible without AppKit. Or setting the window size for the image viewer correctly. Or even the web view wouldn’t show the click pointer on links without doing that manually (though this might have been fixed in one of the later Catalina betas. Haven’t checked).

All in all, I see this first release more as the beginning of a journey than the final step.

New Features

Fiery Feeds 2.3 brings support for all the new iOS 13 features and some more.

Context Menus

I’ve completely replaced the old custom long press menu with the new context menus everywhere (and added menus in lots of new places).

Bionic Reading

First off, the article view now supports Bionic Reading. It allows you to read long texts with more
 focus, awareness, and sustainability. You can read more details on how Bionic Reading works here.

Nextcloud News

Fiery Feeds now supports two way syncing with selfhosted Nextcloud News installations.

Multi Window Support

Fiery Feeds now fully supports multiple windows on iPad running iOS 13 or later. You can open different accounts in different windows, you can also drag individual articles to open them in separate windows.

Siri Shortcuts

Siri Shortcuts with parameters are an extremely cool feature. I’m not thinking about them as much as things to say to Siri, and more like a bridge to allow scripting with Fiery Feeds. I’ve added shortcuts to fetch article ids from certain feeds or folders and to fetch article attributes (like title, body, author and so forth) for an article. And shortcuts to tag articles or mark them starred/read. I’m really looking forward to seeing what you all do with this.

As an example, here’s a short script that searches the “Must Read” folder for any article that contains “Apple” and tags the article.

System Dark Mode

You can still select your preferred dark and light mode, but now you have the option for the app to follow the selected systemwide mode, instead of following the screen brightness.

Even more

Version 2.3 also includes completely rewritten (and streamlined) keyboard shortcuts code and background sync using the newest APIs (which should reduce background battery usage), but you should not notice too much of these changes.

Some of my favourite little changes are the new two column settings view on iPads and that you can tap and hold any of the bottom toolbars to quickly customise them.

One more thing

There is one other thing hidden in this version. I’ve been working on the next generation of my article viewer for the past few months. With this new article view, I’m parsing the HTML for the article myself, and render the content using native elements, instead of throwing everything into a web view. It’s far from finished, but what’s there is already so much better (and much faster!) than the web view based rendering that’s currently on by default.

If you want to give it a shot, you can open the Expert Settings by tapping and holding the settings button, then look into the ‘Experimental’ settings. Let me know what you think :)

Fiery Feeds has lots of settings. There are the Expert Settings I’ve written about previously, there are the general app settings. And there are also the often overlooked account settings.

The account settings not include the login information, but also some additional operations like importing or exporting OPML files (in iCloud or local accounts).

Caching

You can how many and which of your articles should be downloaded to your device, and how many and which articles should cache additional data. You can choose whether you want all starred articles, and how many already read articles you want to have available on your device.

You can also choose which (unread, read or starred) and how many, at most, of your articles should be cached. Fiery Feeds always keeps the selected number of the newest articles with the selected states cached, and removes older articles, even if still unread from it’s cache.
Note that caching the article here is different from downloading the article. A downloaded articles shows up in the app, and has the in the RSS feed included article text available offline. For a cached article, the extracted article text (for text mode) as well as any image included in the article is downloaded and available offline. Both are downloaded on demand for any downloaded, but not cached article.

Notifications

Here you can choose whether to include the unread count in the app icon badge. (The unread counts of all accounts with this setting enabled are added together).
You can also choose if you want to receive detailed notifications for each new article (and wether you want to receive them inside the app, or only in the Notification Center. Note that the notifications inside the app only show for at most 5 articles, as to not block the UI for too long).
You can also choose to receive a sync summary (“6 new articles found”) as notification.

Smart Views

Here you can enable or disable any of the smart views, as well as setting the threshold for the long and short article folders, for the high and low frequency folders, and the number of days to be shown in the recents folder.

Mark Read

Choose when articles should be automatically marked read. Available options are on opening in the article view, on scrolling past them in the article list, or on triggering the quick share action.

Interface Settings

In the account interface settings, you can fully configure the bottom toolbars for the feed list, the article list, the Hot Links and article view. Additionally you can turn or or off showing word counts in the article list, as well as left/right swiping and saving the reading progress in the article view.