Improving Software Usability? 108
kevin_conaway asks: "Software usability is one of the hardest things to get right. Writing good, usable software is the holy grail of software development, yet few developers give it more than an afterthought. As a professional developer, I delight in writing software for other developers but shy away from writing an interface that the end users will see. What resources/books are recommended for improving your Human Computer Interaction (HCI) / software usability skills?"
here are a couple: (Score:5, Interesting)
"Think" is more web centric, but has many tips and insights, and is an accessible read cover to cover.
"Design" is a bit more pompous, and I don't agree with all points, but I give it high marks for making you take a different look at things you'd always taken for granted (Microsoft asked me a question at my interview from this book, btw).
A few more thoughts: don't confuse usability with user responsibility. If a task if tediously complex, it's going to be difficult to design a thin elegant easy-to-use interface. For example, photoshop can be amazingly obtuse to use, but there's a reason. Overall I give photoshop a "5" (out of ten) for their ergonomics, but I give them a "10" for what their application can do. I consider it partially my responsibility to climb that learning curve to do real work in digital graphics.
On the other hand, the unusable applications out there are infinite. My favorite example is Windows Media Player. I still have to figure out what to do just to play a CD with WMP. (And what's with the disappearing window?)
(Here's an interesting non-software example of horrible design: my parents have an RCA TV, not that old, but not HD. It has Videos 1, 2, 3 input, Cable/Air input, and VCR. There's a "SETUP" button on the front panel that lets you change the signal input from Cable/Air to VCR (or something like that), but the only way you can get Video 1, 2, or 3 is by tuning the TV channel to 91, 92, or 93 respectively. Until I found the manual and got to page 60 I was convinced the TV was broken.)
My favorite example of transcendental usability: Google.
(Some runners up: Picasa; Amazon.com (one-click), wish list, etc.)
(Also, I am opposite as to who I like to write for: I cringe when writing for other professional software developers, they're some of the biggest whiners about "what should be". I do however delight in writing software for clients. If you do it right, it's a genuine high.)
Re:here are a couple: (Score:4, Interesting)
For the stuff that is technically advanced, I agree, though it should still be intuitive for someone who is technically advanced in the field.
Photoshop and Illustrator are classic examples of what I consider bad user interfaces, because things that should be simple and obvious, aren't. For example, cropping a picture (Elements actually fixed this one): you drag the border as you'd expect, then you want to fine tune it. Bzzzt. You had to use some combination of shift-alt-click-something to adjust it, or do the add/subtract from selection thing.
On the other hand, Elements has broken something simple and basic: resizing images. Something even earlier versions of Photoshop did well. No more: "resize/image size" just changes some parameter it saves that says how big to print it, and the only options you get are printer units. OK, fine, leave "resizing" to the printer people, there's a canvas size option, but no, that is effectively a crop if you shrink it and adds blank space if you expand it. How about the scale menu item, that should work. Nope: "transformations should be applied to layers. do you want to make the background a layer?" Despite the word "should", your only options are to cancel the entire operation or to let it make a layer out of it. And I don't want to resize one layer, I want to resize the entire thing!
Sorry, but crappy non-intuitive user interfaces are a hot button, and I just recently tripped over this one. In my mind, the entire point of a GUI is that you shouldn't have to RTFM to do the basic functions of the application.
Just because a tool is powerful doesn't mean it has to be non-intuitive...
Re:here are a couple: (Score:2)
You said, "Photoshop and Illustrator are classic examples of what I consider bad user interfaces, because things that should be simple and obvious, aren't". I agree.
I did, by the way, say, "Overall I give photoshop a "5" (out of ten) for their ergonomics...". Yes, I still consider a steep digital graphics curve my responsibility to climb, but I'm not letting Photoshop skate completely. ;-)
Re:here are a couple: (Score:3, Informative)
Re:here are a couple: (Score:2)
Re:here are a couple: (Score:3, Funny)
- AJ
Simple picture task (Score:1)
Re:here are a couple: GIMP? (Score:1)
Re:here are a couple: GIMP? (Score:2)
Re:here are a couple: GIMP? (Score:4, Insightful)
The main thing I've always disliked about GIMP is that it's too busy and stuff is scattered all over. It's a bit overwhelming for someone starting with it, a bunch of icons that really don't mean much unless you already know what they mean or spend a lot of time mousing over. Since I've used lite versions of photoshop for a decade now, it wasn't worth the effort of jumping the hurdle.
On the other hand, it's really not much different than the little side menus photoshop puts up (which is another change I'm not sure I like in Elements, building them all into a frame around a hole where your image goes), so I'm not sure why they're more daunting.
Maybe it's just inertia... Now that I just spent the bucks on Elements a week or so ago, I guess I'll try using Gimp again
Re:here are a couple: (Score:1)
The reason it is so difficult to change the size of a file in Photoshop, is because of all the final output options you have for different mediums, and the power that level of control gives you. If you were to just click on a resize button, what would you want to resize? One of many layers? The pixel aspect ratio? the image dimensions? The canvas? The overall image size?
Do you w
Re:here are a couple: (Score:2)
I don't remember it being that way before, but maybe I'd already found the resample button and somewhere a way to tell it to do that always.
Yes, there are a bazillion odd cases that Photoshop has to deal with, and yes, for some given person, any one of those cases may be the "norm". Nevertheless, it would be very intuitive to *not* grey out the pixel fields, but have an Options button there that lets you select which of those weird case
Ask Tog (Score:2)
Re:here are a couple: (Score:2)
Re:here are a couple: (Score:2)
Err... insert CD, wait for the dialog box to appear, click on "Play this CD in Windows Media Player", click OK. Doesn't seem hard to me.
The disappearing window bugs the hell out of me, though. As does all the crap it does. I started a media player... why would I want it to load a web browser in it?
It's so annoying that I usually use media player classic
Starting a CD without autorun? (Score:2)
insert CD, wait for the dialog box to appear
The dialog box won't appear because I held Shift while inserting the CD to prevent autorun from installing malware. How do I start a CD without using autorun?
Re:Starting a CD without autorun? (Score:2)
Re:Starting a CD without autorun? (Score:1)
Re:here are a couple: (Score:1)
Having a steep learning curve is one thing, but usability once the fundemental skills are known is another.
Photoshop as it is now, works in the same way as Keyboard/Mouse FPS do. The secert is in the keyboard shortcuts, and with that the ability to program keys/functions.
Also when using photoshop on a regular basis, the use of actions (then mapped to a shortcut) makes it even more powerful and extremely fast.
If you are us
Re:here are a couple: (Score:2)
Interface design != Software design (Score:5, Insightful)
Re:Interface design != Software design (Score:2)
That being said, just because someone is a developer, does not mean that they cannot do things to make their UI better.
For web development there are a few things you can do to make your site better and a book I read called "Defensive Design for the Web" by New Riders, is actually a pretty good book and a must read IMHO for anyone doing web site design, expectially if you are doing a web site that provides more than a personal home page. It goes ove
Re:Interface design != Software design (Score:3, Insightful)
While this may be true in some sense, things will still rely heavily upon implementation architecture. Good user interface is NOT about a pretty front end, but about a logical hierarchical control layout and a minimalist featureset. On a PC, a highly usable program should be possible without a single piec
Re:Interface design != Software design (Score:1)
Here is the crux...as developers, programmers, engineers, etc, we are really advanced when it comes to usage of software and websites. We are way overqualified as "users" in other words. We are too advanced to behave as average users.
Even in UE roles, I sometimes find myself getting impatient with "average users" - "How can you NOT SEE THE NEXT BUTTON!!!???" (Of course, I keep the seether quiet.)
There is some neat stuff on ho
Gnome Usability Report (Score:4, Informative)
Re:Gnome Usability Report (Score:4, Funny)
Re:Gnome Usability Report (Score:2, Insightful)
Gnome usability makes me puke, this socalled "linux desktop" does not remotely do what anyone would want a desktop shell to do - hence when we are talking about gnome, we should talk about useless instead of usability.. *sighs*.
KDE now, here we have a consistent user interface, usability is high and you can actually get it to function as you would like - heck, this even goes a long way for Windows (X
Re:Gnome Usability Report (Score:2, Interesting)
They concentrate entirely on complete newcomers, people who've never used a computer before, and try to make everything simple for them. Unfortunately, this completely ignores the fact that the majority of people in the developed world have learned just enough about computers to blunder through Windows - which means that Gnome, by deliberately making things work totally differently (the "spatial" thing is a great example), actually makes it
Making data export difficult or expensive (Score:3, Interesting)
Developers deliberatly giving people software, then making them "upgrade" to a premium version if they want to export their mail, documents, photos, or anything else should be shot on site!
Easy import and export of data should be the one thing your product should be easy to do, aggrevating your customer because you chose to take their data then try to extort it out of them definatley does not go well for easy usability.
Re:Making data export difficult or expensive (Score:3, Insightful)
It sounds like you're pretty bitter. Do you think software inherently comes with import/export functionality and these developers take the time to hide it from you, just so they can extract more money?
Import/export functionality takes time. Time costs money. It is also something that most users don't care about. Sounds like a premium feature to me.
BTW, If import/export functionality happens to be especially important to you, it w
Re:Making data export difficult or expensive (Score:2)
If the software uses a standard format, all you have to do is document what it is. This is the approach Apple takes.
If it's a proprietary format, then if the software is competently designed, there will have to be some documentation of what the format is, somewhere. So all you need to do is make that documentation available. Examples: GIF, Digital Research GEM file formats, T
This guy wanted wizards (Score:2)
Re:This guy wanted wizards (Score:2)
But, often you'll have software which, for instance, is image editing software, perfectly capable of saving as a PNG, say, but won't save AT ALL. Or, software intended for developing web pages, which saves in a proprietary format, and won't "export" to HTML until you pay more.
You know, software for which the non-premium version isn't just feature-limited, but actually unusable.
Re:Making data export difficult or expensive (Score:3, Funny)
Or off site, if they don't offer on site support.
Users are the best resource (Score:5, Informative)
When I'm working on software that is intended for users who are not developers or otherwise computing professionals, I usually try to get a regular user to sit down with my software for a half-hour or so and I watch them use the software. Generally, I just say something along the lines of "hey, wanna do me a favor? play around with this program for a bit and tell me what you think". Then watch over their shoulder. Generally this is a good way to get a list of what sorts of things are poorly placed "how do I...?", things that are confusing "what is this?...", features that users will like "can I
A few tips that I've found doing this include
If any option is unavailable then it should be obvious WHY it's unavailable.
No matter how obvious your icons are, they should ALWAYS have text with them.
Avoid dialog boxes as much as possible
If you make your program look too much like another program, then you better make sure it looks and works exactly like that program. In other words, either stick completely with the standard way of doing things, or do it completely different. If you take some common UI element and tweek it, then you'll just confuse users. Menu bars tend to be the most common violators of this.
Understand color. A lot of applications throw colors around willy-nilly, if you are going to use color then study up on color theory and learn what colors go together, what colors are calming, etc.
Re:Users are the best resource (Score:2)
Re:Users are the best resource (Score:3, Insightful)
I might say that each user brings a different perspective to the discussion, and maintaining perspective on the UI they're writing is a skill that is very difficult for most developers to maintain.
Restates, I disagree that the user is a better UI designer, but instead, they can help developers get outside their normal "deep in the guts" perspective. I intensely dislike the assumption that developers are "bad at UI development". Most are actuall
Re:Users are the best resource (Score:2)
I just said that they "often" are better UI designers for rhetoric effect, it wasn't designed to be looked at with pedantry.
Re:Users are the best resource (Score:2)
Restates, I disagree that the user is a better UI designer, but instead, they can help developers get outside their normal "deep in the guts" perspective.
Software is designed with a purpose. Users obtain software and try to use it to solve a task. While no single user should be taken as the epitome of all users, you have to remember the point of the software. In general a user-centered approach is ideal and the UI should have some disconnect from the underlying code. Ask users what they need to do to sol
Re:Users are the best resource (Score:2)
Re:Users are the best resource (Score:2)
Re:Users are the best resource (Score:2)
Re:Users are the best resource (Score:2)
Agreed 100%. I'm not a real programmer, just a sysadmin who sometimes has to whip up small tools to fill the gaps in between the customer's real programs. It always surprises me just how often users to put my tools to use in ways I'd never considered and once a person decides they like a tool they try to use it for everything.
I'd only add though that even an individual user's expectations can/will change as they become mo
suggestions (Score:3, Informative)
Re:suggestions (Score:1)
Well OK i'm talking about the man and not abo
Re:suggestions (Score:2)
I think his concept of a zooming interface is basically what iPhoto, Picasa and Photoshop Elements use in their browse modes and it works pretty well there.
I quite liked (Score:3, Informative)
Also Joel on software has a great book excerpt online to get you in the mood
About face link [amazon.com]
Joel book excerpt [joelonsoftware.com]
Re:I quite liked (Score:1)
Re:I quite liked (Score:1)
They're challenging the basic assumtions that us programmers make about how the user works:
1) Why do we need a save button? Ideally, the program will backup a version of the document after every change and if the user undos, then the program will move to a previous backup seemlessly
2) Why do we have so many dialogs asking for comfirmation?
3) Why isn;t undo/redo universal in the operating system, or at least in the part of
Model-view-controller in programming books? (Score:1)
1) Why do we need a save button? Ideally, the program will backup a version of the document after every change and if the user undos, then the program will move to a previous backup seemlessly
For the same reason we have a commit statement in an SQL DBMS: to make our changes visible to other processes that expect reasonably atomic updates. Even in applications that commit after typing each word, the "Save" command marks a specific version more prominently so that the program can suggest reverting to that
Re:Model-view-controller in programming books? (Score:1)
Users are NOT processes. Besides, if the files were treated as being in an SCM, specific versions would be version 1.3.4 (Date 2006-25-3 13:34) or whatever other tag the user wanted. Mayb
But are SCMs themselves usable yet? (Score:2)
Users are NOT processes.
I was talking about a single user running multiple processes, such as (to given an example that would be familiar to many Slashdot users) running an editor and a compile job at once and modifying files while the compile job is half done. If it becomes easy to inadvertently put one of your apps in an inconsistent state by using another app modify a file behind its back, then your system is broken.
Besides, if the files were treated as being in an SCM
Have widely available SCMs
Re:But are SCMs themselves usable yet? (Score:1)
Which are promoted as the killer applications for any device that's larger than a handheld device.
I was thinking more about office (word, excel, access, powerpoint, frontpage, etc.) and it's open source siblings koffice and openOffice. Obviously not all video and image processing is possible. It is interesting to note though that applications like Adobe premire DO NOT modify video directly until it is exporting to a final file. Instead, it takes raw video
Re:But are SCMs themselves usable yet? (Score:1)
It is interesting to note though that applications like Adobe premire DO NOT modify video directly until it is exporting to a final file. Instead, it takes raw video clips and applies filters
I'm familiar with "non-destructive editing" that uses an edit decision list. Avisynth and the multitrack editor of Adobe Audition work the same way. But can a non-destructive environment save e.g. a brush stroke in the film restoration process? And can the effects be rendered in real time for multitrack preview? (I
Re:But are SCMs themselves usable yet? (Score:1)
I thought that Premire/after effects "realtime" preview worked because of the reduced resoluti
Christopher Alexander is also a good read (Score:3, Insightful)
Why do I mention him? To a certain extent, especially to users of software, the interface IS the product. The interface is the only way they will ever use any of the features, so if something is hidden, hard to find, hard to use, or designed to be misused, then that feature will never be of any prominence.
So remember to design the interface around your users and your problem. Your program is literally the interface that sits between the users and the problem, a bridge as it were.
A textbook I used last semester does a good job... (Score:3, Informative)
Usability Studies are a must (Score:5, Interesting)
This is bad.
Just like how software engineers should not be trusted to test their own code, they should also not be trusted to do "good usability". I'm saying this as a software engineer, who also has a Masters in usability engineering and has been in the field for a few years. Too often I'm surrounded by fellow engineers who think they know what's best for the user. Also, they'll claim that a certain design is best because it also makes for a "clean UI" and "clean code design". Then we sit users in front of the application, and all hell breaks loose.
Don't do this. Spend the money to hire a good usability expert, and have THEM perform proper usability studies. Good usability is NOT necessarily about a "clean UI" or "clean code". It's about a product that people know how to use. After this is established, it is then up to the engineers to make sure the actual implementation itself is clean, extensible, un-cluttered, etc. Not the other way around.
Re:Usability Studies are a must (Score:3, Informative)
Re:Usability Studies are a must (Score:2)
I think too many companies focus just on heuristic evaluation. That's basically paying a UI expert to tell you what to do and what not to do. A lot of companies won't even hire a usability expert, instead relying on their own engineers to "read a lot of books" and try to wing it.
This is bad.
But it is a start.
In an ideal world we'd all be at stage 5 or better [useit.com]. Unfortunatly, some of us are still at Stage 1 [useit.com] and spending 50% of our development time just fighting political battles simply to stop developers
Re:Usability Studies are a must (Score:2)
Yeah, I understand that not everyone can jump up to stage 5+ immediately, and most companies are going to have to take "baby steps". I was just venting at developers who are still stuck in the early stages, and think that it is "good enough" to read books, with never the thought that they should go beyond. Frankly, I think that's a lot of the problems with open-source apps and why their usability often lags behind. Devs don't want to take the next jump,
How about wyoGuide? (Score:2)
O. Wyss
Re:How about wyoGuide? (Score:2)
On screenshots for a desktop usable by "everyone" the first screenshot should ABSOLUTELY NOT BE A TERMINAL WINDOW... My grandma wouldn't use a terminal. Oh, and maybe not have the login as 'Root'--although that's a lesser issue since it's just a screenshot.
The other thing is that you may want to consider switching from wxWidgets or GTK+ or whatever you're using to Qt. It has more controls available to it and its considerab
Re:How about wyoGuide? (Score:2)
wyoGuide and wyoDesktop are two separate projects, one is about applications the other about a desktop. So far I spend almost all the time for wyoGuide which leaves nothing for wyoDesktop.
The other thing is that you may want to consider switching from wxWidgets or GTK+ or whatever you're using to Qt...
It's amazing that everytime I bring up wyoGuide a QT-Fan tells its story albeit no QT-Fan seems to be willing or able to provide sample code for QT. Why?
wyo
A few simple guidelines (Score:5, Insightful)
Just by following a few simple common-sense guidelines, you can drastically improve the usability of any given software:
Re:A few simple guidelines (Score:3, Insightful)
Re:A few simple guidelines (Score:2)
I just read your comment because of two reasons, first it just comes after mine and second because it's just about what I had in mind when I designed wyoGuide (see http://ask.slashdot.org/comments.pl?sid=186617&cid =15399619 [slashdot.org]. But the difference is you tell just common sence while I show how this common sense can be implemented into code. I invite you to look through the guideline and d
Re:A few simple guidelines (Score:5, Insightful)
I am one of the few people that have read the CUA guidelines, and they make at lot of sense, although many of the specific details are now outdated. The CUA guidelines say that you have to first decie if the UI is going to be a standard UI where it has the conform to system defaults and in general user's expectations; or if the UI is a so-called walk-up-and-use UI (such as ATM interfaces). The difference is that the standard UIs have to conform to standards but can contain many features, while the walk-up-and-use UI has to be simplistic and require absolutely no learning, but can break any standard as long as it makes it simpler to use.
So the guideline should be:
Re:A few simple guidelines (Score:4, Insightful)
You appear to be claiming that the guidelines you quote are universal and apply to every conceivable bit of software. I would beg to differ.
Simplicity: keep things as simple as possible. Fewer options/settings/etc means less to have to figure out.
Photoshop would not be a popular program if it only provided the five most common graphical operations and only let you configure three aspects of each. It's successful precisely because it's insanely configurable.
In other words, while there is indeed a place for simplistic software (witness the popularity of basic photo editing programs that literally only offer crop, size, and red-eye removal), it is by no means desirable for all software to be simplistic. Complex tasks require complex interfaces. Simplistic interfaces limit users to the options you have chosen, and I find it hard to believe that you can imagine all the possible ways a user will want to use your program.
Don't assume user expertise: always assume your user knows NOTHING about computers.
You cannot possibly believe this applies to all software. Are you seriously saying that the writers of a kernel debugger should assume their users know nothing about computers?
Scenario-based design: don't merely dump a bundle of functionality on the user; give them a program that guides them through all the steps needed to solve their scenario. It's the difference between handing someone a graphing calculator and handing them a math expert.
If a mathematician asks for a graphing calculator, you think they should instead be handed another mathematician?
Yes, simple tasks should have simple interfaces. Anyone should be able to answer emails, browse the web, write letters, keep an address book and diary, and print photos from their digital camera.
But that does not mean that simplicity should always be prized over functionality. Some things in life are tough. I've never driven an 18-wheeler: I would not expect to be able to sit down in one and take it across the continent. I've never filed a lawsuit: I would not expect to be able to waltz into a court and win a billion-dollar case. Why should I expect computers to be any different? If users won't read manuals, that is the users' problem.
Re:A few simple guidelines (Score:1)
For simple image editing/processing I use iPhoto first, since it is very easy. If I need a little more I'll use Photoshop.
I personally hate these monolithic applications. I much prefer the iLife flow with simple, more specialized applicati
Re:A few simple guidelines (Score:1)
Re:A few simple guidelines (Score:1)
If you must provide an option for something, supply a reasonable default. The user should never have to configure a bazillion options before being able to just use the program.
In an e-mail program, what is the "reasonable default" for outgoing server, incoming server, user name, and password?
Terminology: keep technical lingo out of the program's UI as much as possible [...] Don't assume user expertise: always assume your user knows NOTHING about computers.
Should each program for Windows, Mac OS, o
Re:A few simple guidelines (Score:2)
I disagree with this. Unless you are working on an application that is only going to be used rarely, you user will not be a novice forever. They may never become an expert with your application, but they will in relatively short order become an experienced user. It seems like you should make it accessible for both extremes, but focus on the middle ground.
Re:A few simple guidelines (Score:1)
There appears to be a common misconception that making an interface usable for newcomers means making it annoying for experts, but no such trade-off is necessary. A truly usable interface is one that is both easily mastered by newcomers and efficient and transparent to experts.
Just because some existing software (like Microsoft Bob or the Office Clippy) tries to accomodate newcomers in a way that annoys the hell o
Re:A few simple guidelines (Score:2)
Re:A few simple guidelines (Score:1)
Re:A few simple guidelines (Score:2)
I'll use a non-computer example: Think about the car. Practically all cars are intuitive; yet at some time you need to go through the effort of learning to drive. The same applies to cooking; it's very easy to boil an egg or grill a steak, but at some point you need to go through the effort of learning how to use a stove or grill.
Going back
Re:A few simple guidelines (Score:1)
Yeah, obviously, I get that. But my point is that the learning curve should always be minimized as much as possible (to be as close to non-existant as possible), and the learning curve should never include things that are tangential to the task at hand (why should someone have to learn how to be a Linux sysadmin just to paint something in the Gimp?) That should always be the aim of a good software designer.
Again, returning to t
Re:A few simple guidelines (Score:2)
Nielsen & Norman (Score:1, Informative)
Also worth a mention is Joel Spolsky - http://www.joelonsoftware.com/ [joelonsoftware.com]
Apple got it right (Score:2, Informative)
http://developer.apple.com/documentation/UserExper ience/Co [apple.com]
Jakob Nielson (Score:2)
Inmates (Score:1)
Found it an interesting read, giving lots of examples on how usability should be approached and shows some good examples on how it can fail. It also introduces some techniques surrounding 'personas'. But for me, the most important thing the book did was triggering a certain way of thinking about usability, which I think is far more important than any technique a book can throw at
Usability is sometimes fighting windmills (Score:2)
Users completely rebelled. The general sentiment was, "Why doesn't that bring up a page when I click on it?"
The importance of "usability" is overstated by people who make money parroting it.
Yes, simplicity and obviousness are important. Just don't confuse those objectives with usability as it is now sold.
Usability starts with a set of normative values that most users acc
The Golden Method (Score:1)
Holy Grail (Score:1, Insightful)
Alan Cooper's... (Score:2)
This is a good book by the designer of VB that has a nice model of user-oriented design and some pretty interesting case studies -- design of airplane entertainment units, scanner software, and others.
GUI Bloopers (Score:1, Informative)
The book goes in-depth on the basics of good GUIs laid out using your standard widgets (little, if any, talk of bleeding edge HCI theory). It gives tons of examples of what the author views as good and bad GUI practices. Some of the things he cites are more nitpicky IMO, but overall it's a valuable resource that'll make you more
First mistake (Score:1)
Few software development managers give developers enough time to hone their user interface. In my firm, software developers are often involved in the back end code, writing complex algorithms or process functions. This is the meat and potatoes of the software, without it, there is no reason for the software to exists. When they need some UI associated with the back end code
Re:First mistake (Score:2)
First mistake... Thinking that reading a book and using the HCI (Human Computer Interface) buzzword will improve the user experience of your software.
I disagree. There is definitely low-hanging fruit for usability improvement. Certainly procedural changes in the design process and testing is the way to go to have a truly usable UI, but that is not always possible in every environment. Just reading a book can allow a designer to avoid some of the most common snafus and provide them with a better framework
Canceling actions (Score:2)
User Interface Hall of Shame (Score:2)
Despite its age, it has plenty of valuable lessons. For instance, abuse of tabs is certainly as relevant today as it was eight years ago.
Tog on Interface (Score:2)
Tog on Interface
Also, Computer Lib / Dream Machines by Ted Nelson has some valuable lessons in it.
an often untapped resource (Score:1)
Here's a good source of informal research that I almost never see mentioned. If you a developer for an existing product that is already in use at one or more companies, find out who the companies are (your sales department can provide) and contact their IT department. Helpdesk and desktop support people are on the front lines with users on a daily basis and know first hand what users struggle with. Talk to them. Pick their brains. Support professionals are often treated as the flunkies of an organization, a
www.ok-cancel.com (Score:2, Informative)