Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

Abtin Forouzandeh asks: "Having used Vista for a few months, something keeps nagging me about the user account control. For the UAC to be useful, the user needs to have a fair amount of knowledge about: what the UAC is; what application it is blocking; the consequences of blocking the action; and an alternate approach if the blocked action did something useful. Anyone who has ever worked with end-users can tell you that they are generally disinterested in learning anything about computer usage beyond how to use word and make a spreadsheet. Frankly, even as a highly technical user, I nearly always approve the UAC dialog, even if I don't know the consequences. Since users lack knowledge, and Vista keeps asking esoteric/ambiguous questions, then users will always approve UAC dialogs. Since the UAC so clearly fails in its goal of making computing more secure, and substantially increases complexity, why is it common wisdom that turning off UAC is 'not recommended'? For 99% of users, is there any true downside? Has the community come up with ways to make UAC useful?"

I tend to agree - they can still quote increased security, with UAC on of course, who would turn it off, you want less security? while the great majority of users turn off the misimplemented annoyance factory.

I wonder if liability isn't involved here. When you think of the costs to our economy due to Windows' vulnerabilities, it's quite possible that MS was afraid that if they put another flimsy OS on the market they might get held responsible (finally).

Whenever I hear of a fix that's not really a fix, I wonder if liability wasn't involved.

Which leads into the major problem of Microsoft starting to rely upon UAC for basic security. Soon enough there will be a vulnerability and microsoft's inital workaround will be to turn on UAC whilst they get some patch ready. Thats not security, thats avoiding the issue.

So i'm leaving UAC on. Not because I need it or want it, but because i'm worried that security in vista will come to rely on it (just like xp came to rely on it's built in firewall).

With Windows 98 and, to a lesser extent, 2000, we/.ers could smugly mock Microsoft users by making "Blue Screen of Death" jokes. When Windows XP came out, we kept making these jokes, but as time went on, they got less and less funny due in no small part to the fact that the BSoD has become a less frequent part of the Windows experience. Needless to say, this sucks for those of us who use OS X or Linux! What are we gonna rag on?

Well, then Microsoft went and did a big favor to the alternative OS community: UAC. Now, we can all get a big ol' chuckle (and "+5 Funny" mod points) out of saying, "Cancel or Allow?" in any thread whatsoever. It doesn't even have to be a thread about Vista or Microsoft. Apple even made a commercial about it! It's great. It's like Microsoft declared free karma Christmas!

I have been helping a Norwegian magazine write a 100 page Vista Special, one of my articles was about UAC. In the beginning I was very excited about this feature, thinking that it would provide some safety. Then, after a while, two things happened:1) I got tired of the constant nagging and the need to enable admin mode by default on several apps by default to avoid compatibility issues, and2) I realized that I clicked 'Allow' on anything anyway, the only exception would be a UAC dialog popping up from nowhere. This approach would make me wide open for attacks by supposedly trusted installers anyway.

So I turned it off! I still havent had any malware or viruses (Symantec Corporate kills most of that anyway). My life got all jolly and happy again. I can only imagine that the same "always allow" mentality will be the same for less savvy users. You want to do your work, right?

Agreed, and smart users will do the same. However, in the long run applications will have to avoid causing UAC prompts and eventually it will be possible to secure the "windows ecosystem" without breaking common programs. So I'd say Microsoft is doing the right thing, just that doing the right thing when it comes to security is rarely popular. Possibly I'm being optimistic, but I think they may have thought this one through.

I use a separate user/admin account in windows for the same reason I do not use root as my user account in Linux: I don't want random programs running amok! And most programs (except video games and window's 95/98 era apps) work fine in a limited account once they have been installed. I rather like knowing that the most the bug riddled piece of software I just wrote can only mess up my account (saves restore time from my backup DVD).I haven't used Vista yet, but as long as it has at least WinXP grade acc

