Martin's technology blog – June 2007
Blog content
Active categories:
- Tip (3)
- GPS (1)
- OpenStreetMap (1)
- OATH (1)
- Windows (1)
By date:
(No recent posts)
Blog calendar
| Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
| << May | Jul >> | |||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |
2007-06-23 | Windows Vista: User interface (Part 3: The So-so)
In the third part of my Vista review series I want to present two major changes that I find neither great nor bad. They're just different from XP and the positive changes pretty much make up for the negative changes. You'll have to build your own opinion for these, but I hope it can give you an overview of what to expect.
File copying
Have you ever tried to copy a directory that contained a Visual Studio project that was still open on Windows XP? If so, you probably know what I'm talking about. As soon as Explorer hits the first locked .ncb file (and only then, which is usually half-way through the process!), it aborts with a simple error message and no way to retry or skip.
Well, that's finally fixed. If the Vista file copying algorithm encounters such a file, it offers you to skip it, leaving the rest of the process unaffected:
I wouldn't want to miss that feature anymore. In a similar manner, the dialog that is shown when a copy process is about to overwrite a file was improved:
You can see that there is a lot more information than in the old dialog, including a preview and the number of remaining conflicts. The option to keep both files is also a long overdue improvement that other operating systems have had for a while. However, after a while I found the dialog to be a little annoying. The XP ways of saying "Yes to all" and "No to all" were just easier to select than the check box at the bottom, especially with Vista hiding the underlined mnemonics until you press the Alt key.
The copy progress dialog mostly went through optical changes (nothing like a 3D animation to make file copying more entertaining ...) and they've changed the way that Windows estimates the time remaining. It doesn't seem to display completely absurd guesses like "2,194,984 minutes left" anymore, but I did get the impression, on several occasions when copying files from or to a slow medium, that Windows spends a lot of time just guessing the time, when it could already be copying the files.
Task switching
Microsoft not only implemented a fancy new 3D way of flipping through the currently open windows, they've also modified the good old Alt+Tab way. The icons were replaced by thumbnails of the application in question and it is now possible to navigate within the window list by using keyboard and mouse. That's quite an improvement as it's often a lot faster than the old bidirectional navigation with Alt+Tab and Shift+Alt+Tab.
There's one problem I have with this view: It's not easy to spot the window you want to switch to among the thumbnails. At least for me, when I look for a window, I do so by application. I think "I want Opera" or "I want the MSN chat window". I don't think "I want the rectangular white window", cause most of them look very much alike in the thumbnail format due to their scaling. So, I turn to the icon in the lower right, which, more often than not, is not very clearly discernible from its background.
What I would really want to be able to work efficiently with many windows is a list of application icons together with their window title, all visible at once. And if there have to be thumbnails, they should be to scale and represent the position of the window. Cause that's how I picture the windows in my head and recognize them.
By the way: This is the exact reason why I don't consider the Exposé feature of Mac OS X very useful. But from what I've seen it seems that Apple's implementation is very well done from a technical perspective.
Another thing that would help a lot is decent support for virtual desktops. There is no built-in support for that (although I heard the API does make it a little easier to develop such tools than in XP). Last time I tried one tool that promises to do just that (Vista Virtual Desktop Manager), it was extemely unstable and slow and the author doesn't seem very keen on accepting help or improving the situation himself. Too bad.
The 3D view sometimes does make it easier to find a window, and the live preview (if you're watching a video, you can follow the live picture in the 3D view) sure looks cool, but the first time you use it, it can take a few seconds to open. Even though successive attempts are a lot faster, I've noticed that it scares me off and I rarely use the feature during work.
Bottom line
All in all, both file copying and task switching have improved for Vista. But they're still a long way from being perfect. Compared to other systems (that aren't perfect either), it seems that it would be possible to pick the best features and integrate them into a consistent and efficient interface. I just can't get rid of the impression that the Windows marketing people keep picking eye candy over usability in some cases.
This article pretty much concludes the user interface chapter. In the next articles, I'll go into more details on topics like stability, power management, and other more system related topics.
For reference, here's a list of links to the other parts of my Vista review:
2007-06-19 | Using DateTime on Windows with ActivePerl and Visual Studio 2005
Trying to use Perl's DateTime module on Windows can be somewhat of a challenge, especially since ActivePerl doesn't seem to be packaging it for their PPM.
The solution to that is usually to launch cpan on the command line but in this case that didn't work because the Makefile, when run in the Visual Studio 2005 command prompt, generates DLLs that are dynamically linked to msvcr80.dll. I haven't checked the exact cause--probably something wrong with the manifest,--but as soon as you launch a Perl program that uses DateTime, the following dialog pops up:

