The Windows Factor: Fears Regarding the Intel Transition

Wednesday, 2006-03-29; 04:35:00



In the years running up to Apple's announcement of the switch to Intel processors, I was always skeptical about the continuing reports that Apple was considering the jump. I had fears about application compatibility, about how Apple's hardware would be able to differentiate itself from the competition, and fears about how the transition would affect Apple's customer base. I also was skeptical based on the fact that the PowerPC platform seemed to be relatively strong. Yes, the G4 was lagging there for a while, but the G5 came around in 2003, and despite problems with the switch to a 90 nm fabrication process and power consumption, the future still looked bright. In hindsight, both of those problems were probably bigger than I realized, but at the time, I didn't think so. When CNET came out and reported that Apple was going to announce the switch to Intel in June, I was anxious -- just look at the post I made on the subject. I didn't think Apple could survive the transition.

Initial Fears

In the past 9 months since the announcement, most of my initial fears have been pretty much laid to rest. The whole problem with application compatibility seems to have been solved with Rosetta, a technology licensed from Transitive. Rosetta is able to emulate PowerPC applications much faster than traditional emulators, using a process called "dynamic binary translation". It's quite amazing that not only do PowerPC applications run fast enough on Intel-based Macs, but the implementation of Rosetta is pretty seamless -- unless you run into an incompatibility, you pretty much can't tell whether an app is built for PowerPC only or if it's a universal binary. This is good, because it doesn't mean that I have to rush out and release new versions of my own applications.

From a developer's point of view, the implementation for building universal applications is pretty seamless too. When Steve Jobs said that most developers would only need to click one additional checkbox, he wasn't kidding. I haven't needed to modify a single line of code in any of my applications (even though there was an initial hiccup). Of course, the reason for this is because all my apps exclusively use Cocoa APIs. But even so, it's good to know that the transition will be a cinch for most developers.

