-
Notifications
You must be signed in to change notification settings - Fork 953
Vika_progress_bar #1500
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Vika_progress_bar #1500
Changes from all commits
6cac92c
4735cd1
aec81b1
927111a
b6305fe
7ace032
427808c
6dd2708
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
|
||
A progress bar informs users about the progress of a lengthy operation. | ||
|
||
{width=308} | ||
{width=706} | ||
|
||
## When to use | ||
|
||
|
@@ -21,112 +21,157 @@ Follow the rules for [progress indicators](progress_indicators.md). | |
## How to use | ||
|
||
### Types | ||
Use a determinate progress bar if the process duration is known. Otherwise, use **indeterminate** progress bar: | ||
|
||
Use **determinate** progress bar, if the process duration is known: | ||
|
||
{width=308} | ||
|
||
Otherwise, use **indeterminate** progress bar: | ||
|
||
{width=308} | ||
{width=706} | ||
|
||
If an indeterminate process reaches a point where its duration can be determined, switch to a determinate progress bar. For example: | ||
|
||
{width=308} | ||
|
||
{width=308} | ||
{width=706} | ||
|
||
### Process name and details | ||
|
||
A progress bar can have a process name and process details. For wording, follow the rules for [progress text](progress_text.md). | ||
|
||
#### Process name | ||
|
||
Place a process name above the progress bar: | ||
|
||
{width=308} | ||
|
||
If the vertical space is limited, place the process name with a colon on the left: | ||
|
||
{width=308} | ||
A progress bar can have a process name and process details. | ||
{width=706} | ||
|
||
If there are several processes in a group, add a bold header. The header is a noun. | ||
Process name — the name of the operation being performed. | ||
|
||
{width=308} | ||
Process details — information about the current stage of an operation. They make long-running tasks more predictable and manageable. | ||
|
||
Do **not** show a process name for inline processes: | ||
Details example: | ||
* The current step — Uploading file 3 of 10. | ||
* The name of a file, module, or library – Fetching guava-31.1.jar. | ||
* Remaining time or percentage completed. | ||
* Other useful progress information. | ||
|
||
{width=605} | ||
For wording, follow the rules for [progress text](progress_text.md). | ||
|
||
#### Process details | ||
#### Placement | ||
|
||
Place process details under the progress bar in one line: | ||
Show the process name above the progress bar and the process details below it on a single line. The length of the process details is limited by the width of the progress bar. | ||
{width=706} | ||
|
||
{width=308} | ||
|
||
The length of the comment is limited by the progress bar: | ||
<table style="none" border="false"> | ||
<tr> | ||
<td width="378"> | ||
<img src="07 process_name_on_the_left.png" alt="Process name on the left"/> | ||
</td> | ||
<td> | ||
<p>If the vertical space is limited, place the process name with a colon on the left.</p> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td width="378"> | ||
<img src="08 header_for_several_processes.png" alt="Header for several processes"/> | ||
</td> | ||
<td> | ||
<p>If there are several processes in a group, add a bold header.</p> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td width="378"> | ||
<img src="09 inline_processes.png" alt="Inline process"/> | ||
</td> | ||
<td> | ||
<p>Do not show a process name for inline progress.</p> | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
{width=308} | ||
|
||
If space is limited, show percentage completed: | ||
|
||
{width=342} | ||
|
||
#### In dialog | ||
|
||
Use a process name as a dialog header, capitalize the title and remove ellipsis. Process details appear above the progress bar: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This looks like a special type of dialog, dedicated just for the progress. Possibly, make the header "In progress dialog" and write when it should be used? I think, we use it when the IDE cannot function properly until this process is completed. |
||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, there's no example of how the progress from the illustrations above (process name above, details below) appears in dialogs or popups |
||
{width=544} | ||
{width=706} | ||
|
||
#### In status bar | ||
|
||
Place a process name under the progress bar in the Status bar: | ||
Place a process name with an ellipsis before the progress bar: | ||
|
||
{width=238} | ||
{width=706} | ||
|
||
### Process status | ||
|
||
If a process consists of substeps that can fail but do not terminate the process, then use green and red colors to show the intermediate status. | ||
For example, show the status of the running tests: | ||
|
||
{width=390} | ||
{width=706} | ||
|
||
Do **not** color progress bar to show the final result of the task, use [notifications](notification_types.md). | ||
In case of success, show notification for the user-initiated tasks, in case of failure — for all tasks. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The second sentence is not clear without an example. Possibly remove it as it's not about the progress control. I'd also suggest rewriting the first sentence as: Do not use red/greed colors to show the final status. After the process is completed, hide the progress bar and show a notification to show the process result. |
||
|
||
### Process control | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should it be plural "controls"? |
||
|
||
#### Cancel or Stop button | ||
Provide the Cancel button in the progress dialog if the process can be interrupted (see [Loading Project dialog](#in-dialog)). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think, the control tag should be used for button names There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Possibly just repeat the illustration here to not make the reader skip higher in the article There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, it seems that the actions — Cancel, Stop, Pause — do not depend on the UI element we use to show them. The button is used only when the progress appears in the "progress dialog". In all other cases, we use icons. Possibly move the "Process controls" section above the new "Placement" section suggested by Eldar, and in the "Placement / In progress dialog" add that the icon is replaced a button. |
||
Use the Stop button if interrupting does not return the environment to its previous state. | ||
|
||
Use the Stop icon if there are several processes running at the same time in one dialog or there is not enough space for the button (e.g., [Status bar](#in-status-bar)): | ||
|
||
{width=700} | ||
|
||
Always place the Stop icon on the right next to the progress bar. On hover over the Stop icon, show the "Stop" or "Cancel" comment under the progress bar instead of process details: | ||
|
||
{width=332} | ||
|
||
If the process takes a long time and can prevent the user from performing tasks, provide an option to pause a process using the Pause button or the Pause icon. | ||
Replace process details with the "Pause" comment on hover over the Pause icon: | ||
|
||
{width=331} | ||
#### Stop icon | ||
Use the Stop icon when multiple processes are running simultaneously in one dialog or when there isn’t enough space to display individual buttons (e.g., [Status bar](#in-status-bar)): | ||
|
||
{width=706} | ||
|
||
#### Placement and Behavior | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Instead of this section, I suggest separating it to two parts — Stop icon and Pause/Resume icon. The 1st example in this section is about the stop icon, can be unified with above. The others are about the Pause/Resume. |
||
<table style="none" border="false"> | ||
<tr> | ||
<td width="378"> | ||
<img src="17 stop_button.png" alt="Stop icon on the progress bar"/> | ||
</td> | ||
<td> | ||
<p>Always place the Stop icon on the right next to the progress bar. On hover over the Stop icon, show the "Stop" or "Cancel" comment under the progress bar instead of process details.</p> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td width="378"> | ||
<img src="17 pause_button.png" alt="Pause button on the progress bar"/> | ||
</td> | ||
<td> | ||
<p>If the process takes a long time and can prevent the user from performing tasks, provide an option to pause a process using the Pause button or the Pause icon.</p> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td width="378"> | ||
<img src="18 pause_button.png" alt="Pause under the progress bar with hover effect"/> | ||
</td> | ||
<td> | ||
<p>Replace process details with the "Pause" comment on hover over the Pause icon.</p> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td width="378"> | ||
<img src="19 resume_button.png" alt="Resume button on the progress bar"/> | ||
</td> | ||
<td> | ||
<p>If a user pauses the process, show "Paused" under the progress bar. Replace the Pause icon with Resume.</p> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td width="378"> | ||
<img src="20 resume_button.png" alt="Resume under the progress bar with hover effect."/> | ||
</td> | ||
<td> | ||
<p>Show "Resume" under the progress bar and when hovered over the Resume button.</p> | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
#### Pause Option Recommendations | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Change header to the sentence case There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suggest writing about this in the "Pause/Resume icon" section. Also I'd suggest rewriting to the positive phrasing — when it should be used instead of when it shouldn't be. |
||
|
||
It is **not** recommended providing an option to pause the process. It is preferable that the process runs in the background and does not interfere with a user. | ||
|
||
If a user pauses the process, show "Paused" under the progress bar. | ||
Replace the Pause icon with Resume, show "Resume" under the progress bar and when hovered over the Resume button: | ||
|
||
{width=330} | ||
|
||
#### Process Completion | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Change header to the sentence case There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Move this section to the level of "Progress controls" so that the headers structure describes different parts of the progress one after another:
|
||
Hide the progress bar as soon as the process completes. | ||
|
||
## Sizes and placement | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's remove this part as we did for other articles. It's easier to keep spacings in the UI kit, and sizes are built-in into controls themselves |
||
|
||
The progress form and sizes are the same in all themes. | ||
|
||
{width=586} | ||
{width=706} | ||
|
||
{width=706} | ||
|
||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add a separate chapter 'Placement':
Placement:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.