More about Smart Cut/Copy/Paste (after Gruber)

Posted by Pierre Igot in: Macintosh, Pages
May 9th, 2006 • 9:35 am

A couple of weeks ago, John Gruber at Daring Fireball wrote a couple of articles about so-called “Smart Cut/Copy/Paste” in Mac OS X applications.

The gist of his posts is that there is a fundamental problem with the way Apple applies the rules of this “smart” behaviour. The application of these rules in Mac OS X depends on how you select text.

If, when you are editing text in a Mac OS X application such as TextEdit, you select your text by clicking and dragging your mouse pointer across the letters of the words you want to select, i.e. you select text character by character, then Smart C/C/P does not seem to apply.

If, on the other hand, you select your text by double-clicking on a word (and dragging your mouse across more words to add them to the selection if necessary), i.e. you select text word by word rather than character by character, then Smart C/C/P applies.

What’s fundamentally wrong about this is that a word-by-word selection looks exactly the same as a character-by-character selection. It is of course impossible (by definition) to select a partial word with word-by-word selection, but if you select entire words, there is absolutely no difference visually between a selection done character by character and a selection done word by word. Both selections look exactly the same.

Because they look exactly the same, they should also behave in exactly the same way. But, as John Gruber indicates, they don’t, and that’s the gist of the problem.

No matter how useful smart C/C/P might be in some situations (and it can be useful), the way that it is applied by Apple is not consistent, because it cannot be predicted based on the visual aspect of the selection. It can only be predicted based on the method used by the user to create the selection.

But in fact it’s even worse than what John Gruber said. Based on my experience, even within the group of Mac OS X applications (based on “NSTextView,” the “standard built-in text-editing control in Cocoa”) that are affected by this problem, there is inconsistency.

Pages, for example, is very much a Cocoa application, and, as such, can be expected to be based on the same text editing tools. Yet Pages does not behave like other Mac OS X applications such as TextEdit or Mail.

In Pages, if you select a word inside a sentence, whether you select it character by character or word by word, when you cut it, Mac OS X also automatically removes the trailing space after the word, even if it’s not included in the selection.

For example, take the following sentence in a Pages document:

This is an example.

If I select the word “is” by placing my insertion point before the initial “i” and dragging my mouse pointer across the two letters of the word (or by pressing shift-Right twice), then when I press command-X to cut the word, Pages also removes the extra space after the word, even though I didn’t select it, despite the fact that I selected the word character by character and not word by word.

The exact same action in TextEdit or Mail fails to remove that extra space, and in TextEdit or Mail, I end up with two spaces between “This” and “an.”

The issue here is not whether the automatic removal of the extra space is useful or not. The issue is that this removal is done inconsistently and, to the eyes of the average user, unpredictably. (If you’ve read John Gruber’s posts and mine, you will now be able to predict what will happen depending on which application you are in and which method you used to select your text. But the average Mac user can hardly be expected to have researched the topic so extensively.)

Of course, Pages is a word processor and, as such, there are many situations where the automatic removal of the extra space is useful. But then, it could also be argued that many people use Mail or TextEdit exactly in the same way that they use Pages, i.e. as a word processor. So why should the behaviour be different in those applications?

We pay a (small) premium for Apple products because we want attention to detail and consistency. Maybe someone at Apple is paying attention to the details here. But that person is certainly not being consistent, or not enforcing this consistency in the work of Apple’s engineers.

Comments are closed.

Leave a Reply

Comments are closed.