LauraCowen.co.uk

Laura's view from her world

How do you help the user decide?

September8

One thing that I often debate with developers is why the error message  “An unexpected error has occurred.” isn’t a good message. Afterall, to the developer, the error *is* unexpected; otherwise, they’d have created a better error message for it.

From the user’s perspective (who the software is written for, after all), they don’t want to know that the error was not expected by the people who wrote the code. The user wants to know that the software (especially when it’s important to their job/finances/life) is in control and knows *exactly* what’s going to happen when you press a certain button. The user has to be able to trust the software and trust that the developer(s) of that software knew what they were doing when they wrote it.

So it gets difficult for the developer/designer when they have to make a call that potentially risks breaking that trust. For instance, supposing you (as a developer) were to provide a new feature that is really beneficial to the target user but there is a small risk that something will go wrong in a big way for that user if they try to use that feature. As developer, what do you do?

Typically, I’d predict, you would make the feature optional so that you aren’t forcing the user to use a feature that could potentially (however unlikely) cause them serious problems. If the user does try to use the feature, you provide scary warnings of what could occur in certain circumstances. Hopefully, that will put them off unless they really know what they’re doing.

Okay, that’s the developer’s perspective. And it’s entirely understandable and even laudable that the developer is doing what they can to keep the user safe.

So, switch now to the user’s perspective. The target user is computer literate but had no knowledge of the development of this feature or who developed it. This user could benefit greatly from this new feature but when they attempt to use it, they get a scary warning message which, as intended, makes them think twice about whether to use the feature or not.

Now what does the user decide? Granted, risk is all about weighing up the costs and benefits, and to one person the relative benefit will outweigh the possible cost. To make a decision, however, a person needs as much information as they can possibly get. In this case, the only (and therefore critical) information is provided by the developer; that is, how informative and/or scary the warning message is.

If the developer provides a lot of information that makes the feature look useful, the user might just choose to use it. But if the developer makes the warning message as scary as possible, the user will probably opt not to use it.

The developer wants users to use the new feature because they’ve made the effort to develop it and it really could benefit many users. The developer, however, doesn’t (understandably) want the responsibility of trashing someone else’s laptop in some way. So the result is that the developer pushes that responsibility off on to the user, when in fact the developer has far more information available to help them make that decision than the user has.

If you’re the user, though, how are you supposed to make that call?

For example…

Computer Janitor is a utility that was introduced in Ubuntu Intrepid (I think) so that you could run it to clean up old kernels that are no longer needed, and other bits and pieces of packages that are no longer used. When I first tried to use it, I raised this bug, which, it turned out, had this duplicate.

Essentially, CJ could potentially remove packages that you might need. So when you try to use it tries to scare you into deciding whether you really really want to risk it. I raised the bug because the scary words don’t actually help you decide – in that, if you aren’t easily scared by such things, the scary message only determines how scared you are – not how well-informed you are to make a decision…and isn’t going to help when you break your computer.

What would maybe be more helpful is if CJ used a stricter set of criteria when selecting which files to remove. In this case, CJ might leave on your system  some files or packages that could be removed, instead of the reverse where it might incorrectly remove files or packages you need. The former is surely the preferably outcome for the majority of users (who would rather have a few unneeded files on their machine than a broken machine).

It would also be possible then, for the minority of users who really really know what they’re doing, to selectively delete the files that probably can be removed but CJ isn’t certain about. In this case, users are only presented with a decision to make if they actually seek it out but the majority of users are still able to benefit from the safer (if slightly less effective) behaviour. In fact, it would be better overall if CJ ran automatically during an Ubuntu upgrade so that the user really doesn’t have to care about it (unless they really really want to).

This is not intended as a dig at Computer Janitor as I think it’s a useful feature in general and I’m kindof surprised that this kind of clean-up wasn’t being done already whenever you do an upgrade of Ubuntu. Also, I think the bugs I’ve linked to above have caused a bit of a headache for the developers.

This issue of forcing users to make ill-informed decisions is a very common occurrence throughout software development and is certainly not specific to Ubuntu; it’s just that Ubuntu is a public development effort and provides examples that are relatively easy to explain. :) So please don’t be offended if you are part of the development teams for either Computer Janitor or Ubuntu!

