Elytra Blog

The simple RSS Reader. This blog publishes release notes, engineering and design details.

Elytra & Big Sur

It’s been some time since I posted an update here and since I was gathering some screenshots of my progress on the Mac Catalyst app, I thought I would share my progress here as well for everyone to check out.

Hello, Big Sur

As noted in my previous post (WWDC20 and Elytra), I mentioned I’d release two separate builds, one for Catalina and another for Big Sur. But looking at how much better the app is using new technologies released this year, the plans have changed a bit. There won’t be a Catalina build, not anytime soon anyways. However, here’s an early look at the work in progress app running on Big Sur:

Elytra running on Big Sur with an article open from the unreads section

Elytra running on Big Sur with Large Sidebar Icons enabled under the OS Preferences.

Elytra supports OS tinting and will use your preferred tint color from the OS preferences

Elytra on Big Sur also supports inline playback and Youtube support just like the iOS App.

Elytra on Big Sur will also bring Multiwindow support similar to the Web App for opening Articles in separate windows.

The app is probably only 50% done. There a lot of tweaks and adjustments that need to be precisely made so that the app feels native to macOS Big Sur. It is still missing critical features like Importing & Exporting OPML files and managing your Subscriptions.

So I’d definitely tag this as Alpha for now. Once I determine it has all the necessary features from its iOS and Web counterparts, I’ll tag a beta pipeline and figure out a way to introduce it to testers. So if you’re interested in helping me test the macOS App, have Big Sur running on one of your computers, send me DM on Twitter or email me. Also send in any feedback or features you’d like to see in the macOS app.

Happy Reading!

TestFlight Changes

I’ve been contemplating on this decision for a while now and I think it’s finally time to implement a major breaking change in Elytra’s TestFlight policy. All future releases of Elytra on TestFlight will require you to have an active and valid subscription. 

Since before v1.0, all testers using Elytra through TestFlight bypassed all subscription checks. This is generally what is expected. However, some people are using this to bypass subscriptions entirely. 

This however doesn’t mean all testers will be affected. I know those who actively share feedback, crash reports and communicate with me. I’ll maintain your subscriptions for free for as long as you wish to be on TestFlight program. Everyone else getting started can use the free trail and as required contact me for a a bump in your subscription expiry dates. 

October 2019 Update

Half of October is over and I have a short update for you. 

Elytra v1.5 is on track and includes new systems for:

  • Unread Articles
  • Bookmarks
  • General Articles

What’s new: How articles are loaded, and when they are loaded. I am delaying loading data from the network as much as possible so as to not be too eager to cache too early. This achieves one primary goal: reduced bandwidth usage. Also makes handling and expanding things easier for me in the app, but nothing you should concern yourself with. “Yay!” for both of us! 

I hope to have v1.5 ready to ship towards mid-November and close the pipeline by end of November.

I really did not know a better way to announce the next bit so I am going to sneak this one in here: I give you, a first look at Elytra for the Web

Elytra for Web - Unread - Light Theme

Elytra for Web - Unread - Dark Theme

It is no where close to complete. I have barely gotten the article renderer to work with the basics. Lots of long coffee fuelled sessions still to go.

I decided to do the Web App first while I continue to work on the design of the macOS App and continue to improve the iOS app. The iOS app is pretty stable in v.1.5 now and has everything we need it to have, so now I can assign time to other platforms. 

Over the next couple of weeks, I’ll share more progress on this blog so stay subscribed through the RSS Feed. I’ll share Alpha Testing notes about the Web App later in November.  

Moving to Sign In with Apple

For v1.5, which will be a supplementary update to the v1.4 Fall update, I’m considering moving the authentication system to Sign In with Apple. I’ve just finished testing this system and it works as advertised, however it took much much longer than it should have. 

It works well on iOS, as well as the web. This is very important for me as all previous mechanisms I had looked into to link the session in your browser to the iOS app had too many steps.

Sign In with Apple is by far the most efficient system and still ends up giving me a single User ID to work with, no emails, no names, nothing. So it also keeps in line with Elytra’s Privacy Policy.

