With all of the hoopla associated with the new iPhone 3G the news about Snow Leopard has been pushed behind the scene for a little bit, but I think that there's a whole lot of interesting stuff happening here.
Two Streams
With Snow Leopard there are two parallel streams - what you see on the desktop and what you see on the server. Now for a lot of people, the desktop is where the action is and it's true that Apple ships a whole lot more desktop versions of OS X that Server, but there's some interesting movement in both spaces with Leopard.
Leopard Client
On the client end, Snow Leopard is definitely an optimization release that for many people doesn't seem terribly interesting. On the Apple page there are only a few bullet points that make the grade:
That's not a whole lot when compared against the new features that we saw in Tiger and Leopard vs the previous versions. But they are all extremely important pieces. One by one we have:
Microsoft Exchange Support
For many Apple fans, this is one of those features that we pass by saying: "I run a small business and I don't use Exchange, so I don't care". But for a lot of people, this is the big reason that IT pushes back on Macs. If you can't completely integrate with Exchange Server then you're a second class citizen on the network. People need to be able to know that they can seamlessly handle both mail and calendar data with invitations, free/busy schedules and the like in order to be productive in an Exchange environment.
No big news was pushed out about Active Directory integration as a new feature since it's already here. Any Leopard machine is fully capable of being integrated into Active Directory today, including user logon authentication, transparent kerberos access to Active Directory managed IIS web services and so on. But the big hiccup has always been the communications component and Mail.app works well with Exchange via IMAP, but it's clearly not a full participant. Up until now there were a few stop gap solutions like GroupCal which worked well under Tiger but was broken under Leopard.
If Apple is prepared to step up to the plate and take advantage of the newly licensed Active Sync protocol and let users ensure that their calendars are synchronized, send and receive invitations, browser availability then they've definitely removed one huge barrier to acceptance in a lot of companies.
This is a shot across the bow to Microsoft's Mac OS Business Unit, who despite all of their best efforts still haven't delivered native MAPI support in Entourage.
The missing piece: integrated Lotus Notes support. Granted, Microsoft Exchange has become the dominant player in this market, but there are still a lot of Notes shops still kicking around. For the moment Apple is depending on IBM to step up to the plate and deliver a Notes client worthy of OS X. From what I've seen of the latest betas, IBM is ready to make this happen (after years of producing absolutely awful end-user software) and the latest version is a whole lot more usable than anything we've seen from them to date. IBM has publicly committed to developing an iPhone client, but it's currently behind schedule.
Multicore
A well implemented multi-processing compiler is an absolute necessity for moving forward in today's multi-core computing environment. This is one area where Apple has the ability to really stand out and move ahead of Microsoft. One of the massive issues in Microsoft-land is the horrible complexity in developing and compiling efficient multi-processor aware applications. While this is less of an issue on the desktop that the server, getting this right in Xcode benefits every developer and every application.
Currently, we see clearly that this is Microsoft's Achilles heel in dealing with modern hardware. A good example is with the Exchange Server. The Microsoft Best Practices impose a limit of about 2000 users per server since the internal architecture of the server starts choking when you push beyond that figure. But as has been demonstrated by VMware, if you run multiple instances in virtual machines on the same hardware you can scale up to much higher capacities than Microsoft is capable of doing on the same hardware.
The current Windows architecture is really not designed to scale well with multi core processors. If Apple can step up to the plate with an IDE and a compiler that will allow you to truly take advantage of the available CPU power in a multiprocessor machine, this will push them out ahead of Microsoft as a viable server platform and all of your applications will benefit.
64-bit
Haven't we already heard this? Well, yes. But not all of the components of 10.5 are completely 64 bit. Nor are all of the applications out there fully 64-bit. Combining this with the multiprocessing capacity of modern machines will definitely ensure that OS X has some longevity. Something that's worth noting here is that while Vista, XP nad Windows Server 2003 come in 64 bit versions, they are rarely deployed since there is a penury of drivers available. Microsoft instituted a requirement that all 64-bit drivers had to be digitally signed in order to be installed. Which would be a good way of permitting at least some basic quality control over driver authors except that they also imposed an ineffective, costly and complex program to handle the signature and approval cycles for these drivers.
So when you look at all of the nice shiny Vista workstations installed you'll note that 95% of them are 32 bit. Running a 32bit OS on top of a brand new Core 2 64 bit processing platform. In the Windows Server space things are little better since 2008 is 64 bit only, and generally you find the necessary drivers since server hardware tends to be much more restricted than what you find on the desktop.
Apple's commitment to moving forward here means that you will have a true 64 bit desktop environment, capable of handling whatever you can throw at it.
Media and Internet
Apple's commitment to Quicktime and eventual evolution towards Quicktime X means that you'll be able to handle just about any kind of media efficiently on all of the available processor platforms out there. Most important here is the handling of javascript as a QuickTime component since more and more next generation web applications depend on javascript and AJAX for the UI. This also plays into the other hobby of Apple with efficient playback of media on the AppleTV. The more efficient the codecs, the longer you'll be able to stretch out the useful lifetime of an AppleTV. Since Apple is not just in the business of moving boxes, but the entire media sales chain this benefits both Apple as the install base grows, and ensure that users do not become disaffected with obsolescence imposed upgrades.
Fundamentally, this means that an investment in an Apple machine as a media playback will have a useful lifetime something approaching that of a VCR as opposed to a computer. This is a huge deal when you're attacking the living room as a market. People expect to install a box and not have to think about upgrading it. The key here is in ensuring that the AppleTV (and a lot of Mac Minis) are fully capable of handling 1080p HD video streams. This is the maximum that will be demanded of them for the foreseeable future so if Apple can optimize the codecs to handle this on today's hardware, we're looking at an ever growing install base which makes for a larger marketplace and some economies of scale on the back end.
OpenCL
The push here is on optimization and taking advantage of all of the available horsepower in your machine. OpenCL is the API that will let programs offload certain compute intensive tasks to the GPU in the video card. Obviously the Mac Mini with the onboard Intel GMA video isn't going to see a lot of benefit, but all of the iMacs and MacBook Pros out there will get a free performance boost.
This is in direct contrast with the Microsoft approach which demands bigger and better hardware, just in order to be able to run the fancy interface elements. Here we have Apple supplying you with an OS upgrade that will make your machine run faster and more efficiently.
What's not mentioned
Something that's not mentioned on the Apple pages is whether this release will be Intel-only. From a practical perspective we should be able to pull a little bit more out of the aging PowerPC population but I'm not convinced that it's in Apple's best interest to spend a lot of time and effort on maintaining PowerPC binaries at this stage of the game, given the overwhelming acceptance of OS X on Intel. But if Apple is spending the time and money on optimizing the compilers to be processor agnostic (perhaps with an eye to future iPhone development) I certainly won't complain.
The other missing piece here is the price tag. Will this be a paid upgrade at the usual $129 for a major dot release? Or will this be free as the 10.0 to 10.1 upgrade? Inquiring minds want to know.
Up next : WWDC - Under the radar: Snow Leopard Server
Comments