February 19, 2012
On QuantumGIS And User Experience

Intro

Looks like my morning rant tweet “QGIS needs a usability expert. Or a whole team of them.” has caused a little storm in the GIS community. I haven’t really expected any feedback on this, so i guess I can say that Twitter is the King. I’ve already e-mailed some of my views to the first QGIS person that contacted me (Nathan Woodrow), but for the sake of open discussion, I’ll expand on these thoughts in this post.

First of all, some disclaimers: I’m an occasional QGIS user. I only use a very limited subset of its functionality (mainly viewing shapefiles, since I think it’s the best shapefile viewer out there). I’m not really a GIS professional, at least not in the traditional sense. Half of my work time evolves around developing Maperitive, a cartography software mostly based on OpenStreetMap. The other half is doing work as a professional programmer in an IT company. And I’m not a usability expert, so what I’m writing here is based on my personal experience.

Usability Issues

OK, so let’s open QGIS. The first thing users will probably notice is a fair number of toolbar icons displayed at the top:

Don’t get me wrong: I’m not against toolbars. In fact, QGIS doesn’t even have a lot of icons, compared to some other apps (I use VisualStudio a lot, and it has a lot more toolbar icons). But there are some usability issues with toolbars:

Image-only toolbars

Image-only toolbars are difficult for users to comprehend. It is difficult for most users to remember all those images and associate them with functions. This is contrary to what most designers/developers think when they use toolbars in their apps. Yes, there are some classic icons that get reused all the time (diskette icon, undo/redo, cut, copy, paste), but these are exceptions to the rule. Most of the toolbar icons are application-specific, they tend to be small and look similar to each other. Icons are great enhancers of the information, but they are not the main information.

Possible solutions:

  • Instead of putting all of the icon groups to the top, separate them physically. Move map-oriented icons (like zooming) closer to the map, possibly arranging them vertically instead of horizontally. I know users can move them by themselves, but that’s not the point.
  • For more important icons, add the text description. Yes, this takes more space, but usability takes precedence over screen real estate.
  • Alternatively, think about using ribbons. I hate what Microsoft did to Office, BTW, but that’s because they chose to use ribbons as a replacement of menus, instead of just an additional way to access commands.

Microsoft introduced ribbons because the number of commands in Word menus grew and grew and it became more and more difficult for users to find things.

Some references:

Mouse Bias

One of the greatest productivity enhancements an application can offer is to provide users with the ability to accomplish their tasks using the keyboard instead of forcing them to use the mouse even for repetitive and frequent commands. That’s why it is very annoying to find that QGIS doesn’t have keyboard shortcuts for the most basic stuff like “Pan Map” and “Select * Features” commands. As I explained to Nathan, I find JOSM’s user experience on this much more satisfying.

Also, the toolbar tooltips must display the keyboard shortcuts together with the command description. This is about discoverability.

One other thing (this is a response to Nathan): I would avoid assigning important functionality (like map panning) to the middle mouse button. Maybe it’s just me, but I can’t remember when was the last time I owned a mouse with a proper middle button. Most mouses these days seem to have abandoned those for mouse wheels, which may be pressable, but that experience is lousy - the wheel itself is usually not ergonomically designed for pressing and it also tends to cause the wheel to move a notch or two.

Mouse-Pointed Zoom

Come on, people. We’re in 2012. All respectable graphics editors/GIS programs should zoom to the point indicated by the mouse and not the current map center. Don’t make me zoom and pan and zoom and pan and zoom and …. It’s 2 lines of code. The fact that QGIS actually has a user setting to switch mouse-pointed zoom makes it even worse. Why doesn’t it do that by default? If people can do it in JavaScript (Google Maps, OpenLayers, etc etc), Android, iOS, how come it’s not there in QGIS? Heck, even Garmin’s MapSource can do it (just tested it)!

“User Can Configure That By Herself” Mantra

Having a user setting for everything and anything is not a good alibi for not making the right design choices from the start. Someone once wrote (I can’t find the source now) something to the effect that each user setting represents a decision the developer didn’t want or couldn’t make, so she left it to the poor user.

So I cannot accept argument that users can assign missing keyboard shortcuts or extend the functionality via scripting. You’re assuming two things:

  1. All of the people who want to use the program have the level of technical experience comparable to you (as a designer of the application).
  2. All of the people will be willing to study the complete functionality of the program before actually using it for the purposes they came here in the first place. Most of them won’t and will instead put up with having no keyboard shortcuts or will go somewhere else.

Yes, having the ability to assign shortcuts or write extension scripts is great. But this will be used by a tiny percentage of your users. As I mentioned before, I use VisualStudio a lot and so do my colleagues. But I can tell you that I’m having problems trying to find somebody that assigns their own shortcuts in VisualStudio or uses other advanced customization functions. And they are all bright and technically savvy people (heck, they can even write some code). That’s not to say they wouldn’t benefit greatly from such customization, but most users seem to accept things as they are (even if they are unhappy with them). Call them lazy, but that’s the way it is.

On Open Source

I realize QuantumGIS is an open-source project. I understand realities of working in an open source project - I’ve done some OS work myself. But I don’t see that as an excuse for not taking user experience seriously. After all, the purpose of these projects is to make life easier for its users. And you don’t really need big investments to improve the usability - my talk of “usability experts” should not be taken too literally. There are a lot of things that can be done without too much time & money:

  1. braincrunch posted this