Coding Horror

programming and human factors

My Mouse Fetish

I've talked about the programmer's take on keyboard and chair, but I have yet to cover that other computing staple: the mouse. I was reminded when HMK referenced Ars Technica's History of the GUI:

This was the mouse, invented by Douglas himself [in 1968] and built by one of his engineers. Nobody knew who first started calling it a mouse, but the name stuck back then, and has remained ever since. Mechanically it was slightly different from modern mice in that the two circular wheels connected to the internal potentiometers rolled directly on the table surface, instead of being manipulated by a single mouse ball rubbing against rollers. However, to the end user it operated virtually identically to a modern mouse. Other input devices had been tried (such as touch screens and light pens), but user testing found the mouse to be the most natural way to manipulate an on-screen cursor. This remains true today.

Close-up of the keyboard and mouse

With the invention of the mouse came the invention of the mouse pointer, which in this system was a stick arrow, about the height of a single character, pointing straight up. This was called a "bug" by Douglas' team, but this term did not survive into modern use. When objects were selected, the "bug" would leave dots on the screen to mark this action.

I've had something of a mouse fetish over the years, and I've probably owned every significant design revision from Microsoft and Logitech since the days of the Microsoft "Dove Bar" Mouse and the three-button Logitech MouseMan. Mice have evolved quite a bit since those early days:

  • better ergonomics
  • buttons increased to three (or more)
  • added a scrolling wheel (vertical, and recently horizontal)
  • went from mechanical to optical
  • went from wired to wireless

The early optical mice were actually somewhat inferior to the mechanical ones, due to the limited clock rate and resolution of the optical sensors. It was possible to "confuse" the hardware if you moved your hand fast enough, and shiny surfaces of any kind were problematic. Granted this was mostly an issue for gamers, but the current crop of optic hardware delivers as much as 1600 DPI or 4 times the resolution of the original Intellimouse Explorer. So unless you're the cyborg Ash from Alien, I think you'll be fine with today's hardware; for even more detail, read this excellent technical summary of optical mouse technology.

After some recent experimentation with the Logitech MX1000 and the Wireless Intellimouse Explorer (in luxurious leather), I've basically given up on wireless mice. The things I've come to value most in a mouse are:

  1. Lightweight
  2. Vertically scrollling wheel
  3. Left, Right and Back (thumb) buttons

Horizontal scroll wheels? Additional buttons (middle, forward)? Never use 'em. I have nothing against wireless per se, but the mouse cord is a total non-issue for me; I can't recall a time I've ever fought with the cord on any mouse. But the added battery weight of wireless is prohibitive; this is a phobia I share with TristanK. Some people prefer heavy mice, I suppose-- I recall older mice with steel weights inside them purely to add heft-- but I feel most at home with a nimble, lightweight mouse. I happen to have a postal scale here (don't ask), and here are the weights of some mice I had laying around:

Logitech MX700172g
Logitech MX1000162g
Logitech MX510120g
Logitech MX518110g
MS Intellimouse Explorer 3.0106g
MS Notebook Wireless Mouse (with AA battery)92g
MS Notebook Wireless Mouse (sans battery)62g
MS Notebook Mouse50g

Please note that any resemblance between me and a freakish obsessive is purely coincidental. The notebook mice are indeed very light, but the lack of thumb buttons is a showstopper for me. So, I've settled on the Logitech MX518:

Logitech MX518 mouse

Besides the cool ball peen hammer optical effect, it has one killer feature: those previously useless buttons above and below the scroll wheel are actually useful now. They adjust the sensitivity from 400/800/1600 dpi on the fly. This is surprisingly handy, and it's a native hardware feature: no drivers required, no need to visit Control Panel, Mouse to play with the sensitivity slider. Recommended.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: