PDA

View Full Version : Apples Windows emulation issue


The Reaper
Aug 5, 2003, 01:13 PM
ok, this is one issue about apple windows emulation that needs to be cleared up. NOW. i have heard all of the below arguments, from various sources, countless times. and they annoy me to no end, every time i see them. so i will take this opportunity to try and end these types of posts for good. here. now. forever. feel free to add, if you wish.

first, the basic argument: if apple integrates MS windows emulation on the mac, all mac development will stop. developers will simply write windows versions, since it's all compatible. examples such as IBM's OS2 are often used.

below are examples of the same arguments (the similar quotes are grouped. my response is below them).


That would be the absolute dumbest thing Apple could do. Once they did that, you could kiss Mac-specific software development goodbye-- lazy #%@* developers would only write for Windows, and those apps wouldn't take full advantage of the Mac hardware when run on Macs.
ok, here's the problem with that argument - if windows apps don't take full advantage of the mac hardware, most developers would make versions that DO take full advantage. developers do not want their apps to be perceived as slow. conversely, if the windows apps only run slightly slower/less efficiently than native apps, or if they run just fine, and developers STOP developing that program, then there is no issue for the user. because the apps run well. here is the key - if they DON'T work well, then most developers will fix them until they DO. no issue for apple. no issue for developers. no issue for consumers.
if Windows applications will run on a Mac, why bother developing Mac applications?
This is theoretically possible, but not very likely. Imagine the impact it would have on native Mac apps -- companies would just stop supporting OS X directly and instead they'd just make Mac users run x86 apps.
One potential downfall would be the stagnation of development for native OS X applications. The logic being, "Why develop for OS X when they can just use an emulated version of a Windows application?" It's possible.
i get a feeling that any new forms of emulation will be FAST. but not nearly as fast as running native apps. and if it IS as fast (and smooth etc), then there is no issue (see my above reply).
What a stupid rumor. Apple are waayyy too smart to let it happen. O/S2 anyone?
OS2 did not have the vastly superior advantages that OS X has over windows. even if OSX ran mainly Windows apps, as long as it ran them well, there would be no issue. however, it is very likely that most titles WILL need to be optimized. think of the OS-9/classic situation - the apps run acceptably, but native apps run so much more nicely. developers COULD have just written for OS9, but they didn't (ignore quark). they wrote for OSX. in fact, we have many more apps now. windows apps need to run no better than legacy apps run in classic. even worse is acceptable.
Putting an emulator into Panther would quickly stifle all OSX app development, which would not help Apple. How does helping MS sell more Visual Basic kits, and killing off RealBasic, help Apple make money?
hopefully, X-Code and other mac tools will fill Visual Basic and Real Basic markets. note my previous points, too.
A big chunk of money Apple spends every year is on software development and improvement, development tools, etc. Creating competition to kill off one of your internal profit centers doesn't make sense, and is frowned upon by financial people.

The reverse is possible as well. If enough people bought Macs because of the capability of running a Windows program maybe development for native OS X applications would increase because people would clamor for those programs. It's all conjecture.
i think that the EXPERIENCE of running a native app will be far superior to that of running a windows app in 'classic' type mode. development will not cease. as for apple's profit centers, most of apple's programs are the first of their kind, or the best, or the most seamless solution to their particular market. after all, apple uses the superiority of it's software as incentive to switch - they are ALREADY competing with those other apps.
I also think that Windows-compatibility out of the box would be a major mistake. Remember OS/2? No? See? Nobody remembers OS/2 (this is actually a Bill Gates quote ROFL!)

OS/2 shot itself in the foot by offering a Win3.1 compatibility. So nobody bothered to develop OS/2 applications, since Win3.1 apps would run as good (actually better) under OS/2.
if the windows apps run as good, or better (doubtful), then why will you care if a version is native? in this case, the emulated app is equal to, or SUPERIOR to the native app. so the customer gets a better deal. HERE is what i think will happen: if some amazing new emulation comes to the mac, it will operate at approx. 70-80% efficiency. it will show Windows apps without aqua (like in classic). there will be limited functionality with the OS and other native apps. it will be a useful feature, but using such an app will slightly dampen the user experience. they will wish that they had a native version. EXACTLY like the 'classic' situation. and, just as with classic, developers will see this as incentive to make native OSX apps. even though classic runs OK.
There is no way Apple is going to say "okay, use Wintel software" on their Mac machines. If that was the case, then they should just stop making Mac OS X.

