Recommended Posts

I don't really get anything about Snow Leopard mainly because I'm just the average end-user.

But I think I read on Engadget (?) that it could potentially take up to 1tb for true 64-bit computing. I think that's amazing. I think that's a step toward the future.

Now when they finish being amazing with that, I hope they focus on the basics: playlist for Front Row and Quicktime. I was happy they allowed full-screen for Quicktime after I grew old, but I don't think I want to wait on my deathbed for a playlist feature. =/

16Tb?

Myths of Snow Leopard 1: PowerPC Support

2rol2ky.jpg

Myths of Snow Leopard: 1 PowerPC Support

Apple’s limited comments on Snow Leopard, the next version of Mac OS X due in about a year, have opened the playing field for rampant speculation. Here’s a look at a series of myths that have developed around the upcoming release. The first myth of Snow Leopard:

Apple is dropping support for PowerPC Universal Binaries, so software will dry up for users of PowerPC Macs.

Snow Leopard is going to be the first version of Mac OS X that only runs on Intel Macs. However, this is not going to be a real problem for PowerPC Mac users. For starters, the existing Mac OS X 10.5 Leopard will continue to be updated. It’s not even a year old today. Tiger still receives regular updates and it’s now over three years old.

The new features in Snow Leopard will also have little impact on PowerPC users. Snow Leopard’s main emphasis is on multiprocessor support. Users with needs for high end applications taking advantage of multicore, multiprocessor machines have known about the Intel transition since WWDC 2005, so the idea of a Intel-only version of the operating system being delivered four years later is not a surprise. Technologies like OpenCL, Grand Central, and the new 64-bit kernel would all have negligible benefit for most PowerPC users. Anyone trying to stay on the bleeding edge of processing power shouldn’t be trying to use Macs that will be four or more years old at the release of Snow Leopard.

The main “missing feature” for PowerPC users stuck at Leopard might be Exchange integration. However, Apple could certainly sell Universal Binaries of the new Mail, Address Book, and iCal separately at minimal cost, if there were a significant enough market of users with PowerPC machines who wanted that. Since the biggest audience for Exchange support is in education and corporate markets, there will likely be pressure upon Apple to sell a Universal Binary version of those apps for their existing PowerPC users.

ae8kt3.jpg

Universal Binaries Outside Apple.

The real question for most PowerPC users is whether third party application developers will continue offering PowerPC support. While Apple’s cost-benefit ratio for delivering Snow Leopard as a Universal Binary is high in cost and low in benefit, for most developers the opposite is true. Application developers already have their PowerPC code and can continue to deliver Universal Binary software with minimal extra effort.

Apple is developing a number of low level technologies that require a lot of work to complete and test in parallel for both PowerPC and Intel architectures; app developers are writing primarily to Apple’s higher level APIs, which abstract the differences between the two platforms. There may be some applications taking advantage of new features in Snow Leopard that would render them Intel only, but PowerPC users don’t need to be excessively concerned that the market for PowerPC software will vanish anytime soon.

Apple reported that roughly 37% of the 27.5 million Mac OS X installed user base is running Leopard, 44% is running Tiger and 19% is using an earlier version. That means that despite the huge influx of new Intel Macs sold in the last couple years, there is still a large active installed base of PowerPC Mac users to sell Universal Binaries to.

w850dl.jpg

The Universal Binary Solution.

Because Apple has made it quite easy to deploy Universal Binaries, developers are not stuck with the dilemma of supporting past users or scuttling legacy efforts to only support new users, as was the case when Apple migrated from the original Motorola 68000 family to PowerPC.

In those days, while 68k code could run on PowerPC in emulation, the reverse was not true. That meant developers had to choose between migrating to PowerPC and killing their 68k development, splitting their efforts across two entirely different code bases, or staying in the past to service the installed base of 68k users.

With today’s Universal Binary architecture, developers can target both Intel and PowerPC Macs with minimal extra effort. One exception is Adobe, which has the unique circumstances of not using Apple’s tools. Adobe has built its own cross platform Windows and Mac development workflow around the Intel architecture, so its latest Mac titles are Intel only. That does not reflect on the future of apps from developers using Apple’s tools however.

