08.15
So I’ve been asked to do some Windows criticism – but I am too lazy for that at the moment so I dug up one of my earlier pieces instead. Written in early 2006, so it’s a bit old and slightly out of context, but lots of it still holds true. The basic gist is that programs should *not* have control over their installation – it’s the OS’s job, yet Windows lets programs do whatever they please, even to the point of installing rootkits and modifying other programs. Program installation should be done by the OS based upon a config file provided by the program, giving the user ultimate choice in all decisions. Nothing should be allowed to autostart without the users express permission.
Windows Sucks
It’s a universally held opinion by most PC users on the planet that ‘Windows Sucks’. Most couldn’t back this assertion up with concrete evidence though and most anti-Windows comments are actually blatantly wrong or refer to problems long fixed.
Windows, from a usability point of view, has also come a long way. When you get over the rabid Microsoft hating fervor gripping most people you’ll come to realize that (although I don’t know why they got a 8 year old to design the theme) its actually a very well thought out GUI and if looked at from a objective usability based point of view, you can see the time and effort that has gone in to trying to make it as easy to use as possible. Its certainly miles ahead of the Open Source competition.
But Windows does suck, and the reason is the software. For the uninitiated Windows software installs via an executable file (setup.exe usually) that places the main program files in the directory program files and then places a shortcut, or a folder of shortcuts in documents and settings->all users->start menu. The installing software has complete access to all areas of the hard drive – there are absolutely no limitations on what it can access and where it can put things. The software also generally saves settings in the Windows Registry (a centralized point of failure) via Windows APIs.
Of course sometimes programs do what they want. If some software wants to install itself in the root of c: (an incredibly bad place to put it) – its allowed. The fact of the matter though is that programs can install themselves anywhere they want, add as many icons as they want to any place they want – and even delete anything that they want.
The problem with this is that programs think they are much more important than they actually are. Quicktime, which isn’t even the worst, and which 99% of people only have to use very occasionally watch a QuickTime file, installs a system tray stub (for settings and fast launch) a Quick-launch icon and an icon in your start menu. Not only that it also runs an updater in the background that’ll alert you when new versions of the software come out. Its bundled with iTunes also (you don’t get a choice in the matter you’ve got to download both) which also gives it a quick-launch icon. I now have 3 icons taking up room on my start bar, some more on the desktop, a constantly running process (quick-launch and auto-update) and a mp3 player when all I needed was the ability to play QuickTime files.
If just one program does this it is not so bad but even things which don’t even need an icon do it. Acrobat for example puts shortcuts everywhere, features a quick-launch and auto-updater (which I will go into in a minute) yet the only time Acrobat files are actually used is either integrated into the browser (so no launch button is required) or if you open a PDF (double clicking on it opens it in acrobat). Yet icons are everywhere.
The auto-update mentioned in the previous paragraph is a classic example of the bloatware PC’s face. Yahoo! Toolbar for Internet Explorer now automatically adds itself to the ‘Critical Updates for Download’ box beside the ‘Security Update for Acrobat’. You can’t remove it either, you have to remove the Acrobat update (which removes Yahoo) then re-add the Acrobat Update. The fact I have to go out of my way to separate junkware from valid security downloads is disgusting.
Yahoo Messenger also now has a nice feature whereby the ‘Load this program automatically on startup’ button is grayed out unless you log in with a valid Yahoo account. So if someone installs Yahoo Messenger on your computer you can’t actually stop it starting whenever you log in to Windows unless you sign up with yahoo, sign in, and then disable it. This wasn’t a feature in earlier versions either. Skype goes one step further and simply doesn’t give you the option of not starting automatically – If it *does* give you the option I couldn’t find it!
Unfortunately every single bit of irrelevant software nowadays has its own autoupdater, quicklaunch, system tray and start menu icons if it actually needs it or not. Now add RealPlayer (which is one of the worst for it), AIM, MSN, Skype, the usual collection of toolbars foisted on you, the half dozen more pointless icons added by your scanner, printer, OEM and mouse and you’ve got a slow booting computer with irrelevant icons repeated all over the place (and no room to view running programs) all popping up alerts, news, updates and generally getting in your way. You have to manually delete several dozen or so icons and then try to figure out where the ‘stop annoying me all the time’ button is buried on each one. It is generally buried fairly well too.
To add the icing on the cake the uninstall process is also handled by the software – Windows has pretty much nothing to do with it. If the installer wants to leave icons everywhere, it does. If it wants to remove key system files or leave software running in the background and not tell you about it, it can. It can even just not work entirely leaving you no decent way of getting rid of it. Installing things in Windows is generally a permanent move.
Most people don’t even realise that it’s not meant to be like this – they just think that it’s the way it is and just learn to live with it. I have no idea why software installers are given 100% free reign over your PC, but they are. It’s as big a problem as spyware and it’s the main, large IT companies that are responsible. Sun has even recently declared a public partnership with Google – probably to try and install Google Toolbar whenever you install OpenOffice or Java as MSN’s toolbar (foisted on you by MSN Messenger) and Yahoo’s toolbar (Critical Update by Acrobat Reader) may not empower your browser quite enough on their own. It is misbehaving software (and installers) that are responsible for 99% of the unstable, unbootable and otherwise slow to the point of unusable Windows computers.
Windows without any untrustworthy 3rd party software is as stable as it realistically needs to be ‘Windows crashes a lot’ is no longer a valid insult – in fact it’s a lie. The last time I saw a BSOD (Blue Screen of Death) was when I took a modem out without shutting down the PC first (you cannot really blame Windows for that). You will generally only see a BSOD in the event of hardware failure (not Windows fault), because of a bad device driver, (not Windows fault) or because a 3rd party piece of software has screwed the OS (partially Windows fault).
If the software install was not such a treacherous process, if programs didn’t have complete reign over your PC and you could actually uninstall software without worrying about your PC actually starting next time you turn it on Windows might have a chance of being a decent OS. Until then it sucks.
Thank you! I appreciate this.
You can actually turn off skype’s autostart. In 4.0 open the primary skype window
tools->options->general settings has a checkbox that allows you to select start with windows.
Right, but it shouldn’t autostart by default in the first place. The user should have full control over what they want, and the user shouldn’t have to turn things off. They should turn things on, not off.
I like programs that ask you a bunch of questions the first time you start. Do you want autostart? How do you want things to look? Do you want automatic updates? Would you like fries with that? etc…
You make a good point that Windows is plenty stable, it is third party crap that causes problems.
Vista has made a lot of improvements in terms of program limits compared to xp, especially when it comes to the registry.
Software repositories definitely have their benefits, the chief being that they prevent people from downloading random crap.
However I still prefer the win/osx system to dependency hell.
I don’t think you can even cause BSODs with softwares in Windows now… The only places it can go wrong are drivers.
And I totally agree with problems crap installers and start-up programs. I know some softwares used to replace dlls in system32-and break my system. The problem is mitigated a little bit by file system virtualization I guess.
These days, core system files are not writable unless you are the “TrustedInstaller” user, which I assume it is the user Windows Update use.
One really bad offender is Visual Studio.
Installation:
It gives you the option to specify what directory you want to install in. It then creates a folder and a few non-critical files in that directory. Afterward it ignores your specified directory and just installs in Program Files (no big deal if that’s where you want it). If you’re on x64 then some files go in Program Files and the majority in Program Files (x86). This begs the question, if the software is going to ignore my specified directory then why give me the option at all?
Uninstallation:
When you run the uninstaller all it does is partially removes the Visual Studio program. The dozens of other software that came with Visual Studio are not removed. It leaves it all behind? What the hell? Is it that hard to write a “remove everything” routine? Then of course if uninstall things in the wrong order you’re completely screwed and will be forced to remove things manually (a very long and painful process making the manual removal of old versions of Norton/Symantec seem like child’s play).
I like Visual Studio but damn the installer/uninstaller is completely retarded. You’d think it’d be a trivial matter for Microsoft to make these routines work properly.
Startup apps has always been a bit of an annoyance. Thankfully, it’s solved in less than 5 minutes with the Sysinternals autoruns utility. Win7 also helps, by hiding such clutter and popups, which should also discourage vendors from adding something there that won’t ever be seen.
Check out this essay by Sarah, an intern at the FSF. It reads eerily like the writings of a brainwashed cult follower.
http://www.fsf.org/blogs/community/sarah-mcintire-introduction
Omg, I say bad stuff about Windows, and everyone flames and attacks me, but when Kerberos does it, no one flames him :p
@Thomas
Your commentary and that of Kerberos are not analogous to each other.
Your former commentary, until recently, involved the typical “Linux > Windoze” fare, apropos of nothing.
Kerberos is stating that while he prefers Windows, he can also point out its problems. Windows users, unlike Linux users, don’t pretend our platform is problem-free.
Yeah, I’d definitely support an OS managed installer rather than this free-reign bullshit. I’d also like applications to be more compartmentalized in Windows.
[...] I’ve even written a post bashing the Windows software installation method and since this is technically an anti-Linux (and thus [...]
When I launch some *.deb package, who can tell it doesn’t have “rm -rf /home/* &” in it’s post-install script? Most utility programs now can be just dumped in arbitrary folder and will work from it. Some crucial shared components are signed now and in that way “promise” not to break anything.
hear hear, Kerb … one of those rare pests that truly bothers me. Thankfully these days many apps at least give you the opportunity to uncheck unwanted crap, but there’s still the odd quickaunch & friends BS … ah sez ah sez ah sez SHOOT