Rss Feed
Tweeter button
Facebook button
Technorati button
Reddit button
Myspace button
Linkedin button
Webonews button
Delicious button
Digg button
Flickr button
Stumbleupon button
Newsvine button

Category: user experience

The Startup Wizard

By , December 20, 2016 11:33 am

We’ve just added a new Startup Wizard to all our C++ tools.

The purpose of the startup wizard is to unify the various different dialogs that would be shown the first time the software ran. These would configure different aspects of the software. Placing them all in one place, a wizard, provides a better first run experience. We’ve also taken this opportunity to configure software updates for non-evaluation users of the software. As a final touch, we’ve included an overview video for the software.


The first panel explains what’s going to happen next.


Symbol Environment Variables

The second panel allows you to configure which environment variables (if any) you wish to use to control the symbol search process for symbols contained in PDB files.


IDE / Compiler

The third panel allows you to configure which IDE / Compiler / Linker you are using. This is important as it affects how symbol lookup is performed (Visual Studio has various quirks in its history of symbol handling, we have to work around that).


Software Updates

The next panel is not shown to people evaluating the software. Only purchasing customers see this panel. The panel allows you to configure your software update information and also where the software updates are downloaded to.

It is important to be able to specify where they are downloaded to because of potential security risks that arise from allowing the TMP directory (c:\users\[username]\AppData\Local\Temp) to be executable. We use the TMP directory as a default, but if you think that’s not a good idea you can specify your own download directory and set permissions for TMP to deny execute privileges.


Video Overview

The final panel is a video overview of the software. The purpose of this video is to quickly show many areas of the software to encourage you to explore the capabilities of the software.



We’ve been quiet for a while, sorry about that.

By , November 28, 2016 3:29 pm


It’s been a while since we posted anything on the blog. If you weren’t a customer, regularly receiving our software update emails you might think we weren’t going anything.

That’s an oversight on our part. We’re hoping to rectify this over the next few months, posting more useful information both here and in the library.

_tempnam and friends

Our most recent update has been to update C++ Memory Validator provide memory tracking for the _tempnam group of functions. These are _tempnam, _tempnam_dbg, _wtempnam, _wtempnam_dbg.

This support is for all supported compilers, from Visual Studio 2015, Visual Studio 2013, Visual Studio 2012, Visual Studio 2010, Visual Studio 2008, Visual Studio 2005, Visual Studio 2003, Visual Studio 2002, Visual Studio 6. Delphi and C++ Builder, Metrowerks compiler, MingW compiler.

.Net support, for the future

