Idea for word processors/text editors: Really smart drag-and-drop (for whole words)

Posted by Pierre Igot in: Microsoft, Pages, Technology, Writing
September 23rd, 2005 • 2:42 pm

Modern word processors such as Microsoft Word 2004 and Apple’s Pages already have smart behaviours when it comes to cutting and pasting text and these smart behaviours tend to apply to dragging and dropping as well. These “smart” behaviours usually try to adjust spaces before and after pasted words depending on the context where the words are pasted.

I have already noted some not-so-smart limitations of these smart cut-and-paste features, especially when it comes to editing in a foreign language such as French or to properly preserve text formatting options.

Today, I thought of another improvement that could easily be implemented in word processors and text editors and would make perfect sense in the context of “smart” text drag-and-drop. It has to do with the destination of a drag-and-drop operation.

When you select a block of text in a document and then drag it with your mouse to another location in the document, Mac OS X “previews” the location where the text is going to be dropped by drawing a blinking vertical bar under your mouse pointer. You will notice that this blinking vertical bar can be anywhere in the document, including right in the middle of a word. For example, in the screen shot below, I am dragging the word “notice” and the blinking bar is right in the middle of “example” (after the “ex“), which is where the word “notice” will be inserted if I drop it now:

Text drag-and-drop

Now think about it: How likely is it that I will want to drop a whole word such as “notice” right in the middle of an existing whole word such as “example?” How many times does a writer actually find himself in a situation where this is exactly what he wants to do?

How many times, on the other hand, does a writer find himself in the situation where he simply wants to change the location of a whole word or a whole phrase in a sentence? It could be an adverb that is not in the right location, or a phrase that is not in the right order in the sentence. In such situations, the writer wants to be able to easily select the whole word(s), and then easily move them to their new location.

Selecting whole words is easy: You can just double-click on a word to select it as a whole and then extend your selection word by word to the right or to the left by dragging the mouse pointer. Alternatively, you can use option-shift-Left and option-shift-Right to select entire words with the keyboard.

But what about moving the text? With the keyboard, it’s fairly easy. Once you’ve selected the words, you can cut them to the Clipboard with command-X, then using option-Left and option-Right to move the insertion point from word to word with the keyboard, and then use command-V to paste the contents of the Clipboard. If you are lucky, the “smart cut-and-paste” feature in your word processor or text editor will be smart enough to adjust the punctuation (spaces, punctuation marks, etc.) according to the next context for the text.

But what if you are using the mouse? Like I said, selecting whole words with the mouse is easy. But what about moving them? Well, that’s where text drag-and-drop is not so smart. Regardless of the nature of the selection, text drag-and-drop will always offer to drop the text anywhere you want to, including, as we’ve seen above, right in the middle of an existing word.

Now, it seems to me that, when I select entire words, the word processor or text editor should be smart enough to guess that, in all likelihood, I will not want to drop my selection right in the middle of an existing word, but rather somewhere in between two existing words. In other words, it seems to me that, by default, the text drag-and-drop behaviour should not offer me to drop the text in the middle of a word, but instead should only show possible destinations before or after existing whole words.

Of course, there are always exceptions to the rule, and there probably should be a way to override the default behaviour, maybe with a modifier key. But by default, I really think that, when the selection consists of entire words (i.e. when the user has clearly indicated that he wanted to select entire words, by double-clicking on them or using option-shift-Left and option-shift-Right to select them), then the text drag-and-drop behaviour should assume that the user wants to drop that text somewhere in between words, and not in the middle of existing words.

Currently, the default behaviour makes it far too easy to accidentally drop the text in the middle of an existing word when you don’t mean to do that. In order to avoid such an accident, you need to make sure that your blinking vertical bar indicating the destination of the drag-and-drop operation is exactly where you want it.

A smart word processor/text editor should not require such accurate mouse movements by default, especially when, in most common scenarios, the user will not want to drop the text in the middle of existing words.

It would be a fairly simple and basic improvement, but it would be significant for writers, because shuffling words around is, after all, a very common operation when you are a writer. Unfortunately, it often feels like word processors and text editors were designed by engineers, and not by writers.


2 Responses to “Idea for word processors/text editors: Really smart drag-and-drop (for whole words)”

  1. Paul Ingraham says:

    Great idea, Pierre: simple but powerful.

    It would nice to have the same logic apply to dragging paragraphs. Or, better still…

    I long for the return of an old AppleWorks feature, which I call “paragraph shuffling.” I find that shuffling paragraphs around is something I want to do quite routinely (especially when the paragraphs are items in a list). AppleWorks had the seemingly magical ability to change paragraph order with Ctrl-Up and Ctrl-Down, key combinations that simply (and for me, uselessly) duplicate PgUp and PgDn in all modern Mac word processors that I know of.

    The result is almost effortless movement of logical blocks of text wherever you want them to go in the flow of the document. Beautiful.

    Nice to have words move around that way too! Ctrl-Left and Ctrl-Right seem to be sitting around duplicating Cmd-Left and Cmd-Right… perhaps they could do the job! Want to move a word to a different place in a sentence? Just tap Ctrl-Left three times, and it just shuffles on over!

    It’s been a while and I don’t remember for sure, but I think AppleWork’s “shuffling” feature also applied to selections. That is, if there was no selection then Ctrl-Up would move the current paragraph above the preceding paragraph… if you selected several paragraphs, it would move the whole selection above the preceding paragraph.

    By contrast, the current situation bizarrely requires several selection and command steps to move anything, word or paragraph: place the cursor, expand the selection with keyboard or mouse, Cmd-C or Cmd-X, place the cursor, Cmd-V, and then (often) clean up the loose ends with several keystrokes. Sigh. Soooo clumsy.

  2. Pierre Igot says:

    Not entirely sure about extending this to paragraphs: There are many more real-world situations where you’d want to append a selected paragraph to an existing paragraph. Plus there isn’t really a standard way of selecting whole paragraphs (although triple-click does seem to work in a fairly large number of applications—with the notable exception of hard-wrapped messages in Mail, of course).

    That said, the “shuffling” options that you describe do sound interesting. Having to use the clipboard when you don’t want to use the mouse is a drawback.

Leave a Reply

Comments are closed.