mouse vs keyboard : Java Glossary
- mouse vs keyboard
When Apple released the mouse, GUIs (Graphic User Interfaces)
became all the rage and there was a mad dash to
convert all applications to mouse-based. This is not always a good idea. Consider:
Advantages of the Mouse
- Typically you don’t have to remember much to use a mouse-based interface. One noticeable exception in the
IntelliJ IDE (Integrated Development Environment) which is crawling with tiny inscrutable icons many of which do not have tooltips.
- You can point to what you want to change. You don’t have to tab over to it.
- You can select from a list of options without having to assign and display a short typing selector letter/name.
You can just point to the one you want, e.g. an entry in a phone directory.
- By hovering your cursor over something unfamiliar, this invokes tooltip help which tells you what it
is for. You do not waste screen space, or overwhelm the user with detail by displaying such help all the
time, the way is often done in keyboard-based apps.
- Your screenshot is your main selling tool. It is your first impression. If your app does not look sexy, people won’t even download
a trial. It is your badge for proving competence.
Disadvantages of the Mouse
- When you use a mouse-based application, you waste time moving from keyboard to mouse back and forth.
- Your eyes have to say glued to the screen. You have to look at it very carefully. You need excellent
- It requires a steady hand, especially for doing tasks like inserting the cursor between two letters or
selecting a single letter. If I am ill, (or even just cold) these task become almost impossible because my hands shake.
To use a keyboard, you need good typing reflexes, but not fine motor control. Precisely where on the keycap you hit a key, does matter.
- Double click is ill defined. The computer often mistakes it for two separate clicks, or as a single stuttering
- Mice are just one more thing you have to carry around to use a portable device. No matter how compact the
electronics they still hand to be hand-sized just to give you something to hold onto.
- It is very difficult to give instruction to someone over the phone or in a manual how to use a mouse-based
app. There is no vocabulary for the icons you must hit, or the places on the screen you must click. You pretty
well have to create little video tutorials which are fine for initial orientation, but not for reference.
- Vendors usually won’t let you take a mouse for a test drive.
- Programmers spend more time on the fine points of the look and feel than they do on what the app actually does.
Programmers now have to be artists or to team up with artists, even to write the simplest apps.
- Porting GUI (Graphic User Interface) software between operating systems, or even GUI environments on the same OS (Operating System)
requires almost a complete rewrite. Porting anything to do withboards is fairly trivial.
Advantages of the Keyboard
- A skilled operator can click a keyboard 100 to 200 times a second. You are
lucky to get 1 click a second with the mouse.
- A keyboard operator does not need to look at the keyboard. He can look at the screen, something or the desk to reference or transcribe
or even close his eyes.
- Pure keyboard apps are about 5 times simpler to write, i.e. much cheaper to develop, debug and maintain.
- Pure keyboard apps are more responsive and smaller. They will work fine on absolute hardware.
- Data entry purely by keyboard is many times faster than using a mouse.
- Blind people with a software help can efficiently use keyboard-based apps. Mouse-based ones are problematic
because they require you to maintain visual model of what is on the screen, and precisely, and I mean
precisely, down to the pixel, where the cursor is. It is a way to exclude the blind who don’t model the
world visually. Even a keyboard-based GUI would be a problem. How are the blind to appreciate subtle information encoded in fonts, type
sizes and colours? Approaching a computer visually allows a torrent of information to be unconsciously absorbed
every second, but not for the blind.
- If the logic of your app changes frequently, or if you are doing a prototype, you app will be much easier to change
without the encumbrance of an elaborate GUI. Keyboard-interfae is like painting your walls white, where a GUI is like hiring a mural painter to decorate
all your walls.
If you want to install a new electrical
outlet, you don’t want to have engage the mural painter again.
Disadvantages of the Keyboard
- Most keyboards have atrocious quality.
- Vendors usually won’t let you take a keyboard for a test drive.
- If you used to one keyboard, you might find it takes quite an adjustment period before you are up to speed on another. Mice are pretty
well interchangeable. If you have to sit down at an unfamiliar computer, you will be up to speed using the mouse much faster than using
- A keyboard is quite a large device. If you try to miniaturise it, or even shrink it a bit, your typing speed plummets and error-rate soars.
You have seen people clumsily attempting to type with their thumbs on cellphones.
A keyboard is not that suitable for portable devices, even laptops. Perhaps we should stop moving computers around. Make sure they
as freely available as pens, and simply move the data around on thumb drives or via the Internet. To work properly it needs to be as big as two outstretched
separated by a comfortable 27.94 cm (11 in).
Of course you can do both mouse and keyboard, adding keyboard shortcuts for pretty well anything you might do
by mouse. This lets novices and power user alike feel comfortable. When you design such an app, avoid forcing the
user to flip back and forth, back and forth between keyboard and mouse. Allow alternates so you can stick with
one or the other for long stretches of time.