These changes should become available in the following weeks as I publish the v1.5 Beta Builds to TestFlight  for preliminary testing. All new users will have to use Sign In with Apple ID. All existing users will have to migrate their account to it, which I’m trying to keep simple. 

Alpha – The finale

The final epoch has been rung. 

What’s New

  • Folders support
  • Added GIF and webP support
  • Improves lists rendering
  • Blockquotes are now rendered more scemantically 
  • Added support for citations
  • Added support for mark elements to highlight text in paragraphs and blockqotes

Fixes

  • Fixes footlinks jumping to the wrong section
  • Fixes a crash when an article has a lot of content. Like, over 10000 words! 
  • Attributions page is now fully functional. 
  • Fixed search for Feeds
  • Fixed search for articles

The final alpha build is out. I look forward to hearing from you lot on the new improvements. As I now slowly work towards polishing the app up and work on the macOS app, I look forward to your criticism, feature requests and love/hate emails. Have a fun weekend, and enjoy reading. 

Alpha – Week 5

I suppose I underestimated myself when I wrote this.

What’s New

  1. Authors: Supported publishers have been enhanced with author support. This is currently limited to http://macstories.net and http://sixcolors.com. If you’d like to see support added for your favourite publisher, get in touch. You can now view all posts by a single author and tap on the ⦿ to view information about that author. Author bios in the article interface has been scrapped. 
  2. Push Notifications: Push notifications based on WebSub are finally here. At the moment, only this blog supports Push notifications. As more and more publishers begin supporting WebSub, this list will expand, and automatically. Just find the bell icon in the Feed Interface. If it isn’t there, the publisher most likely doesn’t support WebSub at the moment and therefore, push notifications won’t be available. 
  3. Filters: Maybe it’s Game of Thrones release time and you’d like to completely avoid all spoilers. You can setup keywords under Settings > Filters and these will apply throughout Yeti. Once you add new filters or remove existing ones, don’t forget to refresh your feeds. 

Fixes & Improvements

  • Improved accessibility labels for the “Mark all read” button making it more descriptive. 
  • Fixed rendering of <aside> tags from certain publishers.
  • Some articles wouldn’t display embedded images. This has been fixed. 
  • Improved quote rendering on iPads. 
  • Fixed a rare crash that would occur on the iPad Pros (2017) when marking an article as unread. 
  • Improved sync speed for bookmarks. 

Also, major news: this is the penultimate alpha build of Yeti. After the next build, I’ll be starting work on the Beta feature set (which is small, but contains a larger locale set for testing on my end). Once the alpha run is over, I’ll be freezing the spec on my end for the server side parser. 

This is going to enable me to enable publishers to add new meta tags to their article pages to customise rendering aspects inside Yeti. This is the major component of the beta run. Which means, there will be fewer beta builds, once every 15 days or so. 

Until then, enjoy the alpha. Have fun reading! 

Alpha – Week 4… Delayed.

We all hate delays. Especially when it comes to airplanes and commercial flights. But this is alpha-grade software. Today is Friday. You’re most likely not waiting for a new build notification to pop up on your screen. 

But I do have a very good reason for this. Let me break it down:

1. Bookmarks

I’m not even sure why this turned out to be this tricky to implement. Bookmarks are great when they are online on some server your phone connects to. But Yeti promised (actually, I did) to make them available offline. This is easy when it’s only a single device. Multiple devices is very tricky though and I did not want to spend time on a full fledged sync service. 

But, as always, I have it figured out. Mostly. I have a lot of testing pending on my end (automated and manual). Once those are through, the build will be a third ready. 

2. Author Bios

Why aren’t more RSS readers doing this? It may involve manual work (as in the case of Yeti) or some person smarter than I can figure out a contextual way to grab this information off the publisher’s website. Well, Yeti doesn’t have the time to wait for some popular app to do it. You’ll be able to browse articles by that particular author as well as read about the author towards the end of the article (if you enable it under settings, it’ll be off by default).

