Why I hate using Microsoft Windows
School of Computer Science, University of Birmingham
15 Jul 2010; 26 Jan 2013; 14 Nov 2014; June 2015; July 2015
14 Jun 2010
My work is all done on linux, but I sometimes use windows
(e.g. helping my wife, who has to use it) ... and I hate it.
This file lists the main reasons why I hate it.
(It was previously part of my home page.)
ADDED 17 Jul 2015: Matt Fuller's rant "Why Windows Causes Stupidity"
ADDED 14 Jun 2015: Windows Backup stupidity
The backup program that comes with windows 7 seems to work reasonably well, for
a naive user who has only one external backup drive. It allows users to specify
what should and should not be backed up and whether to create a system image.
Unfortunately, it has a terrible design flaw: it does not separate the
specification of what portions of the Windows system should be backed up from
the specification of the target drive. Perhaps people who work for Microsoft
have all their backup done by system administrators anyway, so they have never
encountered situations where something can cause both a user's PC and an
associated external hard drive to develop faults or become unusable at the same
time. So they have never been in the situation where they need to restore backed
up files and find the backup device doesn't work, or the files on it have become
Because Windows Backup does not directly support two (or more) backup target
devices, if you want to alternate between two external drives (or use one most
of the time, and another for occasional extra backups), then each time you
switch from one backup device to another, windows claims not to find any backup
and requires you to start all over again specifying what you want to backup and
where the backup should go. There should be separate specifications for
(a) backup profiles, and
(b) backup target devices.
I have not found any help in the Backup tool as installed, or any online
information. E.g the Microsoft 'help' web site seems to assume you'll always use
the same external drive:
That web site does have some movies which may provide the information I was
looking for, but they use another Windows abomination, 'Silverlight', instead of
one of the standard video formats used by everyone else, e.g. mp4, webm. I
cannot get Silverlight to work on my system.
ADDED 14 Nov 2014: Suspend stupidity
The power control mechanisms allow users to specify that if the machine has not
been used for time T it should go into suspend mode. Unfortunately, the concept
of not being used is pathetically inadequate. If I run microsoft's security
scanner it can take a few hours to complete a full scan. (So far it has never
found anything. I don't know if that's good or bad.) But if I've set the machine
to suspend if not used for 20 minutes, then it will suspend in the middle of a
security scan. (I don't know if there are other things that will wrongly be
ignored by that function.) As far as I can tell from internet searches there is
no way to set up a list of programs that should be regarded as over-riding the
suspend time limit. So when running the security program I have to change the
power setting and then re-set it after the scan is complete. Utterly stupid
ADDED 26 Jan 2013: File Associations Screwed Up
After I removed OpenOffice and replaced it with LibreOffice on my wife's machine running
XP, it proved impossible to set up the right file associations for LibreOffice until I
discovered that the Windows program remover leaves a mess behind and a registry cleaner
may be required to fix the mess, which I eventually managed to do
as explained here.
ADDED 15 Jul 2010: Restrictive selling practices
WHY DO WINDOWS USERS PUT UP WITH IT?:
I should have added this earlier: too often if you wish to buy a
nice piece of computer hardware (like the
E6410 I purchased in June 2010) you are forced to pay for a
windows licence that you don't want in order to get the machine you
The upshot is that people who don't want to use Windows, e.g. lots
of linux users, are forced to subsidise those who do.
This practice should be illegal. Perhaps it is -- and the law is
A few more things that Unix got right by about 1975 and DOS and
Windows failed to use, causing quite unnecessary mal-designs and
years of confusion:
The need for virtual desktops (e.g. using CTWM)
How many times have you seen a powerpoint user have to temporarily
minimise powerpoint in order to open up something else during a
presentation? I cannot understand how all those users (even
Professors of Computer Science) have allowed Microsoft to go on
providing a system that does not support multiple virtual desktops -
which I used for several years on Suns running Solaris, from before
1990, and have been using since 1999 on Linux, both on my desktop PC
I used to use four virtual desktops at
a time at first, then later switched to six.
Then for a few years I switched to eight. Now I regularly
have ten (using the
CTWM window manager for many
years, until I recently switched to using
instead as described
But later I switched back to ctwm when then became supported again, thanks to
http://www.ctwm.org/. I now use 12 virtual
desktops on my home PC (some of them containing xterm windows logged through to
my departmental PC on the university campus, also running linux) and 10 on my
Moreover, I don't have to fiddle about with a mouse in order to
switch between virtual desktops, or even between windows. Both Ctwm
and Openbox (and other unix/linux window managers) allow me to
cycle through virtual desktops, switching in a fraction of a second
using the keyboard -- though I can use the mouse, which is a bit
So when I need
to give a presentation I leave the workspaces dedicated to my long
term current tasks (e.g. browser open with frequently accessed web
sites, editor instantiations for papers I am working on, PDF reader
instances with papers I am currently reading) and set up my
presentation (prepared using latex and shown using xpdf or atril/evince),
and in other desktops set up other things I want to show, e.g.
videos, software demos, images. Then during my talk I can flip to
the required workspace and instantly run whatever I have set up, and
then instantly return. I don't have to temporarily stop my slide presentation
like all those powerpoint users whose videos don't work on powerpoint.
If I want to give two or three demos each of which requires several windows to
be open, I can prepare a virtual desktop for each of them in advance and flip to
them when needed. This is helped by the fact that I don't use powerpoint for
presentations, so I don't have to go in and out of 'full screen' mode. Instead I
use a PDF viewer on the output of latex. Since that is continuously scaleable I
can make my presentation fit in the projector viewing area and don't have the
hassles concerning screen resolution that some projectors give powerpoint users.
My wife has to use windows, because she uses
the wonderful orienteering map-making package,
But watching all the hassle she has to go through because of the
crummy user interface MSWindows inflicts on her is very sad. She
can't even push most of a window temporarily upwards off the screen
leaving just the bit she wants to see exposed while she does some
work in another window. And she can't type into a small part of a
partly covered window without making that window come up and cover
everything else. I've had these options on Sun workstations and
Linux machines for years -- since the 1980s.
(Input focus follows mouse without raising
the window automatically. That should at least be an option on any
Other things that make me hate having to use MSWindows to help my
wife: panels that come up showing a tiny unexpandable window into a
large file or large list of options so that you have to waste time
scrolling -- as if we still used 800x600 screens. On linux/unix,
almost all such panels (that I encounter) are stretchable, except
those produced by foolish web site designers. (Maybe some of these
problems on windows are the fault of application providers. Does
microsoft make it easy for them to use stretchable as well as
scrollable text panels?)
Another stupidity is that when shown directory listings there
appears to be no way to filter what is shown by pattern as in
in unix/linux, and various other operating systems, which we have
been able to do since long before Windows was even invented.
However, I have noticed that the Linux developers who try to make
Linux look and behave like Windows, in the interests of winning
converts often fail to use the power of the Unix mechanisms in
Linux. E.g. as far as I know, the standard graphical file browsers
in Linux (e.g. nautilus, pcmanfm) go slightly beyond windows
explorer in allowing pattern matching on the first character of a
file or directory name, but do not allow wild cards, e.g. 'a*.p' to
get all files starting with 'a' and ending '.p'. I find that
exclusion daft, given the powerful regular expression matchers
available in Linux.
I used that in my 'toy' pop11 based file browser
announced as long ago as 1999:
I have been using symbolic links for files very fruitfully
for many years on unix (since the 1980s). This wonderful invention
allows a unix directories to share subdirectories, and has many
As far as I can tell, symbolic links are still not available in
recent versions of windows.
For Windows users who have no idea what I am
talking about look here:
Shortcuts are a poor substitute, for the reasons given there.
On unix, as on earlier systems, the Control key was close to the
little finger, i.e. next to the "A" key, and the CapsLock key, when
that became available, was down at the bottom, rightly because for
many people it was used a lot less often, and more importantly, did
not need to be held down at the same time as other keys. I suspect
the position of the windows Control Key at the bottom of the column
causing the wrist to have to be contorted for many combinations,
e.g. Control+W, Control+Q, control+A is responsible for much
repetitive strain injury.
Not distinguishing devices from directories in file name syntax was
a brilliant idea which I first encountered in Unix in the mid 1970s.
So the fact that this directory tree starts off on a magnetic drive
and then is later moved to a different device (e.g. a USB drive, or
to a subdirectory of another directory)
does not affect the syntax required for the name 'places' on a unix
(and now also linux or Mac) file structure allows many things to be
done elegantly. Even the terminal can be treated as a file /dev/tty
and processes reading from and writing to any device can be
conceptualised as reading from and writing to a file, so that the
symbols '>' and '<' for writing to and reading from have a suitably
general interpretation. Where a non-linear mode of access is
required, that can be handled by software used, not the syntax of
the path name.
And then there was the totally unnecessary decision to use '\' as
separator in path names in DOS and Windows, where '/' (a much older
character in pre-computer usage) had been used previously on a variety of
different operating systems.
people who are supposed to be clever do these things? The backslash
was originally introduced to allow computers to represent things
like '/\' and '\/' as complex symbols. Later backslash was used in
the C programming language and Unix as an character used to
transform the interpretation of the following character, e.g.
putting \ before an apostrophe to prevent it being interpreted as
the end of a string, or before itself, as in \\ to stop it being
interpreted as an escape character. Then along came Microsoft, and
IBM's failure to understand what they were doing.
I can't push a window upwards beyond the screen boundary, so that a
small portion is left for me to type into or read, as it scrolls,
In windows 7 the operating system keeps suddenly grabbing a window I
am moving it and making it fill the whole screen. That could be
useful sometimes, but the first time it happens there should be a
warning panel asking whether the user wants it and if not explaining
how to turn it off (it took me ages to find that option buried
For someone who uses the CTRL and ESC keys a lot their default
location on PC keyboards (unlike old Sun keyboards) is a source
strain and potential RSI. On linux I have been swapping Ctrl and
CapsLock, and swapping ESC and Grave keys for many years. As far as
I know windows does not directly support this. But I did eventually
find a useful tool that allowed me to do it.
I am amazed that the
developers at Microsoft have not learnt the importance of giving
users freedom to tailor keyboard maps. (It should be easier than it
is in linux too. It has got harder in recent linux window managers whose
designers go in different directions. Fortunately ctwm doesn't seem to mess
users around as gnome and others do.)
I have never found a way to use 'focus follows mouse' on windows, so
that you don't have to click on a window in order to type into it.
I have not found a way to allow a window that is partly covered to
remain partly covered while I type or click something in it.
I could go on, and on, .... How is it that windows developers have
learnt so little about the ways of satisfying
user preferences and needs that unix and linux
users have enjoyed for many years?
Is it ignorance, arrogance, bad management, sheer stupidity, lack of
Or is the design of windows so non-modular that they cannot
accommodate these features.
For some hunches about what Microsoft may be doing see the last
School of Computer Science
The University of Birmingham