Spinning pinwheel

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mainstreetmark (talk | contribs) at 01:06, 14 October 2005 (Nomenclature). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Jump to navigation Jump to search
File:Waitcursor.gif
The spinning wait cursor in Mac OS X appears when a program is busy

The Spinning wait cursor icon in Apple's Mac OS X (sometimes called the spinning beachball) is similar in intent to the hourglass icon in Windows. The wait cursor will appear while an application or program is unresponsive.

History

The first wait cursor was a wrist-watch in System 7 and earlier. Other busy indicators were a spinning black and white disc, or a spinning red and yellow disc. These cursors would be activated by an application when it was performing a lengthy operation. Until Mac OS 8, implementation of animated cursors was left to the application. As a result, even beyond Mac OS 8 different applications use different busy indicators.

In Mac OS X, Apple gave the wheel psychedelic colors and a more dynamic appearance. More significantly, Apple changed its meaning. Rather than being an indication that an application was performing an action it expected to take a while, it meant that the system software had noticed that an application had stopped responding to events. This could indicate that the application was in an infinite loop, or just performing a lengthy operation and ignoring events.

Like many other Mac OS 9 to Mac OS X changes, this new wait cursor originated with NEXTSTEP which eventually became the basis for Mac OS X.

Explanation

Each application has an event queue which receives events from the operating system (for example key presses and mouse button clicks). If an application takes too long to process the events in its event queue, then the operating system displays the wait cursor whenever the cursor hovers over that application's windows.

This is meant to indicate that the application is temporarily unresponsive, a state from which the application may recover, however it may also indicate that the application has entered an unrecoverable state. Users can use "Force Quit" under the Apple menu (or the keystroke command-option-escape) to terminate an unresponsive application.

While one application is unresponsive, typically other applications are usable in the meantime. For example, if Safari freezes up and the beach ball appears, users can switch to iTunes and use that until Safari begins to respond again.

The wait cursor can also indicate a problem with the virtual memory system, as virtual memory page swaps will cause an application to stop responding. If all applications stop responding frequently for an extended period of time, the hard disk should be inspected and/or replaced. This type of problem should be taken seriously; typically, users consider this symptom to be just an unstable operating system, and are caught by surprise (and often without backup) when the hard disk fails completely.

The wait cursor can also indicate other bugs in Mac OS X, although this is becoming less common as Mac OS X matures.

Human Interface Guidelines

The spinning wait cursor will be automatically displayed by the Window Server when an application cannot process all of the events it receives; if an application does not respond for longer than 2 seconds, the spinning wait cursor appears. Apple's Human Interface Guidelines suggest to developers that situations that cause spinning wait cursors should be eliminated programatically; their Xcode library provides an application called "Spin Control" to isolate these sections of code.

Developers

Apple's guidelines suggest that developers try to avoid manually setting the spinning wait cursor, and suggest other UI indicators, such as an asynchronous progress indicator. Developers have limited control over the behavior of the wait cursor:

  • In Carbon, the Carbon Events Manager manages the wait cursor. Excessive polling of input devices can cause the spinning wait cursor to appear, or even cause the application to hang.
  • In Cocoa, the spinning wait cursor's behavior is managed by the standard NSCursor methods.

Nomenclature

The official Apple Human Interface Guidelines refers to this cursor as the "spinning wait cursor". Some Mac users often refer to the colorful wait cursor by a variety of more creative names, for example "the spinning beach ball of death" (a reference to Windows Blue Screen of Death), "the spinning pizza of death" or just "SPOD". Other names include the Catherine Wheel, a medieval torture device.

An application showing this cursor can be said to be "beachballing", as in "Safari is beachballing me, give me a sec".