Friday, October 30, 2009

7 Taskbar Tweaker pwns the Windows 7 Taskbar

Finally! We have a TweakUI-like taskbar tweaking tool which allows tweaking the Windows 7 overrated taskbar as we like and not as Microsoft would like us to. Enter 7 Taskbar Tweaker. Bravo!!

-  Lets you keep the jump list on using left mouse click+drag but get back the good old right click context menu.
-  Lets you completely turn off grouping which means if you turn off combining as well (Never combine) your new taskbar is your Quick Launch. This is the real classic taskbar functionality Microsoft chose to limit.
-  Lets you choose what dragging and dropping a file into an application's taskbar button does - whether it'll be pinned to its jumplist or whether pass the document to the application, that is "Open with".
-  Allows you to configure what middle click does - start a new instance (like Shift+click), close the app or focus window.
-  Lets you completely disable the thumbnail previews.
-  Lets you configure the behavior when you click on an app button while switching from another app : whether to directly switch to the last used window or show the thumbnail previews. Many users felt this was the only customizability missing from the taskbar.
-  Lets you disable combining (Never combine), disable grouping yet hide labels.

Thanks to RaMMicHaeL for this. Native 64-bit version also available!

Edit: I couldn't agree more with one of the commenters who said: "It was so annoying how I couldn’t ungroup taskbar icons that were from the same program. Why in hell would microsoft take this feature out from vista? Yes, let’s just arbitrarily take out features. wtf are they high on H?" Unfortunately, that's the direction Microsoft is taking its products in. Every upgrade is a struggle to adapt to changes and compatibility issues.

Wednesday, October 28, 2009

The status bar fiasco and viewing sizes in Explorer

Sometimes, I'm really appalled at the current state of Windows Explorer. How can a single app degrade so much? Just how could they mess up in a single app so much? I'm talking about the lack of a functional and useful status bar in Explorer on Windows 7. The status bar, like the standard toolbar debuted in Windows 95. It showed the total number of items in a directory or drive, and the total size occupied all the items in a folder (minus the size of subfolders) when browsing folders. This info was most useful when working with any file type and was reported nearly instantaneously, that is, Explorer didn't have any performance issues while showing the total size minus the subfolders. The status bar also showed the free disk space when the folders pane was on. This was another piece of extremely useful information (and it updated upon every refresh like the size), especially when an application was writing large amounts of data to disk. In Windows 9x, the info the status bar displayed, especially the size didn't appear every time but Windows XP onwards, the status bar got totally reliable.

One fine day, Windows Vista came along and along came the horrible Explorer, that I feel they forgot to finish it (and the code got lost perhaps during the reset, no lol just kidding). The Status bar no longer showed the total space at one glance used by items in a folder when displaying a folder's contents. Users had to select files to see their size, what's more, the Vista Explorer's status bar has a horrible bug that persists as of this writing, yes, even in Windows Vista Service Pack 2. It incorrectly calculates file size and misreports it if the file is selected and the view is refreshed and the same file is reselected. It is a broken and partially implemented "feature". Vista also comes with a details pane, which btw is much nicer, more useful and also allows showing and editing metadata. The details pane is supposed to the status bar replacement but it doesn't report free disk space. What a half-done piece of work! Plus, a bonus horrid experience is that selecting more than 15 files makes the details pane force the user to click on a "Show more details" link to see the total size and other date-related details. Select or deselect one file and repeat the whole thing all over again. What a horrible user experience!
Apparently, the shell team wasn't done yet which is why they chose Windows 7 to ruin the situation even further. In Windows 7, the status bar does not show the size of any selected item, nor the free disk space. It is now a useless deprecated UI element that only redundantly shows the total number of items. When no items are selected in a folder, neither the details pane nor the status bar show the total size of files in the folder. When 15+ items are selected, the "Show more details" craptastic non-sense persists. (Microsoft's explanation via email when I asked about this issue was "calculating size is a complex operation which is CPU and I/O intensive!" and with libraries coming into the picture, Microsoft can't implement this correctly. WTF!?) Suddenly, for Microsoft, the total size without selecting a file and without the subfolders is a shallow computation that they decide is of no value to the user.