Mod the parent upin the long run applications will have to avoid causing UAC prompts and eventually it will be possible to secure the "windows ecosystem" without breaking common programs.

That is the important point here. There is no reason for many of these programs to be asking for 'administrative' access to do any of this shit. MS can't just cut it off b/c it will break most of it's install base. This is a way to guide software companies into writing programs with a thought to security, rather than just doing it the 'easy way'.

Yes, but that still means that half of the problems you have are caused by Windows itself. Back in the old DOS days, before GUIs, 99.44% of all problems were caused by programs because DOS was well behaved. If we've learned so much since then, why can't Microsoft make a version of Windows that's as well behaved as DOS?

It's not windows that's misbehaving (or at least who initiates the misbehaving)... it's the little bastard that comes over after school to play, convinces windows to light his parent's curtains on fire, then convinces his parents to blame windows for the fire.

Vista's UAC prompt seems a little overly paranoid even for that. Why, for example, do I have go through several prompts when changing the Windows Time setting using MS's own control panel? All I want to do is have it sync up with my other clocks and that doesn't really feel like a security threat.

Vista's UAC prompt seems a little overly paranoid even for that. Why, for example, do I have go through several prompts when changing the Windows Time setting using MS's own control panel? All I want to do is have it sync up with my other clocks and that doesn't really feel like a security threat.

It is a big deal though. So much custom software relies on the time/date setting. Can you imagine a targeted virus that set back the clock five seconds every hour on, lets say, securities trading systems, to a

***That is the important point here. There is no reason for many of these programs to be asking for 'administrative' access to do any of this shit. MS can't just cut it off b/c it will break most of it's install base. This is a way to guide software companies into writing programs with a thought to security, rather than just doing it the 'easy way'.***

That's really a very good point. Microsoft REALLY needs to set up a decent security model that developers can understand and accomodate. And I think this

Vista does make editing the HOSTS file more complex. I've done it five times today on my Vista box (migrating a server and testing before DNS updates). It's kind of a pain. But it's not nearly as bad as the article implies.

Basically, you can't write to the hosts file by default, so you have to elevate an application (text editor, notepad, cmd.exe) to edit it. This is similar to Linux, where you have to use "sudo" or "su", except that there are better/more text-mode editors on Linux (although Vim/Nano/EMACS do run on Windows, you have to install them first).

Now, EMEditor is Vista compatible (certified even), but it would be nice if it could elevate when a write operation fails due to incorrect permissions. Then you could just edit the file as usual, and elevate when you save.

I've said it once, and I'll say it again: UAC is going to get better over time. Lots of applications require elevation now (even some games), but as developers update their programs, we'll see fewer and fewer UAC prompts. VMWare, for example, used to require elevation in the 6.0 betas, but it doesn't anymore. Give it a year or two. Apps will stop requiring elevation except for the things that really do affect the system.

UAC means that software developers will write software that doesn't need elevation. That can only be a good thing in the long run.

Haven't used Vista yet myself, but as someone who has tried in the past to run Windows XP under a normal user account, I believe the objective with Vista's UAC is not so much to help users decide if software is safe, but rather to convince software writers to write their code correct so it doesn't work without administrator access when it doesn't actually need it for a good reason.

um, well. I run in a user account in XP, so I have to type in the admin password when I want to modify system files. Same thing with Linux unless you're always running as root. I think UAC is making it too easy for you to just arbitrarily modify files in the windows directory.. It doesn't even ask for a password to elevate your permissions.

Now, EMEditor is Vista compatible (certified even), but it would be nice if it could elevate when a write operation fails due to incorrect permissions. Then you could just edit the file as usual, and elevate when you save.

The biggest problem with elevation is that it's not something you can do from an existing process, without launching a completely new process as elevated. Task Manager relaunches itself when you click the Show Processes From All Users, rather than doing any magic. Elevated processes can'

