SIDEBAR
»
S
I
D
E
B
A
R
«
Same Button, Different Meaning
August 27th, 2009 by Eugene Ostroukhov

Consider following two images: wizard

wizard_progressHere you can see what I consider as a major UI antipattern – Cancel button has two distinct roles. In the first case it works as a close button on the window title bar – if the user clicks it, the wizard dialog will close and the user input will be lost. In the bottom case the Cancel button is a “Cancel task” button – the task will be stopped but the dialog will be retained. This is pretty confusing for the users as they are not sure if they loose input in later case. I suggest we introduce a new button that will explicitly stop the task but has nothing to do with wizard dialog:

stopbuttonThis way Cancel button always mimics Close Window button – i.e. it is grayed out when the wizard dialog cannot be closed. I filed this enhancement suggestion (along with a patch) as bug 287887 in Eclipse.org bugtracker.


5 Responses  
  • gary thompson writes:
    August 28th, 20099:18 amat

    There’s one down side to this. The red stop button reads as stop not cancel to many. Think of your video recorder when you stop you expect to be able to start again typically with a green arrow. Maybe this is what you need because if you have started the task and cancel it how do you complete the wizard. It may not be obvious that you have to press start again. Maybe just a button under the task progress bar called ‘cancel task would be better(?) or maybe a green arrow button which replaces the stop button and restarts the task would be better. Maybe some user testing is in order.

    regards gary

    • zzhou writes:
      August 28th, 200910:55 amat

      Lazy answer: this behavior is consistent with Progress View :)

      In most cases (at least – when I’m creating the wizard) the task starts as a response to user action. I.e. user clicks some “Fill” button and application interacts with remote system to fill some UI widget. It is possible that there are several such processes that user might start. So the stop button effectively has it’s counterpart in the UI – user can restart the task by clicking appropriate button in the UI once more. This stop button is only visible when long-running process is under way.

  • Min Idzelis writes:
    August 28th, 20094:08 pmat

    While your at it, let’s retrofit IProgressMonitor with pausing capability. Windows Vista has a special look for paused progress indicators and SWT supports that.

  • Bruce writes:
    May 19th, 20101:59 pmat

    While your at it, let’s retrofit IProgressMonitor with pausing capability. Windows Vista has a special look for paused progress indicators and SWT supports that.

    • Eugene Ostroukhov writes:
      May 19th, 20102:12 pmat

      I would not attempt to implement this. This is just too big of a task and it looks like Eclipse does not really need this change. Imagine that there are so many UI elements that rely on this interface – wizard dialog, workbench status bar, progress view, progress dialog, etc. You would have to make a change that spans through several Eclipse components.


»  Substance:WordPress   »  Style:Ahren Ahimsa