2020 has been one long shit show. Focusing on the good things in life has been difficult to say the least. Sofa was a positive outlet for me this year, and gave me a place to take a break from everything else going on. I’m thankful I have it.
As stated last year, my goal for 2020 was to make Sofa a more well-rounded product, and reduce the compromises people had to make when using it. I’m happy to report that I knocked out almost everything on my list, plus some bonus iOS 14 work!
In June, I released a monster update which brought full iPad support, iCloud syncing, and deeper personalization with 30+ themes.
This also introduced a new business model for the app: selling themes. Each theme costs $0.99, and you can buy as many themes as you like. The first six months have been promising, and I plan to push this more in 2021.
While Sofa’s data sources have large libraries, sometimes they don’t have what you’re looking for. This meant Sofa couldn’t be the place to store all your lists. I introduced custom items to solve this.
This was the most requested feature…by far. I’m super happy with the final implementation. It demonstrates a good way to add power to the app without introducing too much friction. It’s only there if you need it.
This is my favorite feature for 2020.
This year’s WWDC brought a bunch of exciting improvements to SwiftUI. The improvements were so exciting that I decided to rewrite the entire app in SwiftUI (lol). I ended up abandoning that approach and doubling back to UIKit (phew!).
Learning a bunch about SwiftUI, prototyping new ideas, and writing simpler networking code made the detour totally worth it.
I only planned for one big release in 2020, but a few announcements at WWDC led me to take on heavier work a bit earlier. Sofa’s iOS 14 update was a biggie.
Under-the-hood I replaced the most of the old
UICollectionViews, and implemented
UICollectionViewDiffableDataSource. This enables a better design for larger devices and dramatically improves reliability.
The cool stuff:
Doing two large releases in a single year is not something I want to repeat. I’m tired 🥱.
Sofa received a good amount of press this year, and some of it unprompted, which is pretty darn cool.
If you’re like me, then that “list” is actually just a running Google doc where I manage to write things down, but also never look at them again, sort of defeating the purpose of creating the list to begin with.
Christopher Lawley featured Sofa as part of May’s “Apps of the Month”. As far as I know, this is the first YouTube review someone’s done for Sofa. So cool.
MacStories wrote a nice review when I launched 2.10 back in June. I was happy to see that they appreciated the work I put in to make Sofa great on an iPad.
Though a simple media tracking app may not seem to require rich support for connected keyboards and pointing devices, I’m happy to see those things present in Sofa because they prove that the best iPad experience for an app involves supporting multiple modes of use.
Sofa’s killer feature is that its lists are totally customizable, and it gamifies your watching habits by letting you turn your watchlist into a Trello-like system with more pleasant color schemes and pretty cover art. It sounds geeky, I know, but bear with me, this might just help you find your new favorite TV show. Plus, unlike Letterboxd, which serves as a sort of Goodreads for film buffs, Sofa’s data is all synced across your iOS devices, and doesn’t share any of your data with other users.
If you prefer to listen as a podcast, you can do so here.
Sofa helped me better distribute the time I spend on the couch
MacStories once again wrote a nice review when I launched Sofa 2.12. Not only do I love MacStories, but they have been very generous to Sofa over the past few years.
I think The Pile is a great addition to the app for any users who have many lists. It’s quicker to drop an item in The Pile when you think of it than to sort through all of your lists right then and there.
Gerardo Corripio created a cool video showing how he uses Sofa with Voicer Over. I never get to see stuff like this. I always try to do my best when supporting Voice Over, but it’s even more helpful to see someone actually use it.
For 2021, I thought it’d be fun to try out the Theme System from the Cortex folks. I dig the simplicity and flexibility of defining a theme instead of specific goals. This also allows me to share a super high-level roadmap without committing to anything specific.
2021 will be the Year of Expansion. This includes expansion of functionality, awareness, sales, my skills, and probably other things I can’t think of right now.
This feels like a great follow-up to last year’s focus on making Sofa a more well-rounded product. You need a good foundation before you can expand on it.
I said the same thing last year, but I mean this…
I want to thank everyone who has given Sofa a shot, read a blog post, watched a video, liked a tweet, sent in feedback or anything else. We are bombarded daily with stuff, and the fact that you took your personal time to engage with something I made is crazy. I’m a very lucky person. Thank you.