Elevated processes can't return to a limited token either, which causes much grief for setup programs - there's a horrid work around involving scheduling a new task, just so it runs as a normal user with a filtered token again!Agreed - this is a significant problem with UAC. Of course, I have always thought that a "launch this application after setup completes" option was kind of a bad idea anyway.

I don't know how this works with MSI packages, either, because elevation doesn't occur in the same way.

I don't know how this works with MSI packages, either, because elevation doesn't occur in the same way.

Windows Installer has a service component, which is already running elevated. I guess it just impersonates the user for any normal running, though it also has the new Session 0 restrictions to work around to interact with the desktop.

EMEditor already has a helper application (EEAdmin.exe) that it uses for certain operations (e.g. changing file association) which require elevation.

How many articles have there been complaining about Vista this week alone? Seriously, it isn't as if you guys are the customers, you're just the consumers more than willing to pay for it. Maybe if there were no alternatives, or it was a project paid for with tax dollars all this complaining would be meaningful, but it is niether; it is a product produced by a for-profit company.

Windows has been out long enough that it has long since gotten boring to be complain about it. Microsoft's business practicies are a lot more worthy of complaint; even I know there are intelligent engineers doing what one would assume to be their best, inside of Microsoft.

If Vista is rubbish, do what most people do with rubbish: throw is out, and not discuss it with company. Windows isn't a Linux distro, loud complaining isn't going to change anything

In the perfect world, maybe. But some of us live in the real world, with real jobs, and really ambitious IT staff that are keen to migrate. Plus, Vista has a lot of good things too, and it is a damn shame to loose out on that just because some well advised feature is bugging you. Besides, UAC can be turned off.

What it is most useful for is stopping privileged operations from happening behind your back - malware theoretically has to make at least some noise to infect at a systemwide level with user account control turned on. If it's turned off entirely, you might not get that extra "something's not right here" warning before your antivirus gets disabled and that nasty rootkit gets installed.

Also, as someone already pointed out, this makes programs that require administrator rights unnecessarily much noisier, and provides a support incentive to software publishers to fix their software so it works unescalated.

Not great from a usability perspective but for a company that's almost ignored security until recently it's a start.

What the hell is the point of all of these articles? Linux users aren't going to switch to Vista. Mac users are already convinced that their OS is Job's gift to man. And Windows users are going to switch to Vista when they buy a new computer.

