Reinstalling Windows 10: Fighting Terrible Defaults

29 March 2016

I would never expect reinstalling my operating system to be a trivial affair.  At a minimum, you’re reinstalling your favorite programs, recovering their settings, and getting files back in place.  Reinstalling on a UNIX system only requires the first one – settings and files can stay where they were at the start of the reinstall, in your home directory.  Windows takes the opposite tact – requiring all of those steps, and adding on the laborious process of changing terrible OS defaults to gain some semblance of sanity and user-friendliness.

While I’m halfway here to bitch about Microsoft’s awful user experience, I’m mainly documenting Win 10 reinstall steps here so I can reproduce them when maintaining my family’s PCs.

  • During Installation, be sure to select Customize and turn off everything.  There are a few things in there I wouldn’t necessarily mind (like crash reports), but they’re mixed in with enough offensively bad defaults that I’m happy to keep it simple and turn them all off.
2

From fix10.isleaked.com

  • Disable Windows’ Invasive Search.  This will restore the basic functionality of searching from the task bar to search your local PC, instead of functioning as a web browser search.  Click in the Search bar at the bottom left, type Search Settings, and click Cortana & Search Settings.  Wait for the obnoxious Cortana animation to delay your task, then click “Not Interested“, followed by “I’m Sure“.
  • Now repeat this, again typing in Search Settings, and again clicking Cortana & Search Settings.  This time it will actually expose the settings to you

Win10-WebSearch

  • Finally, right click the task bar and go to Search and select Hidden.  This will remove the large Search field from the task bar.  If you want to search you can still hit the Windows key and start typing to run Windows applications.

Win10-HideSearch

  • Show File Extensions.  This is one of those very fundamental security precautions that Windows has screwed up since Windows 95 in a boneheaded attempt to be “more like Macs”.  Hit Win+E to open File Explorer.  Select View, then check File Name Extensions.  While you’re in there, go ahead and select Details as the default layout.

Win10-ShowExtensions

  • Uninstall Garbage.  Go into Settings (Win key + type Settings), System, select Apps & Features, and uninstall everything you can from this list.  3D Builder, Candy Crush, Get Office, Get Skype, Get Started, Messaging & Skype, Soliatire, Money, Phone Companion (??), Sports, Sway, Twitter.  Take note how many pre-installed garbage apps you can’t uninstall here.
  • Remove Windows Xbox DVR.  I made a post specifically about this when it spontaneously got turned on by an update.  It’s a special kind of UX failure to turn on a cumbersome feature for all users which explicitly teases you when running games, but leaves no hints at what it is aside from vague Windows 10 theming.  To stop Windows from attempting to auto-record your games all the time, follow my directions from this post.
  • Show Taskbar Icons.  Windows defaults to hiding all of the garbage running in the background such as Microsoft’s first-party cloud drive.  These background apps should typically be annihilated, not swept under the rug.  Go to Settings, Notifications & actions, Select Which Icons Appears On The Taskbar (how’s that for a mouthful), and toggle on Always Show All Icons In The Notification Area.
  • Remove OneDrive.  Right click the OneDrive icon that is now exposed in the taskbar, and go to Settings.  Uncheck “Start OneDrive automatically when I sign in to Windows“.  Then right click the icon again and select Exit, and confirm with the “No really when I selected Exit I was serious” button to finally close this unwanted app you would never use anyway.

Win10-OneDrive

  • Disable Snap.  I find Snap to be a constant annoyance, auto-maximizing apps if I ever try to move them around the screen as if Windows is a multi-tasking operating system.  From the same Settings, System menu, select Multitasking next and toggle Snap to off.
  • Disable Autocorrect.  I’ve posted before about how asinine autocorrect is.  Unsurprisingly, this is now on by default at the OS level  Back out to the main Settings screen, then go into Devices, Typing, and turn off the Spelling options.
  • Fix Start Menu.  Next go into Settings, Personalization, Start and disable everything.  Recently Used and Most-Used app lists are a UX nightmare that trains users to find apps in a randomly rotating shortcut list as a hacked fix for users being unable to find their apps through a fast, stable path in the Start Menu.

Win10-StartMenu

  • Disable Background Apps.  I can’t imagine any reason I would want any of these Windows apps that I never use to run in the background, so I’d hazard it’s safe to turn them off.  Go to Settings, Privacy, Background apps and toggle off everything.  Poke around the other Privacy settings while you’re in here – I turned off a lot of other app functionality like Email and Call History that I will never use at the OS-level in Windows anyway.

Win10-BackgroundApps

  • Disable Windows Update.  This is a particularly sore point.  Windows offers no options for user-friendly OS updates, which leaves fully disabling Windows Updates as the only option.  Without doing this, Windows will restart your computer at random times without your consent, throwing away any unsaved work or even rebooting while you’re currently using the computer.  Go to Settings, Update & Security, Advanced Options.  Change the dropdown to Notify to schedule restart.  This is unfortunately only a small improvement, but I’ll come back after a bit more research to update on the options available for Windows 10 Home Edition.
  • More Windows Explorer Defaults.  As expected, I’m back with more!  Several changes I missed earlier are needed to make Explorer useful.  Open an Explorer window (Win+E), click the View tab at top, then select Options, then Change folder and search options (yes, this is a dropdown with a single item in it).  Change Open File Explorer to: to This PC, and uncheck the Recently and Frequently checkboxes towards the bottom.

Win10-ExplorerSettings

  • Removing Quick Access from Explorer.  Go to Quick Access at the top left of an Explorer window, and unpin all of the items remaining in it.  Now that Recently and Frequently options are unchecked too, this effectively removes Quick Access and its redundant and volatile misdirection.  Instead you will see a stable set of folder listings under This PC by default, which includes staples like C:\ and mounted network drives that are otherwise difficult to find in Explorer by default.

Win10-UnpinQuickAccess

  • Remove OneDrive from Explorer.  This is disgusting, but no surprise at this point: to remove the unwanted OneDrive item from being the first listing in Explorer, you have to hack the registry.  See this HowToGeek article for more details and a quick registry hack download.  Or you can just toggle good ol’ HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6\System.IsPinnedToNameSpaceTree to 0x0000 in RegEdit.  Don’t forget to toggle HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6\System.IsPinnedToNameSpaceTree as well – both need to be 0 on 64-bit Windows it seems.

 

I’ll keep this updated as I finish this reinstall.  I’d be shocked if I caught everything on this first pass.  As you can tell by the list above, this is already an exhausting number of switches to flip in the course of a routine OS installation.  Are sane defaults really too much to ask for?

 

Bonus Installation Steps

These are the bonus fun steps from my latest reinstall that pushed me far enough overboard to write this post.

  • Reinstall #2: I was unable to boot successfully after my first installation.  I’m still not 100% sure what caused this.  The repair option was unable to fix it, but I suspect it had to do with me removing an unused hard drive during installation.  I removed the extra drive to ensure it didn’t attempt to boot from the old hard drive.  Normally you’d expect stable boot drive identifiers, but I may recall that Windows numbers boot drives in a way that changes depending on how many are plugged in.  I would still expect the Repair Boot option to be able to fix this, but no luck – I had to do a full reinstall to get past this.
  • Reinstall #3: After booting into Win10 successfully, the screen spontaneously went black.  I rebooted several times and tried several repair options.  After a Reset, which turns out to be a full reinstall, I still had no image.  Took a wild guess that the DVI cable might be loose enough where it lost picture on higher resolutions.  When I went to tighten the DVI cable I decided to unplug my secondary HDMI cable, and that was it.  Windows booted normally, then installed a graphics driver change in a background process, which changed the graphics output device to exclude my primary monitor.  Duplicate Display would make sense for a default.  Extend Display would make sense for a default.  Downgrading from “works” to “show black screen” on any display is a horrible regression of functionality for a freshly installed PC.

 

Remove Windows Xbox DVR

06 February 2016

