June 7, 2005

"At last, some decent software for Intel processors"

Ten years ago, the first time Steve Jobs announced he was porting Mac OS X to run on top of Microsoft Windows (and run on Intel chips), Steve Jobs made that charming proclamation.

At the time, Mac OS X was called NextStep, and Steve was with NeXT. I was a developer for NeXT, and went through many of the emotions that I think some Mac faithful are feeling today. "But, our machines are so ELEGANT!" "Intel has been the enemy for so long; how can we love them now?" "You got chocolate in my peanut butter!"

My then-company ported all of our apps to run on Nextstep for Intel Processors in a couple days. I think OmniWeb took the longest; if I recall the others pretty much recompiled and ran.

I had an Nextstep/Intel box on my desk for a while. Since NeXT wasn't making machines themselves, it was kind of ugly, compared to what we were used to from Steve. On the other hand, it was kind of fast. Even a low-end Intel machine was a lot zippier than the Motorola 68K machines we were used to.

Well, as Barry Gibb might say, this is like Deja Vu all over again.

Today Steve announced that, starting in a year, Macs will have Intel chips inside. My first, gut response was, "Oh, dang, the PPC is such a pretty architecture."

Then they showed a graph about the projected power:energy consumption ratio of Pentiums vs. PPC chips in a year. Pentiums were 7x as powerful. Now, power:energy consumption may seem esoteric to some, but to a full-time laptop user like me, it's the first and last measure - this means my laptop will be 7x as powerful.

So, my second response was, "Ok, give me one now."

It turns out all Apple has ready now are prototype machines, which are in plentiful supply here at WWDC. So, we went into their lab, opened up our source code for Delicious Library, clicked on the "compile for 10.4 only" option, and compiled our program for Intel processors.

And it ran. It looked great to us.

So, to sum up: no source code changes. We clicked, it compiled, it ran. The program we built will now run on both PowerPC and Intel machines.

Honestly, as a developer, does this switch affect me? Nope. I'll continue to program clean code, and it'll continue to just work. There's going to be a bigger market for my stuff now, because more people will buy Macs now that they can run Windows games. (Honestly, 9 out of 10 people I've met who run Windows do it for this reason; it's the only reason I have a Windows machine at home.)

As a user, I'm looking forward to getting faster machines. I have no doubt they will be, internally and externally, works of art. If Apple were just going to take a standard Intel board and slap it into a G5 case, they'd have released what they are calling their development machine as a user machine, today. That they're still a year out says they're going to do Intel their way.

And that way is just fine with me.

I'm a software guy. My software just works. It's going to continue to just work, but faster, on Intels. Sign me up.

--

Followup, in the "why are you rating Apple when you so obviously don't use Mac software" category:

NYT: '"My belief is that Apple had to do it," said Eugene Munster, an analyst with Piper Jaffray. "Clearly, they needed better availability, better pricing and a better development community." Mr. Munster has an outperform rating for Apple stock.'

Better development community? Do you think we're going to magically get reams of Windows programmers because we have their chip? As if they all program in assembly, and don't ever make system calls? And do you REALLY think that would somehow be better? Exactly WHAT Windows software have you EVER seen that's "better"?

I have a "bite me" rating for Eugene Munster.

Labels:

29 Comments:

Anonymous Anonymous said...

The Performance/Watt ratio they projected was 15 for PPC and 70 for Intel.

How that is 7x more powerful either tells me you were drunk when you wrote that comment or the 7 from 70 got transmuted into 7x. As it stands it is 4.2x theoretically performance driven. Powerful is a bad choice since we aren't discussing Physics and the relationship of Power to Wattage being redundant resulting in a constant.

Watts/Watts

Realistically: Having worked at both NeXT and Apple, Steve is overstating promises that Intel has yet to deliver on.

More importantly, I'd prefer this shot over the port sends a message to IBM that if they want to make more money they'll make sure that Chart is as fictitious as it presently shows.

Heat issues are an issue for Intel, IBM and AMD--Steve painted a picture yet to materialize outside of the Pentium-M/Centrino.

But if Intel blows smoke up Apple's ass like they did to NeXT we can jump to AMD.