Vista is here. The DRM features don't stop me from playing my MP3s, XVID videos, or from running FairUse4WM. It doesn't bring my modest 1.8GHz single-core Athlon 64 box to its knees, even with the Aero Glass UI (of course, my $40 Radeon X1300 helped that - the GeForce 6100 IGP was kind of sluggish. It hasn't stopped me from installing Ubuntu, ripping DVDs, using Daemon Tools, installing unsigned drivers, or doing anything else that I would do to a Windows system.

UAC hasn't prompted me for anything in the past 4 hours. I see - maybe - 1 or 2 prompts per day. Perhaps that's because I don't go trying to put files in "C:\windows" or screw with system DLLs.

I see a lot of UAC complaints on Slashdot but very little on details as to what the person is doing to garnish so many prompts. So here's my proposal to Slashdotters: If you've seen more than 5 UAC prompts in one day, what were you doing to cause them?

Most recently? Debugging the uninstaller for the software I'm developing. I get:1 UAC prompt when I run the remote debugger -- it needs to listen for network connections on port 69692 UAC prompts when I run the installer2 UAC prompts when I run the uninstall

Four of the seven will affect the ordinary user: the two when the installer is run, and the two when the uninstaller is run.

But how often will users run your installer? Users typically run installers at most twice during the time an app spends on their computer, once to install, and perhaps again to uninstall. Two prompts over several months or years is virtually unnoticeable. Your development scenario of 7 UAC prompts is bad, but again, it's not the experience for typical users because most people don't d

My AMD Athlon 2700+ with 1 GB RAM, Radeon 9800 Pro, and Vista installed on a 20 GB partition also runs Vista fine. I'm at 1920x1200 with full Aero. Oh and I built the machine in the summer of 2003, nearly 4 years ago. All the Slashdot bashing that Vista requires new hardware and uber specs is absurd.

I don't know if I'd say it's absurd. Hardware is still being sold, by Dell and others, that does not have the memory or graphics card power to run Aero Glass properly. I have a six month old computer that will never upgrade to Vista, because it can't run any more than Basic without a tiresome card upgrade. The card upgrade + a Windows Vista upgrade combined would cost about as much as a new computer.You bought a computer in 2003 that had a massive graphics card for the time, that I'll bet alone cost more

'Presumably you are referring to Mac OS X, because in Windows, you don't need a "service pack" to get new drivers - they come on a CD with the hardware you buy, or you get them of the Internet. That's why XP is still clicking with hardware that was released 5 years after it.'If you are willing to settle for that then you could skip even the service pack. However I was referring to updating the included driver database so that you don't need to load a disk for every common piece of hardware you plug in. I re

I'm glad you're satisfied with Vista, but the problem is that your wish list there looks like something to celebrate in 2000, but in 2007 it is very faint praise to say "video drivers don't crash the system anymore".> Those are some of the things that I think are pretty compelling. No, there isn't an "uberfeature". But, then again, such a thing> cannot exist in a relatively mature OS

You are exactly wrong, you have it exactly backwards. It is only in a mature OS that you can start to see uberfeatures e

All the DRM made direct access to the DSP 'illegal', so it can't be used anymore in vista, nor will it likely ever be

Please understand what the hell you are talking about. Vista's user-mode audio framework no longer allows DirectSound3D to run directly on the hardware. This has to do with the fact that the audio subsystem is no longer in kernel space, not DRM.

Creative is advising every game creator to use OpenAL, to bypass this piece of crap situation DRM has brought us, so much for 'vista the ultimate gami

I can't more than agree. I don't find UAC annoying so far. It's not as good as linux or mac, but much better than XP.Vista has however so far showed a few examples why it cannot yet be deployed in the company I work (no surprise)..

Among the things that make i undeployable.- Loosing trust with a windows 2003 domain.- Activation not working.

Activation is the most annoying part. If they feel the need to implement it ok, but if I as a corporate user is so annoyed as I am then it failed miserably.

What interests me about that $109 is just how expensive it is compared to the cost of everything else in the computer. Windows last saw a major update five years ago. Back then, even if we forget about inflation, a retail box of Windows cost less than $109. So the price of Windows has gone up.Meanwhile, the cost of every single other thing in the computer has gone down, and the value provided has gone up. Processors: cheaper and faster. Optical drives: cheaper, faster, more capacity. RAM: cheaper, more capa

...As the lower-privileged user and graphical sudo equivalents in OS X and some Linux distributions. It allows the user to run at a lower level of privileges by default and elevate when necessary, limiting the amount of damage malicious code can do on its own.

Similarly, it suffers exactly the same weakness - the user can inadvertently raise the privilege level of malicious code.

Hopefully more developers will write their code properly and the number of spurious UAC prompts will drop over time. Given that most developers haven't made any effort to make their applications LUA-friendly in the preceding decade, however, I'm not holding out much hope Vista making it _easier_ for them to get away with it will create any more inventive.

Given that most developers haven't made any effort to make their applications LUA-friendly in the preceding decade

That indeed is a big shame.I can understand that Windows programming has attracted a bunch of hobbyist programmers that already are happy when the program they have written performs its (niche) task without logic errors, and do not care about or understand more complex topics like security, error handling, etc.However, the same mistakes still appear in "supposedly well written" programs like tel

I would argue that they are neither hobbyists nor C++ geeks, because either of those groups would have done a better job of meta-management of their application. More to the point might be "corporate programming drones who got into software because they thought the money would be good." Keep the eyes on the tube, fingers on the keyboard, work to the schedule, and put the check-mark on the list when "done."

Anyone who has ever worked with end-users can tell you that they are generally disinterested in learning anything about computer usage beyond how to use word and make a spreadsheet.

That's generally because they use computers as a means unto an end, rather than for their own implicit wonderousness. And it's "uninterested". A disinterested judge listens to both sides equally, an uninterested one is asleep.

Actually, users usually appreciate training. What they don't appreciate are roadblocks with time consuming circumvention procedures.Speaking as a past IT manager, there are times when IT guys and users have completely opposite agendas. The user wants to get the proposal out by the last FedEx pickup. The IT guy want the user to never, ever come to him with this same question again. They're both legitimate aims, but at some times one objective will have to take precedence over the other. In this exchan

The programs on Windows are not written properly and so there's a need for UAC and those other security and safety features. There's just too many complex programs which their functions have long been forgotten and so when Microsoft tries to fix the imperfections by editing or taking out the existed codes, something else goes wrong. Until Microsoft finally starts programming a new OS from scratch, we should expect more and more of these so called security and safety features to be created for us by microso

Who does an OS from scratch? Why on earth would you want to?(Yes, I can name a few reasons: You want ".NET or Java or Smalltalk or LISP all the way to the metal," or you have some nifty hardware for which no existing kernel or porting layer will work, or you have an embedded system where you need to control every CPU cycle, or you simply want to learn how to write an OS. All valid).

I'll bet that less than 1 percent of/. readers have any code in any OS-level stuff, including device drivers and school proj

Following the example of two of the most annoying programs ever, ZoneAlarm and Norton Firewall, Microsoft implements a feature that requests a permission to do something from the person least likely able to make an informed choice, and absolutely not interested in knowing about it -- current desktop user. However in ZoneAlarm the reason for this is psychological -- if ZoneAlarm didn't constantly remind user that something is threatening his precious computer, user wouldn't know if ZoneAlarm does anything useful at all. In Vista it's pointless because it's not like user has a choice of buying or not buying some feature with it.

There are few specific APPLICATIONS, explicitly called by the user, that may have to run with elevated privileges, and beyond them there is nothing that is supposed to access system settings, write configuration files or executables. If anything other than those few select applications try to do that, user shouldn't be asked -- the action should be denied, just like it always was in Unix and occasionally even in Windows. If someone has to edit any system files, he knows that he has to run editor as administrator -- and if he doesn't, he has no reason to manually edit them in the first place. If someone runs installer, installer always has to run as administrator.

The reason why Gnome and KDE desktops have password dialogs is not to ask user if he does or doesn't want to do something privileged -- of course, he does if he just started some administrative application. It's to ask him for a password that malicious application or user with no sudo access can't enter by themselves, and to give him the application's name so he can be sure that the application that will run is the same application that he just asked for. The dialog can just as well be a captcha for users that can't remember their own passwords -- the point is to confirm that a program is started by a real human user in front of the keyboard. A piece of malware can run gksudo, and user will see the dialog with a program that he didn't run -- it's assumed that he will cancel it if he doesn't recognize the name. But this is actually a suboptimal use of sudo, a limitation of typical sudoers file configuration. A much better idea will be to supply sudoers file with all possible applications and arguments that may be used in this manner -- then anything else will be simply denied without any user's interaction, or user will be just notified that something tried to run gksudo with invalid arguments.

While the decision that administrative application may still run at reduced privileges unless it does something that requires true administrative access is a good idea, switching between those modes is not something that should be asked from user -- it should be asked at the very beginning when application starts, and should be done only for administrative applications.

It's to ask him for a password that malicious application or user with no sudo access can't enter by themselves, and to give him the application's name so he can be sure that the application that will run is the same application that he just asked for."

Actually, that's exactly what ZoneAlarm does on my system. "iTunes.exe wants to access the internet, Allow or Deny?"

And if I allow something to access the internet, it can access the LAN. If it can run as a server on the internet, it can access the internet. Actually, I think it's the best UI I've seen for permissions.

And the best part IMHO, and the part that Microsoft missed, is that it A) can save your answer and automatically apply it in the future - and matches a program hash to make sure it's the same program and b) per program.

