Supporting earlier Mac OS X versions
A very interesting post over at the TextMate blog where reasons for not supporting earlier versions of Mac OS X are discussed – see TextMate Blog ยป 2.0 Will Require Leopard.
TextMate is an interesting and really useful program. It is a text editor, which makes it sound like a simple and boring program, but for people who write computer programs and websites it is a powerful tool that increases productivity and makes life easier. I use both TextMate and BBEdit in my work. Both have their pros and cons, but as a long time BBEdit user I tend to prefer that program.
What is interesting about the TextMate Blog post is that the points raised make, to me as a developer, perfect sense. Trying to maintain backward compatibility is difficult, and, in my opinion, is becoming increasingly difficult as Apple changes the API and introduces new ideas and frameworks such as CoreText, CoreImage, CoreData etc. In addition, trying to support multiple versions of Mac OS X means an increase in debugging time and effort. For example, if supporting one version, then 1x debugging time/effort, 2 versions 2x time/effort etc. This is actually an over simplification, that is, if the program passes in 10.4 and 10.3, and then fails in 10.2, then any changes made to get the program to work in 10.2 then have to checked in 10.3 and 10.4. As you can imagine, you can end up going ‘up-and-down the chain’ forever… (At MMISoftware one Mac has 3 versions (10.2, 10.3 and 10.4) of Mac OS X installed on three different partitions of the hard-drive for such testing.) It has been found that it is getting increasingly difficult to support 10.2, and to get a program to run in 10.4, hence the decrease in support for 10.2 in MMISoftware programs.

Every time Apple releases a new version of Mac OS X updates have to be made to the code base of MMISoftware programs, and adjustments made. When 10.5 comes out further adjustments will have to be made. The question is, will it be worth the effort to continue the support for pre-10.5 users? Should MMISoftware follow TextMate example? Also, with all the cool new features that Apple is introducing, such as CoreText, CoreImage, CoreData and the Calendar API, shouldn’t MMISoftware programs make full use of them? But if they do, then you lose backward compatibility…..
Decisions, decisions….
Other developers have faced this problem. For example, these blog posts are written using Ecto. A nice little program. A little flakey in parts (my major complaints are the lack of any real URL control for posts and the fact that the ‘writing area’ doesn’t really support complex HTML (you can use xhtml mode instead of ‘rich text’), but it gets the job done. The developer of Ecto decided, some time ago, to re-write Ecto (see here), and has found it is taking longer than expected….
So, what to do? When Mac OS 10.5 comes out problems encountered in current MMISoftware programs will be addressed, however, I think over the course of 2007 most MMISoftware programs will be ‘revisited’ and a decision made as to whether or not to re-write. Certain programs, such as iCalMaker and quickWebAlbum, have already been ‘ear-marked’ for re-writes, it is a question as to what to do with the rest….
Bottom-line, 2007 is going to an interesting and busy year. Programs need to be updated (and re-written) and new programs need to be released.
Finally, season’s greetings and a happy new year to all MMISoftware customers