- User clicks "start" button to pop up the start menu, then hovers over an item that is supposed to invoke a fly-out menu… but nothing happens (not even an hourglass cursor to indicate "system is busy") for several seconds while Windows goes and reads stuff from disk to build up the fly-out menu’s contents.
- User hits CTL-ALT-DEL on Windows Vista to invoke the "secure desktop" screen for locking their PC… but nothing happens (again, not even an hourglass cursor) for several seconds while the system… well… does whatever the hell it’s doing. (Side note: why should this take any longer than it did in XP? Is this supposed to be an improvement?)
- Some background service (say, periodic virus scanning) initiates some kind of memory-hungry operation, which runs the machine out of physical memory, so Windows starts madly thrashing the hard disk as it pages memory out to disk. Now the entire system becomes unbearably slow and unresponsive. The poor user doesn’t understand why, because no visible indication is given anywhere on-screen to let them know that the system is out of physical RAM and bottlenecked on pending hard-disk operations.
- Users are utterly dependent now (without realizing it) on listening for the sound of hard-disk activity, or looking at the hard drive’s activity light on the front of their PC, to figure out when the system is unresponsive due to disk bottlenecks, because Windows gives absolutely no helpful on-screen indicators to that effect. Try using a heavily-taxed machine with little RAM via Remote Desktop sometime and you’ll see how confusing it is when the UI stalls and you have no hard-disk feedback.
- Some stupid programmer neglected to add a DoWaitCursor() call in their code, or invoke any kind of "please wait…" dialog, before launching into some cpu-intensive algorithm that will take several minutes to complete. Furthermore, they neglected to write their program using multiple threads, so the program UI completely hangs while the lengthy operation is in progress.
All of these scenarios and more must be fixed in a single, global way, enforced at a technical level by Windows. If Windows doesn’t enforce it in a technical way, and instead Microsoft leaves it up to each application programmer to "do the right thing" in their own program code, then this will never get fixed, because application programmers are fundamentally disinterested in shouldering that work. The API for Windows UI programming should be completely thrown out and replaced with a new model in which it is impossible for any application UI to NOT be properly multi-threaded and responsive. And Windows should automatically detect (within 1 second at most) when an application has become bottlenecked by any hardware resource (cpu, disk, network, etc) and automatically invoke a wait cursor or a helpful dialog within the application that explains what the hell the program is stuck doing — thus taking the responsibility for providing such feedback off the shoulders of programmers everywhere.
9. Let me save all my preferred Windows settings to a file I can backup and reapply later
Desktop and taskbar:
- Turn on "Auto-arrange icons on desktop"
- Turn off deletion prompting for the Recycle Bin
- Disable Vista’s "User Account Control"
- Disable the Vista Sidebar
- Switch start menu to "small icons"
- Configure start menu to show all items as fly-out menus
- Turn off "show recenty used programs and documents"
- Turn off giving IE or Outlook special placement on the start menu
- Turn off all taskbar toolbars (QuickLaunch, etc)
- Turn off "personalized" (inconsistent) menusIn Windows Explorer:
- Turn off "easy file sharing"
- Turn off "Hide protected operating system files"
- Turn off "Hide extensions for recognized file types"
- Turn off "simple folder view"
- Turn on the status bar
- Configure the columns the way I like them (enable the "Attributes", "Size", "Date Modified", etc)
- Make sure to use the buried and unintuitive "Apply to all Folders" button so my settings will truly take effect
In Internet Explorer:
- Turn off "show friendly error messages"
- Turn off "reuse windows for launching shortcuts"
- Set to "do not search from the address bar"
- Turn on "show image download placeholders"
- Turn off "automatic image resizing"
- Turn off "image toolbar"
- Switch "check for new version of the page" setting to "every visit to the page"
- Set cache size to a more reasonable (smaller) limit, around 128MB
- Turn off "phishing filter" aka "automatic website checking" aka "slow down and break every web page you visit whenever Microsoft’s anti-phishing server is having problems"