This all gets down IMO to the need for per process permissions, such as what CoreForce tries to do.

And the best part IMHO, and the part that Microsoft missed, is that it A) can save your answer and automatically apply it in the future - and matches a program hash to make sure it's the same program

So what you're saying is that Microsoft cluelessly didn't include a "remember my answer" checkbox because they just didn't think the scenario through? Bash them if you must for predatory business practices, but the current design is the only way to ensure users approve of potentially system-damaging operations.

I don't know if you've ever used any of the more useful HIPS, but they would flag your senario because first, a new program is running. The user may well allow that. But it would also flag that it's executing FORMAT.exe. Now, if the user is getting anything out of any of these pop-ups, he'll know he didn't want slideshow to run format, and deny that call, and again, likely lock down even further what exactly slideshow can execute/read or write.Plus in that instance, I would expect that Windows wouldn't allo

My point is that Microsoft's design for LUA prompts is sound. You suggested that they missed the point by not remembering the answer. I counter that your proposal would open a security hole, which is precisely the reason Microsoft did NOT implement it. There are some clueful people working at Microsoft, and tons more who provide beta feedback. To claim that Microsoft somehow "missed" the idea represents a gross misunderstanding of the security benefit that the LUA prompts provide. The prompts are there

When harmless applications trigger the same "security" popups as administrative applications, nothing can be safe. ZoneAlarm has to save the list of "safe" applications because its prompts are nearly useless in the first place, and would be completely useless if users didn't "accidentally" install programs that should be blacklisted.If an application needs elevated access that can directly affect the system, it should be requested from the user before application starts, but the point is, there are very few

