Safari Download Manager: The End of an Era

This post has been a long time in coming.

As you all may have noticed by now, Safari Download Manager hasn’t been updated in some time. There is, in fact, a fairly low chance that it’ll ever be updated by Francis or myself again. By and large, we’ve parted ways with the world of consumer tweak development by getting normal jobs and working for reasonably normal companies.

SDM specifically (and tweak development on the whole) is a pretty important part of our lives. While I can’t speak for Francis, the experience I gained in working on it was instrumental in my growth as a developer. In cutting my teeth and rewriting the bad parts of the codebase I grew, and it was this that helped me secure a professional position as a software engineer. I couldn’t be happier with what I’m working on, but it and Francis’ job preclude spending a lot of time maintaining SDM.

With that in mind, we’ve made the decision to release it as an open-source project! We want people to have the opportunity to learn and grow from both our mistakes and our triumphs. With the notable exception of the branding (the delightful icon, that is), the entirety of the codebase is now under the 3-clause BSD license: you can use the code however you please so long as you retain the license/copyright attribution and do not use its name to endorse or promote any derivative software.

In the interest of transparency, I’ve undergone painstaking effort to preserve the integrity of its history—every misstep, bug, and fix should be visible in detail. While it’s a little old, it’s my hope that SDM can still shine as a beacon of best (or at least alright) practice in tweak development. Countless hours spanning many late nights over the years were dedicated to its design and development, and it’d be a shame for that all to go to waste.

There’s a lot of super-cool stuff in there:

  • SDM works fairly seamlessly on iPhoneOS 3.1 all the way through iOS 5.x. There are a couple issues with 6.x support, but it generally worked “alright” there as well.
  • Support for Safari’s BrowserPanel implementation (a carefully-choreographed dance to ensure that various UI state transitions work and don’t break user interaction.)
  • Crazy-flexible preferences with customizable contents.
  • more, of course, but it’s hard to list everything

You can find the source here.

See You Space Cowboy..