How to make Word STOP rewriting your copy

J

Jeff Wiseman

<<lots of great software corporation bashing deleted :)>>
OK, now here is where you and I have a philosophical departure from the Word
design teams. Firstly, Word is designed in three "layers" -- "Unskilled
User", "Power user", and "Solution Designer". Three completely incompatible
user groups being served by three sets of often mutually-incompatible
features.


And yet those types of people frequently work in overlapping
roles at the office in a totally compatible fashion! That means
its the application creating divisions that have the
problems--usually by attempting an overly simplistic solution to
an inherently complex problem.

The statement I have a bit of a problem with (as I would assume
John does too) is "Word is designed in three layers". No. That
implies that a cohesive set of layered functions existed that the
product was designed around. The layer concept has been
introduced later to an already legacy product.

The pre-existing functional controls of Word have been
arbitrarily shoved into three groupings of increasing complexity
that MS wants to call "layers". New functions have been added
against such layers which does improve there cohesion some.
However, these layers were invented after the fact--they do not
really reflect an internally layered infrasturcture of essential
operations and their relationships. The nitty-gritty
inconsistencies in the UI's presentation of these functions is
evidence of this.

In MS's defense, this again is a good (correct) approach but at
the core of the thrust, they need analysts/architects with
tremendous abstraction modeling capabilities, the drive to
maintain cohesion (i.e., fight software entropy), and keep
marketeers on leashes.

Entropy begets entropy and structure begets structure. If you
start off with a scrambled product, in general, it will only get
more scrambled and will enjoy a short evolutionary life until it
reaches a point that no one dares change or add anything for fear
of breaking it. On the other hand, a product who's architecture
is highly structured around its application will actually get
better over time with less effort since the structure tends to
become "stronger".

The Mac OS is an example of this. It's entire structure was
forced into an "object oriented" mode because a non-programmer
was specifying what the UI was supposed to do long before the
concept of OO even became common. UNIX is another example with
its application being development driven.

To drop reduce the entropy level on a product until it reaches
"critical mass" so that it begins to restructure itself in an
evolutionary fashion is very difficult. I've seen it happen on
one product in my life so I do know it is possible (it was in
fact a product that I worked on). If a large enough "chunk" of
software is added to a legacy product that has been very highly
(and CORRECTLY) strucutred to the problem domain of the product,
it can actually cause the future maintenance of the product to
start becoming easier. In the product I worked on, once we added
the structured piece, over the next 2 years many times adding new
features wound up resulting in the compiled size of the product
being less than the previous release with fewer features in it.

Creating a layered system only works if there are true layers in
the problem domain for the feature set (i.e., the layers are
truely cohesive in their definition). Implementing it can be a
problem it corporate minds don't look long term and analysts
don't understand the long term evolution of application feature
needs.

Microsoft has literally hundreds of millions of dollars worth of research
that proves conclusively that most of its users not only do NOT want to
learn their product, they will strenuously resist any attempt to teach them.


It cost them THAT much to discover that? :)

Of course, the corollary is that if you design a product that's
foolproof, only a fool will want to use it...


When not allowed to do so, you get a spike in local unemployment, consisting
largely of "programmers" ...


Ooops. Silly me, I was thinking of efficiently providing for the
end customer :) If we let marketing drive it we can keep
developers employed changing things that weren't needed,
improving things that weren't implemented completely, regression
testing release after release after release. And don't forget the
customer service people trying to explain how all these simple
features in overly complex user interfaces are really suppose to
work (assuming that they are not all in India, etc.) since no one
reads the huge documentation sets that must be upgraded and
tested from release to release.

Oh heck! I just realized..."getting it right the first time"
through effective analysis only gives folks like ME any job
security. Everyone else is out of luck!

I see what you mean John. Bummer.

Oh, dear, you *have* been out of the loop for a while, haven't you :) Let
me disabuse you with some of the sadder realities of software as it is
thrown together these days...

1) The skills you are talking about belong to good software architects.
Software architects get paid four times what top business analysts get, so
nobody with those skills is going to be sitting there analysing
requirements.


Actually, I'm talking about engineering analysts. Basically
system architects that aren't allowed to do design. Business
analysts usually lean more in the marketing areas. The trick is
to get the senior developer *OUT* of the Design role and into the
spec role. Hard to do since they usually don't find it as much
fun :)

2) Microsoft has a software development budget approaching eight billion
dollars. They can afford the right people :)


Or ONE high power CEO and an offshore development team :)

3) In the modern software development environment, you are not going to
"get" the six months it would take you to derive requirements this way. You
got a month to do this, Joe...


Right. But you ARE allowed the next 3 years to fix what you
screwed up. That's ok, the customer backlash can be handled,
they've done it before...

4) The more you analyse the problem, the more information you collect. But
the more senior the manager, the less they have time to read. It's a fact
that anything over five pages won't be read -- anything over ten pages is
wasted typing.


