Catching Up

It's hard to believe, but it's been three years since I initially released Den on the App Store. The last few years have been chock-full of ups and downs and now the earliest struggles at least are fading from memory. Only a having a messy Git commit log to represent the journey is a shame. So this is the first entry in a what I'm going to try to make a regular series.

I suppose the best way to start would be a quick introduction, so hi, I'm Garrett, your friendly neighborhood software architect/engineer. I'm a thirty-six year old guy from Oklahoma City. I've recently moved back to OKC after a stint in Colorado. For a long time I've focused on an all-over-the-place career in technology that's left little room for other pursuits. If you want to talk programming, databases, system dynamics, orbital mechanics, weather models, or any one of a thousand other topics so nerdy it makes "nerds" eyes glaze over; I'm your guy.

With that out of the way, let's move onto Den. There are a few main reasons I had for starting the project. First, my information processing neurons solidified during the hey day of web portals and customizable landing pages. Since way back I've enjoyed surfing links displayed in broadsheet layouts. Second, I love native, fast, and pretty Apple apps. I wanted to learn how to make them myself. Third, I think consolidation of content discovery and public discourse down to a handful of platforms/companies is a bad direction. I'm aware it's a romantic dream, but the idea that individuals can be connected without being herded is a bug I can't shake.

The app that's come out of these motivations can be described as classic design patterns (hyperlinks in blocks), mature formats (RSS, Atom), and proven architecture (Internet, WWW) pulled together using a cutting edge programming language (Swift) and a new hotness user interface framework (SwiftUI).

So where is the project at now? Learning the Apple tech stack has nearly driven me crazy, but it feels like I'm kind of getting the hang of it. I wouldn't say I'm a pro by any measure, just that I’m comfortable with the madness now. Knock on wood, I feel like the code and design for ingesting and browsing feeds is in a good spot. What’s clearly lacking is the reading experience. A lot of websites are just awful these days and it’s a super difficult problem. But I have a plan.

Recognizing that full content being included in feeds is an especially rare occurrence, Den 1.19.1 pivots towards focusing on the built-in browser being at the heart of viewing articles. The iOS version uses the built-in SFSafariViewController for the built-in browser so it comes with reader mode and makes use of any content blockers you’ve installed out-of-the-box. macOS however, does not have this functionality, so I’m on my own when creating a more fully featured reading experience. Reader mode and ad blocking are top priorities that I’m working on now. The plan is to build up the Mac version’s browser to the point it roughly matches what’s built into SFSafariViewController, then switch to using it in iOS too.

Stay tuned for updates and as always, feel free to send feedback my way. It’s always super helpful and appreciated.