Outside of PowerPC, some have panicked that Snow Leopard will kill support for even 32-bit Intel Macs. That is addressed in Myths of Snow Leopard 2: 32-bit Support.

[update: Warren Gish forwarded the following comment on PowerPC and 64-bit computing in Snow Leopard:

PowerPC is being dropped from Snow Leopard because there is no similar performance advantage with the PowerPC architecture in going 64-bit as there is in moving from x86 to x64. X64/AMD64 offers twice as many general purpose registers as x86, and that's where virtually all of the performance boost derives. The performance gain usually offsets any performance loss associated with using larger data items by ~15% but not uncommonly by as much as 25%.

Not the case with PowerPC. The number of general purpose registers is unchanged between 32-bit and 64-bit PPC, so applications are left with the performance loss of using larger datums in 64-bit mode. As a result, PowerPC apps typically run a little slower in 64-bit mode than in 32-bit mode.]

Myths of Snow Leopard 2: 32-bit Support

skxaxd.jpg

Daniel Eran Dilger

Apple’s limited comments on Snow Leopard, the next version of Mac OS X due in about a year, have opened the playing field for rampant speculation. Here’s a look at a series of myths that have developed around the upcoming release. The second myth of Snow Leopard:

Apple is dropping support for 32-bit Intel Macs because Snow Leopard is 64-bit.

This myth is rather silly, but has lit up Apple discussion boards and even been reported by a few sources that take themselves somewhat seriously. The idea may be based upon the Windows 32/64-bit Conundrum, a problem Apple does not face. Microsoft has to ship multiple architectures of Windows XP, Vista, and Server:

  • IA-32, for the 32-bit Intel x86 architecture of most PCs (the same as that of the early Intel Macs).
  • IA-64, for the 64-bit Intel EPIC architecture developed for Itanium and largely unused by anyone (now Windows Server only).
  • x64 (aka AMD64), the 64-bit x86 architecture developed by AMD and copied by Intel after the humiliation of IA-64’s failure. It is the mainstream 64-bit PC architecture, and is used in the latest Core 2 Duo Intel Macs.

The state of Microsoft’s art has led Windows Enthusiasts into confusion, as they tend to think that if Microsoft is doing something, it is probably the only way to do it. As Mary Jo Foley wrote, “Leopard is the first 64-bit only version of a desktop client. Vista comes in 32-bit and 64-bit varieties. And most expect Windows Seven will still be available in 32-bit flavors. Until 32-bit machines go away, it seems like a good idea to offer 32-bit operating systems.” She was apparently being serious, and wrote that in the context of an article insisting that Leopard looked like Vista.

The Windows 32/64-bit Conundrum.

The problem for Microsoft is that its IA-64 and x64 versions of Windows actually run from different code bases and offer poor compatibility with a lot of existing 32-bit software. That problem is exacerbated by the fact that the 64-bit versions of Windows don’t run on 32-bit PCs. That means the market for developing 64-bit drivers and apps for Windows is artificially small, and can’t get bigger because there are software barriers to adopting 64-bit PCs that are of Microsoft’s own doing. That chicken and egg problem has no solution outside of Microsoft figuring out how to merge its code versions together, which it doesn’t have the time, inclination, or expertise to do.

Microsoft is betting that users will upgrade their PCs to 64-bit machines and continue to buy and run the old 32-bit version of Windows until it can manage to clean up the sticky bits and deliver a 64-bit, EFI savvy version of Windows for the mass market. That looks unlikely to happen by Windows 7 in 2010. Perhaps Windows 8 in 2013 will deliver what Mac OS X Leopard did in 2007.

Apple’s rather elegant solution is to run whatever binary is appropriate to the existing hardware. That’s also why Apple has been able to support both PowerPC and Intel hardware across a user base of roughly 20 to 27 million Mac OS X users since 2006. Microsoft couldn’t support PowerPC and Intel in Windows NT 4.0 despite having a far larger user base, greater resources, and a monopolistic lock on the market.