Windows XP isn't popular without a reason. A lot of useful working stuff which remained constant from Windows 95-XP inspite of the difference between 9x and NT was simply shoved up and moved around, redesigned for the sake of it or removed.
Why has Microsoft made viewing the total size such a pain in the a**? Are they forcing us to use the details view which annoyingly shows sizes in KBs instead of a meaningful MB or GB reporting? Do they want us to use the folder tooltip to view the total folder size? The folder tooltip doesn't show the size quickly enough for large folders, so that isn't a reliable way. The Properties dialog shows the size but again that isn't quickly accessible from the toolbar, but lies one more click inside the Organize menu or context menu . Plus, who the hell wants to view Properties every time he is changing his selection when working with files? Additionally, Alt+Enter is broken in the left pane of Explorer and simply plays the default beep sound. And with IColumnProvider gone, viewing folder sizes in a column in details view is impossible. Viewing sizes is now a two-or-more-clicks operation everywhere.
The performance reason is non-sense and for what its worth, I'd rather have it with the supposed performance hit. For virtual views like libraries or search, they need not implement the show-size-without-selection feature at all, neither was it implemented in Windows XP's search. And what is the explanation for removing universal free disk space reporting? Is that computationally intensive too for today's CPUs? That is, as one angry commenter in Microsoft's forums said, like removing the clock from the taskbar because you have got a nice analog clock as a gadget.

A side effect of deprecating the status bar is that it is no longer possible to accurately know how much space you can free up by emptying the Recycle Bin items if it contains folders. As long as only files are selected, file sizes are shown in the status bar details pane. However, selecting a single folder along with any number of files makes Explorer stop displaying sizes; the Properties menu item is broken as well when multiple items are selected in the Recycle Bin so it is impossible to know the size of your selected items before you delete them. Plus, the 15+ files nonsense continues.
Is there no one complaining or noticing this seemingly small but practically huge regression? Apparently, there are quite a number of complaints, with some threatening to go back to Windows XP for this simple but important "feature", but they're being shown the "This behavior is by design" billboard.

Status bar rants:

Recycle Bin status bar issue:

... and so on but does anyone at Microsoft care? Apparently not because it's been this way since the Windows Vista betas.

Once again, Classic Shell's Classic Explorer shell extension fixes this!! It even fixes Windows Vista's own buggy implementation which miscalculates the file size in certain cases.

Update: This looks like a cat-and-mouse game. Windows 8 Explorer uses a non-standard status bar control in Explorer and eliminates most of the functionality so now not even Classic Shell can fix it. I guess Microsoft weren't happy with third parties fixing Explorer.

Monday, October 26, 2009

The evil conspiracy ;-) behind customizable metadata columns in Explorer

One of the coolest Windows 2000 UI innovations was a COM shell interface called IColumnProvider which allows developers to write a column handler shell extension for Windows Explorer. By doing this, they could add any custom column to the Details view of Explorer and that column enumerated the metadata out of all items one by one. Users could also sort and group stuff using any column. Two of my favorite column handler shell extensions I used added a file extension column and folder size column. The file extension column is immensely useful when working with mixed files because although Windows has the "Type" column built-in, it denotes the MIME type of the file, not its extension. For example, if I installed Winamp, all my audio files would become "Winamp media files" so sorting by file type to separate MP3s from my WMAs, OGGs and WAVs was broken but sorting by file extension always worked.

The folder size column handler was another heavenly goodie that I simply can't do without. Microsoft's crybaby excuse for not including such a feature out-of-the-box is that it would cause too much SMB chattiness and performance impact on network shares. Fine but that's why Explorer is extensible right? The Folder size shell extension was implemented as a service and cached the sizes of folders in memory upon startup and reported them to Explorer the next time users visited the same directory so any lag/performance impact was negligible, while it updated the size in the background non-obstructively. The developer was also planning to add persistent (on disk) storage of size information so it would not be reset across reboots. Later, the issue of network load was eliminated, as Folder size came with a setting to enable/disable scanning on different types of drives (removable drives, network shares, optical drives). Most other file managers also report directory sizes in columns since long.

But some evil Microsoft person decided to yank IColumnProvider from Windows Vista because of reasons I'm not convinced of, at all. There is no direct equivalent to IColumnProvider now, and there is no way in Windows Vista/Windows 7 to do what IColumnProvider did but the Property System introduced by the Windows Search release in Windows Vista is its somewhat makeshift replacement. Why is Microsoft making life difficult for users and developers? Why are we given less choice, less control than earlier? Whatever happened to Windows 7's pseudo but make-believe "user in control" philosophy? Granted, if the algorithm written by the developer was slow, it could cause Explorer to hang but hey are bad apps totally absent on any platform?

The Property System tries to do what IColumnProvider did beforehand and cache the info to disk, separate from Explorer using the IPropertyStore interface that integrates with Windows Search. But it can only extract metadata which is stored in file streams, there seems to be no way to extract and index dynamic data such as file size that isn't stored inside the file or inside a secondary stream. The result? All such extensions which used IColumnProvider are broken and forgotten. This valuable functionality seems to be lost with Windows Vista. Microsoft has simply turned a blind eye and a deaf ear to the rants of the Folder size developer. I guess Windows XP is here to stay till Microsoft listens.