-Marc Driftmeyer

June 08, 2005 1:42 AM

 
Anonymous Anonymous said...

Why change to IA32 now, and not three years ago?

Steve might not like the G5 roadmap; the 3GHz processors aren't here yet, and the ones that are here eat too many watts to put in a laptop.

But why make the change now and not three years ago, when Motorola was delivering much less progress with the G4 than IBM is with the G5 now?

June 08, 2005 1:57 AM

 
Anonymous Anonymous said...

MacOSX/IA32? Cool.

That means when debugging without symbols, I have a lot more with which to work than "return value is in r3" and "that register has a sensible value for being an id".

But, equally, doesn't it bother anybody that we're moving from an architecture where function arguments and return values are passed mostly in registers, depending on how the compiler decides to lay stuff out, to an architecture where you know that arguments, processor context and return address will be on the stack in a consistent layout -- a layout about which people already know, and can write self-modifying code to manipulate it in nifty but annoying ways?

[Sure I've heard of the NX flag.]

June 08, 2005 2:05 AM

 
Blogger Wil Shipley said...

Marc: You're right that I got the numbers wrong. As it happens I was also drunk, so you get two points.

The 3.7 GHz Pentium 4 is way cooler than the 2.7 GHz G5 already. I can't list my source for this, but I suspect you can independently verify it. The Pentium-M is supposed to be much better -- I'm not sure why you discounted it. How many chips do we need before it's true that Intels are now cooler and more powerful.

I think you know full well that "powerful" has many valid usages, not all which relate to wattage. Your pedagogy is pedantic.

Realistically, you can believe Steve is overstating Intel's promise (isn't a promise, by definition, something undelivered?), but neither of us knows for sure. What I do know is, Intels are currently cooler and faster than G5s. So, I'm willing to believe they'll continue to be so, since IBM doesn't seem to be much interested in desktop machines, and Intel is investing like 4.7 gazillion dollars a year in them.

--

Why change now? Well, because Intels are a lot cooler now than they were 3 years ago, when they'd actually burn a hole in your lap. Also, I suspect, because Apple has iPod revenue to see it through possible slower machine sales of the coming months.

June 08, 2005 2:44 AM

 
Blogger Giulio Cesare Solaroli said...

There is only one thing I don't understand: why didn't they simply choose to extend the options for processors, instead of jumping from one (PPC) to another (Intel).

PowerPC is lagging now, but what if it will improve in the next 4/5 years?

Leaving the door open now would be almost free; only developers should be "forced" to keep on compiling their sources for multiple architecture (they are already required to do this for the next few years, so it is really a minor requirement), with the added benefit that if a brand new process architecture will raise in the future, every developer will be ready to check one more box and grow the binary size of their application bundle.

June 08, 2005 5:59 AM

 
Anonymous Ken Anderson said...

Wil, why do you think having an Intel processor in a Mac means that people will be able to run Windows games? I agree that it's likely that someone will work this out, but I don't think it's a foregone conclusion...

I also think that part of the whole Intel roadmap thing means that Apple is planning on using other Intel processors like the Itanium. If they're not, then why do we still see all these 64 bit badges all over?

Giulio, I agree with you - I don't think there was any reason for Steve to say 'PPC is out'. I think it will make their hardware sales tank in the short term. They better have Intel based machines out LONG before a year...

June 08, 2005 6:42 AM

 
Blogger Grabberslasher said...

The Intel processor will allow us to run Windows, and therefore run Windows games, no?

Phil Schiller did say the machines could run Windows but it was "unsupported".

June 08, 2005 7:30 AM

 
Anonymous Anonymous said...

Someone posted: Why change to IA32 now, and not three years ago?

I think Apple needed to wait until the migration to Mac OS X was fairly complete. To change both the OS and CPU for those developing and using code for OS 9 would have been too large of a leap.

As Shipley points out, once you have clean code on OS X, then moving to another CPU is relatively painless.

Other reasons: Apple has a second revenue stream (iPod/iTunes); Apple has a third revenue stream (software: Pro Apps, iLife/iWork, the regular stream of $129 OS X upgrades); Apple's reputation is much better now, so developer are less likely to jump ship; Linux has shown that Intel does not mean Windows.

