THE MOUSE CURSOR

“A pointer or mouse cursor is a symbol or graphical image on the computer monitor or other display device that echoes movements of the pointing device, commonly a mouse, touchpad, or stylus pen.” -Wikipedia

The first mouse prototype by Douglas Engelbart, 1963.

The first mouse was developed in 1963 by Douglas Engelbart at the Stanford Research Institute. It was not until 1981 that it was developed commercially by Xerox for the Xerox Star personal computing station. The Xerox Star introduced the first Graphical User Interface (GUI) where a user could click icons rather than type commands, this included the first mouse cursor.

The design for the first mouse pointer for the Xerox Star, and the first GUI on the Xerox Star, 1981.

Originally Engelbart designed the mouse cursor as an arrow pointing up, but it was difficult to see on the low-res displays. He changed the design to a 45 degree angle so it would be easier to distinguish against the background. The GUI developed at Xerox, including this slanted mouse cursor, was heavily influential on Steve Jobs and later Bill Gates. A few lesser known interfaces used the straight arrow mouse cursor, but it soon disappeared from common use.

Lesser known user interface VisiOn used a vertical arrow.

As GUI developed, the mouse cursor, or pointer, took on an essential role in user interface. Various pointers help users by indicating what tasks can be accomplished using their mouse at a specific point on their screen. Many of the early Apple GUI icons were developed by Susan Kare, including various pointers such as the original “pan hand”.

Icons and the Control Panel designed for Macintosh by Susan Kare, 1983.

The spinning pinwheel is a variation of the mouse cursor, used to indicate that an application is working. The multicolored icon by Apple is officially called the “spinning wait cursor”, but often referred to as the spinning beach ball, the spinning wheel of death, or the spinning pizza of death. There have been many variations of the progress cursor designed for different GUI systems.

There are lots of different ways to use the mouse cursor. Some mouse cursors, like the mouse trail feature, can help users with limited vision find their mouse on the screen more easily. Other mouse features can be used for less practical reasons.

Screen Trails can help users find thier cursor on the screen.
A creative interpretation of the cursor.
This video uses recorded cursors as a tool. Click to video.

Mobile operating systems with touch screens don’t have a mouse and therefore do not need a mouse cursor. Some people argue that the cursor will become obsolete for this reason, but others believe it is unlikely. Alternate ways of navigating a computer operating system include touch and motion, but these technologies are not yet as accurate as using a mouse.

Leap Motion is an example of mouseless navigation.

The cursor property in CSS controls what the mouse cursor will look like when it is located over the element in which this property is set. This is a helpful tool for the user experience, the mouse cursor helps convey certain functionality. Below is a list of standard CSS cursor properties. It is also possible to create a custom cursor.

Category CSS value Actual Description
General auto   The browser will determine the cursor to display based on the context. E.g., equivalent to text when hovering text.
default default.gif No special behavior is present. Typically an arrow.
none   No cursor is rendered.
Links & status context-menu context-menu.png A context menu is available.
help help.gif Help information is available.
pointer pointer.gif The element can be interacted with by clicking on it. Used, e.g., when hovering over links. Typically an image of a hand.
progress progress.gif The program is busy in the background, but the user can still interact with the interface (in contrast to wait).
wait wait.gif The program is busy, and the user can't interact with the interface (in contrast to progress). Sometimes an image of an hourglass or a watch.
Selection cell cell.gif The table cell can be selected.
crosshair crosshair.gif Cross cursor, often used to indicate selection in a bitmap.
text text.gif The text can be selected. Typically the shape of an I-beam.
vertical-text vertical-text.gif The vertical text can be selected. Typically the shape of a sideways I-beam.
Drag & drop alias alias.gif An alias or shortcut is to be created.
copy copy.gif Something can be copied.
move move.gif Something can be moved.
no-drop no-drop.gif An item may not be dropped at the current location.
bug 275173: On Windows and Mac OS X, no-drop is the same as not-allowed.
not-allowed not-allowed.gif Something can't be done.
Resize & scrolling all-scroll all-scroll.gif Something can be scrolled in any direction (panned).
bug 275174: On Windows, all-scroll is the same as move.
col-resize col-resize.gif The item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating them.
row-resize row-resize.gif The item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them.
n-resize Example of a resize towards the top cursor Some edge is to be moved. For example, the se-resize cursor is used when the movement starts from the south-east corner of the box.
In some environments, an equivalent bidirectional resize cursor is shown. For example, n-resize and s-resize are the same as ns-resize.
e-resize Example of a resize towards the right cursor
s-resize Example of a resize towards the bottom cursor
w-resize Example of a resize towards the left cursor
ne-resize Example of a resize towards the top-right corner cursor
nw-resize Example of a resize towards the top-left corner cursor
se-resize Example of a resize towards the bottom-right corner cursor
sw-resize Example of a resize towards the bottom-left corner cursor
ew-resize 3-resize.gif Bidirectional resize cursor.
ns-resize 6-resize.gif
nesw-resize 1-resize.gif
nwse-resize 4-resize.gif
Zoom zoom-in zoom-in.gif

Something can be zoomed (magnified) in or out.

zoom-out zoom-out.gif
Grab grab grab.gif

Something can be grabbed (dragged to be moved).

grabbing grabbing.gif

References

Everything You Need to Know About the CSS Cursor Rule
Pointer, Wikipedia
Tool Tip, Wikipedia
The Computer Mouse, Wired
The Xerox Star, Wikipedia
The Future of Touchscreens
The Mouse Cursor, Stack Exchange
The Mouse Cursor, FastCodes
Find Your Mouse Cursor, Codepen
Do Not Touch, Studio Moniker