I have already asked this question on stackoverflow and was sent over here. I've read Discovering new features but I thought that I should ask anyway.

We have released a beta version of our software, and as we talked to people who started using it, we have found that features (which we thought were essential) were not known and not used by the users.

To be more specific, it is a desktop application that has three main functions: query the data, feed the data to external programs, and generate reports. In addition to that, it is possible to save queries and commands for later reuse. It seems that the users are not aware of the "feed data to external programs" function or don't know how to use it, even though it occupies a considerable part of the main application screen. The "save and reuse queries" function is not that obvious (although there are buttons on the main screen that trigger it)

What are the possible ways to inform the application users about the features of the application? I personally find the "Tip of the day" popups extremely annoying and disable them quickly. Are there better ways?

6 Answers
6

IMO the UX of your app could be improved to make it easier for users to "ramp up". Your interface is feature-driven, and probably works very well on expert users, but I undrstand that novice users are just lost.

Two ideas:

(1) Distribute over more tabs. Re-labeling tabs according to user tasks instead of features might help, too.

(2) To ramp up to your expert interface, you could have a multi-select button panel, where the user can add or remove the individual panels. Remaining panels, if suitable, can stretch to take the available space.

This allows users to start with one panel, and go on to the next.

More significant groups

If you want to get by with smalelr changes, you could emphsize the task groups. Use Grup boxes with Bold titles (and make that the only "Bold" on the page). Alternatively, you could try color-coding the background, or the border.

Hints

If you still need hints:

Make the "Tip of the day" non-modal, like an IE "warning" band. Have a good selection of tips, allow the user to browse back to older tips (in the order s/he's seen them).

Provide a Prominent "How Do I..." button, leading to a list of task-oriented tutorials. As others suggested, many people like videos (personally I hate them, but to each is own). It helps if this help window embeds / arranges with the existing UI, e.g. as a docking window, so they can be seen side-by-side automatically.

Discoverability is something that is weaved into your user interface's design from the beginning. IMO, you cannot have a UI designed first, and afterwards ask "hey, how to make software features more visible to users?". If discoverability is an afterthought, no amount of tooltips or videos will be enough to make it up.

You mentioned two specific problems: your "feed data to external programs" function and the "save and reuse queries" function. Is there any way that you can post screen snapshots?

indicate that the query is a set of conditions to be saved. This might be done by adding a 'name' and 'description' field (you can prefill this field with some helpful text that is removed when typed over it. Though people will still fail to read it.)

Use more applied and slightly less abstract terms on the columns in the 'current query' section. For example 'condition' or 'condition name' rather than 'title', and I am not quite sure about what 'leaf' is meant to be.

Issue a warning when people quit with unsaved queries (provide a short tip, a link to an expanded explanation and a checkbox to turn of the warning)

You might consider moving the whole export section to a tab/screen of itself, and just put a 'save as/export' button next to the Copy and Clear buttons on the data section. That also gives you some room to make 'save command' a bit more useful. I think this is a little crowded, especially for new users.

Consider, however, that many people never really learn all features, nor do they want to. They just learn enough to get their basic things done, and there is hardly any way at all to change that.

I actually think the GUI is quite pleasing and clear. I would feel comfortable working with it and I would figure out how to use it, I think.

We can't see from your screenshot what's on your menus, but for a desktop application, I always try to design the menu structure to reflect the majority of what's possible with the application. As a user, if I can't find a particular function on a menu, or something that at least suggests the function I'm looking for might be available, then I assume it can't be done with that application, and I've also seen that behaviour in usability studies.

It's certainly not the case that every user will scan the menus when they're looking for a particular function, but it can certainly help those who do.

Some preface: In my Android app I have the feature to view user details hidden behind the user picture as push-button. A few days ago a contributor on the project told me when I was using this to show him something else, that he has never seen this "click-image" function.

In Angry-Birds Seasons, the valentine episode features a road sign linking to a Bing search if AB detects that one has not mastered a single level for x times.

So I got the idea that in my app if a new user has not yet clicked the user image, I could display an image with "<< click here for user details". After the first click on the user image, the hint would go away and no more shown in the future.

I think your app could have something similar (at least for future versions with new features) - point to this essential function, give a short explanation and when the user has dismissed it, never show it again.

Actually those "Tip of the day" popups are annoying because apps show the same thing over and over again. Show tips once - and if no more tips are available don't show the popup at all.

There are three primary things that your application does. You should start there, and organize your app so that each of those functions is clearly discoverable, each is visually equal to the other, and each is visually dominant to all other support features. There are a lot of ways to do that, but that is how you should be thinking. Visual heiarchy is important.

You should also read up on progressive disclosure, which is the idea of how to hide advanced functions, but make them easilly discoverable for advanced users. It's not 100% relevant here since it looks like you don't really have overally complex tools in each category, but it would give you some ideas.

As for hinting at tools, I personally like drawing attention to the actual action item (button in this case) with subtle animations. Maybe something like animating a "gleam" on a button that is important when you first load that screen, and enabling descriptive tool tips.

Those are a few quick thoughts off the top of my head. Hope they help.