June 08, 2005 8:55 AM

 
Blogger David Weiss said...

This comment has been removed by a blog administrator.

June 08, 2005 10:35 AM

 
Blogger David Weiss said...

Will, I love your comment "We clicked, it compiled, it ran." That's some mighty big talk for a program as big and complex as Delicious Library. What kind of testing are you doing to verify all the different features of your application so quickly? Are you using OCUnit?

P.S. Realizing that you were drunk, you can just say it was hyperbole and I'll be okay with that. :-P

June 08, 2005 10:38 AM

 
Anonymous Anonymous said...

David Weiss wrote: "What kind of testing are you doing to verify all the different features of your application so quickly?"

The only thing that I think would be likely to give them problems would be the code for using a barcode scanner, and maybe the code for using the iSight as a barcode scanner.

Most of Delicious Library probably doesn't get to a level low enough to cause problems. Cocoa pretty much takes care of the platform-specific issues.

This may seem unlikely to you, but it's nothing unusual to someone who remembers developing 4-architecture code on NeXTSTEP.

Certainly, more testing would be desirable before shipping it as a commercial product. But it's entirely credible that the application ran pretty much correctly after just a recompile.

June 08, 2005 11:55 AM

 
Anonymous Chad Leigh said...

Sounds good. I am not convinced, however, that a 3.7 ghz P4 is cooler than a 2.7ghz G5. Have you seen the heatsinks and banshee fans they use to cool the P4s? Apple uses liquid cooling to cool at lower decibles, not because you have to have a liquid system. No one would want a Mac if it sounded like some of the PCs I've heard (abd built).

The cooler and faster is for the Pentium M, not the P4.

June 09, 2005 1:35 AM

 
Anonymous Chad Leigh said...

Running Windows Games. Of course it will run Windows Games. VPC will be more like the Windows version of VPC. No CPU to emulate -- not much to emulate -- just the sandbox to run windows in on the native CPU and pretty much native everything else.

June 09, 2005 1:37 AM

 
Blogger Zorro said...

In my opinion, you are impacted, check my full argument.

June 09, 2005 1:46 AM

 
Anonymous Anonymous said...

Looking for some decent apps (many of them written in Cocoa)? Look here: macspecialist.org and osx.hyperjeff.net/apps. Also see the recent switcher debate at www.ok-cancel.com. I'm too looking forward to those MacIntels ...

June 09, 2005 2:18 AM

 
Anonymous Darrell Moore said...

Not that Eugene Munster doesn't deserve his "bite me" rating, but I believe he was inartfully referring to development partners to Apple: That Intel will be a better partner than IBM was.

June 09, 2005 6:32 AM

 
Anonymous Anonymous said...

I was also wondering why Jobs didn't just say something like "Were adding the intel architecture so we can have faster notebooks" to get the developers rolling without commiting to a complete switch. It doesn't bother me much, because I remember NeXT and the 68K switchovers (which were both pretty tolerable), but most of the illiterati don't.

What I'm really wondering is how they think they can keep OS X locked up on Apple hardware now. Darwin (the OS X kernel) is open source and has drivers for most popular PC hardware. Sure, they can choose not to offer an installer for a plain old PC, but it won't be a week before there is an easy hack.

Why not just open it up instead. Shrink wrap the OS for PCs. Most people that buy Macs would still buy Macs for the superior design and reliability. Eventually a bunch of those windows guys would get curious and try the new drug. If they really wanted to get serious they could make the first version free :-)

June 09, 2005 8:32 AM

 
Anonymous Anonymous said...

I think apple is nuts to anounce that they are leaving ppc. Just like I think Steve was nuts when he left dual pocessor motorola he had at Next to got to intel.

by the way do any of you use Nextstep on AMD... talk about fast! I would say Nextstep on amd is faster then any of the cat family os from apple on ppc... and that is even more sad.

June 10, 2005 10:03 AM

 
Blogger Eptin said...