Another day, another unbelievable experience with Windows.  I went to play Dark Souls today from Steam, and noticed there was now a pop-up when it starts up mentioning some shortcut to Record Audio with Win-Alt-M.  The styling was clearly not Steam, and not something built into the game.  But the overlay and the reference to Recording assured me that some software was now running and taking up significant resources to interfere with my games.  No big surprise that this turned out to be Windows 10 itself.  Also no big surprise, if still infuriating, that it’s also nigh-impossible to stop this extreme intrusion.

First, turn off the ON BY DEFAULT Xbox DVR:

  1. Run the Xbox app (win, type “xbox”, it should appear in the list)
  2. Note that it wants you to Sign In before you can access the settings.  No joke, you have to be online and connect to a Microsoft account to turn off this intrusive OS-level behavior.  Instead, close out of the Xbox app.
  3. Following these instructions from Tom’s Hardware and Reddit, set the following registry settings to 0

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR\AppCaptureEnabled

HKEY_CURRENT_USER\System\GameConfigStore\GameDVR_Enabled

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AllowGameDVR

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\GameDVR\AllowGameDVR

Uninstall the Xbox App

Now, to uninstall this unwanted and intrusive app.  Add/Remove programs, right?  Of course not, this is a hidden app you can’t remove without administrator Powershell voodoo.  Some references here on Reddit and on AskVG for more Powershell details.

  1. Hit windows key and type “Powershell” (don’t click it yet)
  2. Right click Windows Powershell and choose Run As Administrator
  3. Click OK through the UAC prompt
  4. Paste this in and hit enter:

get-appxpackage -allusers *xbox* | remove-appxpackage

You can ignore the failure to install a couple other xbox-related apps.  Hopefully…

Note that some sites claim if you don’t disable the DVR functionality first, it will continue to run even with the Xbox app uninstalled.  So be sure to login (!!!???) to this app to disable DVR before you uninstall the app.

Bonus: NVIDIA Network Streaming Service

While you’re at it, Nvidia makes an interesting comparison to Microsoft’s asinine shenanigans.  Nvidia also has DVR functionality, but sensibly leaves it Off by default until a user expresses enough interested to turn it on.  Unfortunately they did manage to screw up their Shield streaming in one way or another.  It’s now February 2016, and as of April 2015 (that’s 10 months) they claimed they were fixing this issue.  The network streaming service is on by default, and takes up 3-5% of your CPU all the time despite being completely useless to every user without a Shield device (aka: every user).

Here are a couple of references, but tl;dr you can disable this service in Windows Services and call it done.  While this is annoying it at least appears to be a bug rather than malicious, and a hell of a lot easier than the steps required to fix the broken-by-default Xbox app on Windows 10.

Updated 12/26/2016: Windows Anniversary Update appears to have turned all this crap back on again, and randomly changed which registry keys are needed to turn off the crippling GameDVR.  Happy Anniversary!

Chrome’s dns_probe_finished_bad_config & Dlink DIR-655

16 January 2016

After years using the DIR-655, our wifi stopped working AND a wired computer was also receiving DNS errors in chrome (dns_probe_finished_bad_config). The only change in the network config is that we had a power outage.

What tipped me off to the fix is the fact that another wired computer wasn’t having any issues. Looking at DNS settings, the broken computer was using the DIR-655 for DNS, while the working computer was hardcoded to the actual DNS server IP addresses. This implies that the DIR-655’s DNS server is broken, but IP traffic is functioning normally.

The benefits of using the router for DNS are minimal. Considering this outage as an example, it’s probably always more hassle than benefit. The router’s DNS can be disabled with a simple checkbox named “Enable DNS Relay”.  Uncheck this so that DNS Relay is disabled:

Disabling DNS server on the DIR-655

Found Under Setup => Network Settings

With DNS Relay unchecked, the router will send the configured DNS servers to the client machines.  You can still configure the router with your favorite DNS servers (eg. OpenDNS or Google’s 8.8.8.8/8.8.4.4) to have your clients circumvent bad ISP DNS servers – this just removes the DIR-655 DNS software from the mix.

Blocking Windows 10 Automatic Reboot for Updates

08 September 2015

Man VS Machine