As I have explained, the problem is, user can't make an informed decision when in the middle of running a program he gets this question. iTunes accesses the Internet because iTunes is supposed to -- so if someone really thinks that there should be a "firewall" that keeps some applications from accessing the Internet, LAN or whatever else, the decision should be made even before the application is installed. Worse yet, some applications are not supposed to be interactive in the first place, yet they have to

I'm a casual Ubuntu user and when you try to do something in Ubuntu you have to do "sudo blablabla". You fill in your password once and it doesn't ask you again until you open another terminal. In the user-interface you have to fill in your password for any action you do on screen.But... what if Windows users got accustomed to PowerShell and decided to do everything from the command line. What happens then? I haven't tested it to see what happens but what if an ubuntu-like solution could be built into Power

Back when I still had to work on Windows boxes, I found a version of sudo for Windows 2000. It took a little bit of work assigning the rights required to be able to use it, but it worked fine. Of course, there's not much fun running rundll32 with the right arguments... but there were some uses.Note of course that sudo isn't only used on Ubuntu... it's only Ubuntu that has a brain-dead permit-all default rule. sudo rules should really be tailored to semi-dangerous commands that will not wreak havoc (or oth

the UAC to be useful, the user needs to have a fair amount of knowledge about: what the UAC is; what application it is blocking; the consequences of blocking the action; and an alternate approach if the blocked action did something useful.

Mod me down, but UAC is another excuse M$ came up with to be able to say "Users are lame: we have warned them but they still clicked confirm."

No security system works that way. That's why impersonation was introduced into OSs (NT included) long time ago. Accounts a

One big difference between UAC and "sudo" or the MacOSX security dialog is that UAC does not ask for a password. Minor convenience (well, probably serious convenience given how frequently UAC pops up today), but major risk. I can leave my Mac or Linux box to someone that does not know the password, without instantly making him / her an administrator on my machine. The same is not true with Vista + UAC.

