Apple Leopard and the iPhone… Random Thoughts

OS X Leopard has introduced Core Animation, and it may very well be the feature (or the software development theme) that revolutionizes the “embedded” market. The iPhone demonstrates what Windows CE should have been

Up until a week ago I couldn’t say much about OS X (specifically the new 10.5 Leopard release) or the iPhone (which I broke down and bought two months ago). The reason I couldn’t talk about Leopard was that I’m an ADC (Apple Developer Connection) member and I’ve been play-testing 10.5 for months, and I was bound by a non-disclosure agreement.

Well, Leopard has been released so the NDA doesn’t apply (much). I mention the iPhone because my iPhone thoughts are related to OS X Leopard. Let me explain…

In my opinion, one great different between OS X releases and Windows releases is that Windows releases (ie. XP from 2000, Vista from XP) are hugely cosmetic and Apple’s releases are really functional. More than that, the interesting features introduced in Apple’s OS revisions are not the ones everyone talks about.

Let me reiterate. Yes, “Tiger” (10.4) introduced Spotlight which was transformative in the way I use my computer. (Personally, I can’t stand Dashboard.) “Panther” (10.3) was amazing with its introduction of the Exposé and Fast User Switching and iChat AV and Safari. Even “Jaguar” (10.2) with iSync was remarkable. And Leopard’s Time Machine is (for me as a User) a Big Deal.

But what’s really amazing to me are the Frameworks or APIs that are introduced for developers. In one of the keynote speeches Steve Jobs made a comment about how the Cocoa and XCode development platforms were nice things to give to Apple owners and developers (for free) but the real gain was how these technologies allowed Apple to create its own innovations (products and features) at such a rapid pace.

For example, OS X 10.4 “Tiger” introduced an amazing technology called “Core Data”. As a developer I find it simply amazing. If you define your application data using Core Data you get free features like (a) using a GUI drag ‘n draw application to map out your data relationships, (b) the ability to save and restore your data without writing IO code or figuring out file formats, (c) the ability to integrate with iSync to sync your application’s data between different computers (WOW!) and the list goes on!

Quicktime is another amazing gem. (Not that it’s tied to OS revisions, but it’s an example of Apple developing and honing frameworks.) Did you know that Final Cut Pro is little more than an elaborate “Quicktime Application”?? That’s actually not quite fair. OS X 10.4 “Tiger” added the Core Image and Core Video frameworks that allow the non-destructive on-the-fly video filters that do things like advanced color correction so effortlessly (and real-time). These technologies are also, to the savvy Apple developer, obvious in applications like Aperture (and now the new iPhoto ’08) and Photo Booth. Heck, they’re even used in the “Cover Flow” (reflections in a smooth black floor) effect in iTunes and the new Finder, not to mention iChat AV.

To reiterate: OS X revisions ad amazing new technologies that make the really cool new Apple applications possible. Whereas there’s almost nothing in Vista that applications can use that isn’t in Windows 2000. The .Net Framework has some neat features, but it’s really not OS-integrated, and mostly Microsoft seems to leave .Net to Shareware and Corporate IT developers. (Flamebait?)

So what about the Leopard and the iPhone? Two words: Core Animation. The Core Animation framework makes it effortless for User Interface elements to be “animated”–morphing or spinning or reflecting or simply moving. Apple’s own documentation warns that developers shouldn’t overuse these elements, lest the user becomes disoriented and confused by why the buttons and other controls keep moving around…

But have you taken a look at the iPhone? If not, go to the Apple Store tomorrow, pick one up and just play with it. Do you get it yet? THIS IS THE FUTURE OF INTERFACE DESIGN! Moreover: Apple is ready to jettison, when appropriate, old UI concepts. Have you noticed how Windows CE devices are buried in confusing windows and menus? Compare a Palm OS application with a Windows CE app, and I swear the Palm user will do the same work in far fewer “clicks”. Such a pity the Palm OS is a dying platform. The best example of the killer Palm application is Vindigo. Vindigo is my killer app that had me still using my ancient Palm Pilot until I replaced it with the iPhone. (And iPhone’s Google Maps is, in my opinion, functionally inferior. I pray Vindigo will jump to write an iPhone version when Apple opens the API in Feb 08.)

I’ve also noticed IDIOTIC uses of the Windows UI in things like…

  • Cash Registers. Why does a cash register have “windows” (the UI element) with the Minimize and Maximize icons in the corners?
  • Doctors Office Terminals. Every time I go to see the doctor now, the nurse spends so much time clicking clicking clicking clicking CLICKING CLICKING around to enter patient data. I’m surprised they don’t all have carpel-tunnel or tendonitis yet!
  • Bank ATMS. This is getting a little better, but I was seeing silly UI elements in some bank ATMS for the longest time. (I still see way too many Blue Screens of Death in ATM terminals.)

Here’s the conclusion that I’ve been all-too-slowly arriving at: OS X Leopard has introduced Core Animation, and it may very well be the feature (or the software development theme) that revolutionizes the “embedded” market. The iPhone demonstrates what Windows CE should have been. It IS the next generation of the Newton, and it is going to be the slow evolution of the next generation of consumer interfaces that brings Intelligent Design (pun intended) back into product development.

Steve has a vision, and it’s great, and I think I have but a glimpse right now. But the iPhone may just be the beginning. Now if only I could find a darned job that worked in these technologies!!!!

Author: Murray Todd Williams

I live in Austin, Texas. I'm enthusiastic about food, wine, programming (especially Scala), tennis and politics. I've worked for Accenture for over 12 years where I'm a Product Manager for suite of analytical business applications.