When we started writing Nuno, we really wanted to make it simple and easy to use. That's easy to say — but not as easy to do.
Most of the software products we write at CherSoft are large systems. These products are used every day by trained professionals, who can afford to spend a week learning how to use the product, if it means they can do their job much more efficiently later. For Nuno, we've been trying hard to adjust our mindset. Our customers are mostly not trained professional navigators, they won't be using the software every day, and we hope they are more interested in enjoying a weekend away on their boat than they are in fiddling with navigation software.
For Nuno, we think “easy to use” means
- People should be able to put the software onto their computer easily to try it out.
- People should be able to see quickly whether Nuno suits their needs
- People should be able to learn how to use Nuno even if they are not confident with computers. They shouldn't need to read manuals or search online.
- People shouldn't be able to break anything or get confused about what they have done with it
- The Nuno experience should be all about sailing a boat or planning a trip, not about struggling with software
As we started out, we had a really clear idea of what we don't like in the software we use in our daily lives. We don't like menus. We don't like dialog boxes. We don't like having to remember where things are or what they do. We don't like enormous seas of confusing options and settings.
As we went along, we quickly discovered that it's not easy to write simple software. Now we've finished, I think we've done a reasonable job of it, and I've put together this list of the principles we leaned on to guide us.
Ubiquitous direct manipulation
If I don't like something, I want to be able to grab it and change it. I don't want to go hunting in a menu for an option.
In Nuno Navigator, to change the chart orientation you grab the North arrow and drag it round.
Minimal mouse mileage
Once I'm familiar with a particular program, hiking my mouse around just slows me down. If I have to refocus my attention constantly and move my mouse away from what I'm working on, I'm likely to keep forgetting what I was trying to do in the first place.
The “ubiquitous direct manipulation” I mentioned earlier is good for maintaining focus. If I decide I want to change the name of a point, my mouse is probably near the point name already, so it's easy to mouse to the point name and edit it there on the chart.
I'm also a big fan of “Context Menus”, where each item has its own mini menu. If I've drawn a point overlay on the chart, and I want to change the symbol shown on the chart, I click on the point with my right mouse button and select a new symbol from the list. I don't have to move my mouse far and I don't have to wade through lots of menus filled with irrelevant options. The only options in the menu are the ones that make sense for a point — that's why it's called a context menu!
Everything is reversible
Right from the beginning we knew we needed good support for Undoing things. We want everyone to be able to play about with Nuno in the confidence that whatever they do, if it doesn't work they can just hit Undo straight away.
Like newer versions of Microsoft Office, our Undo / Redo menus give you a drop down list showing what you've done, so it's easy to understand what you did and what you are undoing.
We use "hover tips" to show you how you can interact with something.
Don't make people feel stupid
Have you ever gone to make something special for dinner, and discovered you don't have the right ingredients? Or come back from the hardware store with a new drill, only to find out you don't have any drill bits? Have you ever typed your credit card number into a website, only to be told you are wrong, and credit card numbers can't have spaces in? Did you forget where you saved a document?
One of the reasons I like working in software is that we can often fix problems like these. Some of the time we can just fix the problem automatically and you'll never know about it. For example, if we need your credit card number without spaces in it, we can just make the software remove the spaces. When we want to talk to your GPS we auto-configure it by ourselves instead of asking you to tell us the settings. Some of the time we need some help from you, but usually we can just ask you a couple of questions and then let you get straight back to what you were doing. We try not to stop you and put up a big sign saying “No! Wrong!”.
We're fairly pleased with how Nuno turned out, but we're sure we could make things better. What do you think? Do you find Nuno easy to use? Has Nuno ever left you feeling stupid or wondering what happened? Let us know about your experiences in the comments.