Internal versions of C++ Coverage Validator can provide code coverage statistics for .Net (C#, VB.Net, J#, F#, etc) as well as native languages (C++, C, Delphi, Fortran 95, etc).

Internal versions of C++ Performance Validator can provide performance profiling statistics for .Net (C#, VB.Net, J#, F#, etc) as well as native languages (C++, C, Delphi, Fortran 95, etc).

UX improvements

All tools, free and paid, have had the UX for filename and directory editing improved so that if a filename doesn’t exist it is displayed in red and if it does exist it is displayed in it’s normal colour (typically black). See screenshots (from Windows 8.1).

Non existent filename:

Existing filename:


New graphics in Performance Validator

By , December 18, 2015 12:32 pm

We’ve just introduced some new visualisations of performance data into C++ Performance Validator and .Net Performance Validator.

The new visualisations make it much easier to understand what is happening – the relationship between child and parent functions and where you should be looking to make performance improvements to your code.

The past

First, lets look at what the existing visualisations were:



These are not awful, but they’re not brilliant – they don’t really help you understand what’s happening.

The new visualisations

We’ve replaced the above visualisations with some new visualisations that are easier to read, easier to understand and allow you make better conclusions as to where to focus in your code.


The top bar shows the function time and the average function time as fractions of the total runtime.

The middle bar shows the shortest function time and longest function time as fractions of the total runtime.

The bottom bar shows the function time, the average function and the child time as fractions of the total time for the function.

You can improve your code by looking at each performance bar and evaluating them as shown below.




The top bar shows the line time and the average line time as fractions of the function time.

The bottom bar shows the shortest line time and longest lines time as fractions of the function time.

These allow you to identify the lines that are most dominant and also which have the greatest variability in execution time.


The new visualisations provide more insight into the performance data than the previous visualisations.


I’d like to mention the user experience consultancy Think UI for providing the design for these performance bars and for the very useful explanatory graphic that goes with them.


Windows 8 Start Screen disaster

By , October 13, 2011 11:19 am

Over on the MSDN blog there is a series of articles about Windows 8. Among those articles are three articles about the Windows 8 Start Screen which replaces the Start Menu.

Some background

I’ve been a member of MSDN since late 1994 when I first heard about MSJ magazine and then heard about MSDN. I’ve worked with Microsoft technologies for the vast majority of the time since then and pretty much exclusively since 1998. I’ve hated the backwards steps the Start menu took from Windows XP to Windows Vista/7 but the Windows 8 process – well that is such a change that I think this will debut so badly that this will be worse than the reception Vista received.

The Vista machines we purchased we got rid of. We have Vista as virtual machines only. We do like Windows 7 though. That works.

So far, despite repeated trials of Windows 8, all I can say is that it is awful. It is not productive, not for how we work. I don’t care how good it is at touch or how well it does web related home-consumer tasks. None of that helps me be productive in my day job. That is what counts. It is, more importantly, also what counts for my customers.

I want Windows 8 to be a success. That is why I am pushing back so hard against the Windows 8 start screen.

MSDN Blog articles

The first article Evolving the Start menu explains what they did and why they did it. It received a lot of negative criticism. They followed up with a second article Designing the Start screen which completely ignored all the criticism and tried to steamroller the Start Screen as superb. This duly received a lot of further criticism.

There is now a third article Reflecting your comments on the Start screen which is full of information, insights and analysis on how they came to arrive at the Start screen and why they think the Start menu should go away. The problem is the arguments are not convincing.

Menus are inefficient

The first argument is that the Start menu is inefficient. That it requires dextrous control of the mouse to find and select an item (this is true) and that it is slow to do so (also, reasonably true).

Therefore they introduce the start screen which is a 2 dimensional grid of tiles that you can easily find with your mouse etc. The problem is, this is not true. They boast that on screens of 1900 x 1080 resolution you can have 80 tiles.

Whooppee! Er No.

I have a screen of 1900 x 1200 and it has 72 icons on the desktop. Can I easily find the icon I want to launch a program? Yes, sometimes. But most of the time I have to scan the whole thing to find the one I want. And I organised that group of icons. It is not efficient. Sometimes despite knowing what I want is in my list of 72 icons I can’t find it and I give up and go and find it from the Search menu anyway.

And Microsoft want all of us to work this way in future. Yikes!

And of couse when you can’t find it you then have to use the new Search functionality. Which I’ll tell you about now…


The old Start menu had a search function on it. In Windows 2000 and Windows XP this was really efficient – you could tell it where to search, what to look for in a document all before starting the search. No time wasted.

In Windows Vista and Windows 7 this was awful, very inefficient. You had to start a search you knew would fail, then bring up the search widget, choose custom and flail around in that awful user interface then get the search (with no progress indicator showing which directory was getting searched – we had that in W2K and XP).

The new Windows 8 search function – there isn’t one. Wait, there is. Just its invisible. Which is why I didn’t know it exists. Its that discoverable that an MSDN member of 17 years could not find it.

Yes, I know I know, I must be an old fart, but seriously. If I can’t find it can my parents, can my girlfriend, can the people working in the Vetinary surgery down the road? No they can’t.

To use search in Windows 8 you have to switch to the start screen and then type. That’s right type into nothing, just type. Apparently this nonesense is inspired from mobile phones. Thats great. Except it isn’t. I’m happy with that metaphor on a phone. But I want my PC to behave like a PC. What is efficient for one device is not efficient for another. If that were true we’d control aircraft the same way we control submarines. Unsurprisingly we don’t.

Furthermore when you switch to the Start menu to make your search you lose the context of your work – so god help you if were hoping to read some text from a website or a document to type into the search widget. How efficient is that? They just made you add an extra step – you now have to copy and paste the text from the website or document. What? The text isn’t copy and pastable? Oh dear, no you’ve got to copy the text off the document onto some paper, switch to the Start screen and then type what you’ve written on paper into the invisible search widget.

Sound exaggerated? Perhaps. But I can see this happening. Especially with less au-fait users like the aforementioned people at the Vetinary surgery (I am actually thinking of some people I know – good with animals, not so with computers – just things to use, on the Desktop!).

But I don’t know what I’m looking for

You don’t know what you’re looking for? So how will you know when you find it? Well, I can kind of remember its name, but not really, but I’ll know it when I see it.

Its like being in a library in the philosophy section and you’re not sure what you’re looking for then all of a sudden you hit the section of Thoreau books and out pops the one you’re looking for. How could I have forgotten its name? Silly me.

Well indeed. And its the same with programs. Often I can’t remember who wrote it (so I can’t select by Vendor) or what its exact name is. My developer machine has 94 menus on the Programs section and most of those have submenus with between 5 and 10 items on. Some have more and some have more submenus. That is a lot of program names to rememeber. Unsurprisingly I don’t rememeber them. I have better things to devote my memory to. But I can browse those menus relatively easily and with reasonable speed.

The main reason I can do that, browse between 450 and 900 items is because each menu only exposes the data under it when I look at it. If I had to look at all 450-900 items at once it would impossible. Most of the items I never look at the submenus, I just have to read the main menu entry and then move on or occasionally check the contents.

It is an efficient compromise between having to use search to search for all executables and then dig through the ridiculous number of results (very slow) and the other extreme where I have to remember them all.

The problem with Windows 8 is that there is no Start menu to browse. I have to use search to find what I want. How can I find what I want when I don’t know its name? Answers on a postcard please (or leave them in the comments section).

Live Updates

A few of the comments in support of Metro in the MSDN blog comments indicate that the poster of these comments thinks that people with views like mine are dinosaurs that can’t see the value of having updating live tiles. What a limited and narrow view.

Such live tiles were previewed in Vista with the gadgets on the screen. Sure they are useful. I haven’t said they are not useful. I have said I don’t wish to work that way. These are different concerns just as some people wish to drive manual cars and others don’t want that chore so they choose an automatic car. In fact that is not a bad analogy, Metro would be the automatic car (less control) and Start Menu users would be driving a manual car (more control).

I have no need for an email tile keeping me up to date with my email. Why? Because I work with 2 computers and three screens. One computer is dedicated to handling email and browsing the web. The other one is for development work. The email machine has an email browser open all the time. Even if I had one machine I’d have the email client open all the time. An email tile is a waste of CPU time for me.

Also, if you know anything about productivity the last thing you want is a screenful of animated tiles doing their thing in your peripheral vision. Nice eye candy for the easily impressed. Boring annoyance for those of us that want to get stuff done.

Ubuntu One

Linux? Who cares about Linux? Why suddenly talk about Linux?

Well they’ve already done this particular experiment for you. The most recent release of Ubuntu comes with the Ubuntu One interface as the default. This is a user interface that makes you access everything via tiles (admittedly more restricted than Metro) and forces you to work with single screen applications.

I first tried it on my netbook. My initial thoughts were that it was good. Web browser and email clients come up full screen (all 800×600 of it!) and I could browse the web OK.

Then a few weeks later I thought I’d install Ruby On Rails on it and take a toy project away with me for a bit of tinkering while on a break. What a disaster. Totally impossible to get anything done in these single whole-screen environments. I spent a good deal of my time in the task switcher moving one window to the front, finding another, then moving that to the front and so on.

That installation of Ubuntu got replaced with the standard Ubuntu classic and all future installations are setup deliberately to exlude Ubuntu One. If you read around the web you’ll find lots of power users also hate Ubuntu One. Just like the power users complaining on the MSDN blog about Metro. You’re taking control (and thus productivity) away from your best customers.


The Windows 8 Start Screen covers all your screens. Not user friendly at all. Completely stops any context. As far as I am concerned losing even one whole screen is way too much, especially when you consider how efficient and non-context losing the start menu is.

If the start screen could be encompassed in a resizable window so you could move it whereever you want, or minimize it out of the way that would be useful. This in addition of course, to actually having a proper functioning start menu.


Many complaints have been made about the inability to kill tasks in the Metro interface (all you can do is suspend them). Also the lack of support for multi-tasking windows is a real productivity killer.

These complaints remain un-addressed by the Windows 8 developer team.

No Compromise

The Windows 8 developer team seem completely unconcerned that those of us that want to use their PC to do work do not wish to work in a fashion that is dictated by the needs and desires of those whose only use for a PC is to consume the web/youtube/facebook/email on their tablet or gaming PC.

Both groups of people can be accomodated.

  • Business users. Leave our Windows Desktop alone and give us the Start menu we know and love.
  • Home users. By all means give them the tablet UI you have designed Metro for.

Why can’t this be a configurable option? A powerful Start menu option for folks like myself and the Metro interface for people that think search is a useful replacement for the Start menu.

User Experience

The user experience that I have had with Windows 8 Developer Preview has been extremely poor. Open source operating systems like Haiku give you a better experience out of the box.

Dog Food

I really do wonder if the Windows 8 Developer team is using Windows 8 to develop Windows 8. And I mean everyone, the management team, everyone that has to use office, powerpoint, email, MS Project, all the development team, including people using WinDbg and Visual Studio. I can’t believe they are because the loss in productivity would be huge.

I have to conclude the only people eating the Windows 8 dog food are the home consumer testing group that want a tablet/phone/home-user user interface.


I hope that having read this far you realise that the problem with Windows 8 Start Screen is not the start screen itself. It is the drop in productivity and the horrible context switch from Desktop to Start Screen (which itself is a productivity issue) that are the issues. We know what is productive for us. And, although you think you know best for us Microsoft, you don’t.

I’ve already experienced Windows Vista/7 search and hate it. I don’t want to have to use Windows 8 search even more than I already have to use Windows 7 search.

Keep search as what it is good for and allow me to browse for my files, productively, using the Start menu.

Windows 8 #fail

I hope that when Windows 8 finally debuts people can look back at this article and think “Thank God, it didn’t happen, Windows 8 is still productive”.

Otherwise we’ll all be walking around in T-Shirts with the slogan “Windows 8 #fail”.


User experience, alcohol and Buddhism

By , March 7, 2011 1:31 pm

Last Thursday I attended an event hosted by Red Gate Software with the topic “User Experience in Software Development”. I also met with Roger Atrill at the event – we used to work together at (the now defunct) Laser Scan. After the event I went swimming, swam 1km (physiotherapy) and while getting changed chatted with another swimmer about my evening (two bottles of Grolsch provided by Red Gate, 3 and half talks – had to skip half the last one to get to the swimming pool) and the swimming. We were both surprised my swimming was still quite rapid despite the 1 pint(ish) of Grolsch I had drunk. It was during this chat I realised a connection between Buddhism and user experience testing.

The event consisted of four talks about user experience.

The first talk was about the challenges of creating a website for a councill and balancing the conflciting desires of many council service providers and a useful user experience finding your way to the right part of the website to find out if (for example) your local school is closed because of the snowfall overnight (no big deal where you live, but snow is rare in the UK and a heavy snowfall causes chaos here because we are not equipped to deal with it).

Red Gate
The second talk was about how Red Gate managed the challenging task of going from their 1500 page hard to navigate website to a smaller 750 page easier to use website. Some of the techniques they used were one room for all the work, complete transparency, post it notes for everything, anyone (even non-ux team) could walk in an annotate prospective design changes, allowing people to comment on work when the ux team were not present. Don’t put colour in your mockups because then people argue about incorrect branding rather than looking at the ux. Don’t create real webpages, keep it on paper or using mockup tools like Balsamiq, but even Balsamiq can be “too realistic”.

The third talk was about user testing from the perspective of someone whose users are mainly scientists and for whom computer use is only 10% of their daily task – the software needs to be easy to use and obvious. Simple things like naming items “Literature” is not helpful – too obscure. Choose a more useful name. And don’t use two tabs, tabs only work well when you have more than two tabs. Post it notes (super sticky, not regular) for everything and colour coded by topic to make things easier for analysis afterwards. Don’t talk too much. Everyone knows that one, but it still needs to be said.

Remote Testing
The fourth talk was about remote testing. I didn’t see much of this talk as the first three talks had overrun and I had to leave at a given time. Fortunate for me as I think this would have been the least useful of the talks (as I had already used some of the tools they were going to talk about).

Being present
One Buddha thinking about user testing of the key aspects of user experience testing is being able to observe without influencing the test. You can do this with isolated rooms and one way mirrors, but there is still influence at work – the fact that this room (and possibly this computer) is not the room the user normally uses. Or you can test at the user’s site in their normal room using their chair and desk. But you will need to be present and there will not be a helpful one way mirror (unless you are testing inside a police interview room!). Your presence may influence the test. In fact, it probably will. You will be tempted to offer the user helpful hints when they get stuck. Or maybe they are thinking and you ask them a question and break their train of thought. After all, you thought they’d gone quiet because they were stuck. Its a bit of Schrodinger’s Cat. You don’t know if its dead, but if you look it will be dead. Hmmm.

But there is another part to user testing. Separate from you, the tester, influencing the user. And that is being present in the moment. Actually watching the user, observing what they are really doing, not what you think they are doing. Not drifting off into some other train of thought, whether it be able why they clicked there five minutes ago, or what they’ll do on the next page (which you know really sucks and does need work), or about something unrelated like Star Wars or your girlfriend. You need to be present in the moment. Noticing what is happening, why it happened and noting it down.

In that respect I think user testing and Buddhism have more in common that most folks realise. Buddhism is all about being present in the moment. Not off on some fleeting journey somewhere else. Not in the past, not in the future, not in some drunken haze because you got blittered last night. Many folks think Buddhism and Islam ban the consumption of alcohol. They do not. But they do ban the consumption of such quantities that cause you to lose your focus on the moment.

Next time you find yourself drifting off in your user experience testing, think about changing your focus. Be present.

And if you find yourself too agitated to focus on user testing, you may want to consider some meditation classes (Buddhist or otherwise) to learn how to be calm and in the moment.


Panorama Theme by Themocracy