First up - apologies! This post has no technical content whatsoever about compilers, programming languages or Delphi. It's just a rant: I want to document my Vista annoyances so that I can hopefully move on. You know, denial, acceptance, and all that. Maybe I'll even look back on this post a few years from now and see where I was wrong!
Almost all my annoyances about Vista come from the Explorer shell. I've reached the point where I am somewhat seriously considering writing my own shell that supports the bare minimum, but the fact that file dialogs would be beyond my reach without some fairly hardcore system DLL replacement holds me back. For now.
Non-configurable Explorer Toolbar
The toolbar is no longer configurable, and in particular, it is no longer possible to move all three components - menu, tool buttons and location - onto a single row to maximize client area. Here's what I mean: my default Explorer setup has a height, from top of window to start of listview client area, of 65 pixels:
The equivalent in Vista has a height of 125 pixels, i.e. wasting over 90% more screen space for no benefit:
And yes, I run Vista without any themes, for a number of reasons: I'm not impressed, the compositing uses resources I'd rather spend on other things, and I often interact with Vista using RDP and I'd rather not have to deal with two different UI styles. And yes, I want that menu bar: it has useful commands like, you know, map network drive.
Missing XP-style Start Menu
This is the next biggest issue. If they had put in an option to have an XP-style menu combined with the new search box, a good deal of grief would have been forgiven. As it is, I detest the new start menu. The only backward-compatible option is a Windows 95 option, which is bizarre from my point of view - XP has been Microsoft's longest selling OS, and it's the immediate predecessor to their new version, and the backward compatible option they offer is for an obsolete style that's over 10 years old? It makes no sense to me.
Here are some of the niggles with the new menu that annoy me so much.
With XP, the fact that a menu expanded when hovered over meant that muscle memory could be used for navigation. I've used TweakUI to reduce this hover time so that it's just long enough that mouse navigation doesn't cause redundant sub-menu opening. On Vista, I have to click and scroll around to find things. I'm almost in the same situation as if I had to browse through the shortcuts in the file system directly with Explorer.
Constrained tiny little box
With the XP menu, I have the entire height of the screen in which to show a submenu. Since I keep my top-level submenus strictly categorized, with headers like Development, Tools, CodeGear etc. for direct access to application shortcuts, and a catch-all group called Groups which contains all those start-menu folders that application vendors add, I have very dense menus with an efficient navigation experience, a lot like the Control Panel menu (more on that next). Not so on Vista. Everything is crammed into a tiny little box, complete with wee little scrollbars, even while I have a relatively vast expanse of 24" monitor begging to be used.
Missing GUI Navigation in Control Panel
I mostly use the Control Panel menu from the Start Menu to access control panel applets, because (as a developer) I'm always tweaking this or that setting.
Unfortunately, Microsoft have added more hierarchy to the control panel (not a problem, in my view, because there are more options in Vista), but have provided less means of navigating it! Here are some concrete examples.
No submenus in Control Panel menu from Start Menu
Look at the XP Control Panel menu:
Now take a look at the Vista Control Panel menu:
Spot the differences? The XP menu provides direct access to printers, network adapters and scheduled tasks, etc.; whereas the Vista menu has hidden those things away inside the applets themselves.
Now, the Vista equivalent of Scheduled Tasks is a lot more capable, but it's also a lot more complicated, seems to expose some innards of the Windows system such that it's easier to break, and has a dog-slow UI with three - I counted them, three - nested client areas in the center panel. I'm not convinced that the old shell view extension mechanism wasn't better.
Inconsistent Explorer / Control Panel navigation
It's a similar story for network adapters. I occasionally have need to change IP or other settings for various reasons. For example, all my desktop machines have multiple ethernet adapters and I ocassionally route wireless traffic from a base station in one port and out the other to the broadband router.
Since the Control Panel submenu is no longer available, I have to go through the new "Network and Sharing Center" and try to figure out where the adapter configuration is hidden. Eventually I alight upon "Manage network connections", but this pops up a separate window which appears to be a subfolder of the Control Panel called "Network Connections" - at least, judging by the location bar:
However, try to find this folder either by navigating the control panel or by browsing the control panel's shell namespace tree, and you won't find it. The quickest way to get back to it is by creating a shortcut, but that's not so easy to figure out either, seeing how Microsoft removed the "Favorites" menu. What you need to do is click and drag the small icon in the location bar into some Explorer folder view, like the desktop.
And that brings me to another point. In Vista, you can't explore the Control Panel namespace using Explorer's treeview. In fact, if you start out in an Explorer window that has a treeview visible, and you select the Control Panel child of the Desktop namespace, the treeview disappears. I find this disturbing and disconcerting. It's almost like the feature had bugs, so they had to disable that way of accessing the Control Panel. Even the new context-sensitive Explorer toolbar disappears when the Control Panel is entered, removing with it the ever useful "rotate icon size" (Views) button that looks like a menu, and the Organize menu that looks like a button.
Missing Security tab for multiple selection
Onwards, to more practical every-day matters. I have multiple hard drives (11 3.5" disks at last count, totalling 4.75 ISO-TB, or about 4.3 real TB), installed across three desktop machines. These drives are almost all formatted with NTFS, with a single ext3 disk for Linux. Apart from OS boot drives, most of these drives have no fixed abode; they are liable to be swapped around or accessed from laptops after being installed in enclosures (I have two USB enclosures that can take any one of SATA, 3.5" IDE and 2.5" IDE drives).
If you've done this yourself, you'll know the problem that crops up (and it is somewhat exacerbated by Cygwin): the permissions for files and directories on the disks often embed machine-specific SIDs, meaning that you have to reset permissions to get access. This isn't a totally trivial matter: sometimes, you need one recursive pass to take ownership, and a second pass to replace permissions, if the original permissions were restrictive.
So, resetting permission on a handful of folders using Explorer should be a piece of cake, right? Here's the dialog for three selected folders in XP:
And here it is in Vista:
Or rather, here it isn't. I see No Good Reason for this.
It has become fashionable for applications designed for Vista to hide menu bars. Unfortunately, they usually haven't been replaced by a viable alternative. For example, examine the Windows Media Player for Vista:
Suppose you have copied the URL of a movie stream from the Internet and want to watch it in full screen etc. in a proper media player, rather than in a tiny plugin window - which by itself often slows down and destabilizes the browser. Now, I know that previous versions of WMP have an 'Open URL' menu item. I know that the Open command is on the File menu, and has been since the days of Windows 3.0 and before.
The only question is - where the heck is the File menu? I'm being deadly serious: I have been in this exact scenario, and I had no idea where to go. It turns out that the menu has been hidden as a context menu on some of the gaps in the toolbars. This is only one of the reasons I use Media Player Classic for almost all video playback.
You know, it's this kind of behaviour - prioritizing asthetics above functionality - that makes me hate Apple. At least Apple are usually more consistent and slightly more usable, if you're willing to accept the concomitant lack of functionality and user freedom, and general vibe of submission to the will of a tyrant. A tyrant (Jobs) with good taste is still a tyrant, and ought be shunned, if you value long-run freedom.
Missing keyboard accelerator hints
And on the topic of menus... where are the keyboard accelerator hints? You know, those little underlines that show which key, in combination with the Alt key, will select that menu item. They were disabled in XP by default too, but were easily re-enabled in Display Properties | Appearance | Effects. The analogous location in Vista has far fewer options.
Inconsistently extended right-click area in detailed listviews
Onwards to the rest of the main Explorer window itself. This bug - I can only call it a bug - catches me every time I work with a large folder in Vista. Observe, a folder with lots of files, and one selected; a common starting point:
Note the full selection width, which is different from XP, where only the icon and its associated text were marked selected.
Suppose I want to create a new folder. Where should I right-click? In XP, anywhere outside the selection and not directly on an icon or its associated text would do. Let's try that:
Ha ha! You thought wrong, buddy!
If you've played around with the new selection rules in Vista, you'll know that any text associated with a row in a detailed listview counts as item area. Now, I don't like this new behaviour: I use detailed view all the time, and because I like dense information, there is relatively little free space for folder context operations - most of the columns are filled with text.
It gets worse, though. How do you select multiple items using a drag rectangle in this new paradigm? To do this, you must deliberately leave wasted space to the right of all columns, so that you can begin your drag rectangle there. If you don't, the initial drag operation is interpreted as initiating a file move operation.
But wait! What about the weird behaviour seen above, where the item context menu pops up even though I'm not clicking on any text? This is a listview bug, and still hasn't been fixed even though Vista has been out for ages now. Let me demonstrate. This is the logical item area, highlighted as best I can in yellow:
And this is the actual item area:
The selection logic doesn't take account of the column alignment. This causes me amazing amounts of frustration, because the biggest chunk of free space for right-click operations for me is between the left-aligned Name column and the right-aligned Size column. There's usually plenty of space here to account for huge files and long names; but there's an invisible item-associated click area right down the middle of it.
Treeview draw gaps
This one is minor, but still annoying. With effects turned off, treeviews that don't have either the focus or the cursor inside their bounds don't draw plus/minus boxes for folders that have children. It just looks plain ugly:
Listview deletes kill focus
Suppose you're reviewing a list of files, and deleting some of them as you scroll through the list. I often do this with the keyboard, as it's more efficient - the arrows navigate nicely and the delete button is nearby (I have confirmation dialogs disabled for deletion). Unfortunately, if you happen to delete multiple items in one go, you're in for a surprise.
To be more specific, if you select a range of items by holding the shift key down while scrolling through a long list, like this:
And then delete them, you'll notice that the focus rectangle has disappeared:
Where did it go? I sure hope I didn't lose my place in that long list of files I was reviewing! Let's see, I press the Up arrow to see if that teases out the focus from hiding, but no luck. I press the Down arrow, and hey presto!
I'm right back at the start. Now I need to scroll through all those files again and pick up where I left off. This does not make me happy.
File system watching maintains sorted order
I often keep a folder open while a background process is creating files in it: anything from an automated build producing log files to a wget mass download job. Now, maybe I'm a really odd fellow, but I rather appreciate the way XP behaves in this scenario: periodically, the kernel notifies Explorer that the underlying directory has changed, and XP will add the new items at the end of the existing listing - even though this may be out of the correct sorting order for the folder. I know that I can just press 'F5' to refresh the view, and everything will be resorted. However, knowing that new files are just appended to the end, I can scroll down there and watch the output appear, and even open it up when I see that the next output file has been created.
In Vista, no longer. Explorer is now "smarter", for some smart-ass value of smarter. Instead, it incorporates new items into the existing sorting order. Now I know some people would consider the old behaviour a bug and the new a fix, but the old behaviour was long-standing, and I had learned to rely on it.
Considering some of the lower-level enhancements in Vista, none of the above items individually would (or should) have been enough to turn me against it. However, when you add it all up, the charge starts getting more serious. I can't use Vista for more than 10 minutes without hitting one or more of these snags (or others that I haven't gone into); and these are just the snags I can't really do anything about.
Other things, like the indexing service, overhead of desktop composition etc., I have all disabled as either inessential or things I already have solutions for.
What I would have liked most is the Vista kernel with an optional selection of Vista applets, combined with an option for selecting the XP shell. In other words, I would have been far happier with a whole lot less. It's not like value for money comes into it: if you have to buy a Microsoft OS to put on a machine you build, the purchase feels more like a tax than it does choice. It was never a matter of a new OS driving me to purchase it, or a new PC.
The product feels oddly like a guilty company's justification for selling a product at a high price but a low marginal cost. It reminds me of government spending; they collect all this money, then have to find ways to spend it, but because of their monopoly position, they don't have the correct incentives, and consequently much of that money would have been better left with its original owner.