In addition to being able to support entirely different processor architectures, Apple also supports the conventions of running either 32 or 64-bit code. If Leopard runs on a 32-bit Mac such as the first generation Core Duo machines, it runs the 32-bit binary. If it runs on 64-bit hardware such as the latest Core 2 Duos, it executes the 64-bit binary. There is no advantage to being unable to run 64-bit software; Mary Jo Foley was just talking past her core competency of praising Microsoft.

32 + 64 = Universal Binary.

Rather than shipping separate editions that only work on one type of hardware and can only run one type of binary, Apple’s Universal Binary approach allowed it to ship one edition of Leopard and will similarly enable one edition of Snow Leopard. In order to take advantage of 64-bit processor features, apps need to package a 64-bit version of their executable into their Universal Binary.

So far, the majority of Leopard system apps delivered by Apple are 32-bit. In fact, there are only two 64-bit apps that ship with the OS: Xcode and Chess. The advantages of moving to 64-bit apps apply mainly to those that need to access large memory spaces, such as apps working with large files or data sets. For some apps, moving to a 64-bit binary actually causes them to run slower, because they have more memory to manage. Overall however, Apple found that moving the entire OS to 64-bits created an system wide performance gain of 15%. That’s a nice jump for just doing a recompile.

For that reason, all system apps in Snow Leopard will be 32+64 Universal Binaries, unlocking more of the latent performance available in modern 64-bit Macs. Tuning these apps to perform as well on 64-bit G5 PowerPC Macs would be a large investment for little upside, benefiting a relatively small number of G5 owners at the expense of diverting resources from optimizing the performance of today’s much faster 64-bit Intel processors. That helps to explain why Snow Leopard is dropping PowerPC support.

At the same time, Snow Leopard is also moving to a 64-bit kernel, an essential step in supporting more than 32GB of RAM. That means developers will need to deliver 32+64 bit versions of all their kernel extensions and device drivers. All plugins will also need to provide 64-bit support as well, including printer drivers.

In a year, Apple will have sold another roughly 8 million Macs, most of which will benefit from 64-bit software support in Snow Leopard. Another 15 million Intel Macs have already been sold, resulting in a roughly 23 million Intel Mac installed base at the debut of Snow Leopard.

At the release of Tiger, there were only about 16 million Macs in the entire installed base. At the release of Leopard, there was a 22 million Mac installed base. Today there is a 27 million Mac installed base, 12 million of which are PowerPC. The proportion of 64-bit Macs is quickly outnumbering the active number of PowerPC models that warrant buying a new operating system for.

Omni Software reports that 83.5% of its customers are actively updating their software from Intel Macs, compared to just 16.5% on PowerPC Macs. That makes it quite a no brainer why Apple is dropping PowerPC support and throwing its resources behind 64-bit optimization. Apple is looking at where the puck will be next summer, not preparing to hit it where it currently lies.

Getting it Right the First Time Around: LLP64 vs LP64.

Apple not only developed a smooth transition plan to 64-bits, but also chose a 64-bit model that is not only more broadly compatible but is also more powerful than the stopgap, limited 64-bit model Microsoft chose. Windows’ 64-bit development model is based on LLP64, which is really a 32-bit model that uses 64-bit addresses. Microsoft explained why it chose this model in The Old New Thing : Why did the Win64 team choose the LLP64 model?

Essentially, Microsoft hoped to add 64-bit pointers to allow apps to access more RAM while retaining 32-bit integral types for compatibility with all of the legacy operating system constructs in Windows that made assumptions about 32-bit code. However, Microsoft should have been fully aware that 64-bit computing was coming a decade ago when it was doing its work on porting NT to the 64-bit Alpha and again in its efforts to port Windows to the Itanium IA-64. Why the great compromise of tacking on partial 64-bit support as an afterthought today?