Nothing peeves me more than computers automatically overriding their human operator.  It seems obvious that humans should be trusted over computers, right?  Computers making suggestions can be extremely helpful, but actually overriding the human’s input and automatically doing something potentially catastrophic with no confirmation?  Isn’t this against the Laws of Robotics or something?

Autocorrect

The most common example is automatic spelling correction, which has entire sites devoted to how fail it is.  Another one that annoys me is automatic URL completion in web browsers.  If you type in the address bar these days and hit enter, most browsers will randomly pick a matching item from your history and automatically visit that page – you have to hit backspace to delete the text it added to go to the URL you typed in.

These cases should ALWAYS require the user to click or tap the suggested autocorrection before having it applied.  This is an extremely minor effort on the users’ part, and a huge usability gain for the application.

At least every phone, web browser, and document editor let’s you easily turn off their “automatically change what the user typed into something they didn’t type” feature.  Well… “easily” may be up for debate, but at least it’s in the options, right?

Office Autocorrect Options

You may have to uncheck 37 checkboxes across 5 tabs to avoid having Office change the text you type, but at least you only have to do that once per computer and every time you reinstall Windows!

Windows Updates

One thing that I’m oddly not particularly aggravated by is Windows Updates.  I think it’s critical that Microsoft provide the option to permanently turn them off in some capacity, but nagging a user for not applying security updates is totally reasonable.  I’ve always been a faithful user of the “Download updates but let me choose to install them” option.  Whenever my computer is free and apps are closed I can choose to let Windows update.  I might still get “lucky” and require multiple reboots plus a major system malfunction, but at least I know it’s not at a critical time.

Windows 7 Update Options

Windows 7 Update Options

Windows 8

With Windows 8 and even more aggressively in Windows 10, Microsoft has again failed its users.  In Windows 8, instead of just nagging users to install updates, Windows would actually reboot the user’s PC automatically.  Not just at night, but even while they are using it.  I find it incredible that Microsoft made this decision.  Rebooting a users’ PC without prompting the user is extremely dangerous.  It discards unsaved work, exits realtime apps like calls or games, disconnects from VPNs, and has countless other disruptive consequences.

For me, Windows 8 rebooted the PC while I was in the middle of a game of League of Legends.

I don’t get a lot of time at my PC these days.  If I sit down once a week to play a game of LoL with four friends, the last thing I expect is for Microsoft to reboot my computer in the middle of it.  This ruined an hour of effort for myself AND nine others.  I nearly uninstalled Windows from my PC on the spot.

Fortunately I was able to find a deeply hidden registry setting to stop Windows 8 from automatically rebooting my PC:

  1. Run RegEdit
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
  3. Create the DWORD NoAutoRebootWithLoggedOnUsers and set it to 1.

NoAutoRebootWithLoggedOnUsers

Windows 10

Windows 10 has received a lot of bad press about its automatic updates.  Apparently it’s pushing untested updates too fast, colliding driver updates with 3rd party vendors’ update apps, slamming users’ on metered connections with high data bills, and secretly using your upload speed for P2P distribution of updates.  There are many articles about all these problems, so no sense rehashing the same tips that are all over the internet.  Suffice to say that if websites are recommending that you permanently UNPLUG YOUR DESKTOP’S ETHERNET CABLE, then Microsoft has fucked up big time.

Microsoft almost managed to not continue automatically restarting users’ PC behind their backs.  In Windows 10 there is a “Schedule Restart” option in the Advanced settings for Windows Update.  But as you can see in the comments on this article, even that option still includes automatically restarting the computer a few hours later if the user isn’t around to see the notification.  Seriously Microsoft?  “Notify me to Schedule Restarts” means “Go ahead and throw away all my running apps and restart my computer without my input”?

My only hope is that the Windows 8 registry trick above will continue to work for Windows 10 to prevent automatic reboots.  One user posts it in the comments on this article, but I found no other references to this option for Windows 10 Automatic Updates.  I’ll update here once I figure out for sure if it works!

  • UPDATE: It works!  Both computers I applied this setting to have waited patiently for me to reboot them before installing updates.  I left Notepad open with some text in it just to be sure the computer didn’t sneak a reboot in, and it was still there.  Hurray for overly complicated backdoor measure to achieve extremely basic UX!

