If Apple had not already managed to convince hundreds of millions of Windows users to download and use iTunes and QuickTime in place of the Window Media Player software that comes bundled with Windows, it might be hard to imagine why Windows users might want to use Safari.

Will Apple be able to achieve the same level of success with Safari as it has with iTunes, or are the circumstances completely different? Apple is betting on a handful of reasons why Windows users who already have a favorite web browser might want to use Safari.

Here’s a look at those reasons, what Safari shares in common with Apple’s existing offerings--and in particular iTunes--and how it all relates to interesting possibilities in Apple’s future strategies.

Safari/3.0 Windows Intel (Like iTunes).

Apple's delivery of Safari on Windows is certainly patterned after iTunes; the company didn’t even have to advertise Safari for Windows, it merely made the announcement at WWDC and let the press send out the invitations. Safari is not even Apple's first browser for the Windows platform; iTunes is.

The online iTunes Store within iTunes is actually a specialized client that only serves up pages from a single host: Apple’s iTunes Servers. However, unlike Safari, the iTunes Store is not based on WebKit, so Safari does blaze a new trail into unknown territory as a new application and code base on Windows.

Something else is new, too. Safari on the Mac provides a Cocoa user interface on top of the WebKit display engine. On Windows however, Apple not only ported the Cocoa UI and WebKit, but also adapted Mac OS X’s Core Foundation and Core Graphics libraries to supply functionality missing on Windows.

Apple’s Beta Browser Blues.

Choosing this implementation means that Apple ended up shipping Safari not just as a beta browser, but one running on top of beta core libraries, too. That offered more potential for bugs and flaws than if Apple had delivered Safari on Windows by building its user interface with Microsoft’s native .Net frameworks instead.

Why would Apple choose a development strategy for Safari on Windows that would result in not just more work, but also in more potential for bugs and security issues as those newborn core frameworks mature?

Apple’s critics crawled from their caves to bask under their dark sun and enjoy a brief moment of Schadenfreude after several flaws were discovered in these core libraries used by Safari on Windows.

Black hat hacker David Maynor--best known for claiming to have hacked Apple’s WiFi security but then refusing to demonstrate how and later backtracking on his claims and leaving the stink in the air as an unproven, weaselly delivered accusation with no resolution--got himself in the headlines again for at least a couple days before Apple released a patch covering his undocumented attacks on Safari for Windows.

If porting Safari to run as a standard Windows application could have avoided 48 hours of media panic and FUD invented to badger Safari for Windows, why didn’t Apple just take the easy and well-traveled path, and perform a conventional port of Safari?

Why Did Apple Port its Core OS X Libraries to Windows?

Porting Safari to Windows using .Net would have certainly resulted in a more Windows-like browser. That provides more evidence to suggest that Apple wasn’t simply interested in putting its browser on Windows to grab Google revenue or displace Firefox. It appears that Apple ported these extra libraries to do two other things:

First , delivering Core Graphics and Core Foundation on Windows enabled Apple to deliver a more Mac-like browser experience. Safari on Windows quite purposely feels like a Mac. If Apple wanted to deliver a browser that felt like Windows, it could have saved a lot of effort or even contracted it out to an external developer.

This brands Safari with a Mac-like feel, exposes Windows users to Apple’s own user interface conventions, and shows off the capacity of Core Graphic’s features, including translucent sheets and built-in color management.

Second , delivering Core Graphics and Core Foundation on Windows provides Apple with the option of later expanding Xcode to enable developers on the Mac to deliver their own Cocoa applications cross-platform on Windows.

Yellow Box for Windows, fully dead and buried, appears to have the potential to live again in a modernized form.

Thinking Outside the Yellow Box.

The original Yellow Box for Windows was an implementation of OpenStep and included support for Adobe’s Display PostScript. When Apple moved its Mac strategy from Rhapsody to Mac OS X, it made core foundational changes that rendered Mac OS X incompatible with OpenStep and the Yellow Box runtime for Windows.

In addition, Apple added support for existing, classic Mac development in Mac OS X with the Carbon libraries. Because the majority of Mac OS X’s software was either completely built using Carbon, or incorporated a mix of Carbon and Cocoa, there was no longer any way for Apple to deliver a useful Yellow Box for Windows.

Those circumstances are changing however. Apple developed a Universal Binaries architecture and worked to move Mac developers to Xcode. Those steps obsolesced all Classic software, including any PowerPC emulation of old 68k code, and unified the Mac platform under a single set of development tools, making portability much easier.

Carbon and Cocoa: Which is Tastier?

Apple has also been working to migrate all future development to Cocoa. Carbon will stick around for years, but the message is clear: Cocoa is the future. It’s what Apple uses to deliver new desktop apps as well as the internal apps on the iPhone.

Carbon and Cocoa are often pitted against each other conceptually as “rival halves” of Mac OS X, one aligned with the old procedural Mac toolbox and the latter with the object oriented frameworks from NeXTSTEP.

Over the last decade of Mac OS X development however, Core Foundation has emerged as a bedrock of frameworks that are used by both Carbon and Cocoa development. Apple isn’t throwing away “the Carbon half” of Mac OS X, it is merely consolidating its upper level frameworks as Cocoa becomes more attractive.

Cuckoo for Windows Cocoa.

Having the essential frameworks of Cocoa embedded within Safari for Windows strongly suggests that Apple not only wanted a Mac-like browser, but may also soon offer Xcode developers a tested and refined mechanism for building and delivering their own apps on Windows, too.

Of course, the testing and refining of this mechanism is necessary, and that appears to be in part what Safari on Windows will be doing for Apple.