So, if you, as developer/designer, find that you’re having to give scary messages to make a user *really* decide if they want to continue, consider stepping back from it, thinking about the possible decisions the user could make and what the consequences of those decisions are. Even talk to some of your target users and find out what decisions they’d make. Just because you can successfully scare them off doesn’t make it a successful feature – if the feature is potentially useful to the user, they should be able to safely use it (no matter what level of fear you instill in them). Then look at the bigger picture, think about it in a different way, and see if the decision can be made for the user, or the decision can even be removed altogether.

I’m sure that it’s not as easy as it might sound. And it’s not always easy to recognise situations like this. I’m hoping, though, that, having thought this through while writing this post, I’ll actually remember it in future the next time a similar issue occurs for me.

tagged with:
posted on 2009-09-08 at 09:09 pm in Human-Computer Interaction, Open Source | 1 Comment »

Gallery 3 beta 2

August17

It’s taken me a while but I’ve finally got round to installing and trying out Gallery 3 beta 2. It’s still all shiny and new and I’m still looking forward to it being released (and hoping Dreamhost adopt it immediately).

It took me a bit of effort to get it installed because between beta 1 and beta 2, I reinstalled my laptop. Which meant that I’d none of the dependencies installed still. One thing I would suggest to the development team is a good set of installation instructions to help beta testers along. I did, of course, miss out on the beta upgrade option which would probably have seen me nicely on my way. Instead, though I was condemned to wrestle with Apache2 and, not normally having any contact with such things, I had to wait until Tony was around to debug my problem.

Anyway, all installed, I successfully uploaded my holiday pictures and, unlike in beta 1, I could actually view them:

album-cropped

As you can see in the screenshot above, when you hover over a photo, a small toolbar appears with commonly required actions on it (I think this toolbar is a fantastic idea). This was there in beta 1 but I think there are more options now. You can now:

  • Edit this photo
  • Rotate 90 degrees counter-clockwise (which is perfect because this is usually the first thing I need to do…)
  • Rotate 90 degrees clockwise (…or this)
  • Move this photo to another album
  • Choose this photo as the album cover
  • Additional options > Delete this photo (This one is a drop-down rather than just a button – does this mean that there are other ‘additional options’ to come? On the single-photo view pages, this option is just a wastebin button, which is easier if there are no other options to fit on.)

So, what else has changed…?

Well tagging seems to be much the same. As I replied to a comment on my previous post, you can only add tags (on the single-photo page or on the album page) or delete tags (Contents > Tags). It would be good if we could ‘manage’ tags by merging two tags or renaming tags. Renaming would be useful (saves you deleting and having to re-tag all those photos with a new tag). Merging maybe less so but if you’re talking huge numbers of photos and you find you’ve used inconsistent tag names, merging can be useful.

If you’re in the album view and you click the slideshow button (top-right), you get a rather slick-looking slideshow appearing…all Web2.0-y. :) If you’re in the single-photo view, the slideshow button doesn’t seem to work – it thinks there are no photos to show. I’d expect it to start a slideshow of the album to which the photo belongs, or the tag group..hmmm not sure which. Maybe you should be able to select from a drop-down menu button which…

One other thing about single-photo view: there’s a button that says ‘full size’ but I’m not convinced (though I’ve not checked) that it is actually full size that it displays at when you click it.

Other things that I played with:

  • Dashboard lets you edit what widgets are displayed, portal-style. Either the wide version in the centre, or the narrow version on the right-hand side.
  • Clicked Settings > Start translating and threw me back to album view and no obvious way to translate. I assume it’s not implemented yet.
  • I like the hiding of the scary-looking settings in Settings > Advanced and the scary message. I’m not touchin’ nothin’!
  • Content > Tags lets you manage tags – delete them only so far it seems.

And that’s it for now. I’ve just run out of time right now and wanted to post my feedback so far. In general – still looks great!

