Thoughts On Presenting & Design mike-pulsifer.org

6Sep/090

Snow Leopard Really IS That Big Of A Deal

Snow LeopardI'm going to take a break from writing about slide design and slideware for a moment to tackle another subject:  Snow Leopard.  As you're probably aware, Apple's newest OS, Snow Leopard (OS 10.6) was released barely more than a week ago.  Pundits all around have been quick to criticize the OS release, citing reasons for their criticism such as "it's not really 64-bit," "I don't see anything different (features)," "some software is breaking," and as Leo Laporte recently said in last week's TWiT and MacBreak Weekly podcasts, "it feels like just a service pack," and "was it worth it for all that broke?"  Over and over, the theme was Snow Leopard is to Leopard what Windows 7 is to Windows Vista.

In short, those are very short-sighted comments that miss the point.  Whereas Microsoft loudly proclaims they bet the company on .Net (It's a fool's bet actually.  Enterprise shops won't not choose Microsoft.  Enterprise IT shops are run by MCSEs who wrongly see anything non-Microsoft as a threat to their job security and managed by suits too afraid to buck the status quo), Apple quietly bet the company on Snow Leopard.  Snow Leopard isn't a minor operating system release.  I wouldn't even qualify it as a major release.  It's a strategic release.  Here's why:

  • 64-bit
  • Apple's switch to Intel
  • Carbon and Cocoa
  • OpenCL and Grand Central Dispatch
  • Quicktime X
  • What's next

64-bit

One of the loudest complaints, especially among the professional Apple-haters (the aforementioned Microsoft-certified IT workers) and tech commentators have been trying to hammer Apple on this issue for the past few weeks.  The more they do this, the more they show themselves to be either shills, angling for page views, or just plain old missing the boat.  Leo Laporte is a prime example of the latter.  In his enviable quest to be the anti-shill through professional objectivity, he missed what isn't being said:  The move to 64-bit is progressive and deliberate.  Take, for example, this graphic from an excellent piece by John Siracusa of Ars Technica:

Credit: Ars Technica

Credit: Ars Technica

The Enterprise IT pundits have been especially brutal when it comes to the roll-out of 64-bit by Apple.  To understand why, we need to look at the world they live in.

Their world is Microsoft Windows.  The Operating System that comes in so many flavors, it could even make Baskin Robins nervous (am I showing my age here?).  Windows Vista is available in 32-bit and 64-bit versions, each sold separately.  Windows 7 will be sold the same way.  Those who install the 64-bit version of Windows unwittingly (consumers like my in-laws) run into a host of issues such as application incompatibilities and driver issues.  Apple, as we know, sells one desktop OS version.  Since they won't and shouldn't fragment their OS offerings the way Microsoft has, Apple needs to be very deliberate in the way it moves to 64-bit.  Go all the way at once, and Apple will find itself with their own Vista: an OS nobody in their right mind would want and be caught trying to cope with the vast majority of their user base refusing to upgrade.

Apple's Switch to Intel

True, Snow Leopard does have a 64-bit kernel, but it doesn't boot into that kernel by default.  That's kind of the point.  You don't keep your customers happy and loyal by cutting their legs out from under them.  Now, granted, some did have that happen to them, but unless you're entrenched in "the Windows way," there's no way you didn't see that coming.  By "the Windows way," I mean slavish devotion to backwards compatibility, no matter how old the technology is.

I'll use my father in-law as an example of this backwards-compatible mess.  He has a Windows laptop and likes to connect his Meade telescope to his computer so he can find the stars, galaxies, and whatever he's looking for and download the pictures to his hard drive.  He also has a scanner (CB), that he can program from his laptop.  His problems with Vista are quite evident in his troubles with the telescope.  The drivers are Windows 98 drivers that Meade doesn't think need to be updated.  Backwards compatibility was just assumed by Meade and they didn't seem to think it all that important to update them.  Now his scanner issue is particularly amusing (unless you're him).  It uses the old-fashioned serial port to connect to computers.  The software looks for COM ports.  I kid you not.  He bought this just last year.  The fact that some computers still have these outdated technologies (floppy disks, anyone?), encourages this resistance to drop dead technologies.

It's this kind of situation that Apple is avoiding by dropping (killing) technologies before they become a burden.  When Apple killed the floppy drive on Macs, they sent a strong message to software developers:  don't release your software on floppies anymore if you want to sell any software to our customers.  Likewise with those legacy serial and parallel ports:  don't sell printer with parallel ports instead of USB if you want to sell your wares to our customers.  Microsoft, on the other hand, trying to protect its OEMs (Dell, HP, etc.), won't make those tough choices.  That slavish devotion to backwards compatibility is in large part why Windows is so bloated.  Apple, by declaring PowerPC the new floppy disk, was able to trim the size of its operating system and make it faster than its predecessor, a feat unheard-of in Windows.

It's been three and a half years since Apple started selling Intel-based Macs.  The normal lifecycle of a computer should bear this point clearly: "It's time to get with the program.  We're moving on.  Time to come with us."

Carbon and Cocoa

With each OS upgrade, Apple brought its consumers along to 64-bit land gradually, giving all of us time to adjust, peripheral lifecylces  a chance to run their course, flushing out the old junk, and software and hardware vendors a chance to get on board.  Before Leopard came out, Apple warned that its Carbon Application Programming Interfaces (APIs) were made available so that developers could make the transition from OS 9 to OS X smoothly.

For those of you who may not be technical, the Carbon an Cocoa APIs are merely instructions programmers can use within Objective C (Apple's programming language) to perform routine tasks and avoid reinventing the wheel.  Carbon was designed to allow for easy migration of application code written for OS 9 to work in OS X, which is a vastly different operating system.  Cocoa is the code name for Apple's APIs that are designed to be free of this legacy baggage.

An example of a company that didn't see the writing on the wall the moment Carbon and Cocoa were each made available and ignored Apple's warning prior to the release of Leopard (10.5) was Adobe.  Much was made of the fact that Photoshop CS4 for Windows was available in 64-bit while the Mac version was still 32-bit.  Blame went back and forth, but in the end, Adobe should have asked themselves some simple questions:

  1. Apple has two APIs available.  Why?
  2. Given (1), should we expect Apple to keep two around with equal capabilities?
  3. Which API will have legs?
  4. Given (1), (2), and (3), which should we choose for a product as important as Photoshop?

Microsoft got the message and released Office 2008 as a Cocoa app.  Many others did the same, which is why many of the Mac apps out there now work only on Leopard (and by extension, Snow Leopard).  Granted, many of the apps are Leopard-only because they leveraged Leopard-specific technologies, but those that were 64-bit had to be written in 64-bit Cocoa, which was made available in Leopard.  64-bit Carbon didn't, doesn't, and won't exist.

Like the switch to Intel, this is a transition that will likely culminate in 10.7 being fully 64-bit without any support for Carbon.  The reason is a good one, too.  OS X was released in 2001.  That was eight years ago.  If you are still clinging onto that OS 9 legacy code, then your application is a dinosaur, much like that scanner with the serial port.

OpenCL and Grand Central Dispatch

Apple, in reworking the plumbing of OS X made some pretty important and dramatic changes to Objective C itself that they are submitting to the standards bodies responsible for the C language(s).  I'm not going to get into the nitty gritty with those changes, but basically, Apple is making it easier for developers to write better code and get the most out of our hardware, which gets us to OpenCL and Grand Central Dispatch.

OpenCL is an complimentary technology of OpenGL, the open standard for 3D graphics used by OS X, Linux, and game consoles such as the Sony PSP, PS3, and Nintendo's Wii.  What OpenGL does for graphics, OpenCL does for computing.  Most of us have computers with pretty powerful graphics cards installed.  When we're not playing games, chances are, our video cards are barely breaking a sweat, if they're doing much of anything at all.  OpenCL taps into this "computer within a computer" to allow your computer to do more at once.  Applications that make effective use of OpenCL will be much faster than those that don't.

aboutmymacGrand Central Dispatch is a technology that will allow all developers, not just the "code ninjas," to write applications that make use of all of the cores in our computers' CPUs.  If you're using a modern Mac with an Intel Core2 Duo, you've got two CPU cores at your disposal.  If you've got a Mac Pro (jealous), then you likely have even more;  up to eight.  Most applications we have on our computer don't make use of the two cores.  They'll run on one core at a time, but not both.  For applications such as Office, which can be a CPU hog for no good reason, this can give you the dreaded spinning beach ball as the CPU processes all of the application's threads.  This happens while the second core is sitting there idle.  With Grand Central Dispatch and the changes to Objective C that make this new OS X technology more readily adoptable, applications can finally make use of that idle core and get your work done much faster.

OS X:  Now with less beach ball.  Who says that's not a big deal?

Quicktime X

Another technology in OS X that is shedding some legacy baggage is Quicktime.  With Quicktime X, Apple is shedding the baggage in Quicktime 7 that dates back to the 90s.  If Apple wants to make OS X perform better, it's time to let the old junk go.  Now, just as with the transition to 64-bit, consumers aren't left in the lurch.  The Quicktime X player will call upon 7 as needed if you're trying to watch a video with some old codecs.

Some video professionals are bemoaning the loss of functionality found in Quicktime Pro (still available by manually installing the old version in Snow Leopard).  What some of these pundits miss is the parallel with what Apple did with iMovie.  In iLife '08, Apple completely rewrote iMovie from the ground up.  There was a huge uproar about lost functionality (and some snickering from Windows users I work with), but those concerns were laid to rest a year later with iMovie '09.  In that version, Apple put the missing functionality and then a lot more into the application.  The rewrite was necessary to get iMovie to the level that we see it in the '09 version.  Likewise, I see Quicktime X as analogous to iMovie '08.  Complain now, but the next version will knock your socks off.

What's Next

All of what I have shared thus far brings us to this point.  The pundits who dismiss all of these major, no, wait, strategic changes to OS X are not looking to the future.  Some are looking to the future, but too far out.  Each year (mostly), we see iLife updates in the MacWorld Expo time frame; January to be exact.  Do you see where I'm going here now?  OpenCL.  GrandCentral Dispatch.  Quicktime X.  64-bit.  This all point to a major upgrade and performance boost for iLife in the as yet unmentioned '10 release.  Those who keep saying they see no reason to upgrade now will finally get it when the next iLife comes out.  Apple's pro apps (Final Cut Studio, Aperture, etc.) will also likely see major updates, though Final Cut Studio needs to join the Cocoa world (ironic, isn't it?).

The next OS, 10.7, which may not come out for another couple years will probably be fully 64-bit, killing off Carbon in the process.  Pundits such as Andy Ihnatko, who herald 10.6 as the slowing of major feature releases for OS X will probably find themselves backing off those statements since Snow Leopard is the foundation for the amazing functionality and features to come.

While Microsoft is cleaning up their UI and some of the inefficient code underneath for Windows 7, Apple is doing more than just fixing long-standing bugs or annoyances from Leopard.  This is a strategic upgrade of their OS that positions it in such a way that makes the OS immediately faster and leaner and in the short and medium term, we'll see applications start to come out taking advantage of the new technologies.  When you consider all of the new Mac OS developers the iPhone has given us, this time next year, the punditry should be exclaiming the sucker punch to the Windows platform delivered by Apple's bet-the-company OS:  Snow Leopard.

blog comments powered by Disqus