(This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem.)
If you look at the output of the CPAN build, you should see all the tests failing because DateTime cannot be loaded, followed by the path where the objectionable DLL is located:
t/00load................
t/00load................NOK 1# Failed test 'use DateTime;'
# in t/00load.t at line 6.
# Tried to use 'DateTime'.
# Error: Can't load 'C:\Perl\cpan\build\DateTime-0.37\
# blib\arch/auto/DateTime/DateTime.dll' for module DateTime:
# load_file:The specified module could not be found at
# C:/Perl/lib/DynaLoader.pm line 230.
# at C:/Perl/lib/DynaLoader.pm line 49
# BEGIN failed--compilation aborted at t/00load.t line 6.
# Compilation failed in require at (eval 3) line 2.
# BEGIN failed--compilation aborted at (eval 3) line 2.
# Looks like you failed 1 test of 1.
t/00load................dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
[...]
Installing C:\Perl\site\lib\auto\DateTime\DateTime.bs
Installing C:\Perl\site\lib\auto\DateTime\DateTime.dll
Installing C:\Perl\site\lib\auto\DateTime\DateTime.dll.manifest
Installing C:\Perl\site\lib\auto\DateTime\DateTime.exp
Installing C:\Perl\site\lib\auto\DateTime\DateTime.lib
Installing C:\Perl\site\lib\auto\DateTime\DateTime.pdb
Let's quickly look at the files in question, so we can compare them later. Note the size of DateTime.dll.
C:\Perl\site\lib\auto\DateTime>dir Directory of C:\Perl\site\lib\auto\DateTime 2007-06-19 11:57 0 DateTime.bs 2007-06-19 11:57 13,312 DateTime.dll 2007-06-19 11:57 382 DateTime.dll.manifest 2007-06-19 11:57 797 DateTime.exp 2007-06-19 11:57 1,942 DateTime.lib 2007-06-19 11:57 199,680 DateTime.pdb
The good solution
The easy solution is to make sure that DateTime.dll gets statically linked against the C runtime. So, before you run cpan, set the following environment variable:
set LINK=LIBCMT.LIB
This will link the library against LIBCMT.LIB instead of MSVCRT.LIB and prevent the above runtime error. Installing DateTime with CPAN should now succeed (i.e. no or very few failed tests) and the file size of DateTime.dll should be slightly bigger:
C:\Perl\site\lib\auto\DateTime>dir Directory of C:\Perl\site\lib\auto\DateTime 2007-06-19 12:02 0 DateTime.bs 2007-06-19 12:02 69,632 DateTime.dll 2007-06-19 12:02 382 DateTime.dll.manifest 2007-06-19 12:02 797 DateTime.exp 2007-06-19 12:02 1,942 DateTime.lib 2007-06-19 12:02 715,776 DateTime.pdb
You should now be able to successfully run your Perl program using the speed-optimized native version of DateTime.
The cheap solution
There's another solution to this problem. The DateTime package comes with a Perl-only implementation of the entire functionality. By deleting the C:\Perl\site\lib\auto\DateTime\DateTime.* files, you can force the module to use that version. The performance won't quite be the same but in many cases it might still be good enough for some cases.
2007-06-17 | Getting WebDAV to work in Windows Vista
I've already mentioned that WebDAV is broken in Windows Vista. When the Vista user interface asks you to enter a user name and password for a WebDAV resource it inevitably prepends the hostname to the entered username and tries to log on with that one.
The workaround is to use the command line to map a network drive to your WebDAV folder as follows:
C:\>net use * http://dav.myserver.com/ Enter the user name for 'dav.myserver.com': martin Enter the password for dav.myserver.com: **** Drive W: is now connected to http://dav.myserver.com/. The command completed successfully.
The network drive can be disconnected via GUI or via command line as follows:
C:\>net use /delete W: W: was deleted successfully.
Don't forget to check the output of "net use /?" for inspiration as to what else you can do. :-)
Update (2009-01-18):
I decided WebDAV is too useful to give it up just yet, so I found another workaround on the server side (Apache in my case). Even with Vista SP1 stubbornly keeps prepending the hostname to the entered username, which may show up in your server logs like this:
[error] Digest: user 'dav.myserver.com\\martin' in realm 'dav.myserver.com WebDAV' not found: /
Adding a user called dav.myserver.com\\martin, as the log suggest, didn't cut it in my case but adding one called dav.myserver.com\martin (note the single backslash) did. I am now able to use Vista's Add Network location wizard to access my WebDAV location.
2007-06-17 | Windows Vista: User interface (Part 2: The Bad)
Time for a first look at the not so nice aspects of Windows Vista. And believe me, there are many of those. I'll start off with parts of the user interface I really don't like and couldn't get used to even after a few weeks.
The bad
Window look: I've always liked nice 3D effects and transparency. Heck, they are appealing to the eye and just like we say in German: "Das Auge isst mit." (If you don't know German, it means something like "The eye also eats.") So, I'm fine with eye-candy under one condition: It can't reduce efficiency. That means good performance and good usability. Cause 3D alone never made for good usability.
In terms of performance Vista doesn't do very bad (or at least not because of the graphics) and usability is mostly unaffected by the new Aero interface, but there's one seriously annoying point: the title bars of the windows. It's almost impossible to distinguish the active window from the inactive ones because the title bars are transparent and whatever is behind it (desktop background, other windows, etc.) shines through. So you can't rely on the color of the title bar anymore. See for yourself:
The only reliable indicator for the active window is the red close button at the top right corner. That's hard to get used to.
Explorer: While Explorer usability has improved quite a bit in general, one thing that was really stupid to remove is the text in the title bar. Okay, it's right below but it's not as quick to pick up while you glance over the different windows, and the option to display the whole path was horribly crippled. According to the UI help enabling it doesn't actually have any effect until you switch to classic mode, which hides the tree bar on the left side. (I'd like to see the usability study that made the connection between these two elements.) In reality the full path still doesn't actually show in the window's title bar, it only becomes visible in the Alt+Tab window selector, a change that is independent of classic mode.
Hiding the tree bar has one advantage, namely that there is a reduced delay when opening Explorer windows (on my system it takes 2-3s sometimes, just because the system is waiting for the tree to be generated). However, you almost completely lose the ability to access the context menu of the folder being displayed. On XP you could right-click the icon in the upper left window corner, but that doesn't work anymore because ... it's not there. Even the big fat folder icon in the lower left corner is useless because rightclicking it either gives you the context menu of the current selection or a generic view menu when no selection is active.
Since we're on the topic of usability: There is still no shortcut for creating a new subfolder in the current folder! This simplest of features has been missing since--yes--Windows 95. Even in Notepad you can press Ctrl+N to open a new window. Why doesn't this work in Explorer? (In the meantime I found a great open source tool called AutoHotkey. It can do quite a bit more than the name indicates and adding the shortcut to Explorer is a piece of cake with it.)
Another weak point of Explorer are the different views. The variably-sized icons are fun to look at but quite useless in practice, except maybe for photo folders. It's very questionable whether any user needs the 'Tiles' view or a 'Small icons' view (horizontally sorted) next to the 'List' view (vertically sorted). What's worse is that, in contrast to previous versions, even if you tell Explorer to use the same view for all folders, it still sometimes overrides the user's choice.
[2007-06-18, Update:] When I saw the following I was torn between praying for the Vista Explorer QA guy to be fired and just going to bed and crying myself to sleep:
Yes, column headers that make no sense whatsoever. And, by the way, the headers are also there in other views where it doesn't make any sense, notably in the different icon views. [End of update.]
It almost feels like the Explorer developers never actually use their own program in productive day-to-day work. Rumor has it they're a bunch of disgruntled Windows users secretly trying to convert people to Mac OS X and Linux.
File open dialog: The new file open and save dialogs are not bad, their usage is streamlined with the rest of Windows and Explorer. Slight problem, however: They sometimes take up to a few seconds to come up after selecting the Open or Save menu entry. During that time the application looks like it hangs for no visible reason.
HyperTerminal and Telnet: Telnet is a powerful program that I use on a regular basis. HyperTerminal is somewhat of a pain but it can be useful at times when you try to talk to a serial device. But ... where did they go in Vista? Luckily, the Windows help explains:
HyperTerminal is no longer part of Windows. However, you can use Telnet. It's a simple, text-based program that you can use to connect to another computer over the Internet.
Hmm, ok. Don't know how to talk to my COM port now but at least I can use Telnet to talk to my mail server, can't I?
C:\>telnet 'telnet' is not recognized as an internal or external command, operable program or batch file.
Right. Well, someone at Microsoft either decided that the telnet.exe in the system32 directory was too confusing for the average user or that it just takes up too much space. After all, saving 75 kB on a system that uses several GB after a blank installation does make quite a difference.
In case you're still wondering how you can get it back: Either install it manually or just copy it over from an old XP you have lying around.
Mouse responsiveness: Windows XP was pretty good in that it was almost always possible to at least move the mouse to test whether the system was still responding. Maybe it's the new 3D look or just the way my graphics adapter driver (ATI Mobility Radeon X1400) handles it, but quite often during heavy I/O (usually caused by excessive swapping) the mouse just freezes for a few seconds.
Accessing shares: Vista has the very annoying habit of always prepending the current domain name when logging onto foreign computers. What this means is that, if the target computer is not in the same domain, you always have to manually specify the computer name. At first it sounds as if this could be worked around by a few extra key strokes, but thanks to that nifty little "feature" I couldn't get WebDAV to work at all! When I try to log on to a WebDAV folder as user 'martin' on 'myhost.net', it always tries to log on as 'myhost.net\\martin'. Obviously that will fail and there seems no way to prevent that.
It's hard to imaging that they could have broken WebDAV support even more than it already was in Windows XP (I had to open a folder through Office first to get it added to the Windows network links), but in this case they've actually done it.
[2007-07-04, Update:] There is a workaround using the command line, which I'm describing in Getting WebDAV to work in Windows Vista.
Bottom line
The items above are certainly things that will make me think twice before I switch to Windows Vista on another machine or advise anyone else to do so. Some of these are why Vista is considered by many to have worse usability than XP.
In the next part I'll be listing a few items that have changed since the last version of Windows and that are very much subject to personal preference.
For reference, here's a list of links to the other parts of my Vista review:
2007-06-10 | Windows Vista: User interface (Part 1: The Good)
Let me start off by defending myself to avoid any "I told you so" comments from the start. ;-) I know the rule of thumb that you're not supposed to install an operating system before the first service pack (or however all the other OSs sugarcoat the same concept) was released. I also know that it's risky to do that on anything else than a test machine. But let's face it. Using a system on a day-to-day basis is the only true way to get an objective impression. Reading about it and using it for 10 minutes on a test system with no software installed just won't do it.
So, I went ahead and installed the system on my laptop, a Lenovo T60. What I'm covering in the first three articles should be mostly hardware independent as I'm focusing on the user interface and the general feeling. But for the record, I did use all the latest drivers and upgrade the BIOS.
The good
File search: If you've been working with Windows for a long time, you might remember that the last version to have an easy-to-use file search was Windows ... uuh ... never mind! It seems that as our hard drives grow to astronomic sizes Microsoft finally decided to help users finding again what they lost two weeks after the installation of XP.
In Vista, searching just seems to work. You can use one of the many little edit boxes with the magnifying glass logo (e.g. in the start menu, in Explorer, etc.) and just type away. Most likely the search brings up the right files, documents, and even e-mails.
The search is not perfect, but it's very fast and it gets the job done for most uses. If you need to find that specific .dll you know must be somewhere below the C:\Program Files\ directory, you still need to go the few extra steps because they are not indexed by default. But that's okay.
Start menu: Much has been written about the Vista start menu. It may not be perfect but I still think it's a good compromise between not confusing XP users and efficiency.
The fact that you can now hit the Windows button on your keyboard and start typing the name of your favorite program alone makes it a lot more efficient than the one we knew and hated since Windows 95. Entries (except for the pinned ones) are now sorted by default, so the hardly intuitive Sort by name context menu entry has disappeared. It's also easier to navigate in big menus (I've seen XP start menus with more than 100 top level groups!) because the navigation happens within the actual menu area instead of popping up in all sorts of directions all over the screen. (Also great if you hated the start menu covering your video window while you were looking for a program. ;-)
Snipping tool: Users of OneNote already know and love this feature. It's like your Print screen key on speed: You can select a screen region, which is then copied to the clipboard and inserted into your document. The new Snipper tool does pretty much the same thing. But in addition to just copying the content, you can edit it (with highlighting tools, etc.) and then copy or save it. That's great for making presentations, blogging, or just collecting little pieces of information.
ListView navigation: This is a detail, but I still find it worth mentioning it. To jump to a certain entry in a list or tree, you could always just type the first few letters of the corresponding entry and the selection would jump there. Unless your entry happened to contain a space. In that case, hitting space would "confirm" your selection and further typing was pointless or would even move you to another entry. In Vista, this was fixed, so if you want to jump to the "Windows NT" entry and not the "Windows" entry, you can just type "Windows N" and you're at the right one. Small improvement but useful.
Network connectivity: It's a little hard to explain why and how it works, mainly because I haven't quite figured it out myself, but wherever I go, I (almost) always have network access. If you type your WEP/WPA key once, that's it, Windows will reuse it whenever appropriate, and it seems fairly smart and quick about choosing the best available network.
On XP I remember having to use the horrible IBM Connections tool, a program based on a great idea and designed for people who roam a lot, but, unfortunately, designed by people who hate stable software, intuitive user interfaces, and computer users in general. I was afraid I would have to use it again but to my surprise and big relief that wasn't the case.
Occasionally there are still network outages, but it's hard to tell whether it's really Vista's fault or just due to the usual wireless quirks. I've had to reboot at least once because Vista just refused to connect while my other PC on the same network had no problem at all. Still, a big improvement over Windows XP.
Explorer navigation: Remember what happened when you opened C:\Windows\system32 in XP's Explorer? Right, coffee break. It was impossible to work until Explorer had opened every single one of the many files to display the correct icon. Trying to navigate by typing the first letters would send the selection zigzagging through the entire folder, mostly at random and with a few seconds' delay.
The Vista Explorer does a much better job. It's far more responsive, so it seems the developers have finally put the focus on navigation and not on displaying the icons at all cost. (Don't worry, the icons are still there but they are loaded in the background.)
Unfortunately, there is not much else positive to write about the "new" Explorer. Maybe the new address bar that allows for pretty quick navigation within the parent folder structure. But I'm afraid the rest of it mostly goes into the "Bad" section and will have to wait till later.
Bottom line
The things I've listed above are by far not all the improvements that Vista's user interface introduced, but they're the ones that caught my attention in the first few weeks. I'll discuss later on whether they can make up for all the things that have become worse. And, what's a user interface without the rest of the system? So, there will be at least one article dedicated to kernel-related issues.
For reference, here's a list of links to the other parts of my Vista review:
2007-06-09 | What sucks
Let's start the Vista topic with a short and unscientific, yet very interesting experiment: comparing how many results Google returns for "xp sucks" and how many for "vista sucks". As of June 9th, 2007 the statistics look as follows:

I'm not saying these numbers are representative, because there are a number of factors to consider here like the fact that Vista got a lot more anticipation and critique than XP. Be that as it may, I still find the numbers entertaining.
I will be posting a series of articles summarizing the experiences I made in the four weeks since I decided to switch from XP to Vista. I'll write about the good and the bad, and we'll see why the above numbers may not be so far from the truth. So, if you've been thinking about switching, this should be an interesting lecture for you.










