I’m working on kicking out Indigenous version 0.3, which has been sitting on the shelf for a bit. I think the last build I sent out was March 15, which means it’s been almost 2 months. Thankfully I just finished up my Spring online classes and don’t have any more classes until this fall.

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.

Features

  • Added Channel Settings for Auto-Read
  • Parse post content for img tags if the post doesn’t already have images from mf2 parsing
  • Changed “unread posts” to be displayed as a red border on the left rather than “read” posts being displayed as grayed out
  • Added local caching of Channels List data for a smoother experience
  • Added Search bar for Channels
  • Filtering Channels List by unread or all
  • Sorting Channels List by name, unread count or manually (default)
  • Improve Reply interface when replying to a GitHub repo (aka making a new issue)
  • Improved the display of posts with titles to have a bold title and normal text for the first couple hundred letters
  • Improved display of Dates/Times

Bugs

  • The Share Sheet was crashing on GitHub repos
  • Lots of code cleanup in regards to Swift version changes and different code directions.
  • Now accepting 202 as a valid response code to Micropub requests
  • Change keyboard back to standard layout rather than the Twitter one
  • Send post title correctly
  • Send custom user agent
  • Use state OAuth correctly