VMWare workstation may not be free, but it's "Unity" mode is a lot better then XP mode. you can have Windows 2000, windows 98, and windows NT4 as well as Windows XP applications on the same desktop. Personally though I find it far more sensible to have the windows from each VM within, you know, their own VM window, to prevent confusion. Additionally, as far as I'm concerned; I think XP mode is really just a gimmick. "ooh! Look, This program runs perfectly fine under windows Vista and 7, but, *censored*, it looks like it's running under XP when we use "XP mode"! Look! RED X BUTTONS! OMG! LIKE SRSLY OMFG IT'S LIKE ALL RETRO D00D!
Meanwhile, everybody else is either A:) running the program normally with no changes under Windows 7, using the NORMAL compatibility mode (you know, the one that doesn't start a full-blown VM?) Or using software that is written by programmers who don't CONSTANTLY do the exact opposite of the MSDN documentation. "Oh, well, golly gee, it accepts a 32-bit integer, but only uses the lower 16-bits, I know! I'll shove random crap into the upper 16-bits!
"Why the *censored* doesn't my app work with NT anymore?"
One purported benefit of XP mode is that Internet Explorer can be "sandboxed" in it. That's wonderful. But it still doesn't FIX internet explorer. here is the Internet Explorer timeline:
IE1: Not free. ok, a little less powerful then the competition, but hey, that's life.
IE2: OK, NOW we have a TOOLBAR! Sure, the toolbar doesn't have icons, but I mean, who needs icons? We'll never need icons.
IE3: alright, we added icons to the toolbar. Oh, and we added this really super awesome feature, you can embed and use ActiveX Controls in your web pages, and if you use the CODEBASE tag you can get IE to automatically download and install your activeX Component, it's super awesome! Yeah Binary executable code downloaded without a prompt straight to the client computer and executed! hooray!
IE4: Ok, we seriously could have never predicted that people would *GASP* write <VIRUSES> and force them to download using Internet Explorer! How could people do this to us! But it's ok, we added authenticode, and there is no way they can sign their code without feeling guilty.
IE5: What? They are still signing their activeX Controls? What is wrong with them? Don't they realize that they aren't ALLOWED TO DO THAT! It's against the EULA of the signing tool! Ok, now we are putting up a warning to the user, who will probably click OK anyway. Oh, and we are putting this cute little picture that looks like a certificate! bob scanned in his high-school diploma for that one. Anyway, no need to worry about security! We have CSS behaviours! yippee! Screw w3c, we'll make up our own standards as we go along, I mean, hey, netscape got to invent the blink tag, it's only fair that we make the relatively harmless HTML markup language into a dangerous powerful programming environment! INSTALL VISUAL INTERDEV TODAY!
IE6: YAY! the new version! GET IT NOW! it has new features, like... err, well, it looks a little different. Oh, and when there's an error on your web page, it will prompt you for every single one, even though the user is unlikely to know *censored* a javascript error is or what to do about it. However it will ensure that the user has nightmares about variables being null or undefined. Oh yeah, we TOTALLY redid the whole security thing, we replace that whole certificate prompt with a little information bar, and it makes a cute beep-boop sound, too! hooray! coolness!
IE7: Why are ppl using firefox! It must be the tabs, so we added tabs to IE7! everybody use IE7 becuz it is cool! We didn't really change a whole lot else, pah, bugs can wait! UI features first!
IE8: OK, we truly wrote everything over, the rendering engine is I SWEAR! 100% W3c compatible. Oh, except pages now need to have a totally non w3c header that says they can be rendered by IE8. yeah, life sucks that way. otherwise we'll use our UBER COOL HTML renderer. It's cool because it supports CSS BEHAVIOURS, and you can embed super cool little activeX controls, and when you load them, they make this neat-o "beep-boop" sound! it's cool!"
From this, I have concluded Microsoft's real design goal: make as many beep-boop type ornamental sounds as possible. That is why they made UAC! yet another reason toe beep-boop! it's a conspiracy I tells ya!