Again, I'm proposing a function in the Engineering realm that can
provide feedback in the distilled fashion needed by senior
management.

5) There's no point in producing this information because nobody with the
chance of influencing the decision is going to read it! I won't say where
or when, but quite recently I saw the "Specification" for a 60 million
dollar system development. It was six PowerPoint slides. They removed two


True, but cohesive specs should really be done with pictures
anyway. I took a 73 page spec for a telecomm product security
system that no one could really understood anyway and condensed
it into a one page entity relation diagram that everyone could
understand. It also within 1 hour of being distributed revealed 3
long term security holes that had been in the system for years...

Good structural analysis is wonderful. It can be applied to just
about anything. People think in a certain natural structure
(i.e., things and how they relate). If you can reduce any
description of a system down into this simple form, it is far
easier for others to understand and communicate it.

However, the concept is a lot like a flowchart. Just about anyone
can read or understand them. They are simple creations. However,
actually creating one yourself that is GOOD and clean can be very
difficult sometimes.
 
J

John McGhie [MVP - Word and Word Macintosh]

Hi Jeff:

The pre-existing functional controls of Word have been
arbitrarily shoved into three groupings of increasing complexity
that MS wants to call "layers".

Worse... Microsoft does NOT want to call them "layers". Microsoft does not
even acknowledge that have three layers of features in Word: "Eye candy to
bamboozle newbies", "Simplistic automated stuff for people who do not want
to learn" and "Power features for industry professionals".

I am one of few people in the world who approaches teaching of Word by
mentally dividing the product into layers, then considering which layer to
teach, appropriately to the skill level of the person asking the question.

In another thread, I just flamed us all for telling a new user that she
needed a copy of DreamWeaver to make web pages! The advice she received was
both utterly correct and completely wrong :)

That user has neither the time to learn DreamWeaver not the money to buy it.
She wants to put pictures of her cat on her home page, for heavens' sake. I
spoke to her about the surface-level features appropriate to her needs.

In a thread today, another guy wanted a macro to automatically process 1500
documents. From the detail of his question, his coding skill is not there
yet. I spoke to him about the Macro Recorder.

Someone else sent me the same question this week. He's a computer industry
professional. I sent him a template containing 2,500 lines of code and an
invitation to work it out for himself! He will: he does it for a living,
and my code will serve as a starting base and save him a couple of weeks.

Three ways to do essentially the same task. Same product. Same adviser.
Different users, different needs.

Microsoft would like to pretend that Word's user interface is a single
layer. Anyone who has spent longer than ten minutes with the product knows
it isn't true, including the people who created it :) Even the people
working on the Help recognise this: read the help in VBA. Read the "Getting
Started" help. See the difference in Style and tone? :)
start off with a scrambled product, in general, it will only get
more scrambled and will enjoy a short evolutionary life until it
reaches a point that no one dares change or add anything for fear
of breaking it.

Word passed that point years ago. So did Windows. They're still with us,
and it is a real and serious problem for Microsoft.
The Mac OS is an example of this. It's entire structure was
forced into an "object oriented" mode because a non-programmer
was specifying what the UI was supposed to do long before the
concept of OO even became common. UNIX is another example with
its application being development driven.

Word was designed around the tasks the user has to do. So was Windows. The
tasks changed. The products got chopped around each time the tasks changed.
Now, you have products that were never designed to do the tasks they are
being asked to do these days trying to do them.

Word was designed to type up letters and corporate reports for secretaries.
Now I use it to make web sites and publish multi-thousand-page books.
Someone else is using it for mail-outs exceeding a million letters. An
insurance company I know uses it as the back-end to any of its applications
that send any text to anyone.

Windows was designed to read and write to floppy disks and feed application
tasks to the processor. Now, it's embedded in autotellers. It's the guts
of most gaming machines. It runs elevators in many tall builtings. It
surfs the web. It supports corporate applications. It serves as the
departmental file server. It is running the whole of the fourth busiest web
site in the world. It supports all of the filing needs of multinational
corporations.

Two products. Both completely dominating their markets. Neither of them
designed for the jobs they are now purchased to do. You begin to see the
problem? :)

If we have learned ANYTHING in the past 30 years of software development, it
is this: What you say is absolutely correct -- and any company that tries
to do business that way goes out of business shortly afterwards. Many
people believe that Microsoft got where it is because it practiced
underhanded business tactics. Not true :) Some of Microsoft's business
tactics are indeed pretty hard-nosed. But if you think Microsoft is bad,
you have obviously never been a customer of any of its competitors :) Ask
the manageress of an Apple Store someday whether she sometimes gets the
feeling that her husband is not the only one having sex with her... :)

Sad, isn't it... :) The wrong way is the only right way... {Sigh}
It cost them THAT much to discover that? :)

