Interpreting Usage Data

March 20th, 2007

There is an awful lot of money spent on user interface research, carefully tracking what users do with an application and trying to find ways to improve based on that. It's a shame that so much of it is wasted because the captured data is misinterpreted.

The Office 2007 Ribbon is a classic example of this, it was clear that Microsoft had real world data to back up their decisions about the Ribbon, they'd spent millions on it. Yet somehow it just didn't seem right to me. Turns out at least Damien agrees with me. It turns out that despite the fact that usage data shows that users work in different modes, designing an interface that reflects those modes isn't ideal.

Similarly, just because the most commonly used command is paste, doesn't mean that you should add additional features to it, particularly if it requires adding more complex UI. From Andrew Robert's Office UI Tidbits (UPDATE: That would be the internal blog but NetNewsWire remembers my password automatically. Sorry Andrew, on the plus side, possible improvements to paste options shouldn't be too top secret…):

I am always blown away by how much people love our Word copy-and-paste support. I guess this is why.

We should think about how to improve it even further… such as having the paste options in a toolbar drop-down or having a funky floaty thing after a paste?

The connection seems obvious - if a feature is heavily used you should add extra functionality there because clearly users like using that function. The problem is, users like using that function as it exists now. Our Word copy-and-paste support is exceptionally popular because it just works, you don't need to mess around with funky little floaty things and toolbar drop-downs - just hit control-V. What we should improve about our Word import is the fidelity of HTML import, how well we clean up the HTML and what we can do to avoid the user ever having to go through the Paste Special dialog to pick special pasting options. The thing is, if we're doing our job properly, there shouldn't be a need for funky floaty things or toolbar drop-downs, it should just work. Right now it pretty much does, but there's always plenty of room for improvement.

I found it quite amusing when Andrew's post came in the other night actually, because not two minutes earlier I'd had to explain to my Fiancé that you can just hit escape to get rid of that "annoying floating thing" that appears every time she pasted and got in her way. Word had done precisely what she wanted when she pasted and then ruined it by distracting her with pointless UI. Oh well.

On Life At Ephox

March 20th, 2007

Rob posted about his second month at Ephox and it made me realize it's been a while since I've taken the time to reflect on how things are going for me. Warning, lots of rambling ahead with no attempt at editing.

Towards the end of last year it had gotten too long between holidays and I was getting stressed out and generally sick of work in general. Fortunately, if you haven't taken holidays for a long time you also have a lot to take, so I took all of January off to recuperate. Since then I've been working on my own for the most part with the rest of the team tied up with other projects. I must admit, I quite enjoy going off and coding stuff on my own, still doing TDD and all the other XP practices except of course pairing. It does however tend to let the odd thing slip through and we've seen a few issues crop up that we've had to fix. Fortunately, since we run the latest builds internally the problems were caught before clients saw them. I'm really not sure if a pair would have picked them up anyway, but it may have helped.

Last week we got the major features of the next release completed and I settled in to clear out some of the bug backlog that's built up. We still haven't got defect management settled into our XP process, but at least we're not introducing as many as we used to so hopefully in time the defect rate will be so low that management becomes simple. There's something quite satisfying about churning through open bugs and getting them fixed. Particularly when each morning you can check the open bug chart and see it plummet downwards.

Today, at last, we freed up another member of the team to come and pair with me on the bug fixes - keep me honest and get some experience with this code base. There seems to be something about having a pair that makes me lazier. I had been really good about always adding tests for every bug, but today I tried to dodge that a few times for some reason. Fortunately Jack's a stickler for the rules and pulled me back into line. It was good having someone there to challenge my assumptions, but I need to get a lot better at navigating instead of trying to drive all the time.

I realized on the way home this afternoon that it would be really good for me to work on a code base that I have no idea about with a pair that's an expert in it. I've worked at Ephox long enough that I have a really strong knowledge of our editor's code and the general technology around it, so even in areas that I haven't seen before I tend to feel pretty comfortable. Even our various integrations center around EditLive! so much that they don't go far enough outside my comfort zone to really challenge me. Maybe I should pair with Andy next time he has to work with EditLive! for Windows - a bit of VB should make me feel humble pretty quickly. Alternatively, since I'm heading over to JavaOne this year, maybe I should track down someone from a random open source project that wants to pair on something…

Overall things are going well, getting back into pairing will be a big challenge for me but one that I'm keen to tackle. I'd like to pay more attention to some of the fledgling community projects like LiveWorks!, but I'm not entirely sure where they should be going or how to get them there just yet. Working with upper management to get a clearer idea of those things should be interesting too.