Rsync failing randomly: writefd_unbuffered failed to write: Broken pipe (32)

27 April 2015

My rsync backup script broke randomly after literally years without a problem.  I haven’t tinkered with the script OR my server for months, and suddenly it stopped working.  I went through a lot of voodoo trying to track down the cause with very little help.  All I really did is rule out a ton of problems:

  • My macbook pro was on a much older version (2.6.9) than my Rackspace server (3.0.9) so I updated so versions matched
  • Ran detailed debug logs on both client and server
  • Checked file it failed on for consistency – none
  • Timed the failures to see if there was any consistency – none
  • Tried different timeout/keepalive settings, no change

In all this debugging my first big hint was what caught someone else’s eye too on this rsync bug thread.  He took it a step further and to realizing the cause & a workaround.  Want to try guessing too?  Here is the symptom:

  • Checked the last *successful* file on the recipient vs. sender.  The recipient’s last file received was dozens or even hundreds of files ago in the sender’s log.

Seems pretty obvious in hindsight, it’s just the sort of thing you don’t expect rock solid software like rsync to have a problem with: the sender was sending data too fast for the receiver.  I’m still unclear on whose fault this is, but the rsync thread claims it’s out of their hands, so maybe it’s the linux network IO layer that’s failing?  The other group of people hitting this a lot is users rsyncing to USB sticks, another case where the recipient is much slower than the sender.

The fix was simple.  -bwlimit limits the bandwidth used, and immediately it works reliably again every time.  I’m going to keep upping it to try to get an idea where things break, but my last run at -bwlimit 10000 worked fine.

Next question: why did it stop working suddenly?  I upgraded my internet to AT&T Uverse.  I haven’t noticed it being slower than my old Time Warner, so maybe it sped up enough to increase the buffer required into breakage territory.

Hopefully this post is helpful to someone, as this one took me quite a bit of hunting!

Cygwin: ssh-add can’t find id_dsa

21 February 2012

I recently found myself in a position to try out Cygwin again, to get my hands on the unix tools I love on Windows 7.  So far I’ve been pleased with the experience, and will take cygwin over putty any day.  I did hit a couple bumps though, and one I couldn’t find an answer to online, so I wanted to throw my own answer up here in case someone else encounters it.

For reference, I’m using cygwin 3.0-1, and OpenSS _5.9p1.  My second issue appears to be a bug, so hopefully it will get fixed soon.

The first problem is getting ssh-agent running and working.  The copy-pasta below that is all over the internet worked for me.  Add to the bottom of your ~/.bash_profile:

SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS=”-s”
if [ -z “$SSH_AUTH_SOCK” -a -x “$SSHAGENT” ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap “kill $SSH_AGENT_PID” 0
fi

The next problem I had was that `ssh-add` failed to find my ~/.ssh/id_dsa private key.  The man page states very explicitly that it should be looking there, but it wasn’t.  If I specified the key on the command line with ssh-add, it would add it successfully.  Permissions looked right, with 700 on ~/.ssh and 600 on ~/.ssh/id_dsa.  The command that helped me figure it out finally was:

$ ssh-add -vT servername.com

[a bunch of garbage followed by]

debug1: Next authentication method: publickey
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
debug1: key_parse_private_pem: PEM_read_PrivateKey failed

Those middle two lines show that rather than looking for ~/.ssh/id_dsa in my home directory, ssh-add is instead looking in the root of the file system for a .ssh/ directory.  Strange!  I used a simple hack to straighten it out:

ln -s /home/username/.ssh /

The symlink helps ssh-add find my private key without having to manually specify it every time.  This wouldn’t be a full solution on a true multiple-user system — but like I said, I’m on Windows.  ;)

Comcast Usage Meter Pilot

02 May 2010

I was surprised to find an e-mail in my inbox from Comcast pitching their new Usage Meter. It’s just what you would expect from the name: a website to see how much bandwidth you’ve used so far this month. The bulk of the text follows:

