Why cursors blink

October 22, 2006

Cursors on 'dumb' serial terminals blink because their location usually is the most important spot on the screen; it was where your typing would go. Blinking made sure that you weren't going to lose track of it.

Cursors in terminal emulators blink because people haven't bothered to rethink this in the face of multiple windows. (I'm not sure that they've thought about it deeper than 'dumb terminal cursors blink, let's imitate them'.)

That's a strong statement. Let me try to justify it.

In GUI text controls, the active insertion point blinks (slowly) to keep it from being mistaken for a pipe character (according to the Apple Human Interface Guidelines) and to attract your attention to where your typing will go. However, the standard insertion point is a relatively hard to see vertical bar, usually floating in a sea of controls.

By contrast, terminal emulator cursors are usually square boxes, in a much more obvious setting (and their blinking is much, much more visible and thus much more irritating). Such a cursor is not going to be confused for any character normally found in nature (and if you are going to worry about reverse video spaces, you might as well worry about blinking reverse video spaces too).

A large blinking thing is a strong attention attractor, because people are reflexively attracted to apparent motion and change. However, in a multi-window environment you can't assume that you're the most important thing and that the user's attention should be dragged to you all the time, even if you currently have the mouse focus.

(As you can tell, this is one of my pet peeves.)

Written on 22 October 2006.
« Weekly spam summary on October 21st, 2006
A dump performance hint: the block size really matters »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Oct 22 23:03:01 2006
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.