It makes sense to have x11 because it has never been a desktop threat-- but Windows is. Also, x11 is something that Windows _can't_ do. Supporting Windows, out of the box, would be one of the worst decisions they could make. It would mean every developer in the world would suddenly say "oh, well, Mac's can run windows software so lets can the OS X version as soon as possible."
no, they will not stop making OS X. An OS is not defined by what apps run on it natively: the sole purpose of an OS is to act as a bridge between the user and the hardware, and to be in charge of the system. Because OSX is superior to Windows in this respect (and many more), there will not be any decrease in the OSX user base, for the simple reason that the users now will have a way to run all of the windows software, in an environment far better than windows itself. why would anyone reverse switch from mac to windows when their mac runs more software, in a better environment? therefore, people will still buy OSX. and therefore, apple will keep developing it.

i honestly think that in this situation, most developers would still make make OSX versions, for all of the reasons i mentioned above.

sorry for the long post, but i felt the need to vent my frustration. please tell me your thoughts.

acj
Aug 5, 2003, 03:54 PM
Emulation is slow

People are familiar with the Mac interface.

daveL
Aug 5, 2003, 04:03 PM
Really. The thing that strikes me is having to deal with two different UI paradigms all intermixed. It's not too bad if you are just running one particular Windows app, like Office, but it would drive me crazy if, say, half my apps were native Aqua and half were winXP.

edesignuk
Aug 5, 2003, 04:12 PM
Personally I don't think Apple will (and I hope they don't) integrate Windows emulation. People choose to buy a Mac to own a Mac and run Mac software. If they want a Wintel PC then they can just buy one. Or, if they MUST have a Mac and yet still want PC software, then they are lucky enough to be able to do so with 3rd party software, something Windows users don't have the luxury of with OS X apps.

rainman::|:|
Aug 5, 2003, 04:31 PM
i appreciate what you're trying to say. i really do. but, here's the problem. Apple has very strict set of human interface guidlines for developers, and even stricter ones internally. They have enough trouble keeping 2-bit shareware developers from majorly screwing up their interfaces. There's no way in hell Apple could ever work with the Windows human interface, and the human interface guide is what makes OS X so great. That right there is why it won't happen anytime soon... Apple does not want their users being subjected to that sort of haphazard enviroment.

http://developer.apple.com/documentation/UserExperience/Conceptual/AquaHIGuidelines/index.html

pnw

The Reaper
Aug 5, 2003, 04:51 PM
Apple has very strict set of human interface guidlines for developers, and even stricter ones internally. They have enough trouble keeping 2-bit shareware developers from majorly screwing up their interfaces. There's no way in hell Apple could ever work with the Windows human interface, and the human interface guide is what makes OS X so great. That right there is why it won't happen anytime soon... Apple does not want their users being subjected to that sort of haphazard enviroment.

classic uses OSX as the operarating system. most of the Windows UI elements would not exist within such an environment. although i do understand what you are saying about different 'looks' of different programs. note that classic os9 has a different (and less attractive) look than OS X, but the idea is to allow the user to use the software, even if it is a less enjoyable experience. this is why apple tried to stop OS9 aqua skins - they wanted to keep Aqua as an incentive for developers to make OS X native apps, as well as an incentive for consumers to buy native apps.

in the same way, this windows emulation environment could be seemless (no separate window, unlike Virtual PC). i mean, using Windows programs without running windows itself. you know how many windows XP programs look similar? (i mean the standard XP theme). this is part of the windows OS, as are most 'save' dialogues etc. in apple's version, this type of thing could be handled in a different way - a different 'skin' than the XP theme, along with modifications which bring Windows programs (within this environment) into step with Apple's human guidelines. many windows programs link to resources that are within the OS itself. apple could take advantage of this, and simply replace the core UI files with their own, and build "Classic Windows" around this.

rainman::|:|
Aug 5, 2003, 05:00 PM
Reskinning programs would be patchy at best. Many elements are custom or simply cannot be changed, so you'd have different OS's elements on the same programs/windows. Classic was provided as a legacy tool to help users upgrade; it is not intended for long-term use, an it was intended to be used only by those who could not get X versions... Apple considers 9 long-dead, and they're just waiting to finish axeing it. Aesthetic means everything to Apple, the only way this could possibly happen is if they *do* use a separate emulation window, which again doesn't fit Apple's style... Apple won't do something in violation of their own rules, and they're not changing everything around to accomodate inferior windows programs (keep in mind Apple's elitism)...