Some have accused Microsoft of using an oddball, legacy-limited version of 64-bit computing as a way to maliciously break interoperability with 64-bit Linux. Whether Microsoft’s intent was actually the result of malice or just plain incompetence, Apple chose the opposite path for its 64-bit strategy: Leopard and Snow Leopard use the same LP64 model as the 64-bit versions of Linux, SGI IRIX, and other commercial distributions of Unix. That ensures broad compatibility with the 64-bit applications and libraries already available.

Representatives of groups with expertise in 64-bit computing, including Digital, Hewlett-Packard, IBM, Intel, Novell, NCR, the original Santa Cruz Operation, Sunsoft, and X/Open delivered a joint explanation of why LP64 is a better model for the future of computing than the model Microsoft chose in 64-BIT PROGRAMMING MODELS. The short answer: LP64 supports easier porting of existing code, interoperability between 32 and 64-bit computing environments, industry standard compliance for cross-platform interoperability, better performance, and a smoother transition from existing systems.

And so while Microsoft struggles with the transition to 64-bits, Apple will be furthering its lead in deploying 64-bit computing to mainstream consumers in a highly interoperable, no compromise strategy that can backwardly support existing 32-bit hardware. For end users, Snow Leopard will simply make everything faster when running on the latest 64-bit hardware.

With all the effort Apple is pouring into the future of desktop computing, the idea that Apple is dropping focus on the Mac for the iPhone makes the third myth of Snow Leopard easy to unravel, as the next article will do.

[update: Warren Gish forwarded the following comment on PowerPC and 64-bit computing in Snow Leopard:

PowerPC is being dropped from Snow Leopard because there is no similar performance advantage with the PowerPC architecture in going 64-bit as there is in moving from x86 to x64. X64/AMD64 offers twice as many general purpose registers as x86, and that's where virtually all of the performance boost derives. The performance gain usually offsets any performance loss associated with using larger data items by ~15% but not uncommonly by as much as 25%.

Not the case with PowerPC. The number of general purpose registers is unchanged between 32-bit and 64-bit PPC, so applications are left with the performance loss of using larger datums in 64-bit mode. As a result, PowerPC apps typically run a little slower in 64-bit mode than in 32-bit mode.]

Edited by Hurmoth

I wish Microsoft would do something to help push 64-bit, but it seems like they don't really even care themselves. Back in 2004 when I went to WinHEC, that's pretty much all they talked about was making sure drivers were 64-bit capable. But now it just seems like 64-bit is an afterthought. Of course Vista is a nice leap forward, but it isn't enough. Apple has the right approach IMO to adopting 64-bit software.

I'm still blown away by Apples fairly seamless ability to run 32bit/64bit and PPC/Intel alongside each other. It really is superb engineering!

Absolutely :yes: The best part is the user never notices the differences. He/she isn't asked which flavor (32/64-bit) or what platform (PPC/Intel). Just absolutely brilliant.

The only real difference would come from the rewriting. Might be able to write a function better, re-organize some flow, etc.

Cocoa (while cool) isn't a magical "make things better" framework.

YES, thank you!!

People, rewriting an app in Cocoa won't change a thing. The programmers need to change/fix the behavior of the app or rewrite it from the ground up with better functionality.

Example...iMovie 2 was written in Carbon, then iMovie 3 came along written in Cocoa. It was MUCH slower than the previous version.

Cocoa (while cool) isn't a magical "make things better" framework.
(quoted again for effect) :)
I wish Microsoft would do something to help push 64-bit, but it seems like they don't really even care themselves. Back in 2004 when I went to WinHEC, that's pretty much all they talked about was making sure drivers were 64-bit capable. But now it just seems like 64-bit is an afterthought. Of course Vista is a nice leap forward, but it isn't enough. Apple has the right approach IMO to adopting 64-bit software.

Legacy users and most people don't need 64-bit. And last summer, Intel was still selling 32-bit CPUs in PC (Core Solo/Dual-core Pentium). The other part of it, has to do with getting vendors to make 64-bit drivers, and it was hard enough with Vista 32-bit drivers.

Vista is a lot better, but I gave up on 64-bit Linux, as it isn't there either. I don't even need 64-bit, as I don't have a use or need 4+ GB, and I'm a Windows power user, that does use PS CS3 and Visual Studio 2008. And then there is the issue of 64-bit apps, and that was the big reason I dropped 64-bit Linux like a hot potato.