P.S. The permissions UI hasn’t been updated in beta 2 but a comment on my previous post asked what I thought of the proposed UI for the permissions (http://codex.gallery2.org/Gallery3:Permissions_UX). I think that looks way way better. I like the shortcut of just pressing preset buttons. That’s probably as much as I’ll ever need. You do get the nice shiny way to do advanced permissions if you so need it still so no one is left out.

Generally, all good. :)

tagged with:
posted on 2009-08-17 at 09:08 pm in Human-Computer Interaction, Open Source | No Comments »

Gallery 3 Beta 1

June22

So, a bit back, I wrote a post about how Gallery have been focusing on making Gallery 3 easier to use.  So when Beta 1 came out, I gave it a go on my laptop.

Uploading images (first things first!)

After installation (which was a reasonably slick experience, although I was slightly confused by having to install apache2, php, and mysql first), Gallery neatly leads me through installing the first photos to my gallery. The browse dialog in which you select the photos you want to upload is slightly odd because as soon as you’ve selected the photos in the window, they start uploading. There is a ‘Done’ button but that seems to refer to having ‘done’ the upload, as opposed to having ‘done’ the selection of photos ready to upload – which is what I expected and was slightly surprised by the uploading starting before I expected it to. Wonder if this is intentional…cos it’s a little bit weird?

gallery-uploading

When the images have uploaded, they’re displayed in a tiled layout on the page (although, at the moment, the photos themselves don’t display – I guess that’s the joy of betas ;)   ). The cool thing is that when you hover over a thumbnail, a small toolbar containing the most common tasks (edit, move to another album, set the photo as the highlight photo for the album, delete) appears over it. I did just try to take a screenshot but sadly I’ve forgotten my password so I can’t log back in…and the password reset function hasn’t been implemented yet… :(

Update: turns out I took some screenshots when I was playing:

gallery-imagetoolbar2

Tags

Oo, can add tagz! (That *is* actually what I wrote in the notes I made.) You just enter a tag, one at a time, then press ‘enter’. Tags were the reason I was looking at Zen Photo when I became despairing of Gallery 2 (and wanted cool tags like I have in WordPress and Delicious, instead of just sorting by albums). It’s easy to manage the tags you’ve created from the menus (Admin > Content > Tags).

gallery-tags2

Album permissions

And then we get to album permissions. On Gallery 1, the permissions were slightly clunky but most could cope with them. On Gallery 2, the permissions were incomprehensible and when I googled for help I found other people who were similarly baffled and no actual answer to my problems. On Gallery 3, they’ve rightly got rid of the obviously UNIX-style permissions.

You can create different users and groups for your gallery. A reason for creating other users (who aren’t administrators) is so that you can section off albums so they can be selectively seen, for example, by family members, by friends, by work colleagues). When you create a user, you get the option to check the box ‘admin’ which presumably gives the user administrative access to the gallery. The users makes sense but I’m slightly confused as to the groups. I’ve nothing against the groups per se (I can see they might be useful for administrators of massive gallery sites) but I think groups should be an ‘advanced’ option that is not required for use by most people.

I can’t quite work out the ‘Registered Users’ group – it seems to get everything added to it apart from ‘guest’. I added TestGroup group and created two users (TestUser and test2) which I dragged and dropped to the TestGroup group. Worked nicely.

You set who can access each album by clicking Options > Permissions when that album is open, which opens the Edit Permissions dialog box. You then indicate the permissions that each group has on the current album. I like that you work by album but I’m not so sure about dealing with groups. I feel that it’s a bit of a ‘power user’ task to be working with groups – you have to have planned and organised your groups to be able to use this dialog effectively; it also adds a layer of complexity to understanding what permissions an individual user has.

gallery-albumpermissionselected

Thinking of my friend who uses a gallery we host, she (and I) would find it a lot easier to work with the users themselves – maybe with a power user tab option to switch to working with groups. I’d much rather say that user ‘family’ can access this album, rather than set up a group called ‘family’ with a user called ‘family’ in it (there’d be little point, typically, to separate out different parts of the family to be multiple different users within the group). I agree that groups can be useful but I just don’t think they should be the default.

Slideshow

And finally, the slideshow facility (for viewers of your gallery rather than for you a gallery owner/administrator)  is provided by a third-party Gallery plug-in which is a little slow to load but you get the option to install a browser plug-in that gives you some client-side loveliness.