While the company is unlikely to port the rest of its own apps to Windows, offering a cross-platform build option to third party developers will make Cocoa an even more compelling alternative to Microsoft’s .Net, with the extra free feature of being supported on the Mac platform, and perhaps even the iPhone.

Pros and Cons of a Ported Cocoa.

Regardless of whether or not Apple pursues a cross-platform Cocoa strategy for third party developers, it has already delivered it across an impressive number internally:

• ARM in the iPhone • PowerPC and Intel in both 32 and 64-bit versions on the Mac • On Windows in Safari

That portability is reminiscent of NeXTSTEP, which was rapidly ported to a variety of CPU architectures and other operating environments. Since portability is key to Apple’s own strategies, it’s no great stretch to imagine that Apple would further leverage Cocoa for cross-platform deployment, since there is minimal extra cost involved.

Tempering any enthusiasm over the immediate release of a Cocoa for Windows is the reality that NeXT failed to get OpenStep to gain traction, just as Apple did with Rhapsody. Of course, the circumstances of today’s Apple are very different to those of the beleaguered Apple of 1997, or the struggling NeXT before that.

Notably, the circumstances of Microsoft are also very different. Win32, the main development platform of Windows, has grown old and Microsoft has been working to replace it with .Net.

Never before have developers had less reason to stick with Microsoft or more reason to look at alternatives like Cocoa.

Why Safari on Windows is the Next iTunes.

While Safari for Windows offers some tantalizing prospects for developers in the future, it also serves as a key part of Apple’s consumer strategies right now, following the pattern set by iTunes.

Apple released iTunes for Windows to proliferate standards-based audio at the expense of Microsoft's proprietary Windows Media formats. By offering iTunes as a better media library than the one included in Windows, Apple promoted iTunes in the same way Mozilla promotes Firefox as an open alternative to Internet Explorer.

With iTunes, Apple highlighted for consumers the attractiveness of using industry standard formats for ripping their own CDs and for publishing and downloading podcasts, as well promoting online sales of commercial music, TV, and movies using the least intrusive DRM available.

In contrast, Microsoft had invested huge resources to roll out a proprietary media platform that tied playback to Windows. It also was working diligently to tether all media player devices and commercial media downloads to Windows using Janus’ bulletproof DRM under the PlaysForSure brand.

Apple’s iTunes slaughtered both Windows Media and PlaysForSure, preventing Microsoft from doing to media what it had done to the PC operating system.

After Microsoft announced it would pull the rug from under its own PlaysForSure partners and attack Apple’s iTunes and iPod directly with the Zune, it was embarrassed to find that it couldn’t even maintain a illusion of interest despite its best billion dollar efforts.

Who Wants Safari on Windows?

In the same way that iTunes made the use of open standards for media more attractive to consumers and content producers, Safari seeks to make standards-based web development more attractive than proprietary, Windows-only or IE-centric web development.

Apple has developed web development diagnostic tools to help web developers in that regard:

• Drosera : a JavaScript debugger



• Web Inspector : a live viewer for inspecting properties of each element on a page

[Update: Apple publicly released the new and improved Web Inspector which debuted at WWDC, so I can now include a screenshot of it:]

Similarities and Differences of Safari and Firefox.

There certainly is some overlap between Safari and Firefox, and Safari may eat into some of the market share Firefox has claimed. However, it is far more likely that Safari and Firefox will help each other more than rival each other. That’s because both offer features that appeal to different types and segments of users.

For example, Firefox exists as a standards-compliant browser on Linux, and offers features on Windows that Safari does not, including a range of plugin functionality that Apple has not made any effort to duplicate.

Safari offers a handful of features missing from Firefox, including its bookmark library, an RSS viewer, a lighter, faster rendering engine, and support for color matched graphics. Safari is also attractive to Mac users who work on Windows PCs and simply prefer to use Apple’s browser.

Firefox and Safari already coexist on the Mac platform, and Mac users have compelling reasons to use both. This is unlikely to change just because Safari is offered on Windows. Different users are likely to prefer to use one browser over the other, but web browser use is not necessarily a mutually exclusive decision.

Safari will also no doubt be offered to iPod, iPhone, and AirPort Extreme users on the install CD, as well as Windows users downloading QuickTime or iTunes, reaching populations that may be oblivious to Firefox.

The Other Obvious Reason for Safari on Windows: iPhone.

Of course, the most obvious reason for releasing Safari for Windows is the iPhone, which uses the same Safari rendering engine. By releasing a Windows version, Apple will broaden the reach of the Safari browser, making it more important for web sites with quirky behaviors to make sure their content looks right on Safari, and by extension, the iPhone.

And of course, developers targeting the iPhone will also be able to test their site from a regular Windows PC. However, Apple is not casting Safari in the role of the old Netscape or Internet Explorer, with proprietary extensions designed to trick developers into building a “best when viewed from Safari” website.

Instead, Apple is doing the opposite: pioneering the most standards-compliant browser, and ensuring that any improvements it wants to add to Safari are approved and adopted by the community. As a member of the group defining the new HTML 5 standard, Apple is working to make sure that the web is an open playing field.

What that means will be covered in: The Future of the Web: Safari, Firefox and Internet Explorer.

Register your own ideas in the RoughlyDrafted Forum .

Like reading RoughlyDrafted? Share articles with your friends, link from your blog, and subscribe to my podcast!

Did I miss any details?

Haloscan Q107

Next Articles:

Does Leopard Look Like Vista?

BHOze and the BHOzing BHOzers that BHOze Them.

EA’s Intel Mac Games: WINE and Cheese?

Previous Articles:

This Series