An OS X "Administrator" account is not like a Windows "Administrator" account. Under OS X, when you provide an administrator account and password to this kind of dialog what it is actually doing is granting you the permissions, at the OS level, to perform the action. Without going through this dialog even an "administrator" doesn't actually have the rights to perform it.That is, in OS X this dialog is authorizing you to perform the action. If you are already authorized (that is if you were careless enough t

Basically computer software has conditioned us to automatically press Ok in any dialog and there is nothing we can do about this. Automated actions by the user is inevitable and is present in every action in our life.

Nobody remembers if they locked the door or not and if you put "If you reach under your chair you will find $500" in a popup dialog, nobody is going to notice it.

From what I think I got from the presentation:* If you want warnings to be at all effective, avoid "false positives" at all costs. That is: Never show the user popups like: "you are sending information unencrypted over the network" (or whatever the IE dialog says) when you press a submit form on a web site, because people don't care and they will learn to ignore all such popups, even the important ones. The UAC is extremely guilty of this.* Some good insight into decision makers by users. Hint: people generate options one at a time and reject options that don't work. They never compare options but take the first one that works. This is called singular evaluation approach and is heavily taken advantage of in marketing. Software makers and web site creators should learn from this and modify their web sites accordingly.

Microsoft clearly had limited options for "increasing security" as an objective. If you think back a long ways you can see the effects of some of these choices on other platforms.

The obvious choice would have been to break compatibility and force everyone to buy new software. Nothing from Windows XP would work on Vista if it did anything that required "rights" above those of a ordinary user.

It might have been possible to not break compatibility completely but to heavily restrict the API in ways that actually would break many, many applications. This wouldn't be unexpected because Microsoft has said over and over not to go outside of the Win32 API - but everyone does it. Again the result would likely be massive numbers of applications would fail.

Finally, what they did was something that was possible without breaking any compatibility. If the program wants to do something restricted, just warn the user and let it. For many (if not most) applications this means putting a blanket wrapper around the install which has been done. Not very effective but almost zero application breakage.

Apple has in recent memory broken compatibility twice. The latest processor switch doesn't seem to have made much of a difference in hard-core Mac users - after all, they were punished with the PowerPC switch not very long ago and stuck around. However, the prospect of re-buying all the software for most people and companies isn't an attractive one. Certainly for security, emulation wouldn't be an available option. Apple, perhaps not completely a result of these compatibility breakages but nevertheless a factor, has about 4% of the personal computer market.

IBM has had an extremely long run with the same external processor architecture. Today, if you buy a IBM mainframe system it runs essentially a superset of the System/360 instruction set. A program that was written for OS/360 in 1965 stands a very good chance of running today. IBM has had since the 1960's such a commanding lead in the mainframe market so as to push all other vendors out of the business completely, or to force them to jump through IBM's hoops by being completely compatible. It is unthinkable today to even look at a mainframe system that would not be IBM-compatible. For practical purposes, IBM has 100% of the market.

OK, so which model makes the most sense? Apple with 4% or IBM with 100%? Periodic breaks in compatibility requiring new software or continuous software compatibility for 50 years? There are clearly differences between the personal computer and mainframe markets, but the similar effects of a break in compatibility are quite instructive.

Why do you think Microsoft has stuck with compatibility for the last 20 years and pushed other considerations aside? Could it be they really like having nearly 100% of the market?

It improves the perception of security. That way marketing has a bullet item to use in advertising and sales presentations. On a more positive note, it's provided marketing collateral for Apple as well ("Cancel or Allow"). Too bad no one at Microsoft noticed how Linux handles authorization for administrative tasks.

***Since the UAC so clearly fails in its goal of making computing more secure, and substantially increases complexity, why is it common wisdom that turning off UAC is 'not recommended'?***

We can't have a Slashdot discussion without an automotive analogy, right? But in this case, it might be appropriate.

There is abundant evidence from insurance company data that Antilock Braking Systems do not do much in practice to prevent or mitigate accidents. No one knows why not, but they don't. But would you rec