There are a couple significant Reader features this version includes. First the Channels List is now locally cached which means interacting with the Channels List should be smoother and more enjoyable. That also allows me to do some nice things like do some different filtering and sorting. I’m currently finishing up a filter/sort options window that allows you to either display all channels or only the unread channels. You can also sort your channels manually (which is the default), alphabetically or by the unread count.
Having all the channels in the local app’s database also enabled another feature which I’m excited about. Now I can start adding local settings that Microsub itself might not support for a channel, because I have somewhere to store the settings. The first one of these settings is the ability to turn on “auto-read” support on a per channel basis. When turned on, this will mark a post as read when it goes from being visible on the screen to being scrolled off the screen. It was important for me when implementing this that it could be enabled-disabled a per channel basis because I have certain Microsub channels that I only want marked as read if I actually read it.
Another big obstacle was the timeline has a nice thumbnail display of the first image on a post, however that only worked for posts that are part of an h-feed. JSON and RSS feeds wouldn’t have post images to display. In this version I’ve fixed this by grabbing all the html image tags in the post content and adding those as post images. This is important if you follow a lot of feeds that don’t have h-feed support. For me, this was important because my micro.blog feed that I follow is a JSON feed with images embedded in the post content, so previously I couldn’t see images from micro.blog posts. Now I can and it’s been a breath of fresh air testing out this new version! In addition, it used to be if you had a post with a title, it would display the title as the body text and you wouldn’t see any body text. Now, if there is a title it is a bold text at the top of the post and you get the first couple hundred characters of the body text underneath the title as a preview. This has really helped me in deciding if I want to read an article or not before swiping.
Previously, a post that was considered as read was faded out. While I liked the idea initially, in practice it just didn’t work as nicely as I had hoped. So now instead of fading read posts, I highlight new posts. They are highlighted with a red line on the left side. I do feel like it might need some tweaking before I’m fully satisfied with it, but there is something about it that I really enjoy.
Finally, I do like to post GitHub issues on my site first and then syndicate them to GitHub. I added better support for this in the new version. Normally when writing a post or reply you only get the title field if you have more than 280 characters. Now, if you are replying to a GitHub repo, the title will always be there and some of the language on the reply interface changes to languages around creating an Issue rather than a Reply.
I received some great feedback from beta testers on some bugs that were really getting in there way such as Indigenous considering a 202 response code as an error, as well as that I was using the iOS Twitter keyboard layout (which replaces the return key with the at sign and hashtag buttons). The keyboard is now the standard iOS keyboard, so use the “return” key to your hearts content. I had originally used the Twitter keyboard layout because micro.blog did that with their app. But ultimately I think the right move for Indigenous is to use the standard layout.
Here is a full list of the features and bugs that I’ve completed and/or are currently finishing up. All of these should be in the v 0.3 release I’m hoping to send out to beta testers later this week.