Progress Indication of Running Processes

Author: Ondrej Langr

$Id: index.html,v 1.9 2007/03/23 13:08:31 ondrej Exp $ (see full CVS history)

Table of Contents

Problem Description

For running applications, the progress indiation is shown as first indefinite and then an empty bar. This does not reflect what is actually happening and may cause the user to think there is something he/she is still waiting for before he can try the application he just started.

This specification builds on top of Progress Indication Specification and is closely related to (and is intended to fix) problems described in 63586, 62661 and 95201.

Use Cases and Scenarios

Use Cases

User compiles and runs several applications, files or other processes. With many processes running in the background, the user wants to learn what processes are actually running and manipulate (show output, close, watch, etc.. ) some of these processes.


With a process/processes silently running in the IDE background ...

  • the user wants to manipulate a process not directly shown in the status bar. He/she invokes detailed view over the running processes. In this view, he/she chooses the desired process, invokes a contextual menu and performs the desired task.
  • user is willing to directly manipulate a running process. In this case the user does not invoke the list displaying all processes, but manipulates the process directly in the status bar.


Process Classification

  • Processes where progress signalization is desired such as compiling, CVS checkout, indexing ... (the remaining time or percentage may not necessarily be known)
  • Processes where progress signalization is not desired. Generally processes waiting for user's input such as running an application or debugger waiting at a breakpoint.

Behavioral Description

The pictures below can be summarized into following:

  • Running applications and other processes waiting for users input do not have a progress bar.
  • Any other processes which are not waiting for users input do have a progress bar (for description of progress bar types see the Progress Indication UI spec, but please notice that the visual appearance in this specification is out of date).
  • If there is just one process ...
    • with no progress bar, it's name together with its status ("running" or "waiting", etc ... ) is shown in the status bar area. There should be no progress bar in this case. (See Figure 1)
    • with a progress bar, its name is shown in the status bar before the progress bar. (See Figure 2)
  • If there are more then just one process, the information about number of processes is displayed and the close button should be disabled (see pictures). The user will be allowed (as currently - see the original Progress Indication Specification) to "watch" a particular process which means to select this process so that the information about the process is displayed in the progress bar area. We will call this process main process. Single process is always considered main process, the main process' name in the pop-up list is highlighted in bold font. For more then one process, there is by default no main process and summary information is displayed (e.g "2 processes"). Following situations can occur for more then one processes in progress:
  1. There is no main process (default for more then one processes). In this case the progress bar in progress bar area summarizes information about all processes. Three possibilities can occur:
    1. All processes do not have a progress bar. In this case "N processes <status information>" is displayed. If status information is not the same for all processes (running, ?waiting?) summary status information is "in progress".
    2. All processes do have a progress bar. In this case summary progress bar is displayed.
      1. Definite progress bars only -> definite summary progress bar showing the summary progress.
      2. Indefinite progress bars only -> indefinite summary progress bar.
      3. Combination of above -> indefinite progress bar.
    3. Some processes do and some don't have a progress bar. Indefinite progress bar should be displayed in progress bar area in this case.
  2. One process is selected as main. Main process' name in pop-up list should be highlighted in bold.
    1. The main process does not have a progress bar. The number of processes (if more then 1) should be displayed in progress bar area, followed by main process' name and its status information: 3 processes [x] [^]
    2. The main process does have a progress bar. In this case the number of processes (if more then 1) followed by process' name together with a progress bar for this process is shown in the progress bar area (see Figure 3).
    • In case there is a percentage or time information associated with the main process, this information should be displayed within the main progress bar as well as in the progress bar in the process pop-up list (see Figure 7).

There should always be a button to visually signalize the presence of a pop-up list (see Figure 1a). The button should have toggle behavior so that the arrow should change to when the pop-up list is displayed. The current context menu available from the list of processes through right-click on a particular process should be kept as it is (NB 6.0 Dev build 070221) but "show output", the only action expected to be really used, should be made possible to invoke directly from the process list (see e.g. Figure 6).

In case the name of a process is very long (see Figure 6):

  • The process name in the process pop-up list should be truncated so that the name of the ant task is still visible (see figure 6a).
  • The process name in the progress bar area should be full length unless the progress bar area size is not sufficient. In this case it should also be truncated in the same way.


Progress Area Size

In most cases, both progress bar information text and status line text fit on the same line without overlapping.

If there is a long text in status line and long text information associated to the running application (or extremely small window), status line area and progress bar area can eventually compete for available space:

Figure - Cornercase, competing for space ( in NetBeans 6.0Dev )

When this happens (it is not a common situation since progress associated information is not typically very long and neither is the status information), they both should be both given 50% of available space, but the textual information presented in progress bar area at the status line should be never truncated to less than 25 characters.


Visual Description

Figure 1a. Single process without a progress bar.

Figure 1b. Single process without a progress bar - with pop-up list.

Figure 2. Single process with a progress bar. Please notice the button allowing to close the process directly.

Figure 3. More processes in case some of them require a progress bar. Please notice that since the progress bar sumarizes all processes, there is no close button.

Figure 4. More processes, all of them without a progress bar. No main process (default unless the user selects one process to "watch").

Figure 5. More processes where some or all do have a progress bar (this situation is similar to Figure 3).

Figure 6a. Extremely long process names - the list width is the same as for short process names and the name inside is truncated so that Ant task name is still visible. The process name in status bar area should be displayed in its entirety unless it would exceed the progress bar area in which case it should be truncated in the same way.


Figure 6b. Extremely long process names for running processes. The same applies as for Figure 6a.

Figure 7. If there is percentage or time information available for a process which is displayed in the main progress bar, this information should be shown in the progress bar in process-list and also as a tooltip over the main progress bar (see Tooltips and Functionality).

Figure 8. More running processes and one of them has been selected as main (bold font in pop-up list). Main process' name and progress bar are displayed in progress bar area. In case this process ends, no process is selected as main and only summary information is displayed (see figures 3, 4 and 5)


Tooltips and Functionality

element tooltip function
MyApp (clean,jar)
"N processes running. Click for details." opens the list of processes

(progress bar)

"N processes running. Click for details." opens the list of processes
none stops the appropriate process
"N processes running. Click for details." opens the list of processes




Element spacing is done mainly (but not exclusively) according to Guidelines about spacing and alignment of components. Where spacing is undefined, it should remain as it is in NetBeans 5.5


Open Issues & Notes

Can there be other processes / types of processes being shown in the progress bar? Pluggable processes, module-dependent processes? I didn't come across any.

Project Features

About this Project

ui was started in November 2009, is owned by Jiří Kovalský, and has 44 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
Please Confirm