I would be nice if Windows 7 was 64-bit but a good chunk of Windows PCs are probably 32-bit, and they're just catering to the masses.

I would be nice if Windows 7 was 64-bit but a good chunk of Windows PCs are probably 32-bit, and they're just catering to the masses.

A large chunk of Mac users are still using PPC systems.

The point is, Apple has been able to do something that Microsoft has never done. When you go to buy the latest copy of OS X, you buy one disc that contains both PPC, 32-bit and 64-bit binaries and the installer is intelligent enough to recognize what hardware you are using. In the Windows world you first have to choose which is right for you, Home Premium, Ultimate, etc. and then if you want the 64-bit version, good luck finding it in a retail store.

It really doesn't matter what you may need. By that attitude we might as well stop making new hardware. Who needs dual core processors? Who honestly needs more than 2GB? That isn't the point. The point is, someone out there will utilize that technology and the only way to push us forward, into the future of 64-bit, is by making it seamless, which is exactly what Apple has done with the way they've made OS X. The user shouldn't see a difference between the two flavors or the two platforms. But when that user goes out to download a piece of software he or she shouldn't have to think, "Am I using the 64-bit or the 32-bit version of OS X?" They should be able to download one universal binary and it installs and runs as if nothing is different between the 32-bit and 64-bit or the PPC or Intel. And on OS X it works just like that. It doesn't on Windows.

The Windows 32/64-bit Conundrum.

The problem for Microsoft is that its IA-64 and x64 versions of Windows actually run from different code bases and offer poor compatibility with a lot of existing 32-bit software. That problem is exacerbated by the fact that the 64-bit versions of Windows don’t run on 32-bit PCs. That means the market for developing 64-bit drivers and apps for Windows is artificially small, and can’t get bigger because there are software barriers to adopting 64-bit PCs that are of Microsoft’s own doing. That chicken and egg problem has no solution outside of Microsoft figuring out how to merge its code versions together, which it doesn’t have the time, inclination, or expertise to do.

Microsoft is betting that users will upgrade their PCs to 64-bit machines and continue to buy and run the old 32-bit version of Windows until it can manage to clean up the sticky bits and deliver a 64-bit, EFI savvy version of Windows for the mass market. That looks unlikely to happen by Windows 7 in 2010. Perhaps Windows 8 in 2013 will deliver what Mac OS X Leopard did in 2007.

Apple’s rather elegant solution is to run whatever binary is appropriate to the existing hardware. That’s also why Apple has been able to support both PowerPC and Intel hardware across a user base of roughly 20 to 27 million Mac OS X users since 2006. Microsoft couldn’t support PowerPC and Intel in Windows NT 4.0 despite having a far larger user base, greater resources, and a monopolistic lock on the market.

In addition to being able to support entirely different processor architectures, Apple also supports the conventions of running either 32 or 64-bit code. If Leopard runs on a 32-bit Mac such as the first generation Core Duo machines, it runs the 32-bit binary. If it runs on 64-bit hardware such as the latest Core 2 Duos, it executes the 64-bit binary. There is no advantage to being unable to run 64-bit software; Mary Jo Foley was just talking past her core competency of praising Microsoft.

A large chunk of Mac users are still using PPC systems.

The point is, Apple has been able to do something that Microsoft has never done. When you go to buy the latest copy of OS X, you buy one disc that contains both PPC, 32-bit and 64-bit binaries and the installer is intelligent enough to recognize what hardware you are using. In the Windows world you first have to choose which is right for you, Home Premium, Ultimate, etc. and then if you want the 64-bit version, good luck finding it in a retail store.

