“A first time poster [French] to MacGeneration forums posted the contents of an email, which was originally sent to another website. The writer claims that Apple is reviving ‘Yellow Box for Windows’ – a development environment which promised Mac OS X developers the ability to develop and then deploy of both Mac OS X and Windows environments. The original plans for Yellow Box were promised during early developer sessions by Apple, but later killed. The letter claims that the project has been relaunched internally under the name ‘Dharma’. Resultant applications will be true ‘Universal Binaries’, allowing developers to released their applications under the Windows environment also.” Of course this is highly speculative, but interesting nonetheless. What is your opinion on this?
Dharma: Cocoa on Windows… Again?
About The Author
Follow me on Twitter @thomholwerda
2005-12-08 8:38 pmCaptain N.
Hmm.. Good catch! 😉
Actually, as they have pointed out on the forum, this doesn’t necessarily disqualify what sounds like a pretty good idea. Time will tell
Edited 2005-12-08 20:48
2005-12-08 8:57 pmpauls101
Doesn’t really prove it’s fake. The poster admitted to using a fake name: maybe (s)he’s just a Lost fan who got the idea from “Dharma”.
May as well hope, it’s free.
2005-12-08 9:56 pmsanctus
Rumors are common business pratice to get feedback on any potential project. That being said, even if it’s 100% fake, it is still relevant to see what may come in the future.
2005-12-08 10:56 pmCelerate
Fake or not don’t you think this would encourage people to start building their programs with “universal” binaries moreso than before. Windows and Mac OS X seem to be the two platforms getting the most games, if using one codebase and little to no modification companies could publish games for both platforms I think they would, and Apple might be able to further build their reputation on that. Also, right now people seem to be buying Windows machines for games instead of Macs, if almost every game was out for Windows and Mac OS X that might mean more hardcore gamers that would be just as happy getting Macs.
2005-12-09 10:10 amDevL
No way that game publishers would want to use a cross-platform technique if it impacts performance. The yellow box is for apps, not for games.
2005-12-09 5:22 pmrayiner
Maybe he was pissed that Wed. was a rerun?
I think this is a great idea. What would make it better is to also fullfil these requirements:
1. Be based on Open Standards (even if they are Apple’s like .NET is Microsoft’s)
2. Be ported to Linux too (or have an oss version based on the Open Standards)
3. Be cpu independant – so that it can run on any cpu, not just Intel x86.
That’s my dream platform, then I could really have free choice in Operating Systems, because I could take my programs (that I paid for with my own hard earned cash) wherever I want.
2005-12-08 9:57 pmsaterdaies
1) Most of Cocoa is an open standard called OPENSTEP. Apple could open up the rest of it – there are some things like, say, drawers which aren’t part of the standard (although Apple is trying to move away from them themselves). So Cocoa is mostly open already.
2) OPENSTEP has a Linux port called GNUStep. It never really took off. If Apple ported to Windows and put their weight behind it, Linux developers might get interested in GNUStep and actually use what is a good framework for Linux.
3) Cocoa is already available for x86 (well, it will be) and PPC. GNUStep could be ported to anything. The processor isn’t really a determining factor here as most things can recompile for any general purpose processor as long as you don’t do something like assume a bit order (endian issues).
2005-12-08 10:06 pmCaptain N.
#3 I really meant a hardware independant binary format, so that recompilation is not necessary (I am aware of the technical problems that could come with such a system). This way I could take my compiled application (or game) that I already paid for, and just run it on any computer OS and hardware I wanted.
2005-12-09 3:55 amAnonymous
A part of the OpenStep scec is fat binarys. During compilation, you decide how many processors you want to support.
This might lead to Apple opening OS X to OEM PCs when they transistion to x86 completely. Think about it: get developers comfortable with your API, which is cross-platform. Then, when the transistion is complete and if deveopers have taken to the API en masse, open OS X to any PC. The benefits of switching would be clear for developers.
2005-12-08 9:32 pmbytecoder
Doesn’t really make sense. Apple appears to make most of its money from hardware, so they’d probably be screwing themselves by opening up OS X to non-macs.
2005-12-08 9:43 pmAnonymous
Well, we’re not really talking about OSX on Windows boxes — we’re talking about OSX *Apps* on *Windows*. The more people you have writing for Cocoa, the better off the OSX platform is…
2005-12-08 9:44 pmAnonymous
Yellowbox is not OSX. The article, however, is fake. It might be of interest to take notice of the number of software applications being released by Apple. I do not know if it is proper to classify Apple as a hardware company anymore. I think they have moved beyond this niche.
2005-12-08 10:07 pmjenniamc
“I do not know if it is proper to classify Apple as a hardware company anymore. I think they have moved beyond this niche.”
Yes, Apple is not a Hardware company.
They are a Hardware, software and services company.
(How is hardware only a “niche?” Niche imples small. The hardware business is HUGE.
2005-12-08 9:44 pmAnonymous
This would let you use Cocoa to traget APPLICATIONS trivially to both OS X and Windows, like you can run Java n Mac and Win, but with better implementation. If you want OSX, you gotta buy that.
The valu to Apple here is to engage traditionally Windows-centric programmers, to get them aboard the train.
2005-12-08 9:37 pmjenniamc
I know that so many of you want to run OS X, and are eternally dreaming of the day that Apple decides to drop its core business (hardware) and thus lose the vast majority of its revenue in the process all so you can be rid of Windows and use a better OS, but its just going to happen. If you want to run OS X… buy a Mac. I don’t know why you protest this last little bit.
Apple met you half way, they ditched their core OS, and made it unix, they gave you a 2 button mouse, they made the core of their operating system open source, the support open standards and now their moving to Intel processors. They ate crow and changed a lot of things they said they never would all in an effort to get you to make the switch.
I would dare say that they’ve gone more than half way… you go the other distance and then path parties win.
2005-12-09 10:57 amalcibiades
I’m not in the least personally interested in running X on anything. Its about business strategy. Its not about ‘meeting people half way’ or any of that stuff. All this vocabulary of personal relations just gets in the way of clear thought. Anyone would think Apple were doing some of us a favour and soothing our feelings by going to a Unix based OS. Was that why they did it, or was it that OS9 finally ran out of steam? They did it because it made business sense.
As a matter of business strategy it probably is the right choice for Apple to release X, regardless of how people feel. And it is probably the right choice also to have a true cross platform development environment, for not exactly the same, but very similar reasons.
You will then not have unique applications. But the strategy of getting people to buy the hardware so they can run the OS, and the OS so they can run a unique program, does not seem promising. Neither part works enormously well. The latter part of it works even less well than the first part, which you could argue is at least partially successful.
How current Mac buyers feel about this is also irrelevant to the business strategy aspects, unless they are all going to get so upset that they start moving to Windows. Never happen.
Cocoa really is a great development environment, but it’s always been hobbled by being strictly Mac-only. I can’t justify writing code knowing it will require major porting to run on Windows. GNUStep on Windows is just too hard, not to mention its barely alpha status and the fact that most of Apple’s hot API’s aren’t there and may never be.
I wonder what Windows-hosted tools will be available? I don’t enjoy working on Windows, but I hate XCode and (especially) Interface Builder even more. On Mac there’s no real options nowadays (except the now-dead CodeWarrior, the best crossdevelopment system ever), but on Windows….
Every developer I know says Cocoa is years ahead of any Windows API’s. This concept, if true, will COMPLETELY change computing. I have heard of lone coders building VERY complex stuff using Cocoa.
2005-12-09 8:55 amAnonymous
Cocoa is years ahead of Windows APIs? Isn’t Cocoa Objective C-like? I wouldn’t call that years ahead, but years behind.
And if you consider the .NET Framework, I can’t think of a more tested and feature rich UI API out there.
2005-12-09 9:19 ammalkia
Well ObjectiveC Runtime gives you ways to extend any given class (as in C++ class, or Objective C @interface) with new methods – and that can be done at runtime (called also categories).
You could also change the behaviour of objects by “hooking” them (as you would hook a DLL function) but at much better level through the ObjectiveC runtime. That’s called posing. For example I could pose the base NSObject class, by deriving from it say in a class called MYObject and then telling the Runtime system that actually my MYObject is the NSObject class. That’s neat, because you can do patches at binary level, runtime.
You can extend classes by adding methods, without changing a header file. You can make your class (or interface) split in pieces by using categories, so that some your code is available for DEBUG, or for some special DEVELOPER version, and the rest of is not.
It’s so much better.
Also having built-in reflection and inspection (first the compiler is generating information about every interface you are declaring, and you can analyze that, and that’s actually the basis of the KeyValueCoding – you can quickly make a GUI where you ask the user for a name of a variable in certain class, and you can tell whether you have such variable (or method) and what it’s type, and that’s without a line of preprocessed Qt-like moc’ed code, or anything like it).
It makes much more sense for GUI development, especially for prototyping.
Categories also give you way to do informal protocol system, where you basically would have to implement few different methods with particular names, to “conform” to a given design spec. In C++ you would have to do this by creating an abstract virtual class, and inhering from it, and in future if you decide to extend that protocol, you’ll have to force the client to recompile all it’s libraries and such.
ObjC is just way-cooler than C++ when comes to doing GUI. And having C++ at the same time, you can benefit with it where ObjectiveC fails (slow method calling).
2005-12-09 10:37 pmpauls101
Cocoa is years ahead of Windows APIs? Isn’t Cocoa Objective C-like? I wouldn’t call that years ahead, but years behind.
And if you consider the .NET Framework, I can’t think of a more tested and feature rich UI API out there
At the risk of feeding a pretty obvious troll….
We’re actually not talking Objective-C (as in Next/Open/GNUStep) but Objective-C++, which allows you to mix the 2 languages pretty freely. It’s far more powerful than C++ or OC alone (either of which which is far more powerful than C#.) I did try C#, (so I know I hate it.) Is that more than can be said You and Objective-C++ / Cocoa?
.NET well tested? It’s probably the least tested (commercial) API out there, while Cocoa (at least the original parts) is by far the most. No one uses .NET except hobbyists and internal apps.
.NET feature rich? Counting features that don’t work or are so badly or incompletely implemented that they’re useless? You remind me of a coworker who swears by MFC (it’s the only framework he’s ever used) and just looks blank when I call it the worst POS ever produced.
2005-12-10 3:01 pmsiebharinn
You aren’t feeding it, you *are* the troll.
Can you imagine the world if Safari were not only available for Windows, but was also bundled with iTunes??
Things would get very uncomfortable for Microsoft!
What makes OS X is not only the OS itself, but all of the applications that it comes with. I somehow doubt Apple would be releasing iPhoto, GarageBand, iMovie, etc. for Windows, even if it would be technically possible with ease, because it would undermine OS X’s value.
2005-12-09 11:14 amalcibiades
“What makes OS X is not only the OS itself, but all of the applications that it comes with. I somehow doubt Apple would be releasing iPhoto, GarageBand, iMovie, etc. for Windows, even if it would be technically possible with ease, because it would undermine OS X’s value.”
It is a possible strategy. You have an OS, and you deliberately write ‘must have’ applications for it, and don’t release them for any other. But is it a good strategy? Think what happens if you succeed. You have a minority platform. You immediately create a market for software developers to create these must-have applications or look alikes for the majority platform.
The nature of the bet has now changed, and probably not in your favour. You started out with a lead in OS design, which you could reasonably have expected to be fairly sustainable. You had apps which were must have and which could have become must have across the whole market. This would have been, if successful, enormously profitable at little incremental cost.
Now you find yourself committed to staying ahead of the game in applications software too, against an army of developers, and with no special competitive advantage, and still confined to your minority platform as a target market. Whereas they can target the whole market.
This is the Filemaker example. It was better to go after the Windows market with it, than to try to confine it to the Mac platform and use it as a sales incentive. Better=more profitable, more sustainable long term.
If iLife and Aperture and so on really are as good as their advocates say, business logic will force them to go multi platform, and soon – before their features appear on packages with a target market 10 or 20 times the Apple target market.
Readers with memories will notice similarities to the debates about licensing the OS, versus using the OS as a selling point for our hardware….
Edited 2005-12-09 11:15
2005-12-09 1:57 pmAnonymous
Well, for one thing, most “creatives” are ALREADY on the Mac, so extending e.g. iMovie to Windows would likely have little effect (now, Front Row– that’s a totally different story….)
Still, offering them free to Mac users; not free to the Windows cultists could be a decent business model.
Filemaker succeeded because it was way better than Access in the do-it-yourself-small-DB space.
I think any strategy has should be fluid and adaptable, as conditions change– and it probably will be. Clearly, some Apple products in recent years have been pure experiments.
2005-12-09 5:12 pmalcibiades
“Filemaker succeeded because it was way better than Access in the do-it-yourself-small-DB space.”
Yes, agreed. But this was what the OP was arguing. He was arguing that these apps were so good they should be kept away from windows users, the idea being, they were good enough to prompt people to buy Macs to use them. If they are not that good, well, the argument fails, might as well release them. But if they are, it fails also, because the problem is Apples’ chances of making the strategy work even with good enough apps are small, for the reasons given. FM is interesting because it really was good enough for the strategy to be given a go, but they, I think rightly, chose to cut it loose.
If Front Row really is that good, it should be cut loose too, for similar reasons. Before someone copies it!
Its bad strategy. Just as, I suspect, the locking of the OS to the hardware is bad in a similar way.
2005-12-09 5:25 pmAnonymous
People use Windows because:
1) It is percieved to be “safer” in terms of locating support and finding the Apps you need to do your thing.
2) It is percieved to be cheaper (neglecting TCO, of course)
3)the barrier to trying other systems, like Mac, in a meaningful way, is high.
4) Inertia, fear of change.
Apple can not address 4. Cost, 2, has not been a key factor in years, though perceptions among buyers still lag.The reduced number of support issues on Mac vs PC partially addresses 1; the greater dispersion of XCode could further diminish the “app gap”. Open source and/or UNIX apps coming over have already started to close that gap up.
MacIntel should speak to item 3. You will be able to run Windows on future Macs, if you really decide you love abort, retry, ignore.
man oh man, I ran Rhapsody server for 2 years as a beta tester, and I really thought that the old strategy given time would have worked.
what is really funny is that everything that is happening now is exactly the same thing as the old plans.
The intel build, the universal binaries, and now the Yellow box, which by the way even back then was not a new idea (NeXT Openstep et al).
This would really be great I think combined with the INTEL hardware, as it would further reduce the barrier of entry for developers, especially smaller devs who want to go from OSX to Window rather then the other way around (which we always assume)
2005-12-08 11:05 pmAnonymous
I, too, heard that bringing OPENSTEP to the masses was an option, back around the time “NeXT acquired Apple” as they say.
The strategy is deep. The stores and the iPods build Apple brand awareness. The Pods are a “gateway drug”.
The Video iPods may work to turbocharge adoption of H.264
2005-12-09 4:09 amzephc
I want tear-off menus back!
If they want to continue to promote the Mac towards the development community vs using an inhouse tool suite.
The issue is basically that while Cocoa is wonderful, the *Kits are great, Obj-C is warm and fuzzy, the small market is a deterant.
It may be an old song, but it still has a beat to it.
If you want to leverage all the cool dev stuff that Apple provides, you have to commit to living in their small, fenced off back yard.
Meanwhile, things such as Java ARE getting better overall and handle the cross platform ideal particularly well. The Windows/X-Windows x-platform kits keep getting better, but can’t (easily) leverage the Mac specific stuff.
So what happens is we end up with fewer apps, or more “generic” apps rather than Apple specific apps.
If Apple were able to at least port Obj-C and the many interface-free to Windows, at least Obj-C devs could leverage those for core application functionality, even if they did have to redo much of the interface.
You can sort of do that today in GNUStep, but I don’t know how well that works for Windows right now.
But, right now, if you want a portable app, you write C++ or Java core, neither of which really leverages the offerings of Apples dev tools.
i for one, welcome our new cocoa-on-windows-giving overlords.
oops.. wrong website.
2005-12-10 11:22 amAnonymous
You’re not the Jobs we want. The One we want wears turtlenecks and is obnoxious.
I’ve found the following screenshot on another forum. Looks like Safari and ‘Dharma’ Cocoa on Windows can be true, after all…
2005-12-09 4:34 pmAnonymous
Nice photoshop manipulation.
They would need to supply a heirarchy of wrappers to hide the OS API differences (especially for things that differ widely between OS’ like dynamic loading), there would need to be some form of ABI compatability (to minimise the need for cross-/re-compiling) and maybe a new loader (Does Windows even support special loaders for other binary formats [a la ELF and a.out support on Linux]?), but other than that, it shouldn’t be too hard what with Mac and Windows having the same ISA (i.e. x86).
Using GCC on both platforms (which they’re bound to do anyway) and making use of Windows’ existing features for compatability modes and the like should take care of most of this.
You can buy from eBay any WebObjects (up to 5.2, as 5.3 is Mac only). It contains YellowBox in it (AppKit, FoundationKit, etc.).
It’s based on gcc 2.7.1 (objc++), and has tool for converting the stabs debug info to Microsoft C7 standard (pre-db) standard, thus giving you way to debug your ObjectiveC/C++ applications compiled with gcc under Visual Studio which is really neat.
The AppKit is really old (but has NSDocument, unlike the 1997/98 YellowBox only release which did not).
One problem though is that you need two services to be installed (macdh.exe (executable) and WindowServer, and I think also pbs.exe (the clipboard service)).
I like it better than GNUStep, as it feels on Windows, like Windows – for example the menu is attached to each window (it’s the same menu, yes, but it stays as a Windows menu, not as a GnuStep/OpenStep side one). You also have the services working, and I was happy to find support for wheelMouse (and how easy it was with one simple service (in this case it’s not service, but InputManager) it was in high-level ObjectiveC implementing wheelMouse support).
There are tons of source code, binaries to be found… But unfortunately you can’t ship a product with it, or even use it internally (and I wish that was true).
I would welcome if Apple delivers that on Windows. The way the SERVICES are working in OpenStep/Cocoa makes much more sense than any COM/Registry way, and it’s much easier to understand and write.
BTW, on The Apple site there is a WebObjects 5.2 update 3, which is really huge file, and this file is actually an InstallShield installer – with the right tools one can unpack it, and try to start it up (it requires two services to be registered). Not sure how legal is that though…
I think that this could help turn the tides in Apple-vs-Microsoft.
One of the major things that holds people (or at least me) back from switching to OS X is the lack of software. Particularly specialized applications.
And if developers knew they could develop for both OS X and Windows in one fell swoop, with little or no porting, I’m sure many of them would do it.
This program addresses both issues. Most people agree OS X is very nice, but that didn’t help BeOS in the end. I think this will help.
“Resultant applications will be true ‘Universal Binaries’,”
not if i can’t run them on *nix on non-x86/ppc platforms…
The letter is probably a fake, but if you had the capability to unleash something like this on your unsuspecting competitors, would you forget about it and let it stagnate?
Of course not. Apple will be maintaining Yellow Box or Dharma or whatever it’s called now in the background, just as with the x86 version of OS X, and if the right time comes along (as with OS X x86) BAM! Your competitors get a shock, and the media have a field-day speculating what it means and spouting your name every 5 seconds.
Apple realise there’s enormous marketing potential in sticking bits of openstep back into OS X and pretending they’re new, so don’t be surprised when it happens.
read the article at the link. The post if full of references to Lost (the TV show on ABC). Dharma is the name of the secret project that has a bunker on the island, and its signed John Locke (one of the characters)