January 2024 Devlog

Freezing Rain

January was a month of freezing rain in my parts. Perfect weather for coding and terrible for everything else so I put in quite a lot of work into Den.

Version 1.21.0 went out with a bunch of UI changes and was quickly followed up by 1.21.1 and 1.21.2 to fix some bugs that popped up.

The biggest change was feeds in the sidebar. Pages may now be expanded to reveal the feeds within. Feeds in the sidebar may be dragged to reorder or move them to another page. Given this, I removed the page inspector. Now the sidebar is the defacto place for ordering, and on Mac, renaming and deleting feeds. On iOS the sidebar (or home screen on phones) is where to go for ordering things, but renaming and deleting is now options in the title menu (indicated by the little down arrow next to view titles).

I also overhauled icon selector. I went through all 5,359 SF Symbols to pick out 555 that I thought would make plausable page icons. This differs from before where I used an automated script to create the icon selection. No matter how many rules I added to the script the results would always include odd entries or more commonly, filter out icons that could be useful. So picking options by hand ended up being the best solution. But what if a user wants an icon that I didn't include? Well now there is a manual entry mode in the icon selector that users may use to enter any symbol they wish.

Icon Selector

Finally there was a bunch of minor improvements in these releases...

  • Support for Reddit and TikTok embeds in reader mode
  • Slightly increased the size of thumbnails in compact previews
  • All changes to feed settings are now immediately reflected in the UI

Coming Soon

I have both pretty and not-so-pretty changes lined up for February. The good is another round of UI updates that simpliefies things even further, especially on Mac. Buttons in ellipsis menu are moving to the File menu and I've reorganized toolbars to make the app cleaner overall.

The bad news is that I messed up implementing blocklists and am going to have to break any filter lists that have already added. The issue stems from including a library in Den to convert from text to JSON filter lists. The library used to be licensed under LGPL, but has since changed to GPL. To keep everything on the up-and-up I'm going to have to change things so that only pre-converted JSON filter lists can be used.