It really doesn't matter what you may need. By that attitude we might as well stop making new hardware. Who needs dual core processors? Who honestly needs more than 2GB? That isn't the point. The point is, someone out there will utilize that technology and the only way to push us forward, into the future of 64-bit, is by making it seamless, which is exactly what Apple has done with the way they've made OS X. The user shouldn't see a difference between the two flavors or the two platforms. But when that user goes out to download a piece of software he or she shouldn't have to think, "Am I using the 64-bit or the 32-bit version of OS X?" They should be able to download one universal binary and it installs and runs as if nothing is different between the 32-bit and 64-bit or the PPC or Intel. And on OS X it works just like that. It doesn't on Windows.

Apple has always controlled the HW, not to mention the G5 was 64-bit. Apple can get away with making their users upgrade, as they are more forgiving and brand loyal. Microsoft doesn't have that leeway. Go into a typical business, and you probably find a P4, with 512 MB RAM, and integrated graphics, and likely a Dell or HP at that - those are pretty common, and a strong case why Vista doesn't fly in the enterprise, and neither does OSX for that matter, but part of that, is that there is no good Office suite on OSX.

Back to the discussion, for home users, Intel was pretty late to the game with 64-bit, I've had 64-bit AMD CPUs for years, but Intel was the dominate player. Again, Apple can dictate more how they want things done, Microsoft has to contend with all sorts of vendors and users. It's one of the upside/downsides to a closed vs open system.

That article makes great points, but NT4 is very old (1996), and I doubt the processing power would've been present at the time, to run an NT4 PPC binary, on an Intel chip, without serious slow.down issues if MS had figured out how to do it, but the article comes to Apple's transition 10 years past that. As for how Apple and Microsoft go about 64-bit, those are design choices, but without 64-bit apps, I'm still not seeing a lot of benefit at this point, as an end user. Yeah, having the 64-bit OS in place would be great, but then on OSX, you're still carrying around 4 different versions in a single binary, and that adds some unnecessary bloat, even those the solution is the least painful.

A lot of problems with Microsoft, is that they have years and years of legacy apps, that businesses and users still use, and I could see MS having to start from scratch at some point, and just virtualize XP in later version of Windows, as it could be the easiest way out.

I do like Apple's implementation better, but as an end-user, I don't see 64-bit being mainstream for probably another 10 years, and by then all the apps and hiccups along the way will be fixed.

there is no good Office suite on OSX.

Lots of good points there mate, but I had to quote out this bit and ask, Surely Microsoft Office would count? If not then they have the same office Apps anyway, MS Office and OpenOffice.

Pages > Word. Keynote > Powerpoint. Excel > Numbers.

From my general use at least. (college student)

With Snow Leopard intergrating Exchange Support into the OS, I feel that we'll then have...

Mail / Address Book / iCal > Entourage as well. :)

The only think I like about Entourage is the vertical preview pane, though they doesn't outweigh all the bloat the program carries. I wish Mail would get that view (natively, without a plugin) in Snow Leopard.

I personally dislike the view but what's wrong with the Letterbox plugin? It doesn't break anything as far as i know?

The only think I like about Entourage is the vertical preview pane, though they doesn't outweigh all the bloat the program carries. I wish Mail would get that view (natively, without a plugin) in Snow Leopard.

Entourage is one of the reasons why my husband won't use a Mac, his firm uses Exchange and Entourage doesn't cut it. (Plus he's to impatient to wait for a VM to load. heh)

I personally dislike the view but what's wrong with the Letterbox plugin? It doesn't break anything as far as i know?

There's nothing wrong with it. I've actually been using it for a while. The only thing I don't like about it is that everything gets a bit jammed up with it, and I'm curious to how the Apple team would but their spin on it to make it look prettier :p

Absolutely :yes: The best part is the user never notices the differences. He/she isn't asked which flavor (32/64-bit) or what platform (PPC/Intel). Just absolutely brilliant.

System Preferences in Snow Leopard will ask you to switch to its 32-bit counterpart when trying to access a 32-bit only preference pane. Hopefully that will change once the OS gets out of beta.

I don't think terrible Exchange support is always entirely the blame of folks like Apple. Unless i'm unfairly criticizing Microsoft, I don't think the Exchange protocol is open and documented for use by 3rd party developers - subsequently making it reliably play ball is somewhat difficult.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.