Wednesday, June 08, 2005

D'oh!

Well, obviously I hadn't read the whole Universal Binary programming guide when I made my last post. Apparently, some future version of Finder will automatically tell you which processors a binary is targeting. As seen here.

Time to go to bed.

Diz

Well, That Was Easy!

I just took a stab a creating my first Universal Binary, and after a false start, I got it up and running with very little effort at all.

It's not quite as easy as Mr. Jobs made it look during Monday's keynote.... You have to do more than just hit a check box in your project. Not much more, mind you, but a bit more.

To be sure you get things set up right, be sure to read the Universal Binary Programming Guidelines document that Apple is providing.

I did this for a product that we are planning to release next Monday (6/13/2005), but since I can't actually test the Intel side of things yet, I think I'm going to just release the PowerPC version as planned, and make the Universal Binary available as a separate download.

I Want to Know... Don't You?


Which brings me to another point... At this point in time, the Finder gives you no easy way to tell a Universal Binary from any other kind of binary. So, what I've done is adopted a version naming convention that lets me look at the Get Info window for any given binary I've created and immediately tell what type it is. Basically it's this simple:

  • v1.0;p - The ";p" signifies a PowerPC-specific binary
  • v1.0;i - The ";i" signifies an Intel-specific binary
  • v1.0;u - The ";u" signifies a Universal Binary that will run on both Intel and PowerPC.

Like I said, simple. In fact, it took me about as much time to write this post as it did to create the Universal Binary, test it and come up with this version numbering/target processor convention.

So, Mr. 8-Ball, will this transition be pretty simple?

Signs Pont To Yes.

Diz

Monday, June 06, 2005

Yes, It IS Exciting!

Just had a chance to watch the stream of the 2005 WWDC keynote... and now I'm definitely excited about Apple's switch from PowerPC to the x86!

Mr. Jobs did a fantastic job explaining the "why," "when," and "how" of the transition. The result is that I'm genuinely excited as both a Mac developer and as a Mac user.

As a developer, I'm excited because it looks like it will be dead-simple to support both PowerPC- and x86-based Macs. The story of how Mathematica was ported in just 2 hours (from a dead start, without the programmer even knowing why he was being flown to Apple last Thursday!) was a powerful testament to just how much work Apple has put into this already.

The demo of Microsoft Office for Mac and Photoshop CS (both PowerPC versions), running on an Intel-based Mac via the Rosetta-translation tech, was another eye-opener.

As a user, the exciting part was watching the x86-based Mac that Mr. Jobs was using chew through all of the different demos. All the eye-candy (the Dashboard ripple, for example) was there, and all of the apps (iTunes, Spotlight, Photoshop, etc.) seemed to perform flawlessly.

It was also exciting to realize that I won't have to re-purchase all of my current applications again. I use a lot of the iApps, with the balance of my time spent in DreamWeaver (which will probably be replaced by GoLive!, which Adobe has promised to port to the x86 version of OS X) and Microsoft Office, which was shown to work on x86 Mac OS X today.

Best of all it was all done with a single 3.6GHz (I think) Pentium 4. Not a dual-core machine, just a single Pentium 4. Not too shabby.

But, just imagine... a 3GHz, Dual-Core, 17-inch PowerBook!

It's not just a dream anymore!

Hey! This will be fun!

Diz

This is Exciting! I think....

Been a while since I've written... lots going on here:

Both kids have had birthdays and been sick, the wife has been to Canada and back, the troupe has left one gig and started another.... all in all, it's been a busy month or so.

But this... the news that Apple is switching the Mac from PowerPC to Intel x86 chips has finally roused me from my writing slumber.

When I first heard the rumors of this last Friday, I was, frankly, scared out of my wits. It was as if the world was upside down.

Then I realized that it might not be such a bad thing. For all it's intellectual and manufacturing might, IBM hasn't been able to crack the 3GHz barrier with the G5 and the possiblity of a G5 PowerBook (which, like many other folks, I was waiting for) was looking more and more like pure fantasy.

And, let's face it, Apple has done this before. Twice, in fact: the transition from 68000 to PowerPC and then the transition from "Classic" Mac OS to Mac OS X.

Both were bumpy, but I never lost the ability to do work during either transition, and the other side of the process was SO much better than what I'd had before.... I'm willing to give them the benefit of the doubt simply based on those two experiences.

To top it off, a careful reading of today's announcement reveals that this transition might be even smoother than the two noted above:

  • "Fat Binaries" are back! - During the transition from 68000 to PowerPC CPUs, Mac applications had to be created with executables for both processors inside. (Hence the term "Fat Binary.") I've repressed most of the memories of how this was done, but I seem to remember it was a pain in the tukus. This time however, Xcode (Apple's excellent and FREE development environment) will automatically create Fat Binaries containing both x86 and PowerPC executables. This should let us easily create software that's native to both architectures and ship it in a single application. This means that owners of older PowerPC-based Macs will be able to run almost any new software that comes out DURING and AFTER the transition.
  • Rosetta - Basically, this sounds like a PowerPC "Classic" environment. Supposedly, it will let you run your PowerPC-based apps on x86-based hardware. This means that owners of x86-based Macs should be able to run just about any old software that came out before the transition.

I suppose the biggest question I have to work out right now is, "Can I recommend today's Macs to my customers?" This isn't a small consideration: I've got 4 major clients that are Mac-based and two of them are just at the point of upgrading several of their systems. So, do I have them buy new Macs or wait (for a year!) till the x86-based Macs start showing up?

Fortunately, the process of simply writing out the question has revealed the answer: Of course I can recommend today's Macs.

Switching to Windows is simply not an option. (When you get right down to the bottom of the Mac vs Window argument, it really isn't the hardware that's the issue, it's the OS itself.)

Waiting a year is simply not an option.

So, Mac it is.

But, aren't today's Macs a dead end? Absolutely not. It will be two full years before the transition to x86 CPUs is complete and a Mac purchased today should provide a viable system for at least that long. (My server is a 4 year old iBook. The computer I type this on is a 2 year old PowerBook and most of the machines my clients are looking to replace are more than 5 years old. [Those original iMacs sure have some staying power!])

Macs simply have a longer usable lifespan than an equivalent Windows machine. That fact, combined with the fact that we'll have x86+PowerPC Fat Binaries around for at least 2 years after the end of the CPU transition (scheduled for the end of 2007) means that a Mac purchased today is going to be viable until at least the end of 2009. Not too bad a life span for a machine with a dead-end CPU.

Of course, there are questions still to be answered:

  • What will happen with OS 9 Classic mode? (Yes, there are still users that must run OS 9 software. I don't run in to them that often these days, but you can bet they'll be making a stink over the next year or so.)
  • Will Intel go out of its way to create Altivec-compatible instructions in a next-gen x86 chip? If not, how much of a performance hit will older multimedia apps take under Rosetta?
  • What new form will Virtual PC take? At the very least, it should be much faster once x86 CPU emulation is no longer necessary.

So, that's it then. The future is coming and it looks a lot like the past: nothing but unexpected change and oppourtunity.

Sounds good to me!

Diz