Design Element
Comment on "The Reasons for Leopard-Only Apps"
by Peter da Silva — Jun 12
(1) I don't upgrade every version of the OS, or every version of every app. Even on Mac, upgrading the OS takes time, and there's a risk of regression... if I'm getting a Mac because it "just works", because it saves time, why take that time?

(2) On the other hand, upgrading applications is less of a risk. If it saves time, I'll do that. On the other hand, I'll also consider switching apps then... if an app developer makes things hard for me (like requiring an OS upgrade) that's going to make it cost-effective for me to upgrade.

(2a) This is where bowerbird picks up a sale. :)

(3) What keeps you from using new APIs when they're available, and falling back to the older APIs when they're not. Either conditional compiled or dynamicaly selected at runtime via shared libraries. Obviously you can't do that for garbage collection, so if you're taking that effort on right now this doesn't apply, but every OS upgrade isn't going to have that impact on your app.

(3a) The "10.3" version of the app can simply be the same version built with a different set of #defines.

(4) Factor the application for portability, you can get a faster and more reliable application. Run multiple processes not just threads and you avoid getting blocked by process-blocking system calls - the resulting app can be more responsive.

(4a) And you can even separate the heavy lifting from the GUI and run your app distributed... amazingly easily.
Back to "The Reasons for Leopard-Only Apps"
Design Element

Copyright © Scott Stevenson 2004-2015