Overall impressions

Looking good. :)

tagged with:
posted on 2009-06-22 at 10:06 pm in Human-Computer Interaction, Open Source | 4 Comments »

So what is consumability?

April30

I was going to explain but Carl Kessler sums it up rather nicely here:

Usability is more than a pretty face (or a good user interface)

(Yay! Someone else who gets annoyed when people assume usability == user interface.)

tagged with:
posted on 2009-04-30 at 09:04 pm in Human-Computer Interaction | 1 Comment »

Gallery 3 – lessons learned in consumability

April13

As a long-time user of the Gallery software for our photo gallery, and having recently totally fallen out with Gallery 2 (the software, not the people who I’m sure are lovely), I am just a little bit excited to read about the all-new Gallery 3 version which is now in its alpha release cycle. In particular, this insightful paragraph which nicely sums up the fundamental problems with Gallery 2:

Gallery 2 does many things for many people and this diversity has made it unhealthy. The code base is too complex and over-engineered because it was designed to fix every single thing that was wrong with Gallery 1 (Second System Effect) leaving its scope hazy and broad. And while the Gallery 2 code supports DB2, MSSQL, and Oracle we don’t actually have anyone on the team that knows much about them, so there is nobody to fix bugs or add features in these areas. Gallery 2 was designed from the bottom up with architecture and design patterns first, so the User Interface and User Experience need a ton of work! This is shown by the huge number of strings and documentation that need to be provided in the product for people to understand it, and multiple attempts for tech writers to document Gallery 2 have all failed. Lastly, the product is immensely complex which forces developers to take months or years to get up to speed. This makes it very hard to attract new developers, and that makes us sad.

(Gallery 3 Begins)

This paragraph, in its analysis of where they went wrong in their approach to designing Gallery 2, could easily be applied to numerous other pieces of software; it epitomises the approach taken by so many software developers (both Open Source and proprietary):

  • Not clearly identifying who the software is for and what they want to be able to do with it. And not sticking with that definition, with the result that the software tries to become all things to all people and fails everyone by being too complex.
  • Reacting to, and implementing, every user request indiscriminately. Yes, listen to users but do not be led by their requests. Users are not designers. They just want to do what they want to do and don’t really care what other users want to do. Some requests will conflict with other requests. Which is why you must have a clear understanding of who your users are, what their skills are, and what their goals in using your software are. Only then can you make informed decisions about which requests should be absorbed and which should be ignored. You can’t please everyone but, as long as you know who they are and you’re careful to design for them, you can please the people who you want to use the software.
  • Making the software difficult to maintain and support. Aside from lacking contributors to the project, it increases the risk that when updates are released, they break other parts of the software because no one in the development team really understands how everything hangs together.
  • Expecting documentation to paper the cracks in the software’s design. Documentation (not just the manuals but the labels on the User Interface or the titles in a wizard) has an important place within the whole product but always check honestly for whether the documentation is really necessary or whether it’s just covering up for a dodgy bit of design.
  • Assuming that User Interface is the same as User Experience. The User Interface (UI) is only a part of the User Experience. One example in both Gallery 1 and 2 (though it’s way worse in Gallery 2), is the expectation that users implicitly understand Unix-style permissions. The UI didn’t help but the underlying concept of Unix-style permissions makes the software (and the UI) so much more complicated than it needs to be. (Gallery 2 was way worse because I still can’t work out how to set permissions – and I do, to an extent, understand Unix-style permissions.)

I think it’s really cool that Gallery have openly recognised and acknowledged the problems with Gallery 2 and what they need to do to make Gallery 3 successful. The really hard part now, though, is to make sure that the development team don’t fall back into their Gallery 2 ways of thinking. That’s not to disparage the development team; it’s just hard to adopt new approaches. But it will get easier with practice. The clearly stated Gallery 3 list of priorities is encouraging and, while I’ve not looked at their progress in the alpha yet, I look forward to the first release.

tagged with:
posted on 2009-04-13 at 12:04 pm in Human-Computer Interaction, Open Source | No Comments »
« Older Entries