Tuesday, August 18, 2015

The save icon needs an update

I was planning to write a blog post on the usability of LibreOffice, specifically Writer, when I noticed that the screenshots I had taken from 4.3.5.2.0 and 4.4.4.3 both used the "floppy disk" icon for the "Save" action.

Icons carry meaning, the same as words. In fact, we use icons to replace words. In user interface design, icons convey the meaning behind an action, but doing so without words. This saves space on the screen, but also makes it easier for the same program to address multiple languages. Whether you have your system set to English or French or German, you see the same icons.

So it baffles me that the floppy disk continues to represent the "Save" action in so many user interfaces. You can see from these LibreOffice Writer screenshots, the "Save" action in both versions uses a floppy disk icon. I'll note that 4.4.4.3 is the latest version of LibreOffice Writer.

LibreOffice 4.3.5.2.0 on Fedora Linux (screenshot by me)

LibreOffice 4.4.4.3 on Fedora Linux (screenshot by me)

And it's not just LibreOffice that uses a floppy disk icon to communicate "Save." Microsoft uses the venerable floppy disk icon in the latest version of Microsoft Office:

"Microsoft Word on Windows 8" by Source (WP:NFCC#4). Licensed under Fair use via Wikipedia.
Do an image search for "save icon" or "save button" and you'll quickly be presented with floppy disk images. There's even a floppy disk icon on Entypo called "Save." The floppy disk has become that ubiquitous.

But what is my problem with the floppy disk icon? No one under 30 recognizes it as a floppy disk. It is just some funny-looking square that means "Save." Users have been forced to learn the meaning of an icon. But the icon is supposed to be obvious in its meaning.

The "Save" icon needs an update. We need to change the "Save" icon to be meaningful to a variety of users, not just those that grew up with the older technology.
image: Free Icons Download

Sunday, August 9, 2015

Gina's usability test results (part 1)

I wanted to point everyone to Gina's usability test results (part 1), as part of her internship with Outreachy. Gina has been working on a usability test of GNOME, and in this part of her analysis, Gina provides an overview of the usability test results: what went well, and where testers encountered difficulty.

Reading through the results, it seems Gina's testers complained most about lack of obviousness, and lack of feedback. They did very well with familiarity to other platforms.

I find it interesting that testers were confused about the application menu, and the use of right-click instead. I think more work is needed in the application menu. In my previous usability tests, menus were an important part of usability. In GNOME, some actions are in a “gear” menu, while other “top level” or “global” actions are in the application menu.
image: Outreachy

Friday, August 7, 2015

Open source is coming to campus

I wanted to share an upcoming open source software event that we are hosting at my campus, at the University of Minnesota Morris. Working with OpenHatch, we are connecting mentors with students and members of the community for a one-day event. We'll talk about what open source software is, and help people get started with their first contribution to open source software projects.

I will be there as a mentor, and I am already planning a few ideas:

1. Atomic Tanks
A trajectory-based tank warfare game, similar the old Scorched Earth game for DOS, or like a very simple version of Worms.

Project ideas:

Very little/no programming experience required:
The game has some typos and misspellings in the in-game text. These should be fixed and patches submitted. (For example: when selecting "Fuel" in the in-game "shop," the description is "Allows the tank to move across level terran." — should be "terrain.")

Some programming experience helpful:
I submitted some color palettes several years ago, and one (which I think of as the "clown" color scheme) is very hard on the eyes. Let's update the color palettes to use better-looking colors.

Moderate programming experience necessary:
The color scheme in the game for menus and other interface elements is not great. Yellow on blue for an info box, with black on a green gradient for the in-game "shop"? Let's pick some different colors. At the same time, can we update some of the icons and buttons and spacing around menus and info boxes so things are easier to read?

Advanced programming experience needed:
The game uses a very basic in-game font. It would be nice to modify the game to use a nicer-looking font.

2. GNU Robots
A programming game where you write a program for a simulated robot, then set him free and watch him explore a virtual world. Uses Guile (like Scheme) as an in-game robot programming language

Project ideas:

Some programming experience:
When I wrote GNU Robots, I provided only a few simple demo robot programs, and they weren't very smart. Another developer (Kyle) contributed two other demo robot programs: greedy.scm and mapper.scm. Let's write some better demo robot programs, robots that better demonstrate how to explore the space. Requires knowing Scheme, although a beginner knowledge should be sufficient.

Some graphics experience, no programming:
The game graphics are implemented as separate 16x16 XPM graphic images. These were very basic images that Eric, Tom, and I quickly put together, and always meant to fix later, but never did. If you know the GIMP or Photoshop, let's create some new XPM graphics.

Documentation experience - some programming experience helpful but not required
The Robots-HOWTO documentation is not very easy to read. I wrote it over lunch one day when I was getting ready to make a new release. Let's improve the Robots-HOWTO so it is more helpful to people who want to built GNU Robots, and those who want to write robot programs for it.

Helping others to get started in open source software is very important to me. I have been involved in open source software since about 1993, but I'm probably best known for FreeDOS, which I started in 1994 as a Free software alternative to MS-DOS. I wrote many of the original FreeDOS utilities, and several underlying libraries including implementations of getopt and catgets. FreeDOS is still going strong in 2015, although we have fewer active developers.

I also wrote several other open source programs, including GNU Robots. And contributed to dozens more including gtkpod, Atomic Tanks, GNU Emacs, Freemacs, and Hpcc.

More recently, I help with the usability of open source software. In Spring and Summer, I mentored an internship with the Outreach Program for Women, and Outreachy in examining the usability of GNOME. This Fall, I am teaching an online class at Morris on the usability of open source software, mostly following the model from the internships.

At work, I am the Director of Information Technology at the University of Minnesota Morris.
image: OpenHatch