Auto Reload, a Safari extension for automatically refreshing web pages, is now free and open source under MIT license. Downloading via the Mac app store for $.99 will continue to be the recommended option for people who prefer the convenience of automatic updates and would like to support the project. Downloads for installing without the app store are available from the Auto Reload GitHub project.
My Mac app development journey has been a great experience and if open sourcing this trivial bit of code inspires just one other dev to give it a go, or helps someone find success then I’ll call it “mission accomplished” with this project.
The funny thing is, I hate browser extensions. I usually avoid them but there’s just some functionality I can’t do without, like auto refresh and a password manager. When Apple radically overhauled Safari extensions, the old extension I came to depend on no longer worked. At the time I was setting up mission control style monitor wall and was proper mad when suddenly my only option was to install a different web browser. If there’s one thing I dislike more than browser plugins, it’s replacing the default browser with something different and having yet another maintenance concern. The effort required to turn a fresh MacOS install into a digital sign server should be near zero in my opinion.
I’m not one to let a good nerd rage go to waste, so I dove into Xcode and Swift to code up a quick app. I originally was going to make it free for everyone, but then I thought, “Hey, I’m not paying Apple developer fees for the privilege of distributing a feature that they messed up.” and Auto Reload got a $.99 price tag.
The changes to Safari were fantastic in my opinion. Browser add-ons are one of the last scourges of personal computing. Heck yes I want the code scanned and signed and everything to be sandboxed with clear permissions. Thank god, put as many warnings as possible between my dad and malware. Working with Xcode and the Mac App store is also a lesson in class act management of software distribution. While others (Chrome Web Store, Mozilla Add-ons) may be free, the Mac App Store is the reference implementation others should follow.
With that in mind, there are some limitations to distribution exclusively through the app store. Most prominent is that users cannot choose which version they’d like installed. It’s a feature, most people just want the latest version I think and prefer auto updates that keep their computer running smoothly. After shipping a major update though I got more than a few emails and reviews from users asking if they could revert to the older version.
That got me thinking. These users are my customers. I believe they have should have the ability to run any version they like. It’s what I would want. I don’t recommend running software that’s unstable, but they’re adults and should be able to do what they like with what they paid for. It’s not worth the effort creating a paywall website for such a small app, so really the only sane option was public binaries. If I’m releasing the binaries, then I thought, “Why not go all in and release the code?” Again, it’s what I would want.
So in summary, my first year as a Mac app developer with a simple store offering has taught me a lot. It has corrected and enhanced much of my understanding of what it means to ship software that makes money. While I’ll continue to maintain Auto Reload with a narrow scope focused on stability, I now look forward most to it helping other developers on journeys of their own.