Finally, from a performance point of view, it seems that the new Intel-based Macs are very fast. Boot-time comparisons between a MacBook Pro Intel PowerBook and a PowerPC-based PowerBook show the Intel ones beating out the PowerPC ones by a fair margin. The same goes for a comparison between the iMac G5 and the iMac Core Duo. (Yes, I know that these probably aren't totally unbiased tests). Real-world performance for Rosetta is satisfactory even though it's noticeably slower, and pure benchmarks also seem to favor the Intel Macs. Not only that, but it looks like Apple is going to work hard to differentiate its new hardware from anything in the PC world -- Front Row with IR ports, MagSafe, built-in iSight, same sleek design, no stickers, and this in addition to all the already-cool technologies like the sudden motion sensor, scrolling trackpad, safe sleep, etc. This is good -- using Intel processors means that Apple can't realistically compete on speed, except against its own PowerPC-based products.

One of the interesting things about Apple, at least in the Jobs II era, is that it pulls these "stunts" at what seem to be strange moments. For example, when Apple just started to gain market share and to experience massive growth in its Mac sales, it announces the Intel transition. Why would Apple want to do the transition which could put a damper on such growth? It's similar to the iPod nano: Apple discontinued the iPod mini when its popularity was soaring, and replaced it with the iPod nano. Why not milk the iPod mini for all its worth?

It seems that Apple isn't content to rest on its laurels. Apple announces new products at the height of the popularity of old products precisely because they don't want to wait for a bad time to pull off such stunts. Imagine if Steve Jobs started using Intel processors when he introduced the iMac in 1998: Apple's market share was falling, and everyone thought that Apple was all but dead -- introducing a major processor transition at such a time probably would've been the fatal blow to the company. Many customers probably wouldn't have wanted to deal with Rosetta and universal binaries and all this transition cruft. But at a high point, Apple can survive it.

New Fears

But even though the Intel transition seems to be proceeding much more smoothly than the Mac OS 9 --> Mac OS X transition, a new set of fears have cropped up.

One of the first things that started appearing on the net shortly after the Intel transition was leaked versions of Mac OS X for Intel. These weren't just any leaked versions -- these were leaked versions that could run on any machine with an Intel processor. You could buy a Dell computer, and then download this hacked version of Mac OS X and install it on any bargain-basement PC.

Some may argue otherwise, but I think that the widespread availability of Mac OS X on any PC would be a bad move for Apple. Mac OS X owes much of its stability to the fact that Macs have standardized hardware, much more so than in the PC world. This means that Apple doesn't have to focus so much time on writing drivers for all the sound cards and Ethernet cards and all that stuff -- Apple can concentrate on bringing new and innovative technologies like Exposé and Spotlight to the Mac.

Not only that, but Apple still gets most of its money from the hardware business. Even with the iPod business, almost 50% of Apple's revenue comes from its sales of Macintosh computers. If Apple made Mac OS X available for any PC, I don't think that the increase in revenue coming from a $129 operating system would offset the loss in revenue from Apple's hardware business. Of course, Apple selling Mac OS X for generic PCs is far different from there being just a hacked version of Mac OS X to be downloaded from the internet. Nevertheless, I think that such a hacked version could put a not-so-insignificant dent in Apple's hardware sales, even if most consumers chose to buy Mac hardware instead. It wouldn't put Apple out of business, but I think it would be an important problem.

Luckily, this issue is largely moot. Apple continues to increases the security measures in Mac OS X with each release, and the end result is that each incremental update breaks existing Mac OS X installations on generic PCs. That largely relegates these hacked versions of Mac OS X to only the most determined users.

The Windows Factor

What did come as a surprise, though, is the fact that Apple would not work to actively prohibit Windows from running on a Mac. This is where things start to get dangerous.

When Apple released the first Intel-Macs, a contest was started to see who could get a viable dual-booting setup on a Mac. What this means is that Windows and Mac OS X would reside on the same hard disk (although partitioned), and you could choose at startup which operating system you wanted to boot. Neither operating system could interfere with the operation of the other, so that you could use either operating system at will, all with just a simple reboot. Earlier this month, it became possible.

Dialing back a bit, the main sticking point with getting Windows to run was EFI. EFI, or "extended firmware interface", is the firmware that is present on the new Intel-Macs. If you have a PowerPC-based Mac, you have Open Firmware on your Mac instead (unless it's really old). EFI is the "successor" that Apple chose to Open Firmware (even though it's not really a successor, because it seems like they can both do basically the same things). EFI allows Apple to continue to offer cool features like Target Disk Mode, where you can connect two Macs via a Firewire cable and have one act as a hard disk, all without opening up the computer. (To do this, simply hold down the T key at startup until a Firewire logo starts bouncing around the screen -- then you just connect a FireWire cable to another Mac, and it will show up on the desktop as a hard disk.)

Most PCs don't use EFI -- they use BIOS. This is what causes all that ugly console-like text to be displayed on-screen before Windows loads. But while Windows supports BIOS, it doesn't support EFI. That meant that Macs couldn't easily run Windows, since a BIOS emulator was not present in the Intel-Mac firmware. This caused a two month delay in getting Windows to dual-boot on a Mac. But it's done, now, and yes, you can install Windows on a Mac if you want. It involves putting a bootloader on the Mac that can emulate BIOS, so that Windows will install and run on the Mac.

(Interestingly enough, Windows Vista, the recently-delayed new version of Windows, was originally slated to have support for EFI. However, Microsoft recently nixed this feature, so Windows Vista will probably need a modified bootloader to run on Macs as well. It was initially hoped that Vista would be much easier to install than Windows XP.)

From Hackers to Consumers

But now that Windows has been successfully installed on a Mac, it will only become easier from here on out. There are 23 steps in the read me of the bootloader download, currently, but I suspect that this will start dwindling once automated procedures become available and bootleg downloads of required Windows discs become available. Another hurdle that still exists is the lack of Windows drivers for the various components in Apple's hardware, but this is slowly being rectified. Nevertheless, many current and potential Mac users seem to have great interest in running Windows on the Mac. A recent poll said that the Mac market share would double if Windows dual-booting was a possibility.

More concerning is running Windows applications on Mac OS X. While Virtual PC from Microsoft hasn't yet appeared on the Mac, there are already other options -- darwine is a project committed to bringing compatibility with Windows apps to the Mac, and GuestPC is an existing Windows emulator for the Mac. Note that darwine doesn't emulate -- it translates Windows API calls to native API calls. Furthermore, Windows emulation isn't nearly as costly on Intel-Macs, because the endian issue is eliminated entirely. That means that Windows can run near full-speed, even when emulated.

Recent reports, though, have said that Mac OS X Leopard is going to have built-in virtualization technology. What's that? It means that you can run Windows alongside Mac OS X, at the same time. It's akin to fast user switching, but between operating systems. I think this would be disastrous for the Mac as a platform.

It's the Applications, Stupid

But again, I'm getting ahead of myself, as I am wont to do. Let's examine one of the key aspects of the Mac platform: applications.

One of the continuing problems for the Mac as a platform is that because it's traditionally had only a single-digit market share, many companies don't want to put in the effort to develop applications for the Mac. This is particularly true for the area of games -- DirectX is a technology that in Windows that doesn't exist on Mac OS X, and while OpenGL is a viable alternative, porting Windows games that use DirectX to OpenGL takes time. When 90% of the market uses Windows, its easy for large corporations to eschew the little Mac platform entirely.

But at the same time, this has allowed the Mac platform to flourish. Many indie developers have come out with some outstanding software, like Adium, NetNewsWire, Acquistion, OmniWeb, Transmit, Memory Usage Getter (sorry about that ;) ), just to name a few. These are Mac-only applications that have no analog in the Windows world, because their developers pay spectacular attention to detail and usability, and they use the Mac OS X-only technologies available to them. Even Apple has been putting out some extraordinary Mac-only applications, like iPhoto, iMovie, iDVD, GarageBand, iWeb, Keynote, Pages, Aperture, Final Cut Pro, etc. All these applications are largely well-designed, and enhance the Mac platform in the absence of other companies that are willing to step up to the plate.