I know that some time earlier, the Havok engine (the game engine that runs Myst:Uru and Half Life 2) for Mac was scrapped because of difficulty in porting (more here: http://www.macworld.com/news/2004/11/24/uru/index.php).
Does the Intel platform re-open the possibility of having it ported?

Also, What do people think about the possibility of Intel buying Apple? (Pigs flying or a very real possibility?)

June 10, 2005 5:42 PM

 
Blogger Wil Shipley said...

I have to be really careful not to speculate on anything, since if I guess right my friends at Apple will think I'm leaking inside info.

June 10, 2005 10:08 PM

 
Blogger Danny Cohen said...

Let's just say that Apple did this for battery life....

June 10, 2005 10:58 PM

 
Anonymous Anonymous said...

good post as usual, wil.

i feel kinda like an idiot myself. my brand new 17" powerbook G4 is arriving next week...so in a year (and a half?) i'll be behind the times?

steve mentioned new hardware coming out in the near future with PPC. wonder what that'll be...anyone have any thoughts on this?

June 10, 2005 11:21 PM

 
Blogger Jon Hendry said...

"my brand new 17" powerbook G4 is arriving next week...so in a year (and a half?) i'll be behind the times? "

And this is different how, exactly? A person who bought a Mac 18 months ago is behind the times now.

And it isn't as bad as you think, given that 10.5 will definitely run on your powerbook. They are going to ship the next major OS upgrade before the product line is all Intel, so they pretty much have to support both in 10.5.

Whether 10.6 will support your Powerbook is unknown, but wouldn't surprise me. That'd keep you current until the end of the decade, at least.

June 11, 2005 3:39 PM

 
Blogger Jon Hendry said...

"Also, What do people think about the possibility of Intel buying Apple?"

Magic 8-ball reads "unlikely".

Intel is smart enough to realize that buying Apple would extinguish that in Apple which makes it an attractive purchase.

If Intel wants to spend money to keep things happy, they could start by underwriting Adobe's porting efforts.

June 11, 2005 3:42 PM

 
Anonymous Anonymous said...

Isn't Steve Jobs committing the 1st offense learned in Silion Valley: when you pre-announce, people will stop buying your current product. This is the Osbourne II thing all over again.

Osbourne didn't have itunes to fund their transition, but still. What big customers are going to buy PowerPC when its obvious they should wait for Intel/mac.

I'm not a Apple customer yet, but I still drool over macs at Fry's. Now those things are just "those obsolete PowerPC things". They better hurry up and get stuff into stores fast.

Also: s/Barry Gibb/Yogi Berra/

June 25, 2005 4:30 PM

 
Anonymous Anonymous said...

Search Google, there is no such thing as the Osbourne Effect, it's a myth and a lot of the old time Osbourne execs have set the story straight.

June 26, 2005 9:17 PM

 
Blogger Tailwind said...

Why this transition now? Three reasons:

1. Power:Energy ratio, duh! This way we'll never fall behind again, making cpu choice a non-issue.

2. Rosetta from Transitive, to ease the porting pains.

http://www.insanely-great.com/news.php?id=4962

3. Because Apple is riding high, leading the mind-share pack and looks innovative rather than reactionary.

June 30, 2005 10:03 AM

 
Anonymous Quinn Taylor said...

Great post, Wil. You're absolutely right that there won't be a massive influx of Windows developers that will suddenly create a "better development community" for programming OS X. (A researcher from Microsoft told my CS class a few months ago that they categorize developers in 3 groups, 90% of which are using VisualBasic. There aren't as many quality Windows programmers as people think.) Plus, you just can't beat native Mac developers.

One thing that I look forward to, however, is the prospect of more Unix and open-source developers porting to OS X. In addition, I expect more students to become interested in writing OS X software due to the switch. Many CS-types won't touch Mac because of the chip design rift. With that reason gone, they'll either have to invent other lame excuses or see the Mac for what it really is.

August 02, 2005 10:11 AM

 
Anonymous Robert Nicholson said...

Re: Ted/James.

Was it Ted Baker?

When you're in Chicago you should go shopping as it's a little more upscale that Seattle.

October 20, 2005 12:19 PM

 

Post a Comment

<< Home