Posts Tagged ‘gui’

Just Because You Can Do a Thing, Does not Mean You Should Do a Thing

2011/04/25 Leave a comment

Microsoft Test Manager 2010 (MTM), the testing and lab management tool extension to Microsoft’s ALM product – Team Foundation Server 2010, is perhaps an example of bad user interface design.  I find the look and feel to be somewhat foreign to user’s familar with Visual Studio but also arguably anything else that Microsoft has made historically.


One of my personal pet hates is nested tabbed windows.  I know Mr Cooper (the author of the fine About Face series of books) has covered these types of bad habits before. I find such a GUI style leads to me ultimately getting lost in nested windows.  It’s very difficult to discover or locate functionality.

Microsoft Test Manager excels at not only nested tabbed windows that makes using this tool difficult, but also because it attempts to realise an inductive user interface design (an oxymoron with nested tabs) and fails.

Is that a Title Bar or a Menu?

I was reading an article somewhere on the net when someone mentioned Microsoft Lab Manager – an included tool with Test Manager. Apparently this tool was for running tests on applications particularly those running in virtual machines.  Lab Manager? Where was that? I’d not seen it.  I looked at Test Manager again, here is the upper left of the window:


Well nothing conspicuous there, some navigation buttons and a window title…or was it? Lets expand out the view:


I’d never noticed that inverted triangle widget between “Testing Center” and “Plan“, clicking on it displays a drop-down for the Lab:


Clicking on it makes the application switch to the Lab Center.  Now this brakes several important rules about GUI design.

  1. Menus should never be bang menus – that is they should not act like buttons
  2. All buttons should be captioned with verbs not captioned with the current state.  Many people fall into this trap with single toggle buttons that toggle application state but also toggle the label with “Started” when the application is in a running state; “Stopped” when. This “Testing Center” widget here is in effect a toggle button that is displaying state. Instead it should be a menu that says “Mode” with a good old-fashing ticked “Testing Center” or “Lab Center” as appropriate.  Just like clicking “Start” to shutdown windows, clicking “Testing Center” to switch to “Lab Center” makes no sense
  3. It is not immediately apparent that this is a clickable widget to begin with. Silly people like me mistake it for a window’s title. The inverted triangle should be closer

Lab mode looks like this, I particularly liked how it suddenly seemed empathic towards me by turning green. And no, it wasn’t the result of “envy”.


It is perhaps an amateurish piece of software, design-wise at least; I wouldn’t be surprised it was designed by upstart, Windows Presentation Foundation (WPF) developers with little or no design experience.  It’s like:

“…hey! we have this kewl new WPF tech. let’s put it in the testing suite of TFS 2010…”.

This is arguably a formula for a disaster.  Just because you can do a thing does not mean you should.  Take Windows Phone 7. It was done in Silverlight with the XNA team but they forgot some of the most important things in a smartphone such as the ability to copy and paste.  Amateurs.  I pitty the ex PocketPC and Phone Mobile 6 developers at Microsoft.

Another dreadful feature of Test Manager is that of course you can not for the most part look, edit or review items that are defined in Lab mode or vice versa – you must switch modes first.

Oh did I mention there are no popup windows either?  Too bad if you need to look at two things at once.



Categories: Development Tags: , , ,

User Interface Design for Voice Command Accessibility

2010/10/10 Leave a comment

Now that I’ve been playing around with voice dictation and voice commands for a few weeks (whether it is the built-in Windows, Vista+ feature or via third party such as Dragon NaturallySpeaking) I find that you must give a different prefix to commands depending upon what sort of application it is – rich or lightweight that he is say a native Windows application or something in a Web browser to select whether it is Internet Explorer, Opera, Firefox or whatever.  Let me explain:

For humble experienced users such as myself this complex change or the way that I issue the command can be rather frustrating because I must remember what type of application when using pen also the way I speak to the computer accordingly.


…they should not really care whether the thing that is in front of them is a rich application or something that is in a web browser…


If I’m just performing dictation (for example dictating my name, address, or the name of the document)  into some form of text box or moving the selection of a listbox up-and-down then it doesn’t really matter whether I’m using Windows file Explorer, Microsoft Internet Internet Explorer, Firefox or Opera I can dictate to all of these types of applications without changing the way I do it, which is good.


Local Rich Applications

However, if I wish to click a button, click menu items, toolbar buttons or select a hyperlink (whether it is something on a webpage or a link in a local rich applications legacy pre-HTML help file) in the process of something like this:

(Speak – you dont actually say the word speak) xxxxx” where xxxx is selecting items in the Start Menu, menu items, folders, toolbar buttons, text fields and labels. e.g. “my computer”,  “pictures”, “tools”, “options”, “bold”, “ok”, “cancel” .

In other words, you just say the name of the control itself (which generally matches the tooltip)

Web Applications

However for any web page regardless of browser, it seems this is the following approach.  Users must use:

click OK

click Cancel

click Mozilla

click first name / click textbox…[1,2,3,4] ( as in the case of Dragon)

Sadly, if the webpage doesn’t use your one of the mill Web controls, then you are out of luck and controlling these types of controls requires much more dexterity.


This sort of thing is rather confusing, and will no doubt likely confuse users because at the end of the day when sitting in front of a computer, they should not really care whether the thing that is in front of them is a rich application or something that is in a web browserthey both are running on the same monitor, how they are presented to the user is irrelevant and is perhaps arrogant to force the user to adapt to the underlying technology involved when presenting the information to the user.

Categories: Development Tags: , , ,