Thursday, February 05, 2004

To Jaguar or not to Jaguar, that is the question

The current furor over Panther-only support for Safari 1.2 brings up a divide that is forming in the Mac world. For whatever reason, price, laziness, fear, a significant portion of Mac users is not staying current. This is understandable. There are a lot of people who buy a new Mac, and never update from the version that came with it. A lot of people also buy "every other" OS release. In the Mac world you will currently find users who run versions from 10.1 up to the current version of Mac OS X. As a developer, this leads to the questions, "what do I do? Where do I draw the line?" regarding operating system version support.

It's in Apple's best interest as a company to keep people upgrading. One way of doing this is to make new versions of their products only work on the latest versions of their operating system. Is this wrong? Well to some people. Some people, on the other hand will upgrade immediately. When a new version of an OS comes out, one that has great new features, and things that make adding functionality that has become expected by the average Mac user a no-brainer, the desire is to take advantage of everything that saves time and supports consistency where you can. Before Panther, implementing "standard" Mac features like striped table rows and toolbar search fields had to be done by each developer. Some of the implementations were good, some not so good, but any way you looked at it, it was wasting the time of a lot of developers, time that would have been better spent adding new, different and BETTER features to their products.

I went through this pre-Panther with SQLGrinder version 2. It already has support for these things, and they had to be added more or less from scratch, which took time. In a new application I'm working on, adding these same features took a few lines of code. You do the math. So as it stands, because the next version of SQLGrinder already has support for these features in 10.2, it will ship not requiring 10.3. Here's where as a developer you have to make tough choices sometimes. The new application, as it currently is implemented, will require 10.3. When adding these features to the new application, a choice had to be made between using something that was current, consistent, probably better and a real time saver, and a choice to port older, proprietary code to the new application instead. In the interest of saving time and effort usually better spent on other things, it's not hard to see why the new application is 10.3 only at the moment. That's not to say that it will NEVER have Jaguar support. It's possible to "dumb down" an application by determining operating system version and disabling support for the new features, but again, that's more work. Unless a significant portion of people who want to try the application demand it, it might not even be work worth doing, versus spending this time on new features and improving the product. Doing this would also give some users a sub-standard user experience.

It's unfortunate that as developers we are being to make these decisions, which I see is at least partially caused by upgrade prices that are too high in the eyes of a lot of users. I'm all for Apple making more revenue, but when the upgrade cost for each version of the OS is $130, versus say, $70 or $80, you start to have many layers of Mac users which for the small, independent developer, can become a support headache. When 10.4 is released, will yet another layer of haves and have-nots be added to the Mac world?

0 Comments:

Post a Comment

<< Home