Re: How to make Word STOP rewriting your copy



JE McGimpsey wrote:

What you wrote might be true if you applied it to WordPerfect. However, you're mistaken wrt Word.

Word documents are not "character streams". They are documents composed of "stories", such as main, header, footer, etc. The main story is composed of sections. Sections are composed of paragraphs. Paragraphs are composed of words, which are composed of characters (I've left some things out, but the concept remains).


Yes, the architectural (or conceptual) structuring aren't that bad. It's the chosen design by which they are implemented that I have a problem with (in this case, it's the choice whereby the paragraph object's attributes are maintained)

The "character stream" that I was referring to is the GUI stream and not a physical storage stream (although I still believe the paragraph marker originally had it's roots there). The way any of these entities is presented in the GUI determines just how "intuitive" their handling is. For example, the presentation of a header and a footer are such that it is intuitively obvious that they are separate entities. Even the least experienced of users would immediately assume (correctly) that changing the attributes of one entity can safely be done in general without effecting the other. Paragraphs on the other hand are not as has been repeatly shown here. The list of characters in the Main are a continuum the way they are presented. The format control is embedded in a character in that stream (i.e., the paragraph mark) that only masquerades as a character but behaves totally different. Furthermore, it ALSO doubles as a hard return. What's worst, it's typically hidden which allows it to be accidentally "tripped over" resulting in total surpise behavior to all but the more experienced users.

Take Interleaf for example. From the user's interface, there can be no mistake that each paragraph is a totally separate entity. There are no special hidden-by-default characters that you have to tiptoe around to avoid surprises. Interleaf has its own problems of course, but here is an example of a strength in maintaining a fairly intuitive GUI main body text stream.


The paragraph mark is a graphical representation of the properties of the paragraph object, such as language, style, etc. Logically and physically, it's not in the middle of anything. Text following the paragraph mark may be in a completely different location in the file since it belongs to a different paragraph object.


Again, it's not the physical location of such a beast that screws everyone up, it's the logical placement in the GUI that creates the impact here. The paragraph marks most certainly and intuitively appear "in the middle of" the body text of a document. In a product where visibility to them is turned off by default, the poor uninitiated are most certainly going to trip over them repeatedly thinking that they are nothing more than hard returns.


It's an incredibly powerful and efficient method of composing and processing documents. But it's not as intuitive for most folks as WP or TextEdit, which do store their text as character streams. And it's hardly a "hack".


No flames intended here, however...

From the stories I've heard over the years as well as my own exerience, I have seen more productive time totally lost using this tool than most others I've seen due to its idiosyncratic and unexpected behaviors (let alone its innumerable bugs and susceptibility to viruses). I have seen numerous folks who have had to totally redo papers because of a simple operation of the tool that was assumed to behave in a straightforward way had some serious unexpected side-effect for them. I have talked to more than one person who had totally lost a grad thesis because of a misbehavior of the save and backup mechanism of Word.

"Efficiency" implies an economy of effort to achieve something. When you are trying to create a document, and you are spending all of your time contending with aspects of the tool itself and not accomplishing your primary goal, this is not an economically desired result of using the tool.

This is *NOT* an "efficient" tool IMHO.

As far as the claim of "powerful" goes, I do not agree with the way that term gets used either. It seems to always be used with the connotation that it is "good". It is implied that just because a tool can do so MANY things (assuming that you know the associated black arts that are required), it is "better" even though it does so at the cost of stability, ease of use, intuitive interfaces, and user sanity. How "powerful" is a 40 bladed swiss army knife if nobody ever carries it because it's too big? A D9 Caterpillar bulldozer is "powerful" but if you designed it so that the operator had to lay on his side facing to the rear of the machine using mirrors to see evrything he is doing and being forced to use nothing but foot and mouth controls, only a part of the machine's operation could be considered "powerful" (and I'm sure that is the only feature that the marketing department for Cat would be able to push on such a beast!). Hence Word is declared by all to be "powerful".

To me, the "power" of a tool can only be measured by how much PROODUCTIVE work can be done AT A GIVEN COST. Even the engineering definition for power is related to how much work can actually be done. If you must only hire people that are expensive experts with the tool to use it, that reduces its "power". If people have to constantly redo things, waste time figuring out idiosyncracies that are not intuitive, and constantly have to explain to others how to do things as well, the "power" of the tool becomes pretty dismal in my mind.

But then, all of this is only IMHO, of course :-)


-- Jeff Wiseman to reply, just remove ALLTHESPAM .



Relevant Pages

  • Re: "Read stuff from a file and chop it up to do stuff" code advice wanted.
    ... ;; This function returns TRUE if any character ... (if (char< char #\!) ... a stream and an array to hold characters in temp memory. ... ;; resulting string. ...
    (comp.lang.lisp)
  • Re: Heading Style wont stick
    ... Null character styles, maybe? ... because the selection was always in a paragraph. ... Then users could not understand that their formatting would sometimes apply, ... appended the name "Char" to the original style name. ...
    (microsoft.public.mac.office.word)
  • Re: Read only last line-
    ... stream with a value that does not correspond to a position in the file ... example is putcon Windows, where one character ... That's the mapping you have to support. ... and fgetpos/fsetpos. ...
    (comp.lang.c)
  • Re: How do I stop a Winsock from buffering characters?
    ... it's applied at the OS level to the socket. ... Stream s = client.GetStream; ... from the client code and have the server see it right away. ... first character of the client send. ...
    (microsoft.public.windowsce.embedded)
  • Re: reading csv files
    ... >> stream, so, after the first name is extracted, the subsequent ... delimiter character, and not provide a complete solution to reading a CSV ... The next such call extracts 'yyyy', and ',', and the ...
    (alt.comp.lang.learn.c-cpp)