pnw

The Reaper
Aug 5, 2003, 07:31 PM
surely there's some way to strip the functions of a program away from it's UI, and give it a new, nicer 'wrapper'. like skinning, but different. for this 'classic windows' layer, if a program wants to save etc, the actual function (saving) is sent through the mac system, and the appropriate files are used to generate the on screen appearance. as for classic being phased out, my point is that there was no major problem with running classic apps (GUI wise), it was just a slight inconvenience. and your analogy actually works - apple wants people to switch to mac versions as quick as possible (see the parallel: because OSX apps had features that classic lacked, users demanded OSX versions of their classic apps).

Schiffi
Aug 6, 2003, 11:41 AM
I would enjoy a Windows emulation (in fact, I'd like the system to be Windows bootable). Nothing would be sweeter than playing GTAIII on my TiBook :)

Sun Baked
Aug 6, 2003, 11:56 AM
Instead of using OS/2 as the example, what about Java and html?

Not all web page creators care if the site is buggy or doesn't work well on the Mac, heck they may even kick Mac users off the site.

So obviously not all developers care that their work is zippy fast or bug free for ALL users.

---

And it's not like they have two wildly different UI's to support, this is just giving two different OS users the SAME experience.

Obviously quite a few companies thought the effort wasn't worth it and expunged the Mac users.

---

BTW, why bother making Windows the "Universal" environment?

Why not make Cocoa apps run on Windows machines?

This was after all one of Apple's original visions for the OS.

The Reaper
Aug 6, 2003, 03:46 PM
Instead of using OS/2 as the example, what about Java and html?

Not all web page creators care if the site is buggy or doesn't work well on the Mac, heck they may even kick Mac users off the site.

So obviously not all developers care that their work is zippy fast or bug free for ALL users.


very few real programs are written in Java. Limewire does not count. web based Java scripts are far more common, and are free. the developer makes no more money after the initial job is completed (ie his client (a company etc) pays them).

so it is not in the developer's best interest to be standard compliant, as they will not get payed more.

no one pays to view html, so there is no major loss for a developer if a site is not compliant with 5% of the market.

Buymucic.com is not an example, as they made a futile effort to ban mac users. it was a symbolic gesture. they KNEW that they could not compete with iTunes on the mac, and that the mac market had no room for them anyway. so instead, they went out of their way to make their site NOT complient on macs, because it did not affect sales. this situation is very rare.

however, most developers actually SELL their software to users. Most users read reviews about an app before they shell out money. if a developer of a mac program stops making mac versions, and if the windows version is also 'buggy' on the mac, people will not buy it.

jettredmont
Aug 6, 2003, 03:48 PM
Correct me if I'm wrong, but isn't it true that you can buy a whole Windows PC for the cost of VirtualPC, which PC will run circles around the emulated PC?

Seems silly to do emulation when the "real thing" is so darned cheap!

edesignuk
Aug 6, 2003, 03:50 PM
Originally posted by The Reaper
very few real programs are written in Java. Limewire does not count. web based Java scripts are far more common, and are free.
Do not confuse Java, with JavaScript, the two are totally different, although many people do incorrectly think they are one and the same.

edesignuk
Aug 6, 2003, 03:52 PM
Originally posted by jettredmont
Correct me if I'm wrong, but isn't it true that you can buy a whole Windows PC for the cost of VirtualPC, which PC will run circles around the emulated PC?

Seems silly to do emulation when the "real thing" is so darned cheap!
Well, no. Seeing as a copy of Windws XP Pro with 1 licence costs 252 alone, with no hardare to run it on. VPC6 w/ WinXP Pro is 210. You do the math ;)

Sun Baked
Aug 6, 2003, 04:33 PM
Originally posted by The Reaper
very few real programs are written in Java. Limewire does not count. web based Java scripts are far more common, and are free. the developer makes no more money after the initial job is completed (ie his client (a company etc) pays them).

so it is not in the developer's best interest to be standard compliant, as they will not get payed more.

no one pays to view html, so there is no major loss for a developer if a site is not compliant with 5% of the market. Really, so Apple doesn't make ANY money from people that come to the Apple Store, and that there will be no loss to the developer of that site if they are not compliant with 5% of the market?