3. Push Notifications

I spoke about Realtime RSS here and I’m glad it all worked out to be simpler than I aniticipated. So to bring these advantages to you, I’m working out the interface and potential “fine grain” settings that you can tweak to get notifications about new articles from your favourite publishers. 

So the app itself isn’t delayed. It’s still on track according to my tracker (assuming it’s functioning correctly). What is delayed is the week 4 release. So week 5 will have things from both of these weeks. I moved things around so this will be a big release and I get more time to implement things a little better and make sure everything works smoothly for my wonderful alpha group (*cough* unlike a certain release cycle *cough*). 

Alpha – Week 3

Build 40 just went to all Alpha testers. Here’s the changelog. 

New & Improved

  • Unread feed. All your unread articles in one place. 
  • Articles will now show unread states
  • Changed article lists layout to accommodate better for accessibility preferences. 
  • Improved handling for accessibility content size preferences
  • Improved RTL rendering of text

Fixed

  • List rendering in some cases where a single item had multiple components in it. 
  • Images & Galleries no longer overflow bounds of iPhone screens.

What you won’t see 

I’ve added preliminary support for the Subscriber part of the WebSub1 protocol to the backend. This vastly improves how I fetch new articles. Currently, it’s only enabled for this blog. New publishers, you add to the service, which advertise their hubs will be automatically added. For all existing publishers, I’ll manually check and verify.

 

  • I talk more about this and the upcoming near real-time capabilities of Yeti here

Realtime RSS

Yes, you read that right. Thanks to the WebSub spec, Realtime RSS is not only possible, but wildly scaleable if implemented correctly. Yeti is making an attempt at that. 

It will not only enable Yeti to:

  • fetch posts in realtime from the publisher (your favourite websites)
  • update content stores soon after posts are published
  • spend less resources on polling publisher websites

but also

  • enable you to subscribe to your favourite publishers
  • receive near-realtime notifications1 from these publishers
  • have the app update itself in the background when the system determines so

The implications of the above are grand. 

If the above holds true, which by means of this post: I am looking for feedback on the above, I not only save money, but enable you (and myself) to get real time notifications from publications which really matter to me. As since Yeti will be paid there won’t be any add-on cost you’ll have to pay to get this. It’s all part of the package.

I look forward to hearing your thoughts on the matter in the comments section below.

  • You can choose which publishers to receive notifications from, just like you would on Youtube.

More Alpha

Another Friday, another alpha release. This is a House-keeping build required for the upcoming single feeds: Unread and Bookmarks.

What’s new

  • Image settings now take effect. If the source does not provide alternate image sizes, the default url is used (which could be a big image).
  • Removing feeds
  • Searching for an article has been optimised to run smoothly on older devices. 
  • When feeds are loaded on app launch, it’ll load the full batch, and then onwards, only load new changes. This largely improves caching and networking performance. 
  • The API has also been updated to not return responses if the local cache matches the server response.
  • Tweet rendering (only works if Tweets were embedded and not quoted)
  • Feed listings now update when you move to the next or previous article using the accessibility view. This also enables endless scroll on iPads (maybe even on iPhones, but I haven’t tested it)
  • Image views and Gallery views have been reimplemented to be faster for rendering, more performant and use less memory. 
  • Improved text rendering for the article title & author in the article view. It should now scale gracefully with dynamic type. 
  • The above change has also been made in the Feed view for individual cells.

Bug Fixes

  • All layout rendering issues in the Article renderer have been resolved. This includes stupid Xcode warnings and the like. 
    A) Quotes sometimes render with extra height. This is a known issue.
    B) Formatted code blocks don’t scroll horizontally in the same line. This is a known issue.
  • Opening links externally is now partially implemented. This may still crash in some situations. 
  • Sharing an article now adds a “space” between the title and URL. This will be in place until Apple resolves the bug and restores the correct behaviour.

I hope you enjoy reading over the weekend. Have a good one. ✌🏼