Spinning wait cursor

Spinning wait cursor

The spinning wait cursor is a cursor in Apple's Mac OS X that indicates an application is not responding to system events. It is similar to the "not responding" status in the Microsoft Windows task manager.

The "Apple Human Interface Guidelines" officially refer to it as the "spinning wait cursor"; its colloquial names include "spinning starlight mint of doom", "spinning pizza" [ [http://catb.org/jargon/html/S/Spinning-Pizza-of-Death.html Spinning Pizza of Death ] ] , "spinning pinwheel", "the beach ball of hell" [ [http://www.macfixit.com/article.php?story=20050310003145313 Mini-Tutorial: The dreaded spinning pinwheel; Avoiding unresponsiveness/slow-downs in Mac OS X - MacFixIt ] ] , "spinning beach ball of death" [http://www.caminobrowser.org/releases/09a1.php] , "Spinning beach ball of impending doom", "spinning wheel of death", "rainbow wheel of death" [http://www.centennial.k12.or.us/schools/clc/clc_web/documents/AV/laptoptrouble.pdf] , and "marble of doom" [ [http://marbleofdoom.com/about.html About the Marble of Doom ] ] . The suffix "of death" in these names is a reference to Microsoft Windows' Blue Screen of Death (BSOD), which also leads to the acronym "SPOD" for "spinning pizza of death," commonly used in mailing lists such as Mac-L. [ [http://www.listmoms.net/lists/mac-l/ Mac-L Discussion List ] ] The suffix 'of doom' is also commonly used. The act of an application getting the spinning wait cursor is often referred to as "beachballing". [ [http://www.tech-recipes.com/rx/2218/os_x_beachballing_spinning_pinwheel OS X: What is beachballing or Spinning Pinwheel ? - Tech-Recipes.com ] ]

History

A wrist-watch was the first "wait" cursor in early versions of Mac OS. The first animated version (same watch with a spinning minute hand) was a ROM add-on. Apple adopted it and made it an integral part of the OS. 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. (Microsoft Windows would later use an hourglass cursor for the same concept.) Until Mac OS 8, implementation of animated cursors was left to the application. Although Mac OS 8 introduced the Appearance Manager, which provided a standard way of handling busy cursors, even beyond Mac OS 8 different applications used different indicators. [http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGCursors/chapter_15_section_2.html#//apple_ref/doc/uid/TP40002724-BABJFEBB]

In Mac OS X, Apple gave the wheel rainbow 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.

Detailed 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 (regardless of the exact cause) the operating system displays the wait cursor whenever the cursor hovers over that application's windows. This threshold is 5 seconds in Mac OS X v10.4, but was previously 2 seconds.

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 choose to terminate an unresponsive application, by using "Force Quit" under the Apple menu, the keystroke command-option-escape, or the Force Quit command found by right-clicking the icon of an unresponsive application icon in the Dock.

While one application is unresponsive, typically other applications are usable in the meantime and may be used until the former becomes responsive again.

Guidelines, tools and methods for developers

Apple's guidelines suggest that developers try to avoid the spinning wait cursor, and suggest other user interface indicators, such as an asynchronous progress indicator.

Possible causes include:
* Applications often do not poll for events during operations requiring intense processing. Sometimes developers do not poll simply because the operation should take less time than the operating system's threshold for displaying the spinning wait cursor, but the operation takes longer than the developer anticipated. An application that has stopped polling events during an operation will usually recover once the operation is complete.
* Bugs in applications can cause them to stop responding to events; for instance, an infinite loop. Applications that do this rarely recover.
* Problems with the virtual memory system such as slow paging caused by a spun-down hard disk (or, potentially, read errors) will cause the wait cursor to appear. In this case, multiple applications will display the wait cursor as they attempt to access memory that must be paged in until the hard disk and virtual memory system recover.

Spin Control is an application that comes with the Mac OS X Developer Tools. It allows the user to monitor and sample applications that are either not responding or performing a lengthy operation. Each time an application does not respond and the spinning wait cursor is activated, Spin Control will sample the application to determine which code is causing the application to stop responding. With this information, the developer can rewrite code to avoid the cursor being activated.

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.

References

External links

* [http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGCursors/chapter_16_section_2.html#//apple_ref/doc/uid/TP40002724-TPXREF101 "Apple Human Interface Guidelines: Standard Cursors"] from Apple's website.
* [http://developer.apple.com/documentation/Performance/Conceptual/CodeSpeed/Articles/PerceivedResponse.html#/apple_ref/doc/uid/20001868-97479 "Perceived Responsiveness: Avoid the Spinning Cursor"] from Apple's website.
* [http://www.thexlab.com/faqs/sbbod.html Troubleshooting the "Spinning Beach Ball of Death"] Excerpt from “Troubleshooting Mac OS X” book where there are some information on how to deal with Spinning Wait Cursor problems.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Spinning wait cursor — Le spinning wait cursor (terme utilisé officiellement dans le Apple Human Interface Guidelines), appelé aussi familièrement par différents noms, comme Wheel of death, ou roue de la mort, est la roue multicolore de Mac OS X qui remplace le curseur …   Wikipédia en Français

  • Cursor (computers) — A blinking text cursor, stopped in the middle of typing the word Wikipedia. In computing, a cursor is an indicator used to show the position on a computer monitor or other display device that will respond to input from a text input or pointing… …   Wikipedia

  • Wheel of Death — Spinning wait cursor Le spinning wait cursor (terme utilisé officiellement dans le Apple Human Interface Guidelines), appelé aussi familièrement par différents noms, comme Wheel of death, ou roue de la mort, est la roue multicolore de Mac OS X… …   Wikipédia en Français

  • Wheel of death — Spinning wait cursor Le spinning wait cursor (terme utilisé officiellement dans le Apple Human Interface Guidelines), appelé aussi familièrement par différents noms, comme Wheel of death, ou roue de la mort, est la roue multicolore de Mac OS X… …   Wikipédia en Français

  • Screen of death — A Blue Screen of Death from a Windows 98/Windows 98SE/Windows ME operating system, indicating the occurrence of a serious error. In many computer operating systems a special type of error message will display onscreen when the system has… …   Wikipedia

  • Apple Developer Tools — Developer(s) Apple Inc. Stable release 3.1 (1096) / April 2008 Operating system Mac OS X Type IDE …   Wikipedia

  • Progress indicator — A progress indicator is an element of a command line interface, a textual user interface, or a graphical user interface that is intended to inform the user that an operation is in progress, to reassure that the system is not hung or waiting for… …   Wikipedia

  • Fatal error — Not to be confused with fatal system error. In computing, a fatal error or fatal exception error is an error that causes a program to abort and may therefore return the user to the operating system. When this happens, data that the program was… …   Wikipedia

  • List of Mac OS X technologies — This is an incomplete list of the various technologies in Mac OS X.0 9A* Activity Monitor * Apple Address Book * Apache HTTP Server * Apple Filing Protocol (AFP) * Aqua * AutomatorB* BootX * BOMArchiveHelper * Bonjour (formerly Rendezvous) *… …   Wikipedia

  • Blue Screen of Death — as seen in Windows NT, Windows XP, Windows Vista and Windows 7 The Blue Screen of Death (also known as BSoD, Blue Screen, or bluescreen), known officially as a Stop Error …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”