We are pleased to announce the pilot launch of the Comcast Usage Meter in your area. This new feature is available to Comcast High-Speed Internet customers and provides an easy way to check total monthly household high-speed Internet data usage at any time. Monthly data usage is the amount of data, such as images, movies, photos, videos, and other files that customers send, receive, download or upload each month. Comcast measures total data usage and does not monitor specific customer activities to determine data usage.

The current data usage allowance for the Comcast High-Speed Internet service is 250GB per month. This means that the vast majority of our customers – around 99% currently – will not come close to using 250GB of data in a month, and do not need to check the usage meter.

Heavy bittorrent users may rightfully complain about Comcast advertising “unlimited” when there is actually a 250GB cap on traffic. But I think this is a step in the right direction for Comcast, towards completely transparent usage plans. There will be no more fears of finding out your usage is beyond Comcast’s arbitrary limit by receiving a nastygram canceling your service.

Soon you’ll be able to check your usage and compare to their monthly cap. If you go over, perhaps Comcast will offer a higher bandwidth plans at extra cost. How do you advertise “more than unlimited”? I’ll leave that to Comcast’s marketing team to figure out.

Why wasn’t this available long before they started canceling users’ service or slowing downloads? My guess is this was their escape plan for continuing to restrict heavy users despite the FCC’s move towards Net Neutrality. What does that mean in light of the appeals court ruling overturning the FCC’s authority over Net Neutrality?

According to the e-mail this is only a pilot restricted to a few areas – with the FCC out of the picture, will Comcast have any incentive to be this transparent with their users? Or will they return to their old tricks of secret caps and traffic throttling?

Rdesktop at Work: More Windows Hate

18 September 2008

I’ve somehow ended up at another job that can’t get its Web Developers a working internet connection. Combine this fact with Remote Desktop, and the myriad problems with windows. This is what a typical 5-minutes looks like for me at work:


I’m working in remote desktop, about to type an important sentence…

Remote desktop freezes, the sentence I just typed never makes it

I sit and wait. A pop-up says remote desktop lost its connection and is reconnecting. I switch to another virtual desktop to do some work locally. I start to type an important sentence…

Remote desktop jumps onto the screen, stealing the focus and text I was typing into the other window. I just confirmed/canceled some unknown dialog??!!

I press WindowsKey+Down to sent Remote Desktop back to its own workspace, where it should have stayed in the first place. I log back into the remote desktop window now that the internet is working again. Finally, I type my important sentence…

Several windows pop up within remote desktop and then the window disappears entirely.

WTF??!! Ohhh yeah. Remote desktop has a major bug where it thinks the WindowsKey is being held down. It just executed several WindowsKey+X shortcut keys, culminating in WindowsKey+L, which logs off.

I go through the Start Menu->Accessories->Remote Desktop. Log in again.

To “fix” the WindowsKey bug I have to run the On-Screen Keyboard app. Back to Start->Accessories->Accessibility->On-Screen Keyboard. Click on the WindowsKey with the mouse, then unclick it. Close the Narrator, Magnifying Glass, and Explorer windows that opened by hitting U and E while trying to type.

After thinking for a moment, I remember the important sentence I’ve been trying to type for the past 5 minutes. I start typing…

Remote desktop freezes, sentence just typed never makes it. The internet is down again. D’oh!


Granted, the unstable internet connection is part of the problem. But this wouldn’t be nearly as frustrating if it weren’t for the Rdesktop WindowsKey bug, focus-stealing, and the lack of built-in virtual desktops. While none of these individually are “huge” issues, the lack of robustness in the interface results in some days feeling like an epic battle. The operating system should be the war hose I ride into battle, not the beast I do battle against.

10 Serious Vista Interface Gripes

03 September 2008

I’ve been using Vista at work for the past few months, and keep ramming my head into some flaws that I’m amazed could make it through QA. Not only through QA, but also through Service Pack 1! Here they are:

1) Saving List Mode Preference
Windows Explorer always goes back to the default large icons. I’ve tried checking and unchecking the ‘save folder preferences’ checkbox, as well as changing my preferences and clicking the ‘make all folders like this one’ button. Not that either of those options make a lot of sense in the first place. This is especially annoying in that it defaults to those huge icons in every save and open dialog, so I can see all of 2, maybe 3 folders. I would vastly prefer a default of “continue with the last-used setting” instead of their bizarre “custom settings for every folder on your hard drive” interface. Which apparently doesn’t work anyway.

