Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I am doing serious games and simulations and I sometimes have the need to represent actions to the user that they can only do once. Basically the user issues a command that only needs to be done once. This is something that does not really have a corresponding standard gui element. The problems are

  • Communicating to the users that once this action has been perform they will not be able to do it again (i.e. forward looking telling the user that this is a one-time thing)
  • Communicating after the fact that this has already happend (easiest done by deactivating the piece of gui)

I have tried various elements but none are really ideal so I am happy to hear about any input from this community. Have you had a similar problem, how did you solve it ?

The easy ones are using buttons or checkboxes that get deactivated after being used. These work but the fact that they only work once has to be communicated verbally.

Addition 2010-dec-12

I appreciate all the comments and this is helping a lot, thanks. I see some very game oriented solutions come up and while I personally would like to be able to do something like that and use lots of contextual icons. We can't do that due to cost and personnel. Our simulation/game interfaces are very text driven the pandemic response simulator is one example of that. In that project I used something similar to evalica's suggestion.

share|improve this question
    
What's the affect of the decision? Can the user make the same decision later (and you up the cost of the decision) or is it really only able to be made at one point in time? –  Tucker Dec 16 '10 at 18:52
    
In this case it is a planning decision, it prepares resources for use later, while it can be made later it occurs in a different form and context. It is basically "setup" for the following simulation –  Harald Scheirich Dec 17 '10 at 14:58
add comment

4 Answers

up vote 4 down vote accepted

Let's compare this to an "Install" action:

  • I think the solution would be to have a button, let's called it "Install". Buttons always make users press them (depending on their style and affordance)
  • When the button is pressed you can have a dimming animation or none
  • Transform the button into a label specifying the result of the action, like "Installed"

alt text

These steps can be generalized for any action, by using buttons and labels to represent actions and statuses.

share|improve this answer
    
This is very applicable in our case, I like the wording change in addition to the checkmark –  Harald Scheirich Dec 17 '10 at 13:09
add comment

I would opt for the simplest possible solution: just display the number "1", e.g.:

alt text

After a couple of times (helped perhaps by a hint in your app), users will get the idea quickly. A benefit of this approach is that you don't have to get too creative with icon designs -- simply use your existing icon set and add "1" where applicable.

BTW, Apple uses a similar approach in iTunes and iPhone/iPod touch:

alt text

In Apple's case, the meaning is different: when "1" is displayed, it means "repeat song" instead of "repeat library or playlist", but there is no reason why you can't use a similar approach to indicate "can do action only once".

Update: On further thought, the icon with the "1" in a circle can be confused with a notification badge, as is commonly used on the iPhone, Mac OS, and probably others. A better representation might look like this:

alt text

share|improve this answer
1  
This would certainly work if there are other limited actions that can be repeated; for example, if some action or another can be repeated 10 times, the marker will become obvious when its number decreases to 9 –  Bobby Jack Dec 16 '10 at 0:04
    
This sort of UI has been almost standardised in certain games (MMOs and RPGs) by Blizzard (see Starcraft and WoW games), so it's what I would have posted. It's probably a good idea to follow such conventions in serious games, as well. –  Rahul Dec 16 '10 at 8:18
    
You will also have to consider what you are going to do with the icon when the user has done the action. Are you going to disable (gray out) the icon? Will the notation of the "1" remain there on the deactivated icon? If it won't, how can you let the user know why it is deactivated? Will you also add an infinity-symbol to actions without a limitation of use to make everything consistent? –  Kristof Claes Dec 16 '10 at 10:32
    
I agree that something needs to be done when the one time action is used up, perhaps graying it out, hiding it, or displaying a "0"? It all depends on context and it's up to the application's designer. But I don't agree about using infinity symbol; it will add complexity (many users won't even know what it means), and I don't see a plain icon as being inconsistent with an icon that embeds a "1". –  Hisham Dec 16 '10 at 18:22
add comment

Since you are saying that your application looks more game-like, you can take a look at some social games, which are using a lot of one time actions. For example for the various tasks in the games (i.e.. build a farm), they display an icon that represents the task. Clicking on it pop ups what needs to be done for this task, and after completion it removes the icon. This way the user know the task has been done (the icon is gone), and can not be done again (cannot click on the icon). Note: you need to show the user that this task is gone, since that is one of your requirements. (in the game: you can see your newly build farm).

alt text

Another way is represent a list of tasks that needs to be done, and remove those tasks on completion. The same as described above, but perhaps this way of displaying it is more suitable for your application.

For example:

alt text

share|improve this answer
    
I have to admit I was not even considering removing the action from the screen, thanks –  Harald Scheirich Dec 17 '10 at 13:13
add comment

Could you give examples?

I can think of a very few - e.g. semi-automated import of old data after an update.

However I find it hard to conceive that real one-time operatons have a good place in a general UI - i.e. button field or toolbars. But that might depend on the operation.


Nonetheless: one option could be putting these operations into a "List of pending tasks" (or "things to do"). This can be accessible through typical "notification list" cues, e.g. a (!) icon in the status area.


Using your example:

Placeholder - Many games use a placeholder and a final object (like an empty picture frame before, and a picture afterwards).

I would aso keep the button in place but change the reprsentaiton if the user wants to interact with or inspect the one-time-action-result.

Unlock UI - If the item unlocks certain functionality (like a calendar to schedule advertisements), make the unlock operation a popup when the user tries to access that UI, e.g.

 To schedule ads, first get something to show!
 [Get promotional material for $500]    [No thanks]

A simple change of representaiton would be an overlay, such as a plus before, and a checkmark after.

Queue

If the Operation doesn't affect a single aspect of the user interface, you can sue a queue of operations, that oculd be simple a segment of a toolbar dedicated to these operations, where options the user selected are removed, and actions that become available are added.

Skill Tree
If the one-time actions are interdependent, a skill tree is a common UI

share|improve this answer
    
For example in a simulation the user needs to order promotional material for later use, once it is done it is done, can't be undone, does not need to be done again. I realize my case is specific you are right, I have not seen this kind of element in normal business applications. The UIs in question use normal GUI controls but are usually skinned to look more gamelike –  Harald Scheirich Dec 16 '10 at 16:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.