Progress Mode

Determinate
Operations where the percentage of the operation complete is known should use the determinate indicator.
Indeterminate
Operations where the user is asked to wait while something finishes and it’s not necessary to indicate how long it will take should use the indeterminate indicator.
Buffer
Operations where the user wants to indicate some activity or loading from the server, use the buffer indicator.
Query
For situations where the user wants to indicate pre-loading (until the loading can actually be made), use the query indicator.