Den is out of the lab and on the App Store. It is a simple RSS reader that organizes feeds with pages and gadgets. I’m a huge fan of the syndication gadget start-page paradigm. It used to be an internet staple, with Google, Microsoft and Yahoo all having popular offerings. Now there are only a few RSS powered homepage options left.
So distraught was I about iGoogle’s closure that around six years ago I went down the road of building a start-page web service myself. It was named Den.io and had a very short life. I learned a lot of important lessons about development in the process, but ultimately decided that a web service was not the right architecture for what I wanted. There are also a bunch of non-engineering hurdles to clear with user controlled RSS in a webapp that just make it impractical. It’s not a surprise that Google and Microsoft both shut down their syndication powered start-page products. Anyway, I begrudgingly moved on from my Den.io failure, trying pretty much every RSS app that would take my OPML file, using social networks more often, etc.
Jump to current day, and I’ve become disillusioned with the alternatives. It’s like a perfect storm of vigorous platform exploitation and disinformation just overwhelmed the social networks and aggregators I had mostly replaced my RSS feeds with. When I looked for a suitable app to get me back into RSS the options were disappointing. There are many great RSS readers on the App Store but none with a gadget style UI. There are gadget apps, some have feed widgets, but none really excel at news feeds, and most seem like holes for in-app purchases. Some online options still exist. My Yahoo has support for RSS still, but it’s poor. Start.me looked promising, but no iOS app and a recurring subscription fee means it’s not a good fit for me. Given that getting the news in an objective, bot-free, ad-free, no soul trading involved manner is a capability I think I’ll pretty much always need, I decided to revisit my Den.io designs and rethink implementation. The result is simply “Den”, a fully native iOS/Mac application written from the ground up using the latest and greatest Apple frameworks. Swift 5, SwiftUI, CoreData, CloudKit, etc.
I ran into more than a few, but less than a ton of, challenges during development. For one, I could have made things easier with a better formed approach. In the beginning I envisioned a feature filled dedicated MacOS/AppKit application. It was going to have every view of the news imaginable, intricate search and filtering options, and podcasting support. Needless to say, I got schooled in the prototyping stage when I realized most RSS feeds are a complete mess with metadata being either missing or inconsistent. Also, very few people read the news exclusively on their laptop or desktop these days, myself included. My mistake in approach took place when I pivoted to building a more realistic cross-platform application. Basically, even though I switched to a mobile-first toolchain, I kept the Mac first design and development strategy. I built the first eighty percent only previewing and benchmarking on Mac and ignored iPhone and iPad. This really stretched out the tail end of the project and created a bunch of redundant work. Situations like, “You know the six hours you spent last week making that perfect Mac sidebar? Ya, it looks like crap on an iPhone.” The other major blocker for me on this project was giving up control in favor the “Apple way”. As an old-school web designer used to tweaking pixels, SwiftUI feels very restrictive. I ran into a bunch of situations where I couldn’t obviously do something I wanted, researched and implemented the workarounds to make it happen, then reverted that work because it came with side effects or during the process I learned why Apple didn’t want me messing with it in the first place.
Overall I’m very happy with the final product and all things considered, a four-month development cycle isn’t terrible. Especially given that I started with only a small amount of Swift/Xcode know-how and zero iOS/UIKit experience. I may find the “Apple way” limiting and even annoying at times, but it’s hard to argue with performance and slickness of going native. Choosing UIKit really transformed Den from a “once-a-day desktop checkin” app to an “always with you, convenient escape, reading material for the toilet” app. Since the functionality I personally want is complete and Den is on the App Store, the roadmap going forward is pretty tame. iOS 14 improvements and translation are the only two major looming tasks. That means there’s plenty of room for requests, so please send ideas my way.
As a final note, I think if anything can be learned from the last four years in the US, it’s that distributed, uncensored, and private news consumption an absolute must for a free society to function. It breaks my heart that such a large portion of info discovery on the internet has been consolidated into just a handful of extra exploitative gateways. Even if you don’t like Den, please consider taking a bit of time to try out apps and tools for getting news and info direct from publishers.