The web is free to view... point me to the free porn, music, movies, etc. :rolleyes:

Web sites can be a portal to commerce, where a company sells their products and services to companies, govts. and individuals.

Banks have kicked Mac users off their electronic banking services.

Companies looking for new hires have made some of their sites impossible to use for Mac users to apply for a job.

Etc., etc., etc.

---

Even though a developer of a web site may not get paid much more for their consulting if a few customers can't reach the site, the company who contract with them may suffer a loss.

But this situation is similar to the software development at a software company.

How much money do they want to spend to pick up more customers...

There may be a decision that the extra revenue isn't worth the extra expense.

---

And the Java-engine is a similar example to the emulation environment.

The finger pointing that'll go on about why something runs badly and/or slowly on certain systems.

In this case how many developers really would spend the time and money to work around the problem?

Would an integrated emulation environment be any different? Would a software company even offer intense support to the user of their software on it?

Do they all offer extended support and bug fixes for VPC right now?

Fender2112
Aug 6, 2003, 06:07 PM
Some of these arguments my seem reasonable but you need to look at it through the eyes of a consumer, not a developer.

Scenerio:
I'm a PC user and all my programs run on Windows and this is what I am used to. I here that I can run all these programs on OS X using a Windows emulator. Where's my incentive to get a Mac. I'll still be running under Windows and slower. Macs tend to cost more. I have more hardware options with Windows. Just because I can climb Mt. Everest doesn't me I should.

Scenerio:
I'm a PC user and I'm really burned out on Windows. I hear that OS X is pretty neat and most programs I use have OS X versions. But there are a few Windows programs I can't do without. They will run in Windows emulation. Not as fast, but I can live with that. Maybe I'll switch. I would love to climb Mt. Everest if could bring along my trusty Swiss Army knife.

People will not switch to Mac OS X because of they can run all their programs in emulation. There just isn't an incentive to do so. Developers won't put in the effort for a handful of people.There is no incentive for a developer. The program works fine in emulation. If those Mac folks buy the software, that's a little extra gravy for the developer. If not, they didn't lose anything.

The more Apple does do be compatible with Windows, the closer they become to being Windows. I don't see that happening. ;)

If Apple wants to get people to switch, it has to be done at the cash register by offering more bang for the buck. But maybe Apple is content with only 5%.

The Reaper
Aug 6, 2003, 06:19 PM
the issue is whether or not existing OSX apps will cease development or not. you see, every developer working on OSX apps right now sees incentive to keep developing. despite our small market share.

as for the example of apple.com etc, note that apple does not make money off people VIEWING a page, they make money off people buying products. no doubt, any company would like to see a 5% increase in sales by having all platforms website compatible, but that is an issue with the COMPANY, not the DEVELOPER. the developer does not care one bit about his client's profits - he just wants to get paid. however, in cases where an application developer works for a company (say, Adobe), it IS in the developer's best interest to make good software on all supported platforms. the company makes money PER COPY SOLD, so they would care a great deal if no mac users buy their products (if they are buggy etc). this is why the software situation is so different to web development. web site developers do not operate on a commission. they are paid hourly, or for a final product. application developers (or their companies) ARE directly affected by product sales.

note: websites with Ads are an exception to my above example, but this does not refute my point.

The Reaper
Aug 6, 2003, 06:29 PM
ok, why do companies like Luxology get so exited about the G5? because it is fast, and it makes their software look REALLY great. developers almost always like to show their apps running well, taking advantage of system resources. aqua. crash proof workflow. protected memory. why else would anyone bother writing apps for OSX? why not just stick with OS 9? in fact, why bother upgrading versions at all on the mac? after all, it's just "a little extra gravy for the developer." but no. developers actually began rewriting their programs. and now we have more than ever.

understand that even if the option to run windows on the mac was available, the majority of current Mac OSX developers would keep making native apps.

daveL
Aug 6, 2003, 06:42 PM
Originally posted by jettredmont
Correct me if I'm wrong, but isn't it true that you can buy a whole Windows PC for the cost of VirtualPC, which PC will run circles around the emulated PC?

Seems silly to do emulation when the "real thing" is so darned cheap!
Real hard to carry it on the plane :) And, no, I don't want to carry two laptops. My TiBook's the only thing I need.