PC Coders Avoiding Vista, Mac Coders embracing Leopard

PC World - Business Center: Coders Tell Why They’re Avoiding Vista: “Windows developers are confirming the results of a survey released yesterday that found fewer than 1 in 12 programmers currently writing applications targeting Windows Vista.”

(Via PC World.)

Contrast this against the following article, published in January over at Theocacao. Cocoa developers are champing at the bit to implement their products using the new libraries available in Leopard and pushing the compatibility envelope along with it. More and more applications are Leopard-only.

A quick example of the current momentum in the OS X marketplace is over at Soulseek :

Since the latest release of Mac OS X 10.5 Leopard we decided to give up support for older systems. Leopard helps us to program faster, more stable code in less time. In addition we think that a lot of SolarSeek users will have switched to 10.5 when the first stable release is ready.

and at ExtendMac:

_So, what do you think? Would you mind if Flow was 10.5-only? Why, or why not?

[Update: I posted my thoughts and conclusive action to the discussion as a comment. The short version: Yes, Flow will be Leopard-only!]_

I think this justifies Apple’s approach to incremental, manageable upgrades on a regular cycle, rather than the monolithic drop-in approach currently in vogue at Microsoft. What I find interesting is that the developer community is pulling the user base along with new and interesting products that make upgrading desirable, not that the bulk of the user base needed much encouraging.

The way I see it, the OS upgrades are manageable for both the user community and the developers. It’s not so drastic a change that users feel lost after upgrading and the developers get new features in digestible chunks rather than requiring a top-to-bottom retrofit of their code.

Much of this has to do with the fact that each OS upgrade brings along a suite of components and optimisations that are visible to the end-user most notably via Apple branded applications and those that are invisible to the end user but that help the developers be more efficient and productive. The part here that’s not evident is the synergy between the showcased applications (we eat our own dog food) in the OS X space. With each major OS upgrade, core Apple applications and components are upgraded to take advantage of the new features - even subtle things like the ability of Time Machine to integrate with CoreData based applications like AddressBook so that you can go back in time within the context of the application and not just at the filesystem level.

Contrasted with the Microsoft application environment where backwards compatibility is king. Are there any Microsoft applications that are Vista only? I see a few third party applications, but nothing from Microsoft. There’s no flagship product that makes Vista a must-have. There’s a ton of notes on Vista compatible applications, but all of them will run quite happily on XP. Both Apple and Microsoft are a little schizophrenic in that they have some groups that are interested in building technology platforms (.Net and Cocoa) and applications (MS Office and iWork). I think that the biggest difference here is that there is a much greater synergy between these groups at Apple which ensures that application specific development that can be rolled into the core OS happens smoothly, while at Microsoft, the application developers all work in their own little space (as evidenced by the total lack of coherence in the various user interfaces).

Now you can blame the anti-trust suits that imposed a separation between Microsoft’s OS and Application groups for creating this situation, but you have remember that the problem there arose not from the collaboration of these two groups, but the fact that they would build OS-level hooks that were application specific and undocumented. This gave Microsoft application developers an unfair advantage over third party developers. Whereas in the Leopard development, everyone developing Apple applications is using the same libraries whether they work for Apple or not. As far as I’ve been able to tell, there are no privileged system libraries that are available only to Apple applications so the playing field is level on the development front.