Enter Windows. Imagine, for a moment, that Windows dual-booting became a cinch, or Mac OS X Leopard included that virtualization technology stuff. It would effectively mean that Windows applications would run without modification on a Mac. Think about that. How would that affect the applications landscape?

Already, many companies have a large time justifying porting their applications to the Mac. There were reports of 3ds Max, a Windows-only 3D graphics app, coming to the Mac a year or two ago. But it hasn't happened yet. What would Autodesk say if it were easy to run Windows apps on the Mac? For all those customers that were clamoring for a Mac versions of 3ds Max, they'd just say, "Go install Windows on your Mac, and you can use our program!" The incentive to write Mac OS X-native applications would evaporate before you could say "Windows Vista sucks." Virtualization or easy dual-booting would provide this escape.

Very quickly, people would start running their Windows apps on the Mac. Everyone who was "switching" over to the Mac would be so comfortable with their Mac because of the fact that they wouldn't lose their applications. Windows is just a mouse-click or a restart away, and all those apps that they would've missed under Mac OS X are back, only they're still running under Windows.

And what about demand for Mac OS X-native apps? That would fall off a cliff too. Sure, there'd always be the die-hard Mac users like me who refuse to install Windows on their Macs, and they'd write companies demanding that they port their apps to the Mac. But the majority of users, those who have ostensibly "switched" to the Mac, wouldn't care. They'd all be content to switch into Windows and use whatever apps they needed to use. Even many traditional Mac users would sigh and install Windows anyway, for those few apps that they want to use, thinking it a necessary evil. It'd be left to the John Siracusas and John Grubers of the Mac world to stand up for Mac OS X and say, "Hey, we want our Mac OS X applications!" And we all know how many John Siracusas and John Grubers there are out there. (Answer: not too many.)

Companies are all about profit. They're motivated by profit. Profit keeps them alive.. even Apple. But where Apple chooses to innovate to gain profits, I fear that most companies that develop Windows applications would choose the minimum development model to maximize profits. That is, they'd continue to cater to the majority platform, and expand their market to a slice of the minority platform that was willing to run Windows on their Macs. Pointy-haired executives would look at the situation and say, "Hey, we can continue to develop as we normally do, selling to 90% of the market, and for that last 10%, we'd just tell them to go run Windows if they want to run our app. There's no additional cost to us, and we can still manage to increase sales!" Developing specifically for Mac OS X would just be regarded as an additional expense.

This would be lethal to the Mac platform. Sure, Apple and dedicated indie Mac developers would continue to develop new applications for the Mac, but games would be relegated to Windows, and previous Mac ports would be dropped in favor of Windows-only applications, and the development of Mac OS X-native programs would stagnate. All those "switchers" who started dual-booting would migrate back over to Windows where all the applications are, and those of us who prefer Mac OS X over Windows would be stuck with an operating system that lost steam because it lost support of a critical piece of the puzzle: native Mac programs.

But in some sense, this is a general fear of the Mac gaining market share. As more and more users migrate over to the Mac platform, our user base gets diluted. Us Mac users who demand top-notch quality applications will become few and far between, and Windows switchers would become the majority voice of Mac users -- and given that they deal with Windows everyday, I don't think it's that much of a stretch to say that Windows users have lower standards when it comes to applications. Call me elitist if you wish, but I think that's the truth in general. When standards get lowered, companies take advantage of it, and the quality of Mac OS X-native software would decline. And then one of the good aspects of the Mac platform -- excellent apps -- would fall by the wayside.

I think, however, that the latter situation would be preferable to the former. If Apple could continue to innovate even while gaining market share, it might have the opposite effect -- instead of the quality of apps declining, the standards of even the switchers would start to rise. But with Windows in the way, that can't happen. Users have to make the conscious choice to make Mac OS X their default operating system, not Windows. The whole point of getting a Mac is to get away from Windows. Sure, the added extras with the Mac hardware is icing on the cake, but it's the operating system that's the true "soul" of the Mac. All these "switchers" don't really have that in mind. They just want to feel good about switching platforms, when they're not really switching at all.

This is my greatest fear about the Intel transition. I have been secretly rooting against for (that was a typo) the forces that prevent Windows from running on a Mac. I realize that some people might benefit from dual-booting or from being able to run Windows software alongside Mac software, but I sincerely think that this will dilute the platform, regardless of whether it would be useful to some people. And I think that if there were software to run Windows apps built-in to Mac OS X, it would signal the beginning of the end of the Mac platform.

Don't do it Apple. Resist the urge. It's OK for Windows booting to be used by those who are really determined, but allowing regular consumers to easily do so would give companies just the excuse they need to not develop Mac OS X-native apps. And that would be disastrous.

(Please forgive my rambling. It's now 4:30 AM. I typically have a more coherent argument in my head, but hopefully my thought process has come out reasonably intact on this virtual paper.)


Technological Supernova   Unfiled   Older   Newer   Post a Comment