53 Comments
- TheTankengine, on 10/11/2007, -7/+35I cannot parse a single sentence of that comment.
- redxii, on 10/11/2007, -3/+30> It would be nice to have iLife, iWork, Coda, etc. on Windows.
Then there'd be no reason to buy their OS on exclusive hardware that they too only sell. - colincornaby, on 10/11/2007, -1/+21CFNetwork, CoreFoundation, and CoreGraphics are not part of Cocoa. They are C API's that are part of CoreFoundation, which has been publicly available for Windows (and Linux) for a while.
http://developer.apple.com/opensource/cflite.html - ScottMaximus1, on 10/11/2007, -1/+14Are you asking me to buy Viagra?
- aDJsavedmylife, on 10/11/2007, -5/+15Don't get me wrong, I'm posting this from a machine running Ubuntu.
But in case you hadn't noticed Windows has a far bigger market share than Linux in the desktop market.
That's kind of like saying:
"Seems like a waste of time unless they did the same for BeOS..."
I'm not saying GNU/Linux is as relevant as BeOS but I am saying software developers are under NO obligation to write software for YOUR O.S. They owe you nothing. - Uruviel, on 10/11/2007, -3/+11It would kill their hardware sales. Why then not directly sell Mac OS X for non-Apple hardware.
Also porting the entire Cocoa API to Windows (or some virtual machine) seems like a tedious task with little pay-off since
allowing Cocoa applications to run on Windows could arguably draw users away from the Apple platform. - astrosmash, on 10/11/2007, -0/+6iTunes doesn't use WebKit.
iTunes and Safari are very different beasts on both Windows and OS X. iTunes was/is a Carbon app and its Win32 port has nothing whatsoever to do with Yellow Box. If you inspect its window classes on Windows you'll see that iTunes is just one giant monolithic window control inside of which all of iTunes' controls are rendered. We see a bunch of different lists and buttons, but to Windows it's just a single control.
The Safari GUI on the other hand is composed of Cocoa controls, you can see this by opening up its various GUI .nib files. And if you've ever caught Safari in a crash, there's definitely Objective-C in the call stack.
On Windows, the Safari GUI is composed of individual window controls, like a traditional Windows application. View the bookmarks, those are standard Windows ListView controls. Same with button and edit boxes, all standard Windows controls, with custom painting, obviously. Oh, and there a class called NSPopupButton, too.
Yellow Box mapped the NEXTSTEP/Cocoa controls to standard WIndows controls, and that's exactly what is going on in Safari (unlike iTunes, which is a single monolithic control).
I hooked Safari/Win32 to a debugger to see what was going on inside. In various threads you see the typical calls into the CoreFoundation, WebKit, and SafariTheme DLLs, but in the main Safari thread Apple has gone out of their way to obfuscate what's going on; there's no symbols or call stacks anywhere. It doesn't look like a traditional C or C++ application; it doesn't look like anything.
The bottom line is that the Safari GUI is composed of Cocoa GUI components, and these components have been mapped to standard Windows controls, like Yellow Box and unlike iTunes. There is a at least a thin layer of Objective-C in Safari; maybe that code is running as Objective-C on Windows, or maybe that code was rewritten as C++ on Windows. From what I've seen, it could go either way, but judging by Safari's excessive memory usage and strange debugger behavior, I'm leaning towards Objective-C. - Zippo, on 10/11/2007, -4/+10I wish they'd port iChat to Windows... or at least add 3- and 4-way video conferencing support to AIM.
And I'm sure a lot of Mac users like myself wish Windows developers could port their applications to Macs more easily... Ah well, there's still Crossover. - snowwrestler, on 10/11/2007, -1/+7@Elranzer
The question is whether anyone besides Microsoft can make money at that game, and the answer is no. Every other attempt at selling OS licenses has failed. Apple tried it, and lost money. Palm tried it and almost went out of business. IBM tried and OS/2 failed big time. The only things that really compete with Windows at its own game are the free OS's: Linux and Unix.
Microsoft did not just appear, they grew over time, creating their own business model. Anyone else trying to do the same thing today would have to deal with a major competitor that Microsoft did not have to deal with: Microsoft. - inactive, on 10/11/2007, -0/+5FTA:
Update: This poster points to code indicating that Safari for Windows is not written in Cocoa:
the windows 'port' of Safari does not use one line of Objective-C/Cocoa but is programmed in C/C++ against C-libraries from Apple (CoreFoundation/CoreGraphics) and Microsoft (Win32). - skellener, on 10/11/2007, -0/+5Forget the talk about Yellow Box. Safari on Windows is for one reason and one reason only - iPhone.
- chris9902, on 10/11/2007, -5/+9when you have a market share bigger than the margin of error then you can have some of our software. but not before.
- relinquish, on 10/11/2007, -0/+4This guy claims to have compiled CoreFoundation and CoreGraphics natively:
http://pages.brianledbetter.com/ - modusop, on 10/11/2007, -5/+7This is pretty sweet, even if the strategic value is questionable. We all know we felt this way when news of the intel switch broke - the big shocker was that they have the resources to keep these parallel teams going inside Apple with no knowledge on the outside. I think the CIA and FBI could learn a couple things from these guys.
- NSResponder, on 10/11/2007, -0/+2"one reason only - iPhone."
Not quite. There's also a few million bucks a months in revenues from Google.
-jcr - NSResponder, on 10/11/2007, -0/+2"Yellow Box mapped the NEXTSTEP/Cocoa controls to standard WIndows controls,"
Not really. The AppKit still did all the drawing and event handling within each window using DPS, even though they matched the appearance of the Windows controls. In fact, you could set the user interface style preference to NeXTSTEP, and get a decent appearance on a windows box.
-jcr - durandal2005, on 10/11/2007, -2/+4I think I can see at least a bit of Apple's strategy on this one. If they release their API (and maybe the tools, like Xcode) for Windows, then the Mac would become a great choice for developers; why code for Windows exclusively when you could write Cocoa code that runs on both OS X and Windows? Although it may mean less exclusives for the Mac platform, it would mean getting a lot of apps that would otherwise be Windows-only.
Besides, didn't something like this contribute to OS/2's downfall? Because it could run Win16 binaries, nobody developed for OS/2 exclusively because it wasn't worth it. Why write OS/2 code when you could write Win16 code that ran on both Windows and OS/2? The OS/2 developer community dried up, and then there was no compelling reason to use OS/2: all the apps where on Windows, too. Maybe Jobs thinks he can use this same strategy against Windows? - NSResponder, on 10/11/2007, -0/+1"iTunes doesn't use WebKit."
True for now, but it probably will in the near future. No need to maintain a separate code base for XML parsing and HTML rendering.
-jcr - ArbeitScheiss, on 10/11/2007, -1/+2Just look at the early WebObjects versions to see how Yellow Box (or some variant of that) was implemented:
http://developer.apple.com/documentation/WebObjects/WO_Install_Win_Sol/WOOtherIG_Overview/chapter_1_section_2.html
The WebObjects framework could be deployed to a Mac, Solaris or Windows machine. You could develop on either a Mac or a Windows machine and deploy to any of the three OS's.
I still have the CD's for this. - LeeSoong, on 10/11/2007, -0/+1It would be nice for Apple to enable Mac developers to Write Once - Deploy Everywhere with
.DLL files that provide 'OS X in Windows' support.
No recompile needed, and 'Universal' programs run on G4, Intel, OS X and Windows XP / Vista.
That would convince a lot of developers to support the Mac, because they wont be locked into writing 'just for' a percentage of the computer software market space. - pevensen, on 10/11/2007, -2/+3CoreFoundation + CoreGraphics is not yellow box. As Colincornaby pointed out, CF has been available on Windows for a long time.
- KirinDave, on 10/11/2007, -1/+1Uhh, wtf do people think iTunes and now Safari are examples of?
No seriously? How did you think they were doing it without completely rewriting code. Isn't it suspicious that iTuns relied on webkit? It's it suspicious that Safari uses the OS X font rendering? If it was a simpler port, why would that be so? It's not like Safari on a mac does more than instruct the text rendering system, it certainly doesn't raster the glyphs individually itself.
The thing is, even if you use FoundationKit extensively, you're still dipping into the UNIX layer a lot. As as Java programmer who's worked on so-called cross-platform applications can tell you, platform matters. YellowBox is therefore not magic pixie dust. - chucklehead, on 10/11/2007, -4/+4"Gorbachev sings tractors: Turnips! Buttocks!"
- astrosmash, on 10/11/2007, -1/+1http://weblogs.mozillazine.org/hyatt/archives/2004_06.html#005666
"Just to clear up a common misconception, iTunes does not use WebKit to render the music store. What you see when you visit the iTunes music store may look "web-like", but it isn't HTML, and it isn't rendered by WebKit." - ArbeitScheiss, on 10/11/2007, -1/+1Java was also an important component for this but you didn't have to develop in java. If you wanted you could also develop your web app using Objective-C:
http://www.stepwise.com/SpecialCoverage/WWDC2000/WOFCarl.html - cgruber, on 10/11/2007, -2/+2I'm not entirely sure that it would. In GENERAL most users don't buy and install OS's. Of course there's people like me and probably like you that are perfectly capable of purchasing all the correct hardware, assembling it, and installing all the software. But we're the minority. Apple has always been about making computers easy for everyone to use.
What that means to me is they will have a hardware market for people that don't want to mess with installing software, BUT it also allows them to pick-up new adopters by providing an option to them in the form of software.
I wouldn't put it past Jobs, he always surprises me. - ricksite, on 10/11/2007, -3/+3I wouldn't say there was no knowledge on the outside. They did release darwin on Intel years before OS X made the switch. They (Apple and NeXT) also have a history of this sort of practice.
- saifatlast, on 10/11/2007, -1/+1I don't understand this. Shouldn't applications that run in Safari work (more or less, and with a bit of effort) in other browsers, too? What advantage does Safari being on Windows give to the iPhone?
(Honest question) - rampancy, on 10/11/2007, -1/+1FTA: "Jobs is well aware of the risk and, as soon as he decided to revive the dormant OS X-on-Intel 'Marklar' project, launched a parallel project (now known internally as 'Dharma') of reviving (here's the big thing)... The Yellow Box for Windows."
I'll bet Alvar Hanso was really behind this. If Apple required a serial number or some kind of anti-piracy tool to make sure this didn't get leaked, I'm guessing the unlock key would be: 4 8 15 16 23 42 - thomashauk, on 10/11/2007, -0/+0And OSX has that?
- cjwl, on 10/11/2007, -1/+1Read the Safari EULA.
- DelMonte, on 10/11/2007, -2/+2Ehm... I don't usually ask that, but why am I getting dugg down?
I'm stating facts... If anyone thinks these are not facts well explain yourself, don't just click the digg down button. - smspence, on 10/11/2007, -1/+1rmwimpee:
Again with the 9to5mac blog spam. Stop it. - anamanaman, on 10/11/2007, -1/+1Synchronizing bookmarks & keychains is the only thing that I can think of for a reason to use Safari on Windows with an iPhone. For example, it should keep both browsers (phone and pc) completely in sync so if I log into gmail (with rememberme) on my pc, it'll work seamlessly on the iPhone. Ditto for AutoFill and other browser features. They of course could have built a firefox plugin or something, but Apple tends to like to stick with their own software.
- snowwrestler, on 10/11/2007, -1/+0I wonder if security issues make it less likely that this project would work as well today as it would have 10 years ago. It's not just a question of compiling against different libraries and APIs anymore...now developing good software on Windows also means coming up with tricks to get around deficiencies in the OS itself.
Consider the security problems Windows Safari faced right away--at least one of them was because Windows' provided URL handling is not sufficiently secure. Didn't the Firefox dev team actually have to come up with their own system for URL handling for the same reason?
To me that seems like it might imply that making the windows side of Yellow Box apps secure would just be too complicated to let a compiler handle automatically. You could compile to Windows, but then you might need a bunch of hand tweaking. - pevensen, on 10/11/2007, -2/+1It looks like this article is inaccurate.
- cjwl, on 10/11/2007, -5/+4Very misleading story.
- modusop, on 10/11/2007, -2/+1I'm pretty sure iTunes uses Webkit for the music store.
- DelMonte, on 10/11/2007, -5/+3Just to end some confusion:
Yellow Box is what became Cocoa in Mac OS X.
The name change came at the same time that Apple discontinued work on "Yellow Box For Windows". Apple never officially talked about a "Cocoa For Windows", but this would be the proper way to refer to this project today instead of "Yellow Box For Windows", which use the old "Boxes" terminology.
To summarize:
Yellow Box became Cocoa
Yellow Box For Windows would become Cocoa For Windows
Yellow Box is NOT Yellow Box For Windows - sgamel, on 10/11/2007, -3/+1I do agree that CoreFoundation and CFNetwork were available as open source. But I've not heard about CoreGraphics...
And even if the underlying layer is open source (the Mac xnu kernel is aint'it?) that do not mean that between Core and WebKit something is missing. That something is Safari written in Cocoa.
I'm pretty sure that Cocoa for Windows exists as intel OS X existed... It may surface one day as the real iPhone SDK. But wait for at least a year to be sure of that! Apple will NEVER release again Cocoa/Win until they reach 20% of market share. - FlameThr0wer, on 10/11/2007, -5/+2What? Conspiracy theories on the internets? Impossible.
- Elranzer, on 10/11/2007, -9/+5"Why then not directly sell Mac OS X for non-Apple hardware."
Yeah. That's always been Microsoft's sales model. It's not like they make tons more money than Apple.
Oh, wait... - ScottMaximus1, on 10/11/2007, -6/+2^ what that guy said
- enicholas, on 10/11/2007, -7/+0Whoever dugg down chucklehead is obviously not a Bloom County fan. And that's just sad.
- aDJsavedmylife, on 10/11/2007, -7/+1sorry this comment was aimed at Jellygraph's above mine.
- frozenyoghurt, on 10/11/2007, -11/+2My chest hurts. Hope I'm not having a heart attack.
- scabbers, on 10/11/2007, -12/+1http://www.lostpedia.com/wiki/Mass_grave
- s3t3c.astr0, on 10/11/2007, -13/+1awsome!
- jellygraph, on 10/11/2007, -13/+1Seems like a waste of time unless they did the same for Linux...
- themoors, on 10/11/2007, -22/+7Obviously you don't parse too well TheTankengine, the ability to understand people who's first language isn't english is quite a useful skill these days.
-
Show 51 - 52 of 52 discussions



What is Digg?
Browsing Digg on your phone just got easier with our enhancements to the