P.S.: Another bonus feature the Folder size shell extension offered was the ability to display file sizes for files above 1 MB and 1 GB respectively in MBs and GBs instead of the dumb "KB" used by Explorer.

Disclaimer: All mentions of "evil" on this blog are tongue-in-cheek as in I don't think Microsoft is an evil corporation.

Friday, October 23, 2009

The Standard toolbar in Windows Explorer

The Standard toolbar debuted at the same time as Windows Explorer in Windows 95. At that time, its buttons were ugly, non-customizable with 16-color 16 x 16 icons. IE4/Windows Desktop Update/Windows 98 introduced the ability to move toolbars and menu bars to any position, large buttons and text labels. Windows 2000 and Windows Me introduced button customizability and 256-color icons and Windows XP introduced toolbar locking and million-color icons with alpha transparency and drop shadows.
The Standard toolbar buttons: Once in a while some user complains about lack of these

What did Windows Vista do? In an attempt to revolutionize UI and "wow" users, it removed direct access to all buttons except Back, Forward and View, and gave users buttons like Burn and Share which they may not use most of the time. It tried to make the toolbar somewhat dynamic (item/selection specific options) like the Office Ribbon but ended leaving a huge amount of empty space on the toolbar. Critically, it removed the ability to quickly toggle the tree view/left folder (navigation) pane. Windows 7 has gone one step further into degrading the "command bar" by removing icons for more buttons except for the "Open" action icon. Windows 7 does add 2 critical buttons though "New Folder" and Preview pane toggle button. Every now and then on some forum or blog, you see users complaining about the lack of an Up button. Fanboys argue that the Up button isn't necessary with the advent of breadcrumb-style address bar but the Up button allowed users to navigate one level up using a static button, the breadcrumbs style requires users to accurately re-position their mouse pointer every time over the parent folder and then click.

Fortunately, a shell extension partially written in .NET and partially in native code called QTTabBar allowed poor Vista users victims to restore the standard toolbar with full customizability and even more extensible buttons. Unfortunately, the developer of such a critical addon seems to have disappeared and the shell extension does not work with Windows 7. Microsoft will never fix this annoyance as they don't consider to be a problem in the first place. Windows XP FTW! They think they have done users a favor by cleaning up the user interface.

More recently, Classic Shell has become available which does an exceptionally stellar job of permanently bringing the toolbar icons back, well not permanently really, until Windows breaks Explorer toolbars.

Really! What were they thinking? No one would notice & want it back?

Setting permissions on multiple items is broken on Windows 7

Every often, I need to take permissions of files and folders on Windows 7 and Windows Vista, more so because these operating systems have Windows Resource Protection which means every system file is pwned by TrustedInstaller. Great, this is actually a better implementation than Windows File Protection. But the problem is there is no "Security" tab in the Properties of multiple selected files or folders. Sure you could always set permissions and take ownership from the Properties of the parent folder but is this really asking for too much? Microsoft apparently forgot or again didn't have time for nearly half a decade to fix this? Whereas Windows XP never had this problem. It always shows a Security tab even when multiple items are selected. What's more, it also asks nicely if you want to reset the permissions in case the permissions are different across multiple files. This has become a major annoyance in Windows 7 for me. See the image below to see how Windows XP deals with this and the image above to see the step back Windows Vista and Windows 7 have taken. Thankfully, there's icacls.exethis tweak and VBScript but none can replace the convenience of a GUI.

Windows XP's Security Property Sheet working also for multiple files and folders

This regression from previous Windows releases has been reported dozens of times through blogs, multiple times in their forums, Microsoft Connect but apparently 4 years (past Vista RTM) isn't enough time. All regressions and removals are probably queued up as new feature requests or design change requests instead of being given a high priority which is why lost features -> "new" features is a vicious circle.

Update: Raymond Chen gets away with it by justifying it as some ridiculous security measure. Security always helps Microsoft justify the most ridiculous of removals. Security even justified upgrading to that abomination called Vista.

The navigation 'pain' in Windows 7