2) Can’t Bring Explorer to Front
Clicking the bottom right of Explorer windows almost always fails to bring it to the front. Considering this is often the only visible part of a window, this is a royal pain in the ass. It seems like this must be intentional, considering I noticed it within the first week of using Vista at work. This one really baffles me.

Vista Explorer Corners

3) The File Menu is “Hidden”
Literally. Its there in every window, but you have to press “alt” on the keyboard to see it. This one took me a week to figure out as well. Substantial functionality is still hidden in these menus, yet there is no cue or clue that the menu is there. Even once you know about this, it forces you to use the keyboard to get to the file menu.

This may have, at some point in Vista’s history, been a legitimate attempt to simplify interfaces in the post-XP Windows world. Instead this is interface simplicity gone horribly wrong. Interfaces in Vista are more complex, with important buttons completely hidden from users.

MSN Hidden File MenuMSN Hidden File Menu Revealed

4) Virtual Desktops:
Seriously, what is this, 1998? VirtuaWin is the best substitute I’ve found so far. However it can be slow (this is on a Very fast computer) and many apps, including Microsoft’s own, don’t work very well.

5) Stuck Windows Key
This may not be Vista-specific, but I’ve been using Remote Desktop a lot to access other computers. There is a HUGE bug in Remote Desktop, possibly specific to the Vista client. The windows key gets ‘stuck’ down. This happens to me VERY reliably, as in a dozen or so times every day. As soon as I try to type in the remote desktop window, the shit hits the fan. Windows minimize, unminimize, apps I’ve never heard of start popping up all over the screen. Sometimes mashing the windows key will “fix” this, but often I have to run the On-Screen Keyboard accessibility app to “click” the windows key on and back off.

6) Graphical Glitches
Approximately bi-weekly basis I’ve been seeing graphics glitches of the sort I haven’t seen since the last time I had a graphics card overheat. Windows that won’t refresh, rainbow colors in the window decoration, and so on. I at first assumed this was specific to my computer, but my coworker has been getting it too. The only solution I’ve heard is “reboot more often”.

Vista Graphics Glitch

7) Hidden dialogs
I first noticed this with UAC when setting up my computer. I ran an installer, and waited. Figuring it was churning disk to unzip, I worked in another window for a bit. Checking back, it was still hanging. Well, it turns out the UAC dialog, among others, have a habit of popping up BEHIND other windows. How hard is it to tie a security dialog to the relevant window to keep it in front, so I don’t keep staring at this never-ending “wait” screen? The same thing has been happening in Windows Explorer when using it as an FTP client. A dialog pops up to say “Do you want to overwrite this file?”, then a split-second later, a dialog covers it saying “Calculating Time….”.

Hidden Dialog

8) Stuck Explorer Dialogs
I’ve had Windows Explorer freeze in a new and spectacular way. It pops up a dialog, and will even let me click “OK” or “Cancel” – it’s just that they don’t do anything. The dialog stays there. The explorer window itself is blocked due to the dialog. I can’t right-click the start bar to close it either. Maybe this is caused by one of the aforementioned hidden dialogs, but I couldn’t find one if so. Solution? Reboot!

9) Reboot
I mostly use my XP computer at home for video games, so this one surprised me, especially as part of the ‘new’ Windows: I have to reboot several times a week. This is due primarily to Windows Updates, and installing programs. Setting up this computer with software involved rebooting a dozen or more times a day for the first week. I had forgotten how bad this was with Windows. When I was using Linux at work, and my Mac laptop at home, I would go months without rebooting either one. Even when I would get frustrated by the frequency of Ubuntu updates (hint: I just set it to check less often than the default of ‘daily’) I could go a month after installing an update before rebooting. On Windows it makes damn sure you reboot, by pestering the crap out of you with a reboot dialog. I would go the Ubuntu route and do updates less frequently, but with the number and severity of windows flaws, I’m not too comfortable with that.