No: It cost them that much to find out how to work around it :) The value
of software to a corporation is not what the software CAN do, it's what the
users DO do with it. That is one of the "real" secrets of Microsoft's
business success. It's not enough to make software 'useful', you have to
(and this is fundamental...) you have to make it USED.

The value of Microsoft software in the corporation is not that it can do
things "well", but that it supports its users with enough self-confidence
that they will try to do things "at all".

You and I and Elliott and a few others in here all know that vector graphics
are far superior for illustrations, right? For how many years have you
despaired of ever getting your co-workers to produce their illustrations
with a vector graphics tool such as Adobe Illustrator? Many? Me too. Most
corporate graphics these days are drawn in PowerPoint... They're vector
graphics!! Nobody told the users, so they keep doing it :)

Take one of those slides and paste it into Illustrator: and there you go, an
editable vector image the graphics design department can touch up and
publish minutes. Just don't tell the users they're doing vector graphics
:)

Many corporate users these days are happily dragging and dropping their
word-salad into "Shared Workspaces" using Word. Behind the scenes, they are
actually using some of the scariest technology invented: A Web Server, a
Content Management Server, a Relational Database, a Document Management
System, a Network Security System, an Object Repository...

If you're a real tight-wad, the entire bundle will sit on your desktop PC
and multi-task with your documents and spreadsheets. But under the skin,
it's one mammoth scary monster. Just don't tell the users. What it enables
them to do is worth real money to corporations...
Ooops. Silly me, I was thinking of efficiently providing for the
end customer :)

Jeff: Watch closely, and read after me: The "end customer" of a SUCCESSFUL
computer software company NEVER uses its products. If you are not yet
selling to "The Chief Financial Officer", you are not yet successful. If
the CFO does not yet have a cast of a thousand minions to type stuff for him
or her, neither is he :)
Oh heck! I just realized..."getting it right the first time"
through effective analysis only gives folks like ME any job
security. Everyone else is out of luck!

Not even you, Jeff. You get it "right", they don't need you any more and
you're outta there. You come up with a plan to make the "minimum necessary
change" knowing full well that all that expensive analysis will have to be
done again next time, and they will love you and pay you forever... Learn
to think like a "consultant", Jeff: learn to leave 'em wanting more :)

Best Cheers

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 4 1209 1410
 
J

Jeff Wiseman

John said:
<<stuff deleted>>

If we have learned ANYTHING in the past 30 years of software development, it
is this: What you say is absolutely correct -- and any company that tries
to do business that way goes out of business shortly afterwards. Many
people believe that Microsoft got where it is because it practiced
underhanded business tactics. Not true :) Some of Microsoft's business
tactics are indeed pretty hard-nosed. But if you think Microsoft is bad,
you have obviously never been a customer of any of its competitors :) Ask
the manageress of an Apple Store someday whether she sometimes gets the
feeling that her husband is not the only one having sex with her... :)

Sad, isn't it... :) The wrong way is the only right way... {Sigh}


It might normally seem that way but I'm not totally convinced.
Why does the Mac OS have such a loyal following that although
small has held on for over 20 years now? Why wasn't it squashed
years ago? I think it has to do with the inherent powers of it's
structure.

I believe that the cost effectiveness of a well structured
product can add a tremendous advantage to it. It requires less
marketing skills to push a product that "sells itself" based on
some inherent (and obvious to the customers) strengths. Just
imagine where we might be if MS had blended some of that with all
of their Phd level marketing skills...

The value of Microsoft software in the corporation is not that it can do
things "well", but that it supports its users with enough self-confidence
that they will try to do things "at all".


Heh! I'm normally a pretty self confident guy with it comes to
software tools but this thing still scares the heck outa me when
I have an important project to deliver. However, knowledge is
power so that's what I'm here to absorb :)

Jeff: Watch closely, and read after me: The "end customer" of a SUCCESSFUL
computer software company NEVER uses its products. If you are not yet
selling to "The Chief Financial Officer", you are not yet successful. If
the CFO does not yet have a cast of a thousand minions to type stuff for him
or her, neither is he :)


Man, I hate the "golden rule" (i.e., the guy with the gold makes
the rules...)

Not even you, Jeff. You get it "right", they don't need you any more and
you're outta there. You come up with a plan to make the "minimum necessary
change" knowing full well that all that expensive analysis will have to be
done again next time, and they will love you and pay you forever... Learn
to think like a "consultant", Jeff: learn to leave 'em wanting more :)


Well, maybe for a job just completed, but for companies to stay
in buisness, they need to continue to evolve so here's hoping
that they'll come back alookin' :)

Actually, what I've discovered is that now days there is so much
legacy involved in software that even if you do a "correct first
time" type job, some legacy component will have a problem and
then a "structured" solution will be necessary, so maybe there is
hope for me yet :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top