Thanatoast said:
They do it the way they do in order to integrate everything properly, with the minimum amount of fuss. If they said, "here's what we're putting into 10.4, let's lump all our proposed 10.5 features in as well" they would change too much too fast and end up with a buggy product.
The sequential system allows them to make incremental cahnges, nail them down tight and *then* start adding new ones. In theory.
Without 10.1 there would be no 10.2
Without 10.3 there would be no 10.4
Apple's change in code and under the hood functions are so drastic and so many, that they can't afford not letting people know what the changes are so far.
To be more specific, I will explain things for the last 2 OS's, from Jaguar, to Tiger (because that's what I have used the last years):
--Jaguar to Panther: CoreAudio was impemented, and Expose was introduced. Many programming API's were updated, and the Path to a formal implementation of OpenAL was made clear.
They shipped the product so fast, because:
1)They wanted to test the stability of the system in a large scale. Thousands of users make a better testing system than 8-9 people in the developing company.
2)They wanted to push the developers to use the new technologies as fast as they could, in order for the transition and the new implementations' learning curve to be better. Imagine if we skipped the Panther release:
Programs wouldn't work, and CoreAudio, CoreImage, CoreVideo, Spotlight, GCC 4.0 new Xcode, OpenAL official implementation, new Installer Application (yup, the old installer app was a total mess)... all those API's introduced at once would be apple's downfall!
Panther to Tiger
After CoreAudio, which was the introductory API for all the later Core features, CoreImage and CoreVideo were introduced. GCC 4.0 is now supported on Tiger. This made the transition smoother for developers.
For Users
The transition must always be smooth. The first OS's of the X series didn't take too long to be released, simply because there were so many things that clearly needed to be updated and fixed.
--OS X 10.0 needed some serious tweaking in performance.
--10.1 solved that problem and introduced some memory handling routines. --OS X Jaguar was just a little faster than 10.1, but it introduced more interface features and networking options, and multilingual unicode support (which made a big difference for me).
--OS X 10.3 was a step forward to the right direction: CoreAudio implementations that helped a lot of musicians to do their work, and music app developers to make programs with minimum effort. It also introduced expose, and it was much faster than 10.2
--Tiger is even faster than 10.3, with many more implemented features, mostly on the programming side, but it also integrates spotlight (I can't live without it), dashboard (alright, this is a useless feature for most of us but let's leave that fact), and many graphics upgrades in drivers (OpenGL 2.0 support).
You see, those things could not happen all at once. People need a smooth transition, always. This is also good for Apple's marketing strategy. Apple needs to be at the top, always, in order to provide a good justification of why Apple's machines are so expensive. So they need to upgrade their system constantly, because most people that use Macs, are professionals that need always to use the latest and most powerful tools.