Word 2008: When deleting a paragraph mark adds one

Posted by Pierre Igot in: Microsoft, Pages
June 4th, 2008 • 10:07 am

Take the following situation:

Before deletion

If you press the Delete or Forward Delete key in this situation, what do you think should happen? Word should delete the selection and just leave what is not selected, right?

Unfortunately, thanks to the fantastic programming skills of Microsoft’s MacBU developers, here is what happens:

After deletion

Where does the extra paragraph mark come from? You tell me. My selection very clearly included one of the two paragraph marks in this text, and therefore after deletion I should only be left with one paragraph mark.

I am sure that, in the world of twisted logic that Microsoft’s Office developers inhabit, there is actually a valid reason for this behaviour. I don’t give a flying dung about that reason. Whatever it is, it is not valid in my world, which is the real world, where, you know, when you select something and press the Delete key, you expect that thing to be, like, deleted.

For the record, in the same situation, Apple’s Pages does the right thing:

Before deletion

With this selection, after I press the Delete key, I get this:

After deletion

There is simply no denying that this is the normal, expected behaviour. Only Microsoft is able to get the simplest things consistently, persistently wrong.

(Regular Betalogue readers might remember that I recently wrote a similar post about what happens when you write over a selection that includes paragraph marks. In that situation, both Word and Pages got it wrong. This time, Microsoft Word stands alone.)


4 Responses to “Word 2008: When deleting a paragraph mark adds one”

  1. henryn says:

    Just for grins, I tried the experiment on Word 2004. (I’m sure you did this a long time ago!) It failed, but only because –in a few tries, all I’m willing to expend– I simply could not select as far as the final period in the last sentence (paragraph) without selecting the final paragraph mark, too.

    Huh? No, don’t try to explain. To paraphrase the last line in the movie, “Chinatown”, “Forget it, Pierre…It’s Microsoft.”

    My gut feeling is that much of the Word “engine” we’re using dates back to
    the original code, which has been kludged, and re-kludged over the years. (As little as possible –Even MS’s folks are smart enough to avoid trying to modify old spaghetti code.)

    I don’t remember back that far. Did Word-for-DOS have any concept of a paragraph, or a representation of a paragraph mark? In that ASCII-only world, maybe not. (I recall WordStar place a character at the right margin that let users know something about the termination of each line.)

    If I’m wrong, and Word’s internals have since been re-architected, I can’t say much for the quality of the job. It’s clear that the internal model simply is a poor representation of how the structure of text as it exists in the real world and the way real people use Word.

    Wait a minute, that last part is wrong: I think MOST Word users don’t demand very much at all from the program, as they don’t do very much: A one-page memo, a three-page report, rarely more. In such use, if there’s an extra paragraph mark, the user just deletes it and doesn’t look back. The boss wanted the memo yesterday!

    A few of us need more logic, precision, and predictability. To me, not being able to select as far as the final period in your example is both inconsistent and incomprehensible — as is the behavior you are writing about. I find myself quite often shaking my head and, well, playing with the program to get the result I want. I suspect MS expects that, and there might even be an internal standard for a particular issue like these: “Don’t worry about consistency or logical operation: If 90% of the users can get the result they want within 10 seconds by experimentation, don’t consider making any change.” Part of me has deep admiration for such disciplined pragmatism!

    More broadly, I’m wondering if the paragraph model is sufficient in the first place. Is the metaphor flawed? I fault MS programmers for becoming confused between the paragraph mark as a “container” of formatting data –a purely internal function– and what should be a completely distinct function as something a user can manipulate. But I wonder if the challenge is simply too great.

    Have you found ANY program that maintains conceptual paragraphs capable of consistent, logical operation overall? Hmmm, I seem to recall that Framemaker did a pretty good job, but I cannot remember the last time I launched it.

    Henry

  2. Pierre Igot says:

    Word 2004 works as expected (i.e. like Pages) on my machine. I suspect you might have the “Include paragraph mark when selecting paragraphs” option checked in the prefs, under “Edit.” Try unchecking it and doing the same selection again. (For the record, the option is unchecked in both Word 2004 and Word 2008 on my machine.)

    The fact that Word 2008 breaks something that worked fine in Word 2004 is evidence that Microsoft is not only incapable of updating their code, but also of maintaining it so that things continue to work as they used to. In other words, Word is a china shop (bad, cheap china, but china nonetheless) and Microsoft’s developers are the elephant. The elephant is not just incapable of producing new, better china. It also breaks everything it touches.

    I too often wonder about the flaws of the paragraph-based model, but these are major philosophical issues that are way beyond the scope of this post. I certainly don’t expect Microsoft’s engineers to ever come up with a better model!

  3. henryn says:

    I had no idea that “select paragraph mark…” was something I could control. (Hmmm, is a per-document setting or a global? Don’t answer that!) Yep, I did have it enabled–I have no idea why–and yes, Word 2004 passes the test here, just as you found.

    It’s a good image, the China Shop! I’m guessing that the underlying reason 2008 is different is again: spaghetti code. In particular, their implementation of “delete selection” is probably full of things no one at MS understands. Someone may have made a minor change to it to accomplish something entirely different and you’ve detected what happened. It’s also possible that NO change was made anywhere near “delete selection”. The new build simply worked differently. That’s not unusual when very old code is involved. In the “old days” people used odd, non-portable tricks. Why didn’t internal or beta testing catch this? Probably because they don’t do any internal testing, and beta testers have very low expectations in the first place. (If you are accustomed to unpredictable behavior, you are very unlikely to detect a DIFFERENT unpredictable behavior.

    The issue of the paragraph model is relevant, in my view. If the model itself is inadequate in the first place, then any designer using it is faced with making compromises. Some functions will work poorly. Which ones does he/she choose to sacrifice? From my point of view, a good designer can make rational and generally consistent choices, and his/her organization CAN find a way to document the choices reasonably.

    Then I guess we’re left to criticize MS a bit more specifically, either for not spending the money to design a better model, or for making such poor choices about what to sacrifice.

    That said, I have doubts that these were conscious choices. Much more likely: Spaghetti code is the cause.

  4. Pierre Igot says:

    Somebody at Microsoft is making the conscious choice to ignore all these bugs and not put any effort into fixing them. Spaghetti code might be the root cause and the only real solution would be a complete rewrite. But even with a rewrite, if the quality controls are not in place (and they obviously aren’t), the result won’t be much better. Which is why I have to conclude that the situation is hopeless. Not only would Microsoft have to make the decision to finally start again from scratch (which they’ll never do), but they would also need to implement much better quality control and real-world testing procedures.

    Instead, they’ll continue to use the legacy code as an excuse, and they’ll continue to do as little as possible while claiming loudly that they little to their customers and care about their needs. Surely if they made any effort to listen to their customers, they would know that, for example, failing to save a document window’s position and size is a significant step back in usability. How can they justify breaking this?

    Like I said, it’s hopeless. The removal of proper support for Mac OS X window layering might be an accident, but in the case of Microsoft, accidents such as this one are waiting to happen, and they still have a responsibility to repair the damage.

Leave a Reply

Comments are closed.