Differences between revisions 3 and 4
Revision 3 as of 2011-01-23 19:01:25
Size: 2002
Editor: shoobe01
Comment:
Revision 4 as of 2011-01-23 19:16:21
Size: 3277
Editor: shoobe01
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
User control must be provided for loading and synching operations with remote devices or servers.
Line 7: Line 8:
Remote data sources provide the bulk of the functionality of modern mobile devices. Due to specific user needs, accidental inputs or system constraints, the user must sometimes manually start or stop data transfers.

Some examples:
 * Loading web pages
 * Synching with address books
 * Synching with email servers
 * Submitting transactions
 * Transferring files to local devices
 * Sending images over MMS

While as much as possible should be done automatically, user over-ride and user control should always be provided. These will be paired "Reload" and "Stop" buttons, either in the application directly, or in settings.

LABELS, OPTIONS
Line 17: Line 31:
click to act... Selecting any button will begin performing the action immediately.
Line 21: Line 35:
Do not accept Do not accept duplicate inputs. If a "Stop" command has been received, do not accept further "Stop" commands. If the system is poorly built, and might "forget" a previous command, fix the system, instead of requiring the user to carry out a simple, single-point behavior multiple times.
Line 33: Line 47:
Do not just use one! Don't provide a "Synch" if you don't also provide a cancel!!!!!!

Don't ever provide a waiting popup, or status, without a way to cancel! Especially a modal popup!!!!!!!!

As one thing, since sometimes you use a single location. Must offer refresh for more than web browser URLs, so a single idea... I think. NOT just for browsers, because you might have to synch any number of services (see Infinite List); make note they should all be there if ANY are. If you can press a synch button, and it loads, it better have a stop button if it's failing or using too much system resources.

Problem

User control must be provided for loading and synching operations with remote devices or servers.

Solution

Remote data sources provide the bulk of the functionality of modern mobile devices. Due to specific user needs, accidental inputs or system constraints, the user must sometimes manually start or stop data transfers.

Some examples:

  • Loading web pages
  • Synching with address books
  • Synching with email servers
  • Submitting transactions
  • Transferring files to local devices
  • Sending images over MMS

While as much as possible should be done automatically, user over-ride and user control should always be provided. These will be paired "Reload" and "Stop" buttons, either in the application directly, or in settings.

LABELS, OPTIONS

Variations

  • Adjacent -

  • Superimposed -

Interaction Details

Selecting any button will begin performing the action immediately.

For either version, only allow access to buttons that can take effect in the current state. If a web page has completed loading, do not allow a "Stop" function to work.

Do not accept duplicate inputs. If a "Stop" command has been received, do not accept further "Stop" commands. If the system is poorly built, and might "forget" a previous command, fix the system, instead of requiring the user to carry out a simple, single-point behavior multiple times.

For either case, it is best to assume that the request will take a brief time to take effect, and to account for accidental double-taps, and other mistaken inputs. Do not allow conflicting actions, such as "Stop" immediately followed by "Reload" within about 1/2 second.

Presentation Details

For either version, only allow access to functions that are available in the current state. Suppress or "gray-out" buttons that do not apply. For functions already submitted, a more subtle state change may take effect to imply the button has converted to an indicator. For example, when a "Synch" button has been pressed, the icon should animate to indicate the synch operation is occurring. Remember that many remote operations, even just stopping a request, will take some coordination to take effect; the in-progress state will take a significant amount of time so must be represented.

When a status area is present, such as those described in Notifications, the any current behavior should also be indicated there. This should be true for actions that will result shortly in the process becoming idle. A command to cancel loading should display "Stopping..." or similar.

Antipatterns

Do not just use one! Don't provide a "Synch" if you don't also provide a cancel!!!!!!

Don't ever provide a waiting popup, or status, without a way to cancel! Especially a modal popup!!!!!!!!

Examples

Reload, Synch, Stop (last edited 2011-07-31 21:53:39 by shoobe01)