10) Surprise! Keyboard Stealing
Since the days of Windows 98 I’ve been frustrated by Windows stealing the focus from me while typing, injecting my keystrokes into whatever random window decided it deserved my attention. The most obvious example of this has been instant messaging, as evidenced by the bash.org quote. In the bash.org quote, a guy accidentally sends his grandma a message intended for his girlfriend that was…erm…”sexual” in nature. This problem expands far beyond simple “oops” moments. On one occasion I actually received my boss’ password in response the moment I sent him an IM. It’s also incredibly scary to be typing a sentence, and see a dialog window pop up and immediately disappear. What did I just hit “accept” (spacebar) to?

I’ve seen this handled in a couple creative ways. On the Mac, iChat will put new chat windows in the front, but force you to click “accept” (no spacebar) before it accepts keystrokes. In Firefox, the “Install Addon” prompt counts down from 5 before accepting keyboard input, presumably to prevent malicious sites from asking you to type in a text field, then quickly send an update request. One of my favorite parts of using Linux is the setting for “focus follows mouse”, which typically solves the Surprise! problem, while also adding some nice ‘features’ not possible on Windows or Mac. With all these solutions, you’d think Microsoft would be at least trying one of them.

I can understand why the masses are fleeing back to Windows XP. I was skeptical at first – if anything I thought Vista failed to bring any new features to the table, but that it couldn’t get any worse. After using it myself for two months, I was wrong. Vista breaks common interface conventions for no good reason, maintains major problems from XP, and introduces creative new problems. If this was at launch, I would be mildly annoyed, and expect the problem to be fixed soon. When I upgraded my laptop to the latest version of Mac OS X, their Spaces virtual desktop app had some issues. I was annoyed; They fixed it that week. Any guess when these major Vista flaws will be fixed?

But I Still Hate Flash

26 June 2008

Today I did the unthinkable. I’m ashamed to admit, it was exhilarating. I programmed in javascript.

Ok, so it was just a dynamic dropdown changing based on other criteria selected in the form. Not exactly Gmail or Overpages. But still, this is Me we’re talking about. I turned off javascript entirely for the first 3 years it was included in Netscape.

A few things helped me transition to this break-through. Firefox added better pop-up blocking, and disabled needlessly malicious javascript features like “make my browser window resize and bounce all over my screen”. Google released amazing interactive apps like Gmail that fixed web usability I never even realized were broken. I got a Macbook, and Safari actually keeps tabs to themselves, instead of letting javascript steal the focus. And, when it comes down to it, javascript became so ubiquitous that it’s impossible to actually use the intertubes with it turned off.

That said, I still hate Flash.

I should be more specific – I hate “Flash websites”. You know the kind – the ones that take 30 seconds to load, and attempt to re-implement basic web functionality like links, scrollbars, and form elements. This time without any of the basic usability you’ve come to depend on to navigate the web — like opening links in new tabs, increasing font size, copying text, pasting URLs to friends, and so on.

I still use Flash Block in Firefox to prevent Flash from running without my explicit permission. That started one day when I went to TV Guide’s website. They had a Flash advertisement on the page where a race car literally started driving around on my web browser, complete with loud obnoxious engine sounds blaring out of my speakers. I actually uninstalled Flash that exact moment, and didn’t reinstall until I heard about Flash Block. With Flash Block I can play youtube videos and similar sane flash elements, while avoiding the tasteless ads, and getting good warning before subjecting myself to a horrific all-Flash website.

In truth, Javascript can still be used in equally evil ways. Pop-up ads when you click anywhere in a page, for instance. Or links that, instead of being an actual link, include some obfuscated javascript function, preventing browser functionality like “open in new tab” or “bookmark” from working. Heck, even with bare html, there was still Geocities, and now Myspace, to worry about.

I guess it all comes down to usability. Give site designers and developers reasonably powerful tools, even if it’s enough rope to hang themselves with. Now the really hard part is convincing your PHB and Marketing not to hang themselves.

Now there’s an idea. If only bad flash sites really did hang their designers…