Windows XP introduced a very handy feature in Windows Explorer called "Simple Folder View". Basically, it allows you to click just once in the navigation/left pane of Explorer to expand the folder you want to work with, while you can keep the single-click-for-everything-else feature turned off. What's more, if you click on another folder, it automatically collapses the earlier one and expands the new folder. As a result, you won't end up with lots of folder trees to collapse manually if you are working with lots of folders and end up scrolling less vertically. But for no apparent reason (Microsoft's stupid telemetry at work?), they've removed this nice behavior from Windows Vista and Windows 7. How many times do I have to curse them for getting rid of stuff for no reason? Just what was the harm in keeping this untouched especially if it could be turned on/off from Folder options? I smell lazy shell programmers who didn't bother to update the code for the updated shell.

As a bonus annoyance, Windows 7 Explorer has an extremely annoying bug wherein the navigation pane scrolls upwards when a folder is expanded or collapsed (happens usually when using the keyboard) instead of adjusting the view to show the expanded folder's subfolders or making sure at least the collapsed folder remains in view.

Few more bonus annoyances of the left pane of Explorer include not supporting single click to rename, not giving us a "Folders" button (like XP) to toggle the navigation pane like they have for the "Preview pane" (like Windows 7), not showing a horizontal scrollbar when items extend beyond the split adjustor (instead showing a tooltip only upon hover!), getting rid of the intuitive automatic scrolling introduced in Windows Vista, playing a dumb default sound (ding) for Alt+Enter instead of bring up Properties and making the thickness of the vertical split view adjustor so thin that it becomes very difficult to drag it. Kudos to the Windows shell team for doing this!

Quite a number of people (some since Vista) seem to be asking about Simple Folder View but all replies are in vain. Some others seem to be pissed off about the missing horizontal scrollbar or automatic Vista-like scrolling in the navigation pain pane.

A million thanks to Classic Shell once again which fixes all of the navigation pane bugs and usability issues.

16 bit apps get degraded treatment even in 32-bit Windows 7

Now this is not a very way to treat 16-bit apps
The other day I migrated one of my laptops from Windows XP to Windows 7 and copied over the Microsoft Entertainment Pack games which I've always enjoyed playing. Guess what! The horrible Explorer wouldn't show icons for ANY of the 16-bit executables but instead shows a generic program icon! First, I thought I must have installed 64-bit Windows 7 by mistake but no this has got nothing to do with 32-bit or 64-bit. At a time when I used Windows XP Professional x64 edition, Explorer had no problems showing 16-bit icons. A little searching brought me to this article by Raymond Chen which confirms my fear - the "feature" was dropped in Windows Vista apparently because the code was obsolete and not so secure. 32-bit or 64-bit processes don't extract icons from 16 bit resources any more. But why does the shell team not understand that this decision degrades the user experience and just because they haven't come across anyone using 16-bit software today doesn't mean people don't. Instead of making the same old maintenance cost vs time vs value argument, why not prevent the experience from degrading? The current behavior essentially makes all Win16 apps look like MS-DOS apps. Sheesh!

Plus, the new taskbar ensures that users using 16-bit applications continue to have a degraded user experience. If a 16-bit program is pinned to the taskbar, it appears as a separate button (two instances) when launched/running. Looks like the Live Messenger 2009 team influenced this.

This issue has been discussed here on MSDN. I e-mailed Raymond Chen and he replied that he would add my request to the other requests being made of the user interface team so they can prioritize it appropriately. Which means that a feature that worked in previous Windows versions won't be fixed right away with a higher priority or may never be fixed (as MS crawls towards 64-bit).

Why Windows Explorer sucks in Windows 7: Obsession with hiding things

Now you see them notNow you see themThe left pane of Windows Explorer has fugly triangular arrows replacing the simple plus and minus signs. Why are they there in the first place, let's remind ourselves of that first. They are there to indicate that there are subfolders inside a certain folder. But why is the behavior in Windows 7 extremely annoying? At the first opportunity it gets (the moment the mouse pointer leaves the navigation pane), the arrows disappear. Now imagine if I have to drag something from the right pane into some folder in the left pane. How am I assured that the folder I am dragging to has a subfolder? Why can't the damn arrows in the left pane be set to always show? Why do they disappear when dragging and dropping if the user clicks in the right pane before starting to drag to the left pane?
Windows XP Explorer has nothing to hideAnd while we're on the subject, why not get rid of arrows and bring back the + and - signs? The developer division did that in Visual Studio 2010 when lots of developers complained. No one's complaining about this one, people are still drunk with the Windows 7 kool-aid. Oh well, Windows XP FTW!

And btw this annoyance also applies to Windows 7's evil cousin and is also mentioned on the excellent Windows 7 Taskforce created by Long Zheng.

Fortunately, a fastastic open source shell extension called Classic Shell fixes this problem in Windows 7 and in Windows Vista!!
Update: Despite Classic Shell, Windows Explorer still needs a lot of fixing in Windows 7 and Windows 8. See the more up-to-date post for Windows 8 for a list of things that need fixing and send your feedback to Microsoft to fix these.

Wednesday, October 21, 2009

Windows 7 Signature Edition Party Pack

Some lucky b*****ds got it and sold it on eBay!!; some didn't. Well, tough luck for me in spite of living Windows all the time 24 hours a day.