
   Ŀ
    Welcome to...                                                       
   ͵
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                       W  I  N  D  O  W  A  T  C  H                     
                                                                        
                                                                        
             The Electronic Windows Magazine of the Internet            
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
   ͵
    June 1997                                             Vol. 3  No. 6 
   


  page 2
                            WHAT'S    INSIDE
   Vol.3  No.6                                                June  1997
  


   Editor's Soapbox: The Wrath of the WindoWatch Witch   Lois Laulicht

                                The Pursuit of Reality   Herb Chong
                   A Multi-Media Developer's Nightmare   David Kindle
                         Corel Draw7: A Quick Overview   Jack Passarella

                                                 HTML
     
                       FrontPage 97: Editorial Comment   Gregg Hommel
               FrontPage 97: The Microsoft HTML Editor   Stefan Assmann
   Teaching Old Dogs New Tricks: An HTML Tutorial-VIII   Gregg Hommel
                           The Browser Wars: A Cartoon   Jack Passarella

                                                    NT
     
  Service Pack 3 for NT v.4: A Safer Install than Two?   Linda Rosenbaum

                                           FIRST WORDS
     
                                   Informal Formatting   Jack Passarella
                                      Find and Replace   Michelle Lunquist
                                  Avoid Typing in Word   Tony Lima
     
                                             WORD
     
                              WordBasic Macros: Part I   Christopher Greaves

                                      HARDWARE REVIEWS
     
         Digital Camera: Expensive Toy or Useful Tool?   Linda Rosenbaum

                                              FEATURES
     
                   The New Backup Media: CD-ROM Writer   Stefan Assmann

                                          THE INTERNET
     
                                             Spam Scam   Daniel Christle

                                               COLUMNS
     
                                       The ModemJunkie   Leonard Grossman
                               Bad Mojo: A Game Review   Lynn Alford
                                         The Last Word   Ben Schorr


  page 3
  WindoWatch              The Electronic Windows Magazine of the Internet
   Volume 3 No.6                                               June 1997
  


                          The Editor's Soapbox


The Wrath of the WindoWatch Witch!

Industry browser standards are not about which software developer takes
over the Internet! That's stupid-silly, mindless group think, engaged in
by people who just talk to each other and to no one else. Shared browser
standards are about not dividing the online universe into a series of
ethnic dominated principalities having unique language and customs. The
present trend to eclipse the opposition with an avalanche (IE,
Front-Page, Word's Internet Add-in) of proprietary code in an attempt to
present the competition with a fait accompli, represents a level of
arrogance that end users do not have to tolerate. We get caught in the
middle of these antics and can either chew our collective cud or stand
up and say Enuff!

This is about money and power not software code, making both of the
major browser developers guilty of short changing the public by wasting
our time hunting down solutions to dumb-dumb anomalies while performing
beta testing services for the clowns for nothing.

Several of us this past weekend tested the new and beautiful homepage of
our HTML editor, Gregg Hommel. Netscape v. 3.01, ver 4 Betas 3 and 4
could not see the page at all. It loaded the page, one was able to view
the source code, IE 3 and beta4 could interpret the page, as could the
much smaller and less sophisticated Dida. Netscape left it dead in the
water because it could not interpret the instructions for tags it
invented (<FRAMESET>) and presented the viewer with a blank page. We
tested and re-tested. Gregg diddled with code on and off for two and
one-half days. Finally we went online to the news groups and found that
this difficulty was not limited to Hommel but is a wide spread problem
for HTML authors all over the Internet. I happened to stop by at
alt.html but the complaints and cries for help were present in each news
group devoted to discussions of HTML. (Click to Continue)

Gregg finally got his code adjusted but as he put it, professional that
he is, "This is not a fix but a workaround!"

Among others, I turned to the WindoWatch WebMaster Dan Christle for some
insight. He and I have been around the block a few times as we have
gotten pages ready for online reading and have discovered along the way
that our preferred browsers always spoke the same language but engaged
in a sort of ethnocentric syntax. It's like telling your spell checker
that colour is wrong and ignoring the tradition of millions of English
speaking non-Americans.

As Dan said, "Well, IE does floating frames; borderless frames are
different. It uses a different standard of style sheets (though it reads
the Netscape/w3 ones well), and there are smaller technical differences
as well. IE and Netscape both have their own proprietary tags such as
IE's Marquee tag, something that NS requires Java to do. It makes it
interesting if you try to support both standards. There is more but if
you stick to the w3 standards all usually works well. As for redirects,
I hadn't run into that problem before so I don't know. On the one site I
work on that uses frames the <NOFRAMES> works with both IE and Netscape
when I tested it.

It seems to me, that Netscape still has lots of advantages. I like a
quote from CMP's Windows Magazine (June 1997, p. 134) this month.
(Paraphrased) "IE finally overtakes Communicator as the best browser for
beginners and casual Web users. Communicator meanwhile, remains our
WinList choice for experienced Web surfers". As an aside the Favorites
that IE uses, consume disk space like nobody's business. I have a few
hundred bookmarks in one bookmark file with NS, in IE they took up 15 MB
of disk space while only using 100k under NS. This is caused by the way
IE stores its Favorites, which are 1-2k in size but can occupy up to 32k
in disk space on a larger drive."

And now back to our hero! Not known to give up and after still more
fussing with code, what follows is Gregg's interim report. (Full
disclosure is promised next issue when Hommel spills his guts!)

"Well, I am back to my original concept again, and this time, it works
with Netscape. The new command, which is apparently acceptable to
Netscape, is

   <FRAMESET ROWS="100%,*">
   <FRAME SRC="plswait.html">
   </FRAMESET>

Apparently, Netscape not only requires either a ROWS= or COLS=, but they
must have more than one entry in them, even if you intend only loading a
single frame! The above works just fine now with both Netscape and MSIE,
and the user is redirected through the REFRESH Meta tag to the framed
site."

Gregg continues: "Netscape ignores standard page formatting parameters
like TOPMARGIN, LEFTMARGIN and the like. Netscape recognizes the table
formatting commands for VALIGN, when a form is within the table, while
MSIE does not. Using VALIGN=bottom in MSIE results in the form being at
the TOP of the table cell! When you remove frame borders in Netscape
(which can easily be done using FRAMEBORDER=0, which is not supposed to
work in Netscape but does, you end up with a gap between frames where
the border would normally have been. In MSIE, the frames blend into each
other seamlessly, with no gap visible between frames. Even using the
frameset MARGINHEIGHT=0 MARGINWIDTH=0 parameters does not help with this
in Netscape, nor does leaving them out affect MSIE at all. MSIE displays
the frames without borders, and without a gap, while Netscape displays
them without a border, but with a gap between frames."

So! Where does that leave thee and me? When a software house releases a
product, the equivalent of electronic Swiss cheese threatening the
security of your computer and setting up conditions for invasion of your
privacy, you do have a choice.

When a software house develops code to achieve specified results as in
frames and then violates the rules set forth to get from A to B, again
you have a choice.

Remember the bad old days of CPM when every hardware provider put out
their proprietary copy of the operating system. We knew then these were
artificial coding differences that gave nothing to the consumer. Need I
point out the obvious that those pioneers are out of business and gone.

Most Internet users do not use the many megabytes of bells and whistles
distributed in these garmungous browser packages. I love Qualcomm's
Eudora and Forte's Agent and can say to our readers that they are
excellent applications that perform as promised. I repeat excellent! The
third party options have established themselves as reliable giving all
of us a real choice as well as providing to users the more limited
freeware option. So much for the "It's free argument!"

There are large and small software developers offering the other box to
check and select, including the NCSA Mosaic (32bit) ver 3, the still
venerable granddaddy of them all. I don't know what your tolerance level
is, but mine is about gone. Enuff!


                          +=+=+=+=+=+=+=+=+=+

Lois Laulicht is the Editor of WindoWatch.


 Ŀ
                                                                         
    The Front Cover:                                                     
                                                                         
    Mike Savad is the creator/owner of this month's featured stained     
    glass window, THE JAPANESE GARDEN. He has generously allowed us      
    to use his work. You might want to pay him a visit and look at his   
    other fine art, and say hello at:                                    
               http://www.geocities.com/Paris/1141                       
    Tell him you're from WindoWatch!                                     
                                                                         
 



   ww page 4
  Computer Graphics Rendering:
  

                         The Pursuit of Reality
                      Copyright 1997 by Herb Chong


For the past several years, I've written articles about some of the
pictures I have done and some of the tools I have used to create them.
During that time, I have used computer graphics terminology without
really explaining what I meant by them. Some of the terms were obvious,
like render and scale, but what really is ray tracing and shading? In
this article, I'll be tracing some of the history of computer graphics
and the techniques that have evolved over the years. More importantly,
I'll be describing some of the terminology and give examples in pictures
to illustrate them.


The Basics

The first people who really tried hard to display realistic graphics on
computers were mathematicians and engineers. In the early 1960's, the
first video displays were being used. They were very primitive even
compared to the televisions that were becoming common in those days.
Computing power was similarly restricted. The computer graphics in those
days consisted of drawing lines and points and not much else, much like
the computer plotting equipment that was just coming into use then. This
is partly because the early CRT displays could do only lines and points.
Mathematicians call lines with a specific direction a vector. Thus, this
type of graphics is known as vector graphics.

The first widely known computer graphics were wireframe graphics created
from vectors. Figure 1[**] shows an example of such graphics. Note that
this image does things that they never attempted back then, one of which
is color. Early CRT displays used one color besides the background
color. Frequently, if you read the old articles and papers, you will
find that the terms vector graphics and wireframe graphics are used
interchangeably. For you and I, they mean the same thing.

                         Figure 1 - wireframe.jpg

   [**The graphic images described in this article can be viewed in
    the Adobe Acrobat edition of WindoWatch.]

This image shows a simple scene with several objects in it. It is a room
with a window in the ceiling and one centered in each wall. There is a
torus (donut) floating in the air. There is also a sphere, cone and a
cylinder floating in the air too. The cube is the only object resting on
the floor of the room. The reed objects are light sources. In this
program, light sources are not visible objects when you create the final
image. They are visible here only to help position the lights. The gray
grid is the horizon plane. This is a flat horizontal reference plane to
place objects.

The lines you see for each object show the edges of rectangular or
triangular mesh elements. Computers have problems representing smoothly
curved surfaces, so they have to be approximated. Shapes such as
rectangles and triangles have very easy to work with mathematical and
geometric properties, so they were adopted very early on. The shapes are
known as faces when joined together to model the outside surface of an
object.

Those of you who have some mechanical drawing experience will recognize
that the lines for backward facing faces (backfaces) of objects are
visible. An image such as this is hard to understand sometimes,
especially if the scene is complex. Without some hints, you would be
hard pressed to tell which was the front and which was the back of each
of the objects. No hidden line removal has been done. Today, except for
special effects, few people try to use vector graphics when doing final
output.


Shading

One of the first enhancements to computer graphics came along when
raster graphics CRT displays came along. These kinds of display are the
same general types as the ones you are now using to view this article.
The big change from vector to raster graphics displays is that instead
of drawing lines to create scenes on a CRT, you set the color of dots on
a screen and it was how the dots were colored that determined the scene.
These dots are known as pixels and are now used to specify some of the
performance capabilities of video cards and monitors.

If you have enough colors to work with, and 256 colors is barely enough
to get started with, you can create very realistic scenes. There is a
catch, of course. Whereas in a vector graphics environment, you could
easily represent a rectangular area just by drawing its edges, doing the
same on a raster graphics device is a waste of its capabilities. You
also need to fill in the surface of the visible portion with something.

The easiest way to paint and object with something is to color the
entire object some color and leave it at that. This is called flat
shading. Figure 2[**] shows the same scene as before but with flat
shaded surfaces.

                         Figure 2 - flat shaded.jpg


The refinement shown here that wasn't invented right away is that the
windows and the cylinder are transparent or partly so. Note that you
can't see the edges of the cube, the hole in the torus, or where the
walls, ceiling, and floor of the room meet. It's also hard to tell which
objects are closer or farther. Nonetheless, until recently, this type of
imaging was what was standard in computer graphics. Look carefully at
flight simulator programs. There are no shadows and edges are often hard
to see of objects that are uniformly colored. The basic problem is that
a flat-shaded surface ignores where the lights are around it and cares
only that there is a light present.

The next refinement, of which I have no program to show an example of,
is Gouraud shading, named after someone named Gouraud. This type of
shading takes each face and for its normal (the direction at right
angles to the surface and pointing either to one side or the other) and
works out if the front of the surface can see a light. If it can see a
light, it works out what angle the surface is to that light. The visible
lights contribute a certain amount of "brightness" to the front of the
surface. The brightness depends on the angle. This makes a single
surface a single color. Objects are not single surfaces though. Anything
remotely complex is made of several surfaces joined together. Objects
that are smooth are only approximated by a small number of surfaces.
What happens when you do Gouraud shading is that the flat surfaces stay
highly visible and a sphere looks more like a faceted Christmas ornament
than a sphere.

Technology advances quickly and the mathematicians worked out a way to
overcome the limitations of Gouraud shading. It is called Phong shading.
Figure 3[**] shows an example of this type of shading.

                    Figure 3 - phong shaded.jpg[**]

What's different between Gouraud and Phong shading is that Phong shading
no longer does the lighting calculation at one point on the surface. It
does it across the surface using some smooth approximation function. The
corners of a surface are places where the normal angles are initially
calculated. Then, for each pixel of the final image, the parts of the
surface visible get some intermediate value of brightness depending on
just exactly what is the estimated normal angle. Also, this program has
a refinement to the Phong shading algorithm in that it account for the
distance and falloff characteristics of any visible light sources. Thus,
the light inside the room makes areas close to it brighter. (Note: I
used a background image to fill in any area of the scene where some
object wasn't visible. It's a desert and sky background. This was
invented near the same time.)

So far, I have been talking only about the color and transparency of a
surface. Phong shading also accounts for shininess, smoothness, and
transparency of a surface. The torus and cube are very shiny. This means
that they have more smaller, distinct and brighter highlights from
nearby lights. The sphere is rough, so its highlight is broader and
there is less contrast between the center of the highlight and the
edges. The cylinder is rough and transparent. This makes the edges block
light instead of transmitting what is behind it. Note however that the
window behind it is not distorted, as you would normally expect when
looking through a glass cylinder. Despite this limitation, newer games
have adopted this general approach to graphics because it is noticeably
more realistic.

The next refinement to shading was the incorporation of more than just
one basic color for a surface. It is possible to map to a surface or
object something that is not uniformly colored. These are known as
texture maps. Similarly, it is also possible to use an image that can
modify the normal from its expected value across the surface. These are
known as bump maps. Figure 4[**] shows the same scene with texture- and
bump-mapped surfaces applied.

               Figure 4 - textured phong shading.jpg[**]

Several things are immediately apparent. The room surfaces are bumpy.
The cone is made of brick. I used textured plaster for the sphere and
smooth polished concrete for the torus. It's hard to see in this image,
but the transparent cylinder has a rough surface like a textured glass
shower door. There are still some things missing though. The lights here
have been marked as ones that don't cast shadows, so one ray always goes
right through an object even if it is solid. Figure 5[**] shows what
happens if you turn on shadows using a technique called shadow mapping.

                    Figure 5 - shadow mapped.jpg[**]

Shadow mapping figures out an outline for an object that blocks light
from a particular light. It then modifies the light as it passes so that
it effectively becomes non-existent. These are used to modify the
textures applied to each surface. The outline is a rough approximation
to save on processing time, but has the side benefit of being fuzzy like
a real light.


Ray Tracing

Ray tracing represented the first real break away from pure shading
technologies. It is a technique that tries to address two specific
problems. The first is that of refraction. Light shining through
transparent objects should bend just like it would in the real world.
Also, in the scene above, the cube is shiny brass. You can't see
anything reflected in it though, only how bright the surface is from the
lights. Thus ray tracing also can account more for how an object
interacts with other objects near it.

Ray tracing depends on two facts. One is that light travels in straight
lines except when it goes from one material to another. If the material
is perfectly shiny, it reflects according to well-known physical laws.
If the surface is transparent, then the ray splits into two rays. One
ray reflects off of the surface as before and another refracts into the
material. The reflected ray may be attenuated if the surface isn't
perfectly shiny. The other ray travels through the material according to
the material's transparency and index of refraction. The other fact is
that the if you know a particular ray of light reaches your eye, you can
work backwards along the direction of the ray until you hit a light
source or the ray is extinguished by too much attenuation.

This, more or less is what ray tracing does. It starts from a viewpoint
and goes back toward the view port, whose size is determined by how many
pixels wide and high you want the final image, and then into the scene.
It bounces rays off of objects, adding color and light based on the
color, texture, bump, and other properties of each surface, until it
reaches a light source, it ends up at infinity, or gets absorbed
completely. The closer the view point is to the view port, the more the
scene looks like it was taken through a wide angle lens. Figure 6[**]
shows the textured scene ray traced.

                      Figure 6 - raytrace.jpg[**]

Here for the first time you can see the reflections of the various
objects present, and especially in the transparent objects, the
interaction of the surface and light. The windows are made from shiny
glass, so they reflect a lot. The torus shows the floor beneath it on
its underside. The cube is so shiny that you see it apparently textured
by the walls and floor that it is reflecting. Figure 7[**] shows the
same scene with shadow maps applied. The combination is quite striking.

                 Figure 7 - raytrace shadowmap.jpg[**]

There is another way to handle shadows when ray tracing. Since each
visible surface by definition has a ray from the viewpoint hitting it,
it's also possible at each surface to see if there is a light
illuminating it. The presence of light means that the surface is
lighter. This makes edges of shadows sharp because of the rays being
traced back to the light. Figure 8[**] shows what happens when you ray
trace lights and their shadows too.

                   Figure 8 - raytrace shadow.jpg[**]

There are several differences here between the shadow-mapped and ray
traced shadows. First is that you see a shadow of the torus on the floor
from the outside light. Next is that the shadows are sharper. Third is
that the reflected light from the floor is illuminating more of the
scene. Finally, the cube's shiny surfaces are showing the textures and
objects around it more realistically.

Ray tracing doesn't come for free though. The price you pay for good
reflections, refractions and shadows is an enormous increase in
processing time. It takes about ten times as long to ray trace an image
with accurate shadows as it takes to shade the same scene using Phong
shading and shadow mapping. Memory requires go way up too, depending on
how many bounces of light you are willing to follow and just how
attenuated a light is allowed to be before you choose to ignore it.
Despite this, ray tracing is possible now with reasonable realism and
complex scenes in a Pentium machine. This simple scene took only about 5
seconds to render on a Pentium 200 MMX with 128M of RAM. The actual ram
needed was no more than about 200K.


Radiosity

Ever in the pursuit of realism, computer graphics people were not
satisfied with how ray tracing did things. If you look at a ray-traced
scene, you can fairly easily tell it is ray traced. The shadows are too
perfect, everything is clean and varying degrees of shininess, and light
reflected from objects don't interact with each other. The basic problem
is that real surfaces don't reflect perfectly. There is no one angle
where a light ray bounces when it reflects. Real surfaces are rough and
spread the light around when they interact with a ray of light.

Radiosity tries to model a scene from a purely an energy point of view.
Light, which is an energy transfer mechanism after all, is just a means
to tracking how energy is dispersed. To build a radiosity model, you
take a scene and divide it up into a lot of small surfaces. Each surface
has approximately even illumination across it. When you have divided up
the scene this way, you can write an equation for each surface that
describes all the energy it is receiving from every other surface and
how much energy it is radiating after it receives it. What comes in must
go out in a perfect surface. Modeling a real surface means specifying
what fraction of what comes in actually is reradiated. For any real
scene, there is guaranteed to be a unique solution to these equations
that describe the light flow in the scene.

For the scene I've been using as an example, a low-resolution radiosity
mesh comes up with about 25,000 surfaces. For each surface, there is one
equation. A radiosity program has to solve a large number of these
equations before it can arrive at a realistic looking scene. In my case,
it took about 20 minutes to get to the point where the scene looked good
enough to stop processing. A rule of thumb says that it takes about ten
times as long to get a satisfactory radiosity solution as it takes to
ray trace the scene. Figure 9[**] shows the results of this processing.
Note that because I had to use a different program with different
limitations, the textures are different. One immediate difference
between this program and prior ones is that you can see the reflection
from the cube coloring the wall. However, the rest of the image looks
pretty flat.

                      Figure 9 - radiosity.jpg[**]

One drawback of radiosity is that it assumes perfect diffuse reflection
of light. This means that the light coming in, no matter what direction,
is scattered evenly in all directions. Thus, there are no shiny surfaces
and no hot spots caused by specular reflections as in ray tracing.
Fortunately it is possible to combine ray tracing with radiosity to get
a better-looking image. It still has limitations in the mathematical and
physical sense, but to most people is it sufficiently realistic to be
nearly indistinguishable. Under special conditions, however, it is easy
to see the limitations of this technique. Nonetheless it is used often
by architects who wan ultra-realistic renderings of their designs.
Figure 10[**] shows the scene after radiosity processing and ray
tracing.

                  Figure 10 - radiosity traced.jpg[**]

The differences in the shiny surfaces and the windows are immediately
apparent. The cylinder also now refracts properly. The problem with
these images and the prior one as compared to the ray traced images has
to do with the limitations of the program more than anything else. It
just doesn't have the capabilities of producing as many types of
textures as the ray tracing program I used. Nonetheless, with careful
selection of textures and modeling of images, it is possible to come up
with amazingly realistic images. See http://www.lightscape.com for what
can be done when you are careful about texturing a scene for radiosity
processing.


Summary

With this short introduction to some of the computer graphics techniques
encountered today, you should be able to look at a generated image of a
scene and see some of the things that distinguish it from a picture of a
real scene. It also has given you an idea of the evolution of graphics
rendering techniques and their attempts toward more realism. All of the
radiosity-based images were produced using Lightscape 3.0 for Windows.
All of the other images were produced by trueSpace 3.0 for Windows.
Behind the artwork that I present and the tools I talk about to create
my images likes a huge amount of computation and mathematical theory.
Although you don't have to be able to do the math to work with these
tools and create wonderful images, knowing a little about the techniques
and how they work help you to take advantage of their strengths and
overcome their limitations.


                          +=+=+=+=+=+=+=+=+=+

Herb Chong is the Contributing Editor of WindoWatch. His continued
efforts to demystify his world of computer created (note: not generated)
graphics has opened the doors of both appreciation and possibilities to
the rest of us. Another Chong classic!




   ww page 5
  Correcting Palette Problems!
  


                  A Multi-Media Developer's Nightmare
                     Copyright 1997 by David Kindle
                            Litton/PRC Inc.


     Imagine that you worked on a couple of graphics in your favorite
     graphics  package for a few weeks.  It now comes time to include
     them  into  your presentation. You want  to  be able to see your
     background  graphics displayed behind your other graphics and so
     on.  When you put one of the  graphics on top of your background
     graphic,  -  boom,  there goes  your  background graphic. Now it
     looks  like a huge mess, all the wrong colors and you can hardly
     recognize  your  work.  All of the  work  you  have done on this
     graphic,  is it gone? No, fortunately  it is not, but welcome to
     our  nightmare.  Welcome  to  what  makes  most  people  in this
     business  endure long nights. This  article is a continuation on
     my  series for multi-media computer based training. This article
     will  provide a brief overview of what palettes are and what are
     some  of the traditional ways of correcting a problem with them.
     My  goal  here is not to dazzle  you with all kinds of technical
     information  and  statistics but to  put  this complicated topic
     into  layman  terms.  I  hope  our  readers  find  this  article
     informative and helpful.


Inexperienced developers tend to be over zealous with their graphic
design. Full screen hi-color graphics, memory hogging video and
animations are promised to the client without preplanning or
consideration to the end users PC capabilities. This path usually
results in an expensive learning curve and the realization that there
are palette limitations.

Why must the developer take into account the end user's capabilities?
The developer must create content that will run on the lowest common
computer. A detailed description of the lowest end machine must be
obtained before you really know what you are up against. If the end
users lowest end machine has 16mil color capabilities than you are in
luck. If the graphics card in the machine is capable of 16mil colors
then there will be no palette shift. Unfortunately, more often than not,
the end user will have an old machine only capable of 256 colors and of
course they want the development to run on all of their machines. When
dealing with a machine that can only display 256 colors then here you
are, stuck in our nightmare.

Now that you are familiar with the nightmare we developers face, let me
explain exactly how a palette can become so frustrating. A color palette
quite simply is the way the computer displays a graphic within a certain
constraint of colors (256 to be exact). When focus is given to a window
or a window is made active, the computer adjusts its palette to that of
the one in the active window. When you have two graphics of different
palettes displayed on the screen at the same time, one of the graphics
will palette shift.

A palette shift occurs when you ask the computer to use two palettes
simultaneously when the current hardware is setup to only handle 256
colors at one time. It can only handle one palette at a time and it is
forced to only pick one, thus causing the other graphics on the screen
to look bad. A palette consists of 256 different colors. Each of these
colors is assigned a Red Green Blue (RGB) value. Furthermore, each Red
Green Blue value can be between 0 and 255. For example, if I wanted the
color black, the RGB would be 000,000,000. This means I have 0 red 0
green and 0 blue. These values together make up the RGB value and
together create one entry into the color palette. Remember, the color
palette has 256 entries. Imagine how many combinations a standard
combination lock has with thirty-six numbers and three different
settings. That's a lot of different combinations, and it is enough so
you do not want to waste the time of figuring out its combination
setting. Let's think about how many different combinations there are in
a color palette. You have 256 entries each with a specific RGB value
that has in it a number for each Red Green or Blue entry between 0 and
255. Now that we understand what a palette is and what causes one to
shift, how do we fix it? Do you have to figure out the correct
combination?

Through the years I have seen that the solution's people use to solve
color palette issues vary. I have seen temporary fixes and permanent
solutions. In most cases, there is no set way of doing things. Usually
the situation needs to be assessed then a decision will depend on the
individual's specific requirements. Solving a palette problem is
somewhat like coming up with a combination for your lock. Everyone on
the team decides which is going to suit them best, and then goes with
it.

Each entry in the color palette needs to serve a purpose. For example,
if you envision that most of your graphics are going to be of the human
body, then you are going to want a palette that consists mainly of flesh
tones. Currently, I am working on a large complex government project
dealing with fingerprints. Since our project mainly deals with
fingerprints, our color palette will have to consist of mainly shades of
gray. What if you use a wide array of graphics in your application and
you do not have a common color scheme associated with each graphic? Then
you need to create a palette that can best suit the needs of all you
graphics.

There are many ways to approach the creation of a graphic palette.
First, and probably the most difficult, is to, color by color, set the
RGB for every palette entry. This method is not only laborious but does
not always produce a quality finished product. When creating high-
resolution graphics or picture quality images, one does not take into
consideration how many colors are contained in just one graphic. Take
for instance one photo. One photo can hold thousands even millions of
different shades of colors. Now try to imagine telling the computer to
take those million colors and force them to the 256 you arbitrarily
created. As you can imagine, this does not paint a pretty picture.

Another popular way to solve a palette problem is to create a common
palette for all graphics in your application. This is done by using a
software package that computes the most used colors from all your
graphics and uses the data to create a common palette. Aimtech's Image
Lab, Debabalizer, or Microsoft's Pal Edit are popular programs that can
perform these tasks. Once the program has calculated a common palette
this palette must be applied to each graphic. Contrary to belief, this
will have an effect on your graphics. Even though you have a common
palette, remember the computer could not select every color for every
graphic.

One way to reduce the effect of palletizing is a task called dithering.
Quite simply, dithering allows the graphic to use a color in the palette
that most closely matches the one requested by the graphic without
having to be exact. The end product is one that is much better than that
of one without dithering.

Finally, another way of correcting a palette problem is using one that
has already been created. UNIX folks have used a standard called
indeo.pal for over fifteen years. When asked what a common palette is
and which is the best to use most will tell you to use the indeo.pal.
This file was created by a UNIX team and has become the standard that
usually works best. My experience has been very favorable every time I
use the indeo.pal to palletize my graphics no matter what operating
system I am using. Each of these solutions has their good and bad
points. They can often work for you but sometimes not. The important
thing to remember is that each situation requires a different approach.

Now that I have briefly described the problems and solutions of
palletizing graphics, let's address the problem of cross-platforming.
Cross-platforming is when you try to take one application and make it
work on several different Operating Systems (OS), such as wanting your
application to run on both PC and UNIX computers. Each OS handles
palettes in different ways. Windows allows the hardware palette to
change based on what window has focus. However, UNIX picks colors out of
the palette and puts them into the hardware palette. When you load up an
image or a program in UNIX, the OS tries to find the palette entry in
its current palette. If it can not find the palette entry, it will try
to add room for it to add the color. Unfortunately, more often then not
the palette runs out of room and the UNIX machine is forced to leave the
image with a black or 0 entry into the palette. This leaves the graphic
looking very dark and very distorted. This forces the developer to use a
palette that is less conforming to him and more conforming to the
operating system. Again, different situations require different
solutions and when it comes to cross-platforming you may be in for a
world of fun.

There is an easy way and a hard way to approach the subject of graphic
development. Which approach you choose may add costly development time
to your project and consequently, delay your deliverable to the client.

This article was intended to give you a brief overview of palettes and
how they effect multi-media developers. This subject can be expanded
into textbook length and new technology is found daily on the subject.
Currently many people are looking to form an industry standard so that
the palette will cease to be a problem. However, no final decisions have
yet been made. Hopefully the future will hold consensus between
manufacturers and operating systems, and we will be able to finally get
some sleep.


   (**1)Dr. Bill Ison from the Univ. of North Texas. Uses the indeo.pal
   file and has attested to its quality and usage.


                          +=+=+=+=+=+=+=+=+=+

David Kindle is a Multi-Media training specialist currently employed by
Litton/PRC Inc. He is assigned to their FBI contract and is a member of
the computer based training team that is developing training for the FBI
fingerprinting system. He is a student at the George Washington
University earning a Masters degree in Information Systems. David can be
reached at aceman@erols.com




   ww page 6
  The Front Page Tidal Wave!
  

                   FrontPage97 - An Editorial Comment
                     Copyright 1997 by Gregg Hommel


Why the "Editorial Comment"?

When I decided to write this column, it was not my intention to write a
review of FrontPage97. We've already published a review from the point
of view of a "newbie", (Vol3 No.5), written by Linda Rosenbaum. This
month, June, we will have another, from a more advanced user viewpoint,
by Stefan Assmann.

Part of my responsibility as HTML Editor, is to stay on top of the new
HTML authoring tools offered to the public. Within that context, it is
my intention to comment about upon and write in detail about HTML coding
for my columns in WindoWatch. In the past, that has included some
observations on the HTML editors I like, - and why! Normally, I don't
make judgements about the HTML tools that I personally don't applaud. In
this particular case, however, the level of coverage given FrontPage97
elsewhere, was the deciding factor to offer a counterpoint to the mostly
favorable reviews, based upon my experience with FrontPage97.

Even so, this is not a review of FrontPage97 in the usual sense. It is
far from comprehensive coverage of the application's many features. It
is, however, a word to the wise for anyone considering using FrontPage97
to edit and maintain a pre-existing Web site, as was my encounter with
the product. As a result, I do not consider what I have done here a
review.


The Hommel Family Pages

Recently, I decided to update my personal Web site. It had been a while
since I had changed the site, so I decided that it was overdue.
Additionally, for a variety of reasons, I wanted to convert it from my
site, to our site, i.e. a Hommel Family site on the WWW.

I don't want to get into everything I did in the change (we'll save that
for another column), but some groundwork is necessary. A friend of mine,
who uses Microsoft Internet Explorer 3.0 to browse the Web, visited my
Web site and commented that they thought it was okay, but would have
preferred if I had not used frames. It seems that this person simply
does not like framed sites, in spite of using a browser that supports
them.

My original framed site used the <NOFRAMES> construct on every page to
display a page for those browsers that were not frames capable. It was
assumed however, that if you had a frames capable browser, you would be
happy to view a framed site. Obviously, based upon this person's
comments to me, this is not always the case! I decided that our new
site, instead of having just one set of pages, would have two sets: One
for those wishing to view things in frames and another for those who
preferred not to. As opposed to arbitrarily using <NOFRAMES>, this would
allow me to give a visitor the option of viewing framed or non-framed
pages.

I started by redesigning the site so that there were two sub-directories
off the Web root directory. Being the imaginative fellow I am, I called
these two directories \Framed and \NoFrame. I'll leave it up to you to
figure out which directory would contain which set of files for the
site. Even so, this still left the problem of getting the remote user to
the pages they wanted, and doing it in the most transparent manner
possible. For this, I decided that my earlier assumption, that a person
using a frames capable browser would want a framed site, was still more
or less valid. Therefore, if the browser in use were frames capable, I
would direct the user to that site, giving him/her the option from there
to go to a non-framed site, and send a non-frames capable browser
directly to the non-framed site.

But remember, I said I wanted it as transparent as possible. The obvious
answer was using the REFRESH meta tags, but that didn't allow me to
choose which way to send the user. Or did it?

That command in HTML is supposed to be in the <HEAD> section of a page.
But I wondered if it would work if it were NOT in the <HEAD> section.
So, I tried putting it into the <BODY> construct instead, and guess
what? It still did what it was supposed to do.

The simplest way to determine if a browser is frames capable is to use
them. If the browser can handle them, it will display them. Otherwise,
it will display the contents of <NOFRAMES>.

But what if the REFRESH code was within <NOFRAMES> and the browser was
frames capable? What happened then? Would it surprise you to find out
that nothing happens and that the REFRESH code within <NOFRAMES> has no
effect? It surprised me, although it should not have, I suppose. After
all, the idea behind <NOFRAMES> is that it is to be ignored by a frames
capable browser, which instead, uses the <FRAMESET> portion of the code.

One more experiment. I set up that default page so that it used a single
frame in the <FRAMESET> code, i.e., one frame 100% of the width and
height of the page. Into that frame, I loaded a small page which would
just say Loading. please wait, or something similar, but would also have
a different REFRESH than that in the <NOFRAMES> area of my default page.
Would that then take over, and direct the user to the framed view on the
site? By this time, it was no real surprise when it did. And that is
what the new default page on my site ended up doing.


FrontPage97 and the Hommel Family Site

Forgetting for a moment, the rest of the coding which makes up this new
site, I had found the answer to my problems but, in fact, had created
new ones. Specifically, I had created a monster, with two sets of
supposed content identical pages, in two separate directories, using two
different display methods, and thus, coded slightly differently.

FrontPage97 seemed like a possibility as the perfect way to handle this
new problem, since it is touted as being, among other things, a site
management tool. I know that I am not an ideal FrontPage user, since my
site is already designed and written. However, the documentation for
FrontPage did mention an Import Wizard to bring files into a FrontPage
Web site, so why not give it a try?

Okay, so it has only been around a week and a half, but I am still
trying. not to use FrontPage97 to maintain my Web site.. to get the dang
thing to import my files into FrontPage as something resembling the way
they were designed to be!

FrontPage97 has a pleasant enough Import Wizard. When selected, it asks
you for a location, and name, for the "new" site that it will create out
of your old files. Then it asks which files to import. You point it to a
directory, and tell it whether or not to include sub-directories under
that one when importing. The next step lists ALL of the files it finds
according to those criteria, but with the option for you to specify
which files it has found that you might want to exclude from the import
procedure.

That's it. once you have finished telling it which files not to include,
it finishes by importing the files specified, and creating new copies in
the site you specified, which are the results of the import. I would
have thought that, with the possible exception of some additional <HEAD>
code etc., which FrontPage might include for formality sake, and I did
not bother with in my original code, the "imported" files would be
virtually identical (similar?) to mine written using HomeSite.

I am sorry to say, not so. Just as an example, we'll look at the code
for those two first "pages" mentioned above. the "default" page with
it's frames and <NOFRAMES>, along with the page which loads into the
frame defined in the default page.

The first thing to note is that, on my ISP, if you want a page to load
without specifying it by name, it has to be named default.html. Some
ISP's require it be named index.html, some require either name, but
using an htm extension (i.e. default.htm or index.htm). The appropriate
naming convention for this "default" page is whatever is defined by your
ISP. FrontPage doesn't bother asking you what name to use. It
automatically decides that, whatever the main page is will be called
index.htm automatically. The only thing that you, as a FrontPage user,
can do is to rename it after the fact. I found that the easiest way to
do this was to use FrontPage Explorer in Folder View, right click on the
index.htm file, and rename it right there as default.html or whatever
you may need.

In spite of it's insistence to automatically name the default page as
index.htm, if you rename it, FrontPage doesn't mind in the least, and
will continue functioning with the alternative name for the main file.
(One other thing to note. In my \Framed sub-directory, I had a file name
home.html, which was the first file loaded into the content frame of the
framed site. Upon importing my files, FrontPage97 named this file, also,
as index.htm.)


The HyperLink View

It would appear that the HyperLink view of a Web site offered by
FrontPage97 is one of its best features. I would agree that it could,
under the right circumstances, be a quite useful tool when maintaining a
site.

I do not accept that premise when the site to be maintained is what I
call a cross-linked one. Let's see if I can explain how our Hommel
Family site is cross-linked, and perhaps then you will see from my
explanation what I mean...

The default page for our site has virtually no real content. It is there
only to determine if a visitor is using a frames capable browser, or
not, and then to steer him in the appropriate direction. Someone using a
frames capable browser, once in the framed view, has the option to
switch to a non-framed view of the pages. This, of course, results in a
link from the framed table of contents to the non-framed site.

Obviously, on those non-frame pages, I would also need a link back to
the framed site, in case someone switched from there, then decided to go
back again. But this gave me something else to consider. I would much
prefer that a user with a non-frames capable browser not be given the
option on that site to go to the framed site. It isn't a big problem,
because all I need to do is put a <NOFRAMES> section in the main framed
page. This tells the user that they are in a wrong place and directs
them back to the correct page. In the alternative, I could use a REFRESH
meta tag to immediately send them back where they came from, i.e. to the
non-framed site, which is what I eventually did use.

But even this struck me as unnecessary, if the user of a non-frames
capable browser doesn't even know that there is a framed site. If he/she
has no way of getting there, then they won't waste time trying it. The
answer was staring me in the face all along, but I was not bright enough
to see that my own default.html page had the solution. Remember? That
page does little more than determine whether or not you are using a
frames capable browser. It does so with virtual transparency to the
user. The framed page it uses to determine this is full, i.e. is a
single frame with a page identical in content to the non-framed one.

Let's make this clearer. The default.html file called, just uses a
<FRAMESET> tag, with no parameters. This means that the frame is 100% of
the rows and columns, or full page. What you see from your end looks
just like a single page, i.e. not framed, even though it is. Within that
file (called plswait.html), I use a META REFRESH tag to direct your
browser to the framed pages.

The <NOFRAMES> section contains the exactly the same content that an end
user would see, but uses a different META REFRESH tag directing the
browser to the non-framed site.

By the browser loading plswait.html, instead of what is in <NOFRAMES>,
it accesses the REFRESH which leads to the framed pages. It is the
default.html file which determines whether the browser is frames capable
transparently to the end user, because no matter what browser he uses,
he still sees exactly the same thing. What goes on internally may be
different, but what he sees is the same either way.


So, I duplicated each of the pages on the non-framed side. I then took
the real main page, added a <FRAMESET> tag to it, which set up a full
page frame, and loaded the duplicate page into it. That duplicate page
had a navigation bar that included a link to the framed site. I then
also edited the real pages so that the <BODY> portion was within a
<NOFRAMES> construct, and removed the link to the framed pages from that
section.

The result. the non-framed site cheats, - it uses frames! Even though
they are invisible because it is a single, full page frame within the
browser, it determines if the visitor should be given the option to go
to the framed site.

So, can you now see the number of links back and forth that would result
from all of this bobbing and weaving? This is what expanding the links
on one page looks like in FrontPage97 HyperLink View[**]. I chose the
page Gregg's Page, which I will be using below, primarily because it is
a finished page, and then expanded some (only some) of the links from
each version of it.


   [**The graphic images described in this article can be viewed in
   the Adobe Acrobat edition of WindoWatch.]


This was full screen on my 15" monitor at 1024x768, and in order to
attempt to see more of it, I had turned off the FrontPage tool bar, and
status bar. Any guesses as to how useful this might be to me? When
working on this site using FrontPage, I obviously do not use this view.
Instead, I use the Folder View, which has the added advantage of showing
me which Gregg's Page is which on the left. In HyperLink View, since all
three pages, framed and non-framed have the same <TITLE>, they are shown
on the left side above, as all being Gregg's Page, with nothing to
distinguish which one is which. (If you look carefully at the above
shot, you can see three "The Hommel Family Pages" listed, with only the
third of them being expanded. If you look even closer, on the right, you
might be able to see all three of them in the HyperLink View.)


Importing Existing Code into FrontPage

The above problems are bad enough, I suppose, but that isn't the end
of it. Here is the code which I wrote, using HomeSite 1.2 for the
default page of our site, and the page which is loaded into it when it
detects a frames capable browser. Both of these pages worked exactly
as I wanted them to, when written this way.

First, my default.html code..

  <HTML>
  <HEAD>
  <TITLE>The Hommel Family Pages</TITLE>
  <META NAME="keywords" CONTENT="Hommel Family, GHOST BBS, PCB Freedom,
    ILink, HTML Tutorial">
  </HEAD>
  <BODY>
  <FRAMESET>
  <FRAME SRC="plswait.html">
  </FRAMESET>
  <NOFRAMES>
  <META HTTP-EQUIV="REFRESH" CONTENT="0; URL=noframe/main.html">
  <CENTER><P><FONT SIZE=+2 COLOR=#800000>Loading..... one moment,
    please......</FONT></CENTER>
  </NOFRAMES>
  </BODY>
  </HTML>

And now, the code for plswait.html, which is loaded into the single
frame of the default.html file..

  <HTML>
  <HEAD><TITLE>Please Wait...</TITLE></HEAD>
  <BODY>
  <META HTTP-EQUIV="REFRESH" CONTENT="0; URL=framed/main.html">
  <CENTER><P><FONT SIZE=+2 COLOR=#800000>Loading... one moment,
    please......
  </FONT></CENTER>
  </BODY>
  </HTML>

As you can see, nothing all that tricky, other than the location of the
REFRESH meta tags to make the switch between pages automatically. They
are both in the <BODY> construct, with the one in default.html also
within the <noframes> construct. The reason for this is to ensure that
only the appropriate REFRESH meta tags get loaded and used, depending
upon whether or not a frames capable browser is in use.

Now let's look at the code for default.html as it was after being
imported into FrontPage as index.htm.

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  <html>
  <head>
  <meta http-equiv="REFRESH" content="0; URL=noframe/main.html">
  <meta http-equiv="Content-Type"
  content="text/html; charset=iso-8859-1">
  <meta name="keywords"
  content="Hommel Family, GHOST BBS, PCB Freedom, ILink, HTML Tutorial">
  <meta name="GENERATOR" content="Microsoft FrontPage 2.0">
  <title>The Hommel Family Pages</title>
  </head>
  <frameset>
      <frame src="plswait.html">
      <noframes>
      <body>
      <p align="center"><font color="#800000" size="5">Loading.....
        one moment, please......</font> </p>
      </body>
      </noframes>
  </frameset>
  </html>

and the matching code for plswait.html which was not renamed .

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  <html>
  <head>
  <meta http-equiv="REFRESH" content="0; URL=framed/main.html">
  <meta http-equiv="Content-Type"
  content="text/html; charset=iso-8859-1">
  <meta name="GENERATOR" content="Microsoft FrontPage 2.0">
  <title>Please Wait...</title>
  </head>
  <body>
  <p align="center"><font color="#800000" size="5">Loading...
    one moment, please......</font> </p>
  </body>
  </html>

I am not sure why FrontPage decided that the <noframes> construct had to
be inside of the <frameset> construct, but I suppose there must be a
reason for it. As far as I am aware, this is not part of the HTML
specification for frames, but at least it does not affect the operation
of the site, as near as I have been able to determine.

One thing that does affect the operations of the site is the movement of
the REFRESH meta tag from within <BODY> and <NOFRAMES> constructs, to
the <HEAD> section. This results in that tag having control over what is
done, since it loads before anything else in the <HEAD> section of
default.html. The matching tag in plswait.html, has also been moved from
the <BODY> construct into the <HEAD> one and never gets control. The tag
in the <HEAD> construct of default.html was there first, and as a
result, every visitor ends up at the non-framed site, whether their
browser is frames capable or not.

I am equally confused by another import change of the completely
legitimate and normal <CENTER> construct, becoming a new paragraph mark
with center specified as the alignment (<p align="center">). In this
case, the effect should be the same when the page is displayed, even
though this is not always the case.

What follows is my original code being displayed for my personal
information page.

   [**The graphic images described in this article can be viewed in
   the Adobe Acrobat edition of WindoWatch.]

This is how the same thing is displayed using the code which FrontPage97
arbitrarily replaced for my original code during importation.[**]


Now, I may not be a genius, and indeed, some Monday mornings I barely
make it to being classified as living, but any way that I look at it,
those two displays are not the same, at least, not until you get past
the title and first paragraph!

As you can see, from the second paragraph onwards, they are virtually
identical, however, it is the first paragraph that shows the error of
the FrontPage translation or interpretation of my code. The graphic,
which is a title for the page, is not centred over the text, as it
should be, but is placed before the first paragraph text, as if it were
part of the paragraph. Additionally, the translation of the code used by
FrontPage also results in the first paragraph of text being centred on
the page, rather than left justified, as was intended.


Inflexibility

One change which FrontPage made to the code upon importing it was to the
standard SIZE=+2 parameter of the <FONT> tag. FrontPage replaced it with
size="5, a parameter which, in effect, is the same, but which lacks the
flexibility of the SIZE=+2 parameter. Admittedly, I did not, on the
pages in question use a <BASEFONT> tag. However, it makes no difference
to FrontPage97 whether you use that tag or not as we shall see in a
moment.

The idea behind the +2 parameter for SIZE= is to make the font variable
in size, depending upon how one decides to specify the base font size
for the page. If I add a <BASEFONT FACE="Times New Roman" SIZE=5> tag to
my original code, it would result in the "Loading.. " text becoming the
equivalent of SIZE="7", while doing this in the FrontPage generated code
would not change anything.

Upon further investigation, I found the same sort of thing throughout
the imported files. Without fail, FrontPage had changed every <CENTER>
tag to an alignment parameter to a <P> tag, and had changed all of my
<FONT> SIZE=+ parameters to their equivalent set size. Indeed, FrontPage
had, in each and every file, removed the <BASEFONT> tags from them, for
no apparent reason.

Here is the original source for \Framed\gregg.html, which is the page
that I used for the captures above.

  <HTML>
  <HEAD>
  <TITLE>Gregg's Page</TITLE>
  <BASE TARGET="_top">
  </HEAD>

  <BODY BACKGROUND="../images/wall.gif">
  <BASEFONT FACE="Times New Roman" SIZE=3>

  <CENTER><IMG SRC="../images/gregg.gif" WIDTH=164 HEIGHT=30
    BORDER=0></CENTER>

  By profession, I have been an accountant for the past twenty-five
  years (yes, I am ancient, at least, according to my daughters, I am,
  and on a Monday morning, I agree with them <GG>), for the past ten
  years, in the construction industry.

  <P>When I am away from those offices, however, I am a part-time
  computer consultant, a beta tester for various companies, and a
  shareware author in the Windows Aspect language for Procomm Plus for
  Windows, from <A HREF="http://www.datastorm.com">Datastorm
  Technologies Inc.</A>. I have written two script applications for that
  programme, GHOST BBS and PCB Freedom. To find out more about either,
  or to download the latest releases, click on the links in the table.

  <P>To keep me out of mischief, and to make sure that I have no free
  time left to get into any, I also write a monthly column for
  <STRONG><EM>WindoWatch</EM></STRONG> Magazine, Lois Laulicht's useful
  and superb electronic publication covering Windows in all forms from a
  real world perspective. If you haven't already been there, be sure to
  visit the<A HREF="http://www.windowatch.com/"><EM> WindoWatch</EM>
  Home Page</A> to download a copy of the latest or past issues, view
  some of the articles from the magazine on-line, or explore some of
  their links to other services.

  <P>Last, but not least, I host the <A
  HREF="http://www1.execnet.com/ilink/main.html">ILink</A> Windows and
  Win95 conferences, and the ILink CanIssues conference. Our oldest
  daughter, Tiffany Amber, is following in her Daddy's footsteps, and,
  at 14 years old, is the youngest host on the ILink network. She is
  host of the ILink Kids Conference, and her page is accessible from the
  Navigation bar.

  <HR SIZE=4>
  </BODY>
  </HTML>


Here is the FrontPage generated version of the same thing.

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  <html>
  <head>
  <meta http-equiv="Content-Type"
  content="text/html; charset=iso-8859-1">
  <meta name="GENERATOR" content="Microsoft FrontPage 2.0">
  <title>Gregg's Page</title>
  <base target="_top">
  </head>

  <body background="../images/wall.gif">

  <p align="center"><font face="Times New Roman">
  <img src="../images/gregg.gif" width="164" height="30"> By profession,
  I have been an accountant for the past twenty-five years (yes, I am
  ancient, at least, according to my daughters, I am, and on a Monday
  morning, I agree with them <GG>), for the past ten years, in the
  construction industry. </font></p>

  <p><font face="Times New Roman">When I am away from those
  offices, however, I am a part-time computer consultant, a beta
  tester for various companies, and a shareware author in the
  Windows Aspect language for Procomm Plus for Windows, from </font><a
  href="http://www.datastorm.com"><font face="Times New Roman">Datastorm
  Technologies Inc.</font></a><font face="Times New Roman">. I have
  written two script applications for that programme, GHOST BBS and
  PCB Freedom. To find out more about either, or to download the
  latest releases, click on the links in the table. </font></p>

  <p><font face="Times New Roman">To keep me out of mischief, and
  to make sure that I have no free time left to get into any, I
  also write a monthly column for <em><strong>WindoWatch</strong></em>
  Magazine, Lois Laulicht's useful and superb electronic
  publication covering Windows in all forms from a real world
  perspective. If you haven't already been there, be sure to visit
  the</font><a href="http://www.windowatch.com/">
  <font face="Times New Roman"><em> WindoWatch</em> Home
  Page</font></a><font face="Times New Roman"> to download a copy of
  the latest or past issues, view some of the articles from the magazine
  on-line, or explore some of their links to other services. </font></p>

  <p><font face="Times New Roman">Last, but not least, I host the
  </font><a href="http://www1.execnet.com/ilink/main.html">
  <font face="Times New Roman">ILink</font></a><font face="Times New
  Roman"> Windows and Win95 conferences, and the ILink CanIssues
  conference. Our oldest daughter, Tiffany Amber, is following in her
  Daddy's footsteps, and, at 14 years old, is the youngest host on the
  ILink network. She is host of the ILink Kids Conference, and her page
  is accessible from the Navigation bar. </font></p>

  <hr size="4">
  </body>
  </html>


You will note that several things. In this import, FrontPage behaved
precisely as it did in previous files. The <BASEFONT> tag is missing
altogether, replaced by the less flexible specification of that base
font for each paragraph of text. The <CENTER> tag has been replaced by
an alignment parameter to a paragraph tag, and the variable SIZE=+n
parameter to the <FONT> tag has been replaced where it appeared with the
fixed SIZE="n" parameter.

In other words, very little of my original intent in designing the pages
survived the import without modification by FrontPage into something
quite different from my original intent.


   (Editor's note: Stefan Assmann, who this month, is reviewing
   FrontPage97 in WindoWatch, offered these comments in addition to the
   items mentioned above.

   "In my daily updates for new software, I mainly do a cut and paste
   job from an e-mail I get. When pasting something in a table,
   FrontPage always mysteriously inserts a blockquote tag around it. It
   also doesn't know the colour `darkorange'. When I load this file, it
   imports it as dark blue.")


Persistent, isn't it?

Am I making too big a deal about some simple changes to the way I had
written the HTML code? Perhaps, but I don't really think so. As one
person pointed out to me, if you don't like the changes, simply open the
HTML View and edit the code so that it is what you want.

Sounded reasonable, so I tried doing just that. Since my first and
biggest problem with the FrontPage site was the movement of my REFRESH
meta tags so that they no longer functioned as desired, I thought that
was a good place to start.

I loaded the default.html file into the FrontPage editor, and selected
View. HTML.. With that open, I cut and pasted the REFRESH meta tag back
into the <BODY> construct, which is where I wanted it to be, so that it
would work inside the <NOFRAMES> construct. I then exited the HTML
viewer, and upon exiting the default.html file in the FrontPage editor,
was asked if I wanted to save the changes to the page. As that was the
only change that I made, I went ahead and saved it.

The next step was to take a look at the resulting code in another
editor. Using HomeSite 1.2, I located and opened the default.html file
in the FrontPage site, and took a look. It appeared fine. The REFRESH
meta tag was right where I wanted it, within the <NOFRAMES> and <BODY>
constructs.

Happy as a kid with a battery in a new toy, I went back to FrontPage,
and opened the same site, then the same file into the editor. Next
option was View.. HTML. at which point, things went screwy. There, in
the HTML viewer, was the source code for default.html alright, but with
the REFRESH meta tag once more back in the <HEAD> section of the file,
precisely where I had moved it from the last time I was in FrontPage.

Double-check time! I closed FrontPage, re-opened HomeSite, and loaded
that same page again. In HomeSite this time, I cut and pasted the
REFRESH meta tag back where I wanted it, then saved the file. Back to
FrontPage again, and through a routine I was fast becoming familiar
with. Familiar enough with it to not be surprised when, once more, the
HTML view in FrontPage showed the REFRESH meta tag back in the <HEAD>
section of the file!

I tried this on several of my files. In every case, if FrontPage had
changed the code from my original when it imported the files, without
fail, after editing the code back as it was before the import, FrontPage
would once again change the code when the file was opened in it. Such
persistence of vision normally would be a commendable thing, but not
when FrontPage is insisting that it knows better than I what I intended
for the source code.

I dislike applications that behave as though they know more than I about
many things, although in some cases, I must admit, they are probably
right. But that is nothing compared to how I feel about applications
which INSIST that they are right, even after you have tried to tell them
that this is really the way that you want things done.


Conclusion

All of the above being said, FrontPage currently remains on my system. I
continue to use HomeSite 1.2 for my day to day editing of HTML code, and
to continue with the ongoing update of our Web site. I have found a use
for FrontPage97, though. One thing that HomeSite 1.2 lacks (although,
from what I understand, HomeSite 2.x, which I have yet to get, does not)
involves scripting, and ActiveX objects.

The facilities in HomeSite 1.2 for these are somewhat limited, although
useful enough. However, the wizards and so on in FrontPage which involve
scripts and ActiveX components are much more robust, and useful for
developing the code I need to copy and bring in to my pages in HomeSite.

Would I recommend FrontPage97 for you? Depends. If you are new to HTML,
and want to develop some simple pages for a site, without having to
learn how to code directly in HTML, then maybe. If you are experienced
with HTML code and are working from pre-existing HTML files to be
imported into FrontPage, I would simply ask you to read about my
encounter with the product, and then decide for yourself.

But once I get HomeSite 2.x, or perhaps the Corel Internet Suite, or for
that matter, perhaps even the Microsoft ActiveX Control Pad, I doubt
that FrontPage97 will have long to remain on my hard drive. Any tool
that I can't use without fighting with it will never remain long on my
drives.


   An Editorial Note: This is not the first criticism about how Internet
   Explorer, Word 97, and now FrontPage 97 go off into their own world
   of HTML interpretation. This is, however, the only documented example
   of rigidly rejecting accepted HTML standard practices. lbl


                          +=+=+=+=+=+=+=+=+=+

Gregg Hommel is the HTML Editor for WindoWatch!




   ww page 7
  FrontPage 97
  


                       The Microsoft HTML Editor
                    Copyright 1997 by Stefan Assmann


When Windows NT editor Linda Rosenbaum reviewed FrontPage 97 last month,
as a new HTML user, she looked at the application using primarily
beginners options. Obviously, FrontPage 97, has many more advanced and
sophisticated features. Apart from a few bugs, albeit very annoying
ones, it seems to me that FrontPage 97 is indeed an excellent editor for
creating and maintaining web pages with a minimum of effort. I like
FrontPage 97 a lot!

First of all, let's take look at the program's Insert menu to see what
choices are available for sprucing up our web pages:

As you can see, there are quite a lot of options. The first option,
SendIt! will not be available on your menu unless you installed that
plugin. The most interesting choices are located in the bottom half of
the menu beginning with File. Let's briefly describe them one by one:


File:

  This choice lets you insert a file from another location. Besides the
  types supported out of the box, the file types that can be inserted
  also depend upon the converters installed when you installed Office
  95/97. As you know, one of the key selling points of FrontPage is that
  it is completely integrated into the Office suite. This is one of
  those moments you are happy MS made that choice. Not only can your
  installed converters be used but your spelling checker will be used as
  well. It is claimed that the next version will support even tighter
  integration with Office 97. So, if you have written some masterpiece
  in Word 97, simply insert it and FrontPage will convert it to HTML
  while preserving as much of the original layout as possible.

Webbot Component:

  One of the handier program features that requires server support of
  the FP 97 extensions. Without FrontPage extensions, these Webbot
  components will not work at all. Instead of having to program in
  vbscript, JavaScript or CGI to automate a search feature for your
  website, or an automated TOC generator, or a forms processor, one
  makes a few menu choices and FP and your server will do the rest.

Other Components:

  Here you can insert ActiveX controls, Java applets, plugins and a
  PowerPoint animation. We will examine this section in greater detail
  in a moment.

Form Field:

  Making an eye-catching fill-in-the-blanks form takes just a matter of
  minutes. Combine this with the forms webbot feature and you can set up
  any form you like without doing any programming. Very convenient.

Marquee:

  If you're using Internet Explorer 3.x or higher and have wandered
  around the web a bit, you've probably encountered those nice-looking
  scrolling text blocks. They are called marquees, and creating them
  with FrontPage is a snap. Just enter the desired text, position and
  colour and you're done.

HTML Mark-up:

  If you want to insert some feature for which you have written the code
  yourself or code not supported by FrontPage as yet, it can be inserted
  here. No need to exit the program and use some other editor to add the
  code.

Script:

  You can insert either VBScript or JavaScript with FrontPage. If you're
  reluctant to write the code yourself, FrontPage will write the code
  for you if you use the script wizard. Just select the action that has
  to take place on a particular object and press OK and the code will be
  written.

Hyperlink:

  You can insert all possible links known to HTML, be it news, the web,
  FTP, gopher or something else!

Those are the options available to you. Needless to say that going over
each option in detail would result in a very large issue of your
favourite magazine, so we'll just cover one or two options in detail.


ActiveX controls

Ranging from simple menus to complex interactivity, these controls can
really give your site a modern look and feel. Inserting them with a
normal editor, however, is asking for trouble unless you like to torture
yourself. When using FrontPage, the job gets a lot easier. Here's how to
implement them:

1. On your page, select insert / other component / ActiveX control.
   The Properties dialog box will pop up.

2. Pick a control from the drop down list and adjust its properties.

3. Write the necessary code with the wizard to activate the control.


That's really all there is to it. As easy as 1-2-3 (no pun intended). To
illustrate this, I'll make a menu to browse around my site:

  1. create a new, blank page
  2. insert a control and pick the Microsoft forms 2.0 command button
  3. click on the properties button and give the button a caption
  4. press apply and give the button a reference name
  5. press OK


The above steps constitute step two of the process. Now my screen looks
like the image below:[**}

   [**The graphic images described in this article can be viewed in
   the Adobe Acrobat edition of WindoWatch.]


Note that the control is surrounded by a frame not visible when viewed,
so that one can adjust it's size and position to create items like the
NT Workstation site of Microsoft (http://www.microsoft.com/ntworkstation)

Finally, I had to write a bit of code to make sure that when the user
presses the button, the user is guided to the proper place. Invoking the
script wizard by right-clicking on one of the controls just inserted and
then selecting the wizard, the following screen will appear:[**]


As you can see, the screen is divided into two columns and a number of
rows. In the left column is a listing of the control(s) I inserted,
listed by the names I gave them. In this case, I made a button called
button1 and as the caption suggests, I want to link the user to
nt40faq.html, the file containing the FAQ. The right column displays all
the actions you can tie to a control. Simply click on the plus sign for
the button1 control and a listing of all the events the control supports
will open.

In this case, there are plenty of events to choose from. I want the user
to be able to switch to other places with a single mouse click, so I'll
modify the Click event. I just select the word Click on the left-hand
side, and select the Go to page action on the right-hand side by
double-clicking it. Now a box will pop up asking me to input a text
string. See the Go to Screen below![**]


It is here we'll enter the address of the HTML file in question, namely
"../nt40faq/nt40faq.html". The two dots in front mean "go to the root
directory of the web". If you use this notation instead of giving a full
HTTP address, the user will go there way faster. After having filled in
the value, I just press OK a few times.

That's it! We have just created our first ActiveX control!


This is the code that FrontPage put into your HTML file:

   <p><script language="VBScript">
   <!--
   Sub button1_Click()
   Window.location.href = "../nt40faq/nt40faq.html"
   end sub
   -->
       </script>
   <object id="button1"
   name="button1"
   classid="CLSID:D7053240-CE69-11CD-A777-00DD01143C57"
   align="baseline" border="0" width="96" height="32"><param
   name="Caption" value="NT 4 FAQ"><param name="Size"
   value="2540;847"><param name="FontCharSet"
   value="0"><param name="FontPitchAndFamily"
   value="2"><param name="ParagraphAlign" value="3"></object>
   </p>


Not too readable, is it? The thing is you don't have to worry about it.
By using FP interactively to insert an ActiveX control, you can have
your web pages spruced up in a matter of minutes. Granted, knowing a bit
of Visual Basic and understanding the mechanisms behind properties,
events and actions will certainly be helpful.

The same way you use FP to insert these controls, you use it to insert
all the rest of the items I briefly looked at in the beginning of this
article. Having used it since it was released, I find FrontPage to be
very helpful in creating and maintaining my site.


Marquees

As discussed earlier, marquees are those nice-looking scrolling text
blocks you see when you're browsing some sites like Frank Condron's
Windows pages (http://www.conitech.com/windows/). Marquees are used to
highlight changes you want your visitors to see in more detail. In other
words, they are used to encourage you to explore more of the site you're
visiting. When used sparingly, they can indeed be very effective.

Let's say that you run a news site and you've just heard an industry
rumor of a hostile take over of a software giant! To grab the attention
of your visitors, you decide to put a marquee at the top of your page to
direct them to the page with the full story. Let's hope you have already
exercised judgement to check out the facts! Here's how to do it:

- Open a new or existing page in the editor and position the cursor
  where you want the marquee to appear

- Select insert / marquee from the menu. The Marquee Properties dialog
  box will appear.

- Enter your text in the "text" field. Following our example, type in
  the following: "Hot news! Hostile take over of software giant. Read
  all about it here!". The other fields are pretty self-explanatory, I
  think. You can choose the direction in which the marquee will scroll,
  the speed, background colour and size and how many times to repeat it
  (usually continuously). Let's make our marquee a bit fancier by
  selecting another background colour like Aqua. Your screen should now
  look like this:[**]


- Now press OK and you'll return to the editor. Your marquee will appear
  in the editor with your specified setting.


Now comes the more difficult part. If you read your marquee again,
you'll see that the user should be able to click it so that the proper
page appears with the full story of this hostile take-over. However, the
dialog box used to create our marquee doesn't have an option for this.
No problem! Let's first define what has to be done and then take
appropriate action.

To enable the user to click on it, we must make a link out of this
marquee instead of letting it be standard text. As you'll see in a
moment, this is very easy indeed.


To make a link out of our marquee, select it and press CTRL-K or select
insert / hyperlink. This produces the Create Hyperlink dialog box.

This box has four tabs. Since we want to link the user to a page in our
web, select the corresponding tab if it's not selected and press browse.
This will produce an explorer-style folder to view in which you can
select the page you want to redirect the user.

If you have selected your page, you are returned to the dialog box. Just
press OK to confirm your changes.

You can preview what you have accomplished so far by selecting
file/preview and pressing OK. We now have a nice scrolling marquee that
also functions as a link.

If you want, you could hide the fact that the marquee is in fact a link
to another place by changing the link colours, but this is really not
necessary. It's the content that counts here.

Also notice that by using this example I have killed two birds with one
stone: I've shown you how to create a marquee and how to create a link
out of text.

The same way you use FP to insert these gimmicks, you use it to insert
all the rest of the items I briefly looked at in the beginning of this
article. Having used it since it was released, I find FP to be very
helpful in creating and maintaining my site.


Bugs

Useful as FrontPage may be, there are a some annoying bugs and
idiosyncrasies in the program.

- Certain code is inserted differently from what one expects, for
  reasons unknown to me. Take the <center></center> tags for example,
  used to centre a table, image or text horizontally on the page.
  FrontPage finds it necessary to transform it into "<p align="center">
  </p>" tags. In most circumstances, these tags produce exactly the same
  effect, but sometimes they don't, as Gregg Hommel has demonstrated in
  his article.

- For another odd reason, the colour darkorange is unknown to FP. It
  always displays as deep blue on my system. If you edit the file later
  with a straight text editor, the file displays as it should in the
  browser. Loading it in FP gives you deep blue again. Saving it in FP
  (I haven't edited the code one bit) and then viewing it in your
  browser results in.dark blue! This is totally nuts and should be
  rectified right away. I happen to like that colour.

- As a WYSIWYG viewer/editor, FP doesn't live up to its claim entirely.
  The editor doesn't yet display frames but should be rectified in the
  next release.

Finally, FrontPage is a kind of an open system, meaning that one can add
functionality to it by means of CGI scripts, DLL's and other code.

There exist on the Internet several newsgroups which discuss FrontPage
issues. http://www.pmpcs.com/support/fp/software.htm.


                          +=+=+=+=+=+=+=+=+=+

Stefan Assmann is a highly proficient computer user. A beta tester who
enjoys the challenge he goes where few of us dare to tread! He is the
Chief Accountant at Burgmann BVBA, a Belgian subsidiary of a German
based multinational making all kinds of seals for the industry. Stefan
is a regular WindoWatch contributor.




   ww page 8
  Teaching Old Dogs New Tricks                An HTML Tutorial, Part VIII
  


                           I Was Framed!  IV
                     Copyright 1997 By Gregg Hommel


Adding One More Frame to the Mix:

Last time we were here, we had a site that consisted of three frames in
a displayed page; a title frame, a contents frame, and a navigation
frame to allow the changing of content.

We will add one more frame so that we can match that design we had
here so many months ago. (My, but I have been long-winded getting
here!) In the process, we will gain a spot to display to our visitors
some icons that they can use to go to our favourite places easily. There
is another change that we should make to our original plan. Since I
first designed that layout, I found the need for a larger frame for my
navigation bar, and adjusted the code accordingly. Remember, this is
all based upon what I have done for my own site.

It isn't a big change to the basic design, but it is a surprisingly big
change in how it is coded, and that, in itself, will be useful for us. So,
let's get to work.

If you recall, the design that we were aiming for looked something like
the one on the following page. I will, once again, remind you that I am
no great shakes in the artist department but felt this simple graphic
clearly depicted what I wanted to achieve.

           Ŀ
                       Frame A             
           Ĵ
                                          
                                          
                                          
                                          
            Frame      Frame C            
              B                           
                                          
                                          
                                          
                                          
                                          
           Ĵ
                        Frame D            
           


To make this interesting, the first thing that we are going to do is just
what you see here. We left this section of code for our frames with the
<FRAMESET> construct which initiates them.

  <FRAMESET ROWS="18%,*,9%">
      <FRAME NAME="FTitle" SRC="wwtitle.html" SCROLLING="AUTO">
      <FRAME NAME="FBody" SRC="wwmain1.html" SCROLLING="AUTO">
      <FRAME NAME="FTable" SRC="wwtable.html" SCROLLING="AUTO">
  </FRAMESET>

To get to the above page, we need to add a frame to the left of our
"FBody" frame. However, you can't just add another <FRAME> tag and
expect success. What we plan on doing is splitting the "FBody" frame
into two frames, divided as columns, rather than our original ROWS=. In
other words, to make a framed page with a mix of column and row frames
displayed, you need multiple <FRAMESET> constructs, nested within one
another. The top <FRAMESET> will control the overall look. If our top
<FRAMESET> divides the page by rows, the page will divide into rows
first, then split one or more rows of that into columns, depending upon
where and how the new <FRAMESET> construct is placed within the
<FRAMESET> nest.

If you look back at our intended design, as drawn above, this is
precisely what we were looking for. The general look of the page I
drew is in rows, with one of those divided into two columns.
Since the row that we want to split into two columns is the middle or
second row, we need to place our new <FRAMESET> construct around
that row, and divide it into columns.

  <FRAMESET ROWS="18%,*,9%">
      <FRAME NAME="FTitle" SRC="wwtitle.html" SCROLLING="AUTO">
      <FRAMESET COLS="13%,*">
          <FRAME NAME="FTable" SRC="wwtable.html" SCROLLING="AUTO">
          <FRAME NAME="FBody" SRC="wwmain1.html" SCROLLING="AUTO">
      </FRAMESET>
      <FRAME NAME="FInfo" SRC="wwinfo.html" SCROLLING="AUTO">
  </FRAMESET>

As you can see, we only added a new <FRAMESET> construct to create a set
of frames within the original frames. This change produces two columns
from the single central frame that we began with. The division of the
columns into 13% and the balance for the "FBody" was a result of some
experimentation. By trying the file I wanted to use in the frame, I then
adjusted the percentage until it looked as I wanted it to.

Undoubtedly you also noticed that I moved the navigation frame to this
new column, and added a new page called wwinfo.html, to the old third
frame, now, the fourth. Additionally, I moved the frame name itself from
the old frame to the new one, and made our old third frame into the
newly named "Finfo" frame. Wwtable.html was modified to make a vertical
table, rather than a horizontal one, and lastly, I created the
wwinfo.html page, which contains a single celled table, holding an icon
and link to Nico Mak's WinZIP site on the Internet for something to put
into it, and because I like that programme.

The result is a displayed page like this.[**]

   [**The graphic images described in this article can be viewed in
   the Adobe Acrobat edition of WindoWatch.]


If you really look at the image with care, because of its is small size,
you will note a couple of things which are both practically and
aesthetically incorrect in the design.

The navigation bar area is not bad unless we start adding too many pages
of content to the site. It won't take long to fill up the small spot we
have, and spill over the end. Scrolling on the contents page is
reasonable; doing so in the navigation area is defeating the purpose of
trying to make it as easy as possible for visitors to get around.

The second one is not so easy to see, nor is it necessarily wrong. As
far as I am concerned, from an aesthetic point of view, it is, but it
may not seem so to you. In my opinion, this design results in the title
and information frames looking odd, as they are no longer centred under
the contents area, and appear out of place as a result. In my mind, if
those are centred, they just appear better balanced and nicer to the
eye.

Fixing this is actually quite simple. All we have to do is reverse the
positioning of our <FRAMESET> constructs. If we move the COLS= one to
the "top", along with it's "FTable" frame, and then put the <FRAMESET>
which creates the three ROWS of frames after that, we can get a much
more aesthetically pleasing site.

  <FRAMESET COLS="13%,*">
      <FRAME NAME="FTable" SRC="wwtable.html" SCROLLING="AUTO">
      <FRAMESET ROWS="18%,*,9%">
          <FRAME NAME="FTitle" SRC="wwtitle.html" SCROLLING="AUTO">
          <FRAME NAME="FBody" SRC="wwmain1.html" SCROLLING="AUTO">
          <FRAME NAME="FInfo" SRC="wwinfo.html" SCROLLING="AUTO">
      </FRAMESET>
  </FRAMESET>


As you can see, this is not a big change in the code, but look at the
change it makes to the overall appearance of the page.[**]


I did modify the wwtable.html file slightly for this, using a spacer
graphic to spread out the rather slim contents of our navigator bar,
until we add more items to it. I know, "What's a `spacer' graphic?"

A spacer is a one pixel by one pixel GIF file, with nothing in it except
a gray background, which is transparent or invisible when placed on an
HTML page. It has a multitude of uses on most any HTML page, assisting
you, the author, in positioning text or other items exactly where you
want them. Since it is transparent to the visitor to your site, it can
be resized without worrying about distortion, or jaggies. This can be
seen in the image above which centers the navigation bar making it more
pleasing to the eye. I placed a spacer in a table set for 25 pixels wide
by 150 pixels high. I then added two more cells to the table, one each
between the first and second, and second and third original cells, each
containing another copy of the spacer, set for 25 pixels wide, by 50
pixels high. This is the code as it is now written.

  <HTML>
  <HEAD><TITLE>Table</TITLE></HEAD>
  <BODY BACKGROUND="images/wall.gif" TOPMARGIN=0 LEFTMARGIN=0>
  <BASEFONT FACE="Times New Roman" SIZE=3>
  <IMG SRC="images/spacer.gif" WIDTH=25 HEIGHT=150 BORDER=0>
  <TABLE WIDTH=100% CELLPADDING=4 CELLSPACING=2 BORDER=0>
  <TD ALIGN=left VALIGN=middle><A HREF="wwmain1.html" TARGET="FBody">
    <IMG SRC="images/redball.gif" WIDTH=25 HEIGHT=13 BORDER=0>Start</A></TD>
  <TR><TD ALIGN=left VALIGN=middle><IMG SRC="images/spacer.gif" WIDTH=25
    HEIGHT=50 BORDER=0></TD></TR>
  <TR><TD ALIGN=left VALIGN=middle><A HREF="wwmain2.html" TARGET="FBody">
    <IMG SRC="images/redball.gif" WIDTH=25 HEIGHT=13 BORDER=0>Second</A>
    </TD></TR>
  <TR><TD ALIGN=left VALIGN=middle><IMG SRC="images/spacer.gif" WIDTH=25
    HEIGHT=50 BORDER=0></TD></TR>
  <TR><TD ALIGN=left VALIGN=middle><A HREF="wwlinks.html" TARGET="FBody">
    <IMG SRC="images/redball.gif" WIDTH=25 HEIGHT=13 BORDER=0>Links</A>
    </TD></TR>
  </TABLE>
  </BODY>
  </HTML>

The result is a more spread out and better centered navigation bar.


A spacer graphic is quite useful, and an HTML author shouldn't be
without one. I plan on making one available on the WindoWatch Tutorial
Web Site as soon as I can, however, that may be a while. If you want to
make your own, and have Office97, here is how I did it.

1) Using my trusty old Win 3.1 version of Paintbrush, I created a small
   BMP file that was nothing more than a solid gray background, which I
   called spacer.bmp. (What? You don't have one? When I upgraded from
   Win 3.1, I made sure to keep a copy of the three files which make up
   that mini-app. It is smaller and faster than the Win95 version, and
   my youngest daughter loves using it, but couldn't abide the Win95
   version she had tried on other machines.)

2) From the Office97 install, I ran the Photo Editor application
   included with that suite. In Photo Editor, I opened spacer.bmp, and
   use the transparency tool from the toolbar to select the gray
   background and turn it transparent.

3) The next step was to use the Image|Crop menu item to get the image
   size down to 1 pixel by 1 pixel.

4) Finally, I used File|Save As to save the file just created as
   spacer.gif. The reason for this is simple. Only a GIF file will
   support the transparency feature that is necessary to make the
   graphic do it's job for you.

That's it. All there is to it. And believe me, since I made the file, I
have used it many times, whenever, or wherever, I needed something to
control spacing on a page.


Making Ourselves Look Pretty

For me, that just isn't possible. But we're talking Web site here, not
me. I mean, let's be realistic, and at least work on those things we can
still help!

If you look at our current page design, it looks reasonably good, but in
one way, still is lacking. The frames we have designed are all bounded
within a box, or border. This makes each frame stand out from the
others, and appear like the discrete pages they are. But we don't want
it to be so obvious, do we? Those borders, also, take up room on our
display that we could better use. So, let's get rid of them!

Not all browsers that support frames, also, support borderless frames.
It is something you should remember when developing a site. One of
the reasons that I left borders on in the process of getting this far was
to ensure that the site would look reasonably good to anyone visiting
using a browser without borderless frame support.

But since we all are using a browser that supports borderless frames,
let's get rid of them. Even so, that isn't enough by itself. You see,
there is also an element in HTML frames called FRAMESPACING. By default,
a frame is created with this item set the same as the default for the
border width, so that the border doesn't interfere with your usable area
in the frame. However, when you remove the borders, without changing the
default setting for FRAMESPACING, you still end up with a border of
sorts. It isn't an actual border, but the spacing that is created by
default, and normally covered over by the borders. So, to completely
eliminate the borders between frames, and make our site look like one
seamless page, we also need to eliminate the FRAMESPACING setting.

  <FRAMESET COLS="13%,*" FRAMEBORDER=0 FRAMESPACING=0>
     <FRAME NAME="FTable" SRC="wwtable.html" SCROLLING="AUTO">
     <FRAMESET ROWS="18%,*,9%">
         <FRAME NAME="FTitle" SRC="wwtitle.html" SCROLLING="AUTO">
         <FRAME NAME="FBody" SRC="wwmain1.html" SCROLLING="AUTO">
         <FRAME NAME="FInfo" SRC="wwinfo.html" SCROLLING="AUTO">
     </FRAMESET>
  </FRAMESET>

You will note that the FRAMEBORDER and FRAMESPACING parameters are only
used on one <FRAMESET> construct, the top one. This is because, in
effect, this top <FRAMESET> is the master of the entire framed site. The
appearance settings for it are inherited by any other <FRAMESET>
constructs nested inside it, making it unnecessary to include the
FRAMEBORDER and FRAMESPACING parameters in our second <FRAMESET>.

Using this code, we now have a page that looks fairly nice, and appears
to actually be a page, rather than four distinct ones jumbled together.


Obviously, our site still needs a lot of work, but the basic concept of
design, structure, and some minimal content is still there. It wouldn't
be considered the worst site on the Web, but it also would not take any
prizes in the top two or three thousand.

Equally as obvious is the fact that, at this point, we don't really
care. Our objective was not to design the Web's best site. Nor has
content of that site, until now at least, ever been much of a concern to
us. At this point, we will add some content in the form of a Links page,
where I can point out a few important details when dealing with framed
sites. But that is the major concern, not the content we will put on
there.


Linking to the World (Wide Web)

"So ya wanna see the woild, does ya kid? Well, step right this way for
the $1.98 tour, and see the whole thing!"

I am sure that, in the long run, the World Wide Web is much more than a
$1.98 tour, but one thing it is great for is seeing the world
electronically.

I recall two Christmases ago, the kids wanted to go searching the Web
for sites having to do with Santa Claus. I started at Alta Vista, and
found a promising looking place to visit. That site had links to other
Santa related sites, so we jumped from it, to another, and from there,
to another, and so on.

Eventually we ended up at a remarkable site that had so much information
about Santa Claus it was impossible to take it all in during one
session. It was getting late, and we had other things to do, so I
promised the girls that we would come back to the site another day. To
that end, I took a look at my status bar, intending to write down the
URL for the site. That is when I noticed that the main address for it
ended in .fi . No wonder they had so much about Santa! We were at a
sight in Finland!

The point of the story is that we ended up at this Santa Claus site in
Finland mostly by jumping from one page to another, through links on
each page we visited. And those links are what can give you that $1.98
tour of the world, as long as they are there to take. To that end, most,
or many, sites on the Web include some links to sites which they think
are worth a visit. These can be based upon personal preferences, or
related to something on the site you are visiting.

To illustrate the this point, we are going to adopt the simple route.
Rather than create a separate Links page, something I normally recommend
for a framed site, or for that matter any site, we will add the
following content on our first page.

  <P>If you are interested, you can jump from here to <A
  HREF="http://www.ionline.net/~gregghom/">Gregg's Site</A> where all
  of his columns are available to download.


Fairly straightforward, right?  The <A> construct indicates an anchor
in the HTML language for a link to another site. Clicking on the text or
graphic within that anchor will cause you to go to the Web site
indicated through the HREF parameter, listing the new site's URL. Or
will it?

Actually, the answer, when working with frames, is yes and no. Yes,
clicking on Gregg's Site will cause you to go to it, but no, it won't quite
do so as you expect.

Normally, one would expect the new site to replace the current one in
the browser, allowing full exploration of it. Because we are dealing
with frames on our site, this situation is not completely normal. Frames
require some special care when establishing links to other places on the
Web.

Like most everything else in HTML, the <A> anchor tag has certain
defaults implicit in it, unless they are explicitly modified by
parameters to it. In this case, there is an implied parameter that will
trip us up if we expect the normal. That parameter is TARGET="".

Normally, one needn't concern oneself with this parameter to the anchor
construct. By default, it loads the new page into the browser, and in
the process, replaces the currently displayed page with the new one. It
also does just that when one is dealing with a framed site. But, and
this is critical, we can never forget that the page we are working with
does not fill up the entire browser window. In our case, it is but one
of four pages which make up that full browser window.

That new page, in this case, my family site, does just what it is
supposed to, even if it isn't what one expects. To illustrate the point,
this is what I saw when I used the anchor from the content above.[**]


As you can see, it is not quite what we wanted or expected it to look
like, even though it is precisely what one should expect from a logical
point of view. The page that was loaded into our "FBody" frame was our
wwmain1.html file. When I selected the link to my own site, the browser,
using the default settings for the anchor, replaced that page, with my
page. That my page also happens to be a framed site, adds to the
confusion even more. What you see above was the result.

Fortunately for us, the solution is not only simple, but multiple.


"One Way or Another, Don't Ever Lose Sight of Your Target!"

I used to have a Business Management Professor who said that to his
class almost every single day. It is quite apropos for us in this case,
since it is TARGET= that is the source of our current troubles.
Fortunately, there is more than one way to take care of that particular
bugaboo.

The first, most common and simplest way, is to explicitly override the
default setting of TARGET= and specify to the browser precisely where
it's to go. (And no, telling it where to go in that way is not one of
the options available to us!) One does that by including a TARGET=
parameter in the <A> anchor.

  <P>If you are interested, you can jump from here to <A
  HREF="../../website/framed/main.html" TARGET="_top">Gregg's Site</A>
  where all of his columns are available to download.


You will notice that we are pointing the TARGET= to "_top". That
particular keyword tells the browser that the new page is to go in the
current window, replacing everything that is in there. Everything means
just that! All frames and/or content in the current window of the
browser will be replaced by any frames and/or content from the new URL.

Using this TARGET="_top" coding (that TARGET= tag is referred to as a
magic target) we can be sure that the new URL will appear as we want.
This is a fine solution for most situations like putting a link to
another site into the content of our current frame. However, when you
create a links page for your site, remembering to add TARGET="_top" to
each of those links can be a real hassle, and one slip could result in
something quite ugly as seen in the picture above. There is an easier
method, especially when developing a links page.

One of the other magic targets is "_self". By default, this is the
assumed target for any links on a given page. This magic target replaces
the contents of the currently displayed page, which normally, takes up
the full browser window, with the contents of the linked page. In
contrast, when you are using a framed site, the use of "_self" as the
default results in the replacement of the contents of only the frame and
not the full window.

The solution therefore, is to replace the default of "_self" with the
new one of "_top". That is what we do by using the TARGET="_top"
parameter for the link. However, we are only doing it for that single
link if we use TARGET="_top" that way. For a links page, with multiple
anchors to other sites, we need something more generic than that, and
luckily, HTML provides it for us.

What we need to do is to put <BASE TARGET="_top"> into the <HEAD>
construct of our links page, and then replace the "_self" default for
all the TARGET= tags in that page to a new default of "_top". We, then,
use a TARGET= parameter for any links that we don't want to replace the
current window. This is much easier than trying to always remember to
put TARGET="_top" into those where we do want to replace the entire
window.

In this fashion, we have the final piece for the code to our (for now)
last page of our tutorial site, the links page, or wwlinks.html.

  <HTML>
  <HEAD><TITLE>Links</TITLE><BASE TARGET="_top"></HEAD>
  <BODY BACKGROUND="images/wall.gif">
  <BASEFONT FACE="Times New Roman" SIZE=3>
  Listed here are some of my favourite links on the Internet,
    by category, and since I am writing this column, that is
    what we are using. I hope that you can find something of
    interest to you.....
  <P><TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  <TR><TH ALIGN=center VALIGN=top><EM>Starting Points</EM></TH>
  <TH ALIGN=center VALIGN=top><EM>Computer Stuff</EM></TH>
  <TH ALIGN=center VALIGN=top><EM>Kid's Stuff</EM></TH>
  </TR>
  <TR><TD ALIGN=LEFT VALIGN=Top>
  <UL>
  <LI><A HREF="http://www.stpt.com/">Starting Point</A>
  <LI><A HREF="http://www.yahoo.com/">Yahoo</A>
  <LI><A HREF="http://webcrawler.com/cgi-bin/random">Web
    Crawler's Random Links</A>
  </UL></TD>
  <TD ALIGN=Left VALIGN=Top>
  <UL>
  <LI><A HREF="http://www.winzip.com/">Nico Mak's WinZip</A>
  <LI><A HREF="http://www.windowatch.com/">WindoWatch</A>
  </UL></TD>
  <TD ALIGN=Left VALIGN=Top>
  <UL>
  <LI><A HREF="http://www.onramp.ca/cankids">The Canadian Kids Page</A>
  </UL></TD></TR>
  <TR><TH ALIGN=center VALIGN=middle><EM><BR>HTML Editing/Utilities
    </EM></TH>
  <TH ALIGN=center VALIGN=middle><BR><EM>People I Know</EM></TH>
  <TH ALIGN=center VALIGN=middle><BR><EM>Other Places of Interest</EM></TH>
  </TR>
  <TR><TD ALIGN=left VALIGN=Top>
  <UL>
  <LI><A HREF="http://www.dexnet.com/homesite.html">HomeSite HTML  Editor</A>
  <LI><A HREF="http://www.iinet.net.au/~bwh/frame-it.html">Frame-It</A>
  <LI><A HREF="http://www.digits.com/web_counter/">Web Counter</A>
  </UL></TD>
  <TD ALIGN=LEFT VALIGN=Top>
  <UL>
  <LI><A HREF="http://www.channel1.com/users/paulk/">Paul Kinnaly</A>
  <LI><A HREF="http://www.scvnet.com/~timm/">Tim Mageee</A>
  <LI><A HREF="http://home.cdsnet.net/~kdyer/">Kent Dyer</A>
  </UL></TD>
  <TD ALIGN=LEFT VALIGN=Top>
  <UL>
  <LI><A HREF="http://www1.execnet.com/ilink/main.html">The ILink Network
    Home Page</A>
  <LI><A HREF="http://www2.paltech.com/irsa/irsa.htm">The International
    Rett Syndrome Association</A>
  <UL></TD></TR>
  </TABLE>
  <P>
  <HR SIZE=4>
  </BODY>
  </HTML>

This final frame for our site uses a couple of tables to hold the links
in an organized fashion. The <BASE TARGET="_top"> default replacement
just discussed is also used to ensure that all links, other than those
with a specific TARGET= in them, will load over the current frames, and
replace the full content of the framed window. Now, all we have to do in
this code, is remember to insert an appropriate TARGET= parameter for
any link that we don't want replacing everything.

One last thing to remember when dealing with TARGET= and in particular,
the magic targets. Although normally in HTML programming, case is not
important, in a magic target, case is vitally important. "_top" will
work as described above. "_Top" will not. The magic targets are all
predefined, and must be referenced exactly as defined, which means
beginning with an underscore, and then all small letters. Anything else
may lead to totally unexpected results.


Onward, and Ever Upward?

As far as basic framed site construction goes, that's it for now. We
have built a reasonably simple, yet also reasonably complex, framed site
that can be the basis for others with quite minor modifications. The
next step is to work on the content of the site. The first thing to
realize when looking at our content, is that words alone do not content
make on the World Wide Web.

Because it is what it is, people expect sites on the Web to be more than
just words, and thanks to the recent explosion of scripting, plug-ins,
ActiveX controls and the like, people seem to expect more and more as
content.


Next month, we're going to start looking at some of that content using
JavaScript. This won't be a complete JavaScript tutorial. Indeed, I
can't guarantee that I'll be able to stay ahead of what I am writing. I
too, am learning this new stuff just like everyone else. But, we will
try to explore some of the simpler things that you can do with
JavaScript, with the hope of giving you some tools with which to make
your content more appealing to a visitor.


                          +=+=+=+=+=+=+=+=+=+

Gregg Hommel is well known for his tutorial skills. This the second
series that he has initiated for WindoWatch! Additionally Gregg is the
WindoWatch HTML editor and one of original group of WindoWatch writers.
He hosts several Ilink conferences and is the author of a number of
popular ASPECT programs.




   ww page 9
  The Browser Wars                                  A WindoWatch Feature
  


                            The Browser Wars
                   Copyright 1997 by Jack Passarella


     The Browser Wars, an original cartoon series by Jack Passarella,
     can be viewed and downloaded in the Adobe Acrobat edition of
     WindoWatch, available at the WindoWatch home page
                   http://www.windowatch.com/.




   ww page 10
  Service Pack 3 for NT 4.0
  


             Service Pack Three:  A Safer Install than Two?
                  Copyright 1997 by Linda L. Rosenbaum



Prior to Service Pack 3 for NT 4.0, Microsoft did no beta testing of any
sort for service packs. Given the complications of an advanced operating
system, combined with the diverse and wide availability of third party
hardware and software, there are likely to be unidentified (prior to
release) problems that emerge after the release of an update such as a
service pack. On the other hand, given that a service pack is for an
operating system, end users do expect both the means of quality checking
and assurances that installation of the service pack will not make their
system inoperable. In the February issue of WindoWatch my Service Pack 2
article described numerous problems. At that time, the outcry from end
users was so loud, Microsoft stated that future service packs would be
more widely tested (i.e. beta tested) prior to release. This resulted in
a longer time frame between releases, but should be a fair trade off, as
the end result should show fewer problems.

Microsoft released Service Pack 3 for NT 4.0 on May 15, 1997. It is
large (almost 18MB in size) and can be downloaded from:
  ftp.microsoft.com/bussys/winnt-public/fixes/usa/nt40/ussp3/
Both an Intel and Alpha English version are available there. Also
available is a readme.txt that summarizes what is new in service pack 3,
installation instructions, a variety of user notes, a detailed listing
of all bug fixes contained in each service pack, and several other fixes
and workarounds. I highly recommend that this file be read in detail
before any attempt to install Service Pack 3 is performed. The Service
Pack can be ordered from Microsoft on CD-ROM costing around $15 plus
shipping and handling. I also understand that it is currently on
backorder and may take up to four weeks or so to receive.

The readme.txt referenced above, details what is new in Service Pack 3
as follows:

1. RPC Transport

   This service pack includes new versions of the remote procedure call
   (RPC) run-time dynamic-link library (DLL) and the RPC subsystem
   service (Rpcss.exe). These changes provide enhanced support for RPC
   message queuing, which is a feature of the upcoming Microsoft Message
   Queue Server (MSMQ). In order to use message queuing in an RPC
   client/server application on Windows NT 4.0, you must have Service
   Pack 3 installed on both the client machine and the server machine.
   You also need Beta 2 or later of MSMQ installed on both the client
   machine and the server machine.

2. CryptoAPI 2.0

   The Microsoft Cryptography application programming interface
   (CryptoAPI) provides developers with core cryptographic and
   certificate functions. CryptoAPI 1.0 supports public-key and
   symmetric-key operations, such as key generation, key management, key
   exchange, encryption, decryption, hashing, digital signatures, and
   verification of signatures. CryptoAPI 2.0 (the upgrade contained in
   this service pack) includes this core cryptographic functionality as
   well as certificate-based functionality.

3. DirectX 3.0

   Service Pack 3 contains a complete software implementation of DirectX
   3.0 as well as ongoing hardware support for the DirectDraw component
   of DirectX 3.0. This translates into the following major feature
   changes since the release of DirectX 2.0 as supported in Windows NT
   4.0:

   DirectDraw
      Access to all 256 entries in the palette when in exclusive mode.

   DirectSound
      Software-based 3-D localization of audio (Direct3DSound APIs.)

   DirectInput
      COM interface supporting mouse and keyboard data with
      documentation and sample programs.

   DirectPlay
      IDirectPlayLobby, an interface that allows an external application
      to launch a DirectPlay 3.0 application and provide it with all
      information necessary to connect to a session. Internet TCP/IP
      service provider for multi-player applications over the Internet.

   Direct3D
      Software emulation for the Direct3D 3.0 API. (In Windows NT 4.0,
      we provide a beta version of the software drivers for Direct3D
      2.0.)

4. ODBC 3.0

   Service Pack 3 includes the latest version of Microsoft Open Database
   Connectivity (ODBC) API. ODBC 3.0 provides an updated ODBC Control
   Panel and an ODBC Administrator interface that uses tabbed controls
   and provides more information about the ODBC components installed and
   in use on your system.

5. SMB Signing

   Service Pack 3 includes an updated version of the Server Message
   Block (SMB) authentication protocol, also known as the Common
   Internet File System (CIFS) file sharing protocol.

6. Password Filtering

   This Service Pack includes a password filter (Passfilt.dll) that
   allows system administrators to increase password strength.

7. Restricting Anonymous User Access

   Windows NT has a feature where anonymous logon users can list domain
   user names and enumerate share names. Some customers who want
   enhanced security have requested the ability to optionally restrict
   this functionality. Service Pack 3 provides a mechanism for
   administrators to restrict the ability for anonymous logon users
   (also known as NULL session connections) to list account names and
   enumerate share names.

   In addition, Service Pack 3 has a feature that restricts anonymous
   logon users from connecting to the registry remotely. After Service
   Pack 3 is installed, anonymous users cannot connect to the registry
   and cannot read or write any registry data.

8. Using a System Key to Strongly Encrypt Password Information

   Service Pack 3 provides the capability to use strong encryption
   techniques to increase protection of account password information
   stored in the registry by the Security Account Manager (SAM).

9. Win32 APIs and SDK for Service Pack 3

   Service Pack 3 includes several new APIs, including two Win32 APIs
   pertaining to spin counts on critical sections
   (InitializeCriticalSectionAndSpinCount() and
   SetCriticalSectionSpinCount()).


I was more than a bit hesitant to install SP 3 the day it was released,
given what happened to many folks with Service Pack 2. But I was also
quite curious, and felt overall that given the huge number of fixes and
enhancements, I would ultimately want to be using Service Pack 3 on both
of our NT systems. So I watched for early feedback in the NT forums on
CompuServe. Another good place to read are the MS NT specific newsgroups
found on the MS server: msnews.microsoft.com. Early feedback looked
promising, so on the morning of May 18, 1997 I installed Service Pack 3
on my system. It is important to note that I first did a full backup the
night before. The readme.txt file also recommends updating your
emergency repair disk prior to updating to Service Pack 3. One more
caution contained in the readme.txt file needs to be mentioned. It is
necessary to uninstall IE 4.0 preview before updating to Service Pack 3.
After the update has been performed, it is okay to reinstall IE 4.0
preview. The complete list of the 183 fixes included in SP3 will appear
at the end of this article as Appendix A.[*]

As in Service Pack 2, the ability to uninstall the Service Pack exists.
In order for this to be possible, you must select to create an uninstall
directory the first time the update to Service Pack 3 is run. I had de-
leted my uninstall directory created when I updated to Service Pack 2. I
also had several hotfixes installed for Service Pack 2 and I left all
"as is" prior to running the update for Service Pack 3. The file I had
downloaded for Service Pack 3 is called nt4sp3_i.exe. I closed up all
other running programs and then launched this program/file. First it
uncompressed its contents into my temp directory. It then ran the
update.exe file to actually start the Service Pack update. I chose to
create the ability to later be able to run an uninstall (which is now
occupying 32MB of space on my hard drive) and away it went. I got only
one unexpected message during this process, which had to do with a
warning that one particular file (EL59X.SYS) appeared to be an OEM
installed file and asking me if I wanted to overwrite it with the newer
version contained in SP 3. I said yes. When all was finished in terms of
creating the uninstall directory (which is mostly a copy of all files
contained in the system 32 subdirectory) and installing all of the
updates for the Service Pack, I was instructed to restart the system. I
obligingly did so and viola, I was now running NT 4.0 with Service Pack
3. In addition the uncompressed files had properly been deleted from the
system, which meant I needed to do no further clean up after running the
update for SP 3.

I used my system that entire day without any incidents. All seemed to
work just fine, with no evidence of anything being different. But then
I had not expected to see any, at least not immediately.

A full backup of my husband's system was performed that night and I
updated his system to Service Pack 3 the next night. He still had the
uninstall directory from SP 2 so I deleted that first. I then performed
the same steps as described above and his update looked remarkably the
same as mine had the day before. After a restart he too was using NT 4.0
with Service Pack 3 and we thought all was well on his system also. We
have now learned otherwise.

On Saturday, May 24, 1997, we bought one of the new MS Intellimouse with
wheels. I bought one for my system about six weeks prior and it
installed, both hardware and software, with virtually no problems. I
will be writing a review of this new mouse and its software for the July
issue of WindoWatch. As a result, we expected an install of the same
hardware and software on my husband's system to be a breeze. Boy, were
we wrong!

My husband had been using a regular serial MS Mouse 2.0. One of the nice
features of the new MS Intellimouse is that it is both a serial and PS/2
mouse. Our motherboards have a PS/2 connector (Super Micro P6DNE) and I
had changed my new mouse to be connected via the PS/2 port. It was
working so well that it made sense to us to do the same on my husband's
system.

We got the new mouse installed and recognized with only a little bit of
a problem (needed to be fully connected/hooked up). We then went about
installing the IntelliPoint software (came with version 2.0 of this
software, which is most current version available as of this writing).
After a reboot, much to my surprise and then horror, not all features of
the software were available. Many were grayed out. I had not expected
this at all given my good success doing the same thing a mere six weeks
or so earlier. I started trying to poke around to see if I could figure
out why there was a problem. I could tell that the wheel actually worked
because it worked just fine in Word 97, which had the ability to use the
wheel built into it. But we wanted to have access to all the features of
the software, since I feel it does enhance the usability of the new
mouse.

In my poking around I went into Control Panel and tried to start up
Devices. Here is where the fun really started. It would not start! I
discovered that Services would not start either. And after trying to
start either or both, the system was virtually unusable. At times I got
some error message that had RPC in it but I did not write down the
specifics (and it meant nothing to me either). Other times the system
literally seemed to freeze up, such that I could not even start up task
manager to kill off any programs or tasks that were running. Most times
I was eventually able to shut down and system would act okay until I
tried once again to go into Control Panel, Devices or Services, and
so forth.

I had recalled reading something about a potential problem with starting
up Devices after installing SP3 on the NT CompuServe forums. So back to
those messages I went. But what I read was not very specific as to what
could be causing our problems. The number of problems being reported
after installing SP3 had certainly increased since the weekend before,
and I will summarize some of them later on. One or two sounded a bit
like what I was seeing but the solution seemed to be a complete
reinstall of NT. The problem with starting up Devices, or Services, or
similar usually indicates a corrupt registry, and the only way to get a
clean registry is to do a clean install. Or go back to a time when the
registry was not corrupt.

Since we were interested in using the new mouse with the new software
and since my husband's system was now in a pretty critical state, I
thought about what to try to at least get it back to functionality. I do
full backups regularly and certainly should have been able to do a
restore. But I was not sure at what point the registry became corrupt.
Was it due to the update to Service Pack 3? Attempts to install
Intellimouse software with SP3 already installed? Or something else
prior to install of Service Pack 3? I also do a copy/backup of the
registry files in another operating system for those times when a quick
reversion to an earlier registry is needed and I don't want to have to
mess with doing a restore from tape backup.

I first ran the uninstall for Service Pack 3. Rerunning the file
nt4ps3_i.exe and then selecting Uninstall accomplishes this. After
restarting, which did indicate my husband was back to using SP2, I tried
once again to see if the IntelliPoint software was working correctly. It
was not. I also went back into Control Panel and tried to start up
Devices and Services. Neither would start and the system was once again
barely functional. So a restore of an earlier registry was needed.

I used my quickie method and restored a registry from about two week's
prior. We did not think much, if anything, had been installed that would
need reinstallation, other than the new mouse software and we wanted to
be able to start over again from scratch with it.

After copying the backed up registry (and I did first delete what was
there), and restarting in NT 4.0, I was finally able to start up Devices
and Services. Hurray!

Next, I installed the new IntelliPoint software. After a restart, all of
its features were available. It now looked and felt just like it had
when I had done the same on my system. We fooled with activating one or
two of the features and made sure all seemed to work, as it should.
Devices and Services still came up just fine.

Since my system is working normally with SP3 and the same mouse
software, I once again tried updating to Service Pack 3. After NT
restarted, I went into Control Panel and once again tried to start up
Devices and Services. Darned if I didn't have the exact same problem! I
was not happy. The IntelliPoint software was still performing just fine.
So some progress had been made, but not enough.

In order to get my husband back to a state where he could function, I
repeated the same steps outlined above. I uninstalled SP3 and once again
the problem with trying to start up Devices and Services remained, even
though he was back in SP2 with hotfixes. So I restored the two-week-old
registry and once again installed the IntelliPoint software.

We have left my husband's system at Service Pack 2 with kernel and RAS
hotfixes. I am coming to the conclusion that the only way we will be
able to successfully install/upgrade to Service Pack 3 is to first do a
complete, fresh install of NT 4.0. My husband's system has not had a
completely clean install of NT since September of 1995. So he has gone
from a clean install of NT 3.51 with SP2, to an upgrade to beta 2 of NT
4.0, to an upgrade to release version of NT 4.0, with Service Pack 2. It
seems that the problem we are running into with a corrupt registry after
trying to upgrade to Service Pack 3 has something to do with multiple
upgrades. This is not a definitive or complete answer since my system
has also had several upgrades (clean install of beta 1 of NT 4.0,
upgrade to beta 2, upgrade to final release, and upgrade to Service Pack
3). And my system is happy as can be with Service Pack 3, at least as
far as I can tell as of this writing. If we decide to do a fresh install
of NT 4.0 and all of his software, we want to do it at our convenience,
not on an emergency basis. It is an exercise that will take a lot of his
time and mine. We need to also make sure we have all necessary software,
drivers, patches, and so forth at our fingertips first.

As of this writing, two hotfixes have been posted for post Service
Pack 3. One is called an asp-fix and can be obtained from
ftp.microsoft.com/bussys/winnt-public/fixes/usa/nt40/hotfixes-postsp3/
asp-fix. The knowledge base article (text version, Q165365.txt, as
contained in the subdirectory referenced above), describes the symptoms
that this hotfix takes care of as follows:

IF you are running with Active Server Pages version 1.0b (ASP) on
Microsoft Internet Information Server version 3.0(IIS), you may
experience performance problems caused by a memory leak in ASP.DLL. This
may take a long period of time for you to notice depending on how often
the Active Server Pages are accessed.

The second hotfix available is called oob-fix. It can be found at
ftp.microsoft.com/bussys/winnt-public/fixes/usa/nt40/hotfixes-postsp3/
oob-fix. The symptom it fixes is as follows:

A Stop 0x0000000A occurs in Tcpip.sys when receiving Out of Band (OOB)
data.

In addition, Q143478.txt notes the following:

  ** NOTE: This hotfix was originally posted on 5/12/97. A second fix **
  ** was completed on 5/21/97, to address another nearly identical    **
  ** attack, and this hotfix has replaced the original one.           **
  ** The first hotfix is included in 4.0 SP3, however the second one  **
  ** is not, so a 4.0 post-sp3 is now available also.                 **


The number of problems being identified which result after updating to
Service Pack 3 has been increasing almost daily. The following list is
from the most recent daily posting ( late May 1997) in Section 6 (SP3
Watch) in the Windows NT Forum on CompuServe (GO WINNT):

- SP3 appears to break the Epson written printer drivers for the 600/800
  series printers (no fix/solution yet).

- Running with a Matrox card at True Color can lock up NT (I am
  running this way with no problems).

- The Starfish Software Internet Utilities' Internet Meter crashes NT
  w/SP3. Solution is to uninstall this program before upgrading to SP3
  and to not reinstall afterwards (at least not till Starfish comes out
  with updated version).

- Win95 workstations can't connect to NT Servers/workstations if they
  also connect to NetWare stations with IPX. Solution is to unbind the
  IPX protocol from the MS Client on the stations.

- Double clicking a shape in (32-bit) Visio 4.5 no longer enters text
  edit mode, as well as zooming in on the shape (no fix/solution yet).

- Reports of a slowdown with MAPI (no solution yet).

- SP3 breaks IE 3.02 and Netscape 4 beta Java if you have Matrox, #9, or
  Graphics Xpression video card running at truecolor, 32bit color depth.
  Solution is to drop back to 16m colors or lower.

- SP3 seems to break a proxy server software called Hummingbird Socks, a
  SOCKS4 server. Solution is to get the SOCK4REG.EXE update.

- SP3 seems to install the MP kernel on SP machines erroneously. Not an
  SP3-specific problem, solution is to edit the
  %windir%\Repair\Setup.log, replace the reference to NTKRNLMP.EXE with
  NTOSKRNL.EXE in SETUP.LOG prior to the SP3 install.

Once again I must advise caution with respect to installing a service
pack for NT 4.0. I do believe there are numerous updates as well as
changes contained in SP3 that, in an ideal world, would be the way to
go. However, I suggest you carefully look over the changes and
improvements as well as the detailed listing of bug fixes. Take a
measure of what you need and how well your NT system is running. And if
you do decide to update to SP3, make at least one full backup first.
Then proceed with your eyes open. Despite the lengthy list above and our
problems on one system with SP3, I do believe this is a safer upgrade to
do than SP2 when it first was released.


                          +=+=+=+=+=+=+=+=+=+

Linda Rosenbaum lives and works in a suburb of New York City. She is an
assistant controller at the World Headquarters for a large global
manufacturing company. She has two young children and a husband whose
full time job is to take care of the kids. When not working, Linda can
be found on a variety of online services and the Internet reading and
writing about her experiences with NT, networking, and multi- media. She
maintains a home network of four systems using a combination of NT and
Windows 95. Linda is the NT Editor for WindoWatch and can be reached via
Email at either lindar@cyburban.com or 71154.2622@compuserve.com.

------------------

                             [*] Appendix A

  The detailed listing of all of the bugs fixed that are specific to
  SP3 is enormous. Here is the list as contained in the readme.txt file:

Service Pack 3
-------------------
Q135707 - Programs Run at Priority Level 15 May Cause Computer to Hang
Q139506 - Connections to Share-Level Server May Fail
Q140419 - Name Release Notfications Not Sent to WINS on Shut Down
Q140967 - Changing Password in User Manager Does Not Permit Logon
Q141189 - BUG: Wrong Error Code on NetBIOS Call When Using NWNBLNK
Q141381 - Retail SP3 Clients Cannot Connect to SP3 Beta 1 Servers
Q142047 - Bad Network Packet May Cause Access Violation (AV) on DNS Server
Q142609 - Corruption Problem When Running DPMI Application
Q143470 - Run Logon Scripts Synchronously Not Applied to New Users
Q143472 - FPNW Blue Screens Accessing or Creating Folders with Long Paths
Q143473 - Unattended Setup Stops and Says Press Any Key to Shut Down
Q147012 - Activating /W Switch to Prevent Rebooting in WinNT
Q149538 - System Restarts Every 5 Hours if Workstation to Server Upgrade
Q151926 - Delayed WinLogon When Drive Mapped to Local Share
Q153220 - DHCP Manager Error "No More Data Is Available"
Q154710 - Cannot View Long File Names on Network in 16-Bit Programs
Q154939 - CreateQueueJobAndFile Fails w/ Queues Other Than Print Queue
Q156410 - STOP 0x1E or 0x50 Error on Multiprocessor DEC Alpha Computer
Q157077 - Netstat Slow to List Large Numbers of Connections
Q157745 - Command Extensions Cause Access Violation in Cmd.exe
Q158433 - Re-creating Admin Shares Causes Exception Error
Q158548 - Sysdiff Changes Dates on Files It Applies to WinNT
Q159060 - Mouse Cursor Freezes or Fails with Microsoft IntelliMouse
Q159176 - XADM: Store Stops Responding with High CPU Usage
Q159330 - Map.exe Does Not Set Environment Variables Correctly
Q159998 - Error Message: Error Access Is Denied
Q160386 - Incorrect MediaType Parameter on IBM PCMCIA Token Ring Card
Q160405 - Video Memory Not Correctly Detected on Dell Latitude Laptops
Q160990 - DHCP Server Offers Duplicate IP Addresses for Windows NT
Q161038 - Winsock Apps Fail on First Attempt at NetBIOS Name Resolution
Q161368 - Service Pack 2 May Cause Loss of Connectivity in Remote Access
Q161432 - WINS Static Entries Overwritten by Duplicate Group Names
Q161644 - STOP 0x0000000A Sfmsrv.sys When Copying File to Mac Volume
Q161714 - IPX Doesn't Function Correctly over Token Ring Source Routing
Q161830 - Message from Unix Using Smbclient w/ Long Username Crashes
Q161838 - Programs That Lock 0 Bytes at Byte 0 Lock Entire File
Q162077 - Stop: 0x0000000A when Selecting NDS Map Objects
Q162096 - SET: Drivers Fail to Load When I/O Address Is Above 0xFFF
Q162189 - Macintosh Clients May Hang Temporarily with Multiple Mac Volumes
Q162396 - Problem with DHCP Decline Feature in Service Pack 2
Q162404 - Service Pack 5 Breaks Microsoft Mail Shared Using FPNW
Q162471 - Windows NT 4.0 May Not Recognize SCSI Devices Using Nonzero LUNs
Q162563 - WINS Restore Fails on Windows NT Server 4.0
Q162566 - FPNW Causes Incomplete Display When Executed from Windows 95
Q162567 - Telnet to Port 135 Causes 100 Percent CPU Usage
Q162616 - Extra Form Feed with Passthrough Functions to Text Only Driver
Q162657 - Choosing Default Domain Name for RAS Client Authentication
Q162774 - Policy Editor Crashes When Using Large Custom ADM Files
Q162775 - Access Violation in SPOOLSS when Printing to a Serial Printer
Q162778 - WINS May Report Database Corruption w/ More Than 100 Owners
Q162881 - RIP Table Sent While Shutting Down When Silent RIP Set
Q162926 - STOP: 0x0x0000000A After Call to GlobalAddAtom()
Q162927 - Telnetting to Port 53 May Crash DNS Service
Q163129 - RAS Client Fails to Connect to Service Pack 2 Using NetBEUI
Q163143 - STOP: 0x0000001E with Status C000009A
Q163196 - New Windows NT PING.EXE Prevents Hanging Other TCP/IP Stacks
Q163202 - Limit of the Number of Simultaneously Open Root Storage Files
Q163203 - Remote Access Autodial Manager may fail for second user logon
Q163213 - WebSTONE Benchmark of IIS May Show Poor Results for MP Systems
Q163214 - RAS Script with Set IPADDR May Fail with 3Com Defender Add-on
Q163261 - DEC ALPHA WinNT 4.0 Servers w/ SP2 Fail to Lease DHCP Addresses
Q163267 - Delay While Establishing SPX II Connection
Q163318 - Helpfile Word Lists May Be Rebuilt After Daylight Savings Change
Q163333 - Autosynch Compatible COM Applications May Fail w/ FIFO Enabled
Q163383 - Failure to Obtain IP Address Via DHCP on Token Ring w/ SP2
Q163431 - 16-Bit Application Stops Responding When Run on WinNT 4.0
Q163508 - STOP 0xA in Ntfs.sys During Reboot
Q163512 - Error: The Mapi Spooler has Shut Down Unexpectedly
Q163525 - Delay When Saving Word 7.0 File to Windows NT 4.0 Server
Q163538 - NTBackup Does Not Properly Eject Tapes on DLT Tape Devices
Q163614 - HP LaserJet Series II Prints Extra Small Stripes or Points
Q163616 - Cannot Unlock Workstation If Password Change Cancelled
Q163620 - STOP 0x50 in Rdr.sys If Pathname Too Long in SMB
Q163672 - Windows NT 4.0 Setup Fails on ThinkPad 535
Q163687 - Winsock Applications May Timeout or Fail with an Error
Q163700 - IIS Access Violation for Polygon with More Than 100 Vertices
Q163714 - ATDISK Finds the Same Disk Twice on SunDisk PCMCIA ATA Adapter
Q163725 - NDIS Driver Fails To Check Functional Address
Q163790 - RPC Service Stops Responding on UDP Port 135
Q163872 - Sysdiff Cannot Delete Files
Q163873 - Czech Keyboard Layout Has Wrong Mapping
Q163874 - Pressing CTRL+ALT+DEL When Logging On Can Cause Blue Screen
Q163875 - Group Policies Not Applied If DC Name Is More Than 13 Characters
Q163876 - CSNW Clients Cannot Delete Print Jobs on NetWare Print Queue
Q163880 - COPY Command Causes File Cache to Grow
Q163881 - Windows NT Does not Display Some Fonts
Q163883 - NetBT (tag=Nbt8) Corrupts Pool with WinNT 4.0 SP2 Installed
Q163891 - Microsoft Excel 97 Causes a Windows NT Access Violation
Q163892 - A Service May Not Set Hooks on 32-bit GUI Applications
Q163936 - CLOCK Hangs and Consumes 90% CPU When Set to Digital Display
Q163969 - Event 552: DNS Was Unable to Serve a Client Request
Q164014 - Slow Exchange Client Logons Due to Deadlock in LSASS
Q164121 - Corel Fonts Unavailable Outside of English Locale
Q164133 - Logon Allowed When Access Denied to Mandatory User Profile
Q164138 - Files in Macintosh Volume Disappear from Macintosh Clients
Q164159 - Verify Reports Errors When Restoring a Tape Backup
Q164161 - NTBACKUP Fails to Back up Microsoft Exchange Server Data
Q164201 - Access Violation Installing IIS
Q164211 - FPNW Doesn't Convert the Long File Names Correctly
Q164260 - Compressing and Uncompressing Files Cause File Cache to Grow
Q164309 - Windows NT Client: Primary/Secondary WINS Servers Switch
Q164322 - Memory Leak in NetQueryDisplayInformation API
Q164350 - NEC IDE CD-ROM Drive CDR-1400C Cannot Play Audio CDs
Q164352 - Stop 0x00000050 in Tcpip.sys Caused by Winsock Applications
Q164391 - WinNT 4.0 SP2 Atapi Claims IRQ for Unused IDE Channel
Q164410 - CHGPASS and SETPASS Do Not Prompt For Typing Correction
Q164432 - Accented Greek Characters Are Not Being Created
Q164462 - Conner 4 mm DAT Tape Devices Fail After About 30 Seconds
Q164491 - Stop: 0x0000000A in Rdr.sys When Mailslot Message > 512 Bytes
Q164507 - Any User Can Log on to FTP Server with Disabled Anonymous Logon
Q164542 - MGET to an IBM Host FTP Server Returns Garbage Characters
Q164546 - SCSI Driver Description Truncated in Control Panel
Q164595 - Duplicate Route Not Removed After Second Redirection
Q164600 - 4 mm DAT Driver Reports DEC TZ9L Supports Setmarks
Q164606 - Deferred Reconnections to Password Shares May Not Work
Q164630 - RPC over NetBEUI Fails from WinNT 4.0 RAS to WinNT 4.0 RAS
Q164631 - Scavenging WINS Database Removes Static Entries
Q164639 - SNA Windows 95 Fails Logon If Password Change Required
Q164702 - WINDISK crashes during initialization when Compaq ATAPI PD/CD
Q164758 - Remote Procedure Call (RPC) Service Access Violation
Q164806 - CHKNTFS Does Not Exclude FAT Partitions from AUTOCHK on Boot
Q164812 - Computer Name Truncated When Name Resolution Attempted
Q164821 - DHCP Server Service May Stop Responding
Q164826 - Direct Draw Programs May Hang NT 4.0 with S3 968 Video Chipset
Q164904 - Stop 0x0000000A in NETBT.SYS After Applying Service Pack 2
Q164928 - Not All Objects Are Displayed When Browsing NDS Trees
Q164938 - Event Logging Frozen While Doing Heavy Logging; Services CPU Peg
Q164982 - Lack of Secondary Address May Cause DNS Service to Hang
Q164987 - Hard-coded Socket of 451 Causes LANtegrity Software to Fail
Q165004 - NTVDM Support for Compaq Financial Keyboard Scan Codes
Q165245 - DDE Client Experiences Intermittent DDE Disconnects
Q165314 - Grace Logon Remaining Is Not Decremented When Logging to BDC
Q165388 - Invalid Directory Returned When Attempting to Access FPNW
Q165427 - Convlog.exe May Cause Access Violation
Q165443 - NDS Login Script Fails When Checking "If Member Of"
Q165456 - STOP 0x0000000A in Ntoskrnl.exe
Q165483 - RasEnumEntries() API Leaks Memory
Q165813 - 16-bit Applications Cause Access Violation in NTDLL.DLL
Q165814 - Stop: 0x0000001E When Opening My Computer
Q165816 - STOP 0x0000000A in HAL.DLL on Multiprocessor Computers
Q165818 - Truncation of Backup Log In Eastern Europe or Russian NT 4.0
Q165946 - RasEnumEntries Return Incorrect Number of Phonebook Entries
Q165950 - Unable to Change Font Cartridge Selection
Q165989 - GetPeerName() Returns WSAENOTCONN After Select() Returns Success
Q166043 - DHCPAdmin Incorrectly Writes the BootFileTable in the Registry
Q166148 - RasSetEntryProperties() Fails to Set Options in Service Pack 2
Q166158 - Access Violation Occurs in SPOOLSS.EXE
Q166159 - Connecting to Windows Network resources from multi-homed machine
Q166183 - FPNW Server Returns Error When User Opens More Than 256 Files
Q166186 - OS/2 with TCP\IP May Refuse Socket Connections from Windows NT
Q166197 - NBTSTAT Error when Using >25 Dialout Devices with RAS
Q166222 - Dlc.sys Sends Frame Reject (FRMR) and Drops Connection
Q166224 - SNA Server 802.2 Connection Fails to Reactivate
Q166226 - Backup of Local Registry Does Not Work With NTBACKUP.EXE /b
Q166257 - Applications Using OpenGl Cause Access Violation in OPENGL.DLL
Q166265 - Printing To A Postscript Printer May Cause A STOP 0x0000003b
Q166266 - STOP 0x0000000A Using OpenNT Commands and Utilities
Q166267 - Office Shortcut Bar Fonts Appear as Non-Cyrillic on Russian NT
Q166311 - Memory Leak Retrieving OLE Property Values with Service Pack 2
Q166334 - OpenGL Access Violation on Windows NT Version 4.0
Q166421 - FPNW Returns Time Stamp with 60 Seconds to Clients
Q166423 - Access Violation in SERVICES.EXE in EVENTLOG.DLL
Q166475 - NWLNKSPX Retransmission Problem Over a Slow Link
Q166478 - Logon Rights Are Not Audited
Q166482 - DUMPCHK.EXE Incorrectly Reports Some Dump Files as Invalid
Q166686 - RASDIAL Error w/English Text on Non-English Version of Windows
            NT 4.0
Q166696 - NT 4 Err Msg: "The INF OEMNADDI is missing the referenced file"
Q166823 - Cannot Connect To AT&T Advanced Server VMS or OSF Print Share
Q166834 - Lost Record Locks from MS-DOS-based Program to NetWare Server
Q166842 - CSNW & GSNW Won't Display NetWare Servers via a SAP Seed Server
Q166846 - Cannot Reconnect to TN3270 Server with Close Listen Sockets
Q166874 - No Crashdump and Compaq Systems with Smart-2/P (PCI) Controller
Q166963 - Cannot Communicate with Computer Running NWLink IPX/SPX
Q166964 - Incorrect File Listing on NetWare Server with DIR /TC Command
Q167009 - Description of DHCP Server Service Has a Misspelled Word
Q167010 - Access Violation in CMD.EXE Processing Batch File Script Argument
Q167026 - Windows NT 4.0 DNS Server Stops Responding To Queries
Q167038 - RAS Clients Run Winsock and RPC Applications Slowly
Q167044 - Request From Perfmon Counter Can Cause Excessive Page Faults
Q167110 - NT 4.0 RAS client slows over time due to lack of resources
Q167129 - Stop 0x7A or System Lockup in NTBACKUP With MINIQIC
Q167130 - Fatal System Error in NDIS.SYS Allocating Map Registers
Q167362 - STOP 0x00000050 in SRV.SYS When Shutting Down Computer




  ww page 11ͻ
  FIRST WORDS                                                           
 1/4

                          Informal Formatting
                   Copyright 1997 by Jack Passarella


Introduction

  I write a lot.

  I started writing a lot at twelve years of age. First long hand, then
  with an old manual typewriter. At fourteen I took a typing course
  basically to answer two questions. What do I do with my other eight
  fingers? And who the heck ever thought up QWERTYUIOP?

  I continued to write a lot with that old manual typewriter. I thought
  nirvana would come in the form of an electric model. When I could
  finally afford one, I was disappointed that the electric typewriter
  would drop the descenders of letters like q and p. Sure, it had an
  erase function. A separate ribbon with that flaky stuff which looks
  like a bad paint job on your pristine manuscript when it wasn't
  flaking off. As a last resort, I'd swab on some of the gooey white
  liquid with the nail polish brush.

  So I had the ability to fix typing errors, however inelegant. But that
  was pretty much state of the art at the time. What drove me into fits
  of inelegant language, was when the mistake was a phrase, a sentence
  or anything that required me to retype the entire page. Usually second
  page frustration equaled a more frustrated third page. When I was
  spending more time typing the page than thinking of what to put on the
  page, the creative process went down the tubes, consumed by the pure
  grunt work of typing.

  Then along came word processors and my creative life was reborn.


By Any Other Name

  I upgraded from AppleWriter to WordStar to WordPerfect (in various
  incarnations) to Microsoft Word. All word processors of one degree or
  another. All leaps and bounds beyond the ball and chain known as a
  typewriter. Unlike a lot of other purist writers, I embraced the new
  technology. (The meta-purists who prefer the smear-prone pen or pencil
  to anything mechanical or electronic are, I believe, visiting us from
  another dimension where dolphins compose sonnets to the beauty of the
  moon.) Because I have never been fortunate enough to write as a
  full-time occupation, I've always had to maximize my creative time
  blocks. And I certainly don't want to spend preciously allotted time
  endlessly retyping a single page because of excessive typos. The only
  thing I gained from the Typewriter Years was an increase in my typing
  speed: from 35 words per minute by the end of my typing class to 90+
  words per minute during my Apple //e years.

  The DOS-based word processors produced one miracle: separating the
  creative process from the printing process. With word processors, you
  print when you want, when you have everything in order, when you have
  it right. If you decided to print an early draft, it was usually just
  as an insurance "hard copy" in case the floppy/hard drive you
  entrusted your GAN to went belly up during boot up. (Editor's Note:
  GAN = Great American Novel.)

  Even without cut and paste, the ability to go back and insert or
  delete text electronically, without having to retype everything else
  on the virtual page was a great time saver. I also liked the ability
  to see it on the page one way, try another way, and a third. all
  without having to retype everything else.

  I think it was during this process that I fell in love with computers.
  A true child of my age, I suppose.


Yes, I do Windows

  The name of this Internet magazine is WindoWatch, so I won't stop in
  the DOS world. Windows word processors introduced an exciting new
  gee-whiz concept to word processing: WYSIWYG. (Acronym Alert! How you
  say it: wizzie-wig. What it means: What You See Is What You Get.)
  Also, because it was so easy to accomplish, Cut & Paste also became a
  reality.

  Cut & Paste extends the insert and delete abilities of the word
  processor. You can now rearrange sentences, paragraphs or even whole
  documents. You can produce revisions just by inserting new, deleting
  old or modifying existing text. With a couple mouse clicks, you can
  search for one word and replace it with another word wherever it
  appears in your document. All of these are valuable tools to the
  seasoned writer.

  WYSIWYG, on the other hand, creates a true appreciation of word
  processors in the non-writer. Now, software like Microsoft Word is not
  the sole province of the "Home Row" club. You can quickly and easily
  produce visually interesting flyers, newsletters, announcements,
  grocery lists, etc. And most of the tools you need can be found right
  on Word's formatting toolbar.

  If you want to change the style of the text or the typeface and size
  of the font just click a button.

  Need bold or italic type? Click a button. Want the text aligned left,
  right or centered? Need a bulleted or numbered list? How about
  indented text? There are buttons for all of them.

  You can draw a paragraph border, highlight text with a virtual
  highlighter and even change the color of text.

  Assuming you have a color printer, you can even see these color
  changes in print.


Type Now, Format Later

  Last month, Tony Lima gave some good advice. He said to get the text
  into the document first and worry about formatting it later. This is
  especially true to remember if you are a Word beginner. Coming up with
  the text is the difficult part of the process, the creative process.
  Formatting should be a by-the-way process. Of course you're concerned
  about appearance. But the danger is you get so tied up with formatting
  you never finish your message. Why not separate what you want to say
  from how you want it to look? This is similar to separating the
  creative process from the printing process. They involve different
  parts of your brain. Exercise your lobes sequentially and you'll
  experience less frustration.

  What I want to do here is show you how to make some of the gee-whiz
  changes. Once you know you know how to do that, you won't sweat it
  during the creative process of constructing your message. We'll skip
  Word's Style feature this go round. We'll start with the basics of
  changing your font typeface.


About Face

  If you haven't changed your Formatting toolbar, the second `button' in
  will be the font typeface drop-down box with its sidecar font size
  drop-down box.

  If you haven't changed your default Word template (NORMAL.DOT), your
  current typeface will be Times New Roman at 10 point. I've already
  increased my default size to 12, but otherwise you should see the same
  thing I'm looking at.

  The number of fonts on your system will vary depending on how much
  other software you've installed. E.g., CorelDRAW7 boasts a thousand
  fonts, but you're advised not to have too many installed or system
  performance will suffer.

  To change the font on a particular section of text you've already
  typed onto the screen, you need to select the text. Selecting text
  involves a mouse operation or a keyboard operation. (For beginner's,
  I'll stick with the mouse approach for now.) With the mouse, you click
  at the start of the selection, holding down the left mouse button,
  then drag across the text to be changed. Release the mouse button at
  the end of your selection. The text will be white on black instead of
  black on white, in other words, inverse. Now click on the font
  typeface drop-down list and select a different font from the list.
  Font names are arranged alphabetically, with the most recently used
  fonts also placed at the top of the list. Unfortunately, you don't get
  a WYSIWYG preview of what a font will look like with this list. You
  could select one, examine the change, then select a different font.
  Your mouse- selected text will remain selected until you click
  somewhere else in the document window.

  The WYSIWYG approach is to go into the Format, Font menu to bring up
  the Font Dialog Box. Here you can experiment with the font face, size,
  etc., and review the sample before applying it to your selected text.

  A shortcut to save your mouse finger some wear and tear is to click on
  a font name in the scrollable list box. Now you can use the UP and
  DOWN arrows to scroll through all your installed fonts. Depending on
  the speed of your system, the redraw of the sample may take a moment
  or so to appear.

       This is my sample text.

  Which started out as Times New Roman 12 point. I select it and apply
  Comic Sans MS 24 point.

       This is my sample text.

  The change was applied after the text was typed. It is possible to
  select a font face and size change before you type the text. Just
  start with nothing selected, in other words, a blinking cursor. Select
  Comic Sans MS, 24 point and you won't see anything visibly different.
  But the cursor will now be bigger, and the font name drop-down box
  will have the new font face selection in it. You will only see the new
  font on your screen when you begin to type.

  I find it a lot less distracting to apply the changes after the text
  is on the screen. Once you learn to ignore the anxiety that makes you
  want to format as you create the message, your workflow will go much
  smoother.


Bold, Italic and Underline

  You can apply bold, italic and underline to an entire paragraph, but
  more often than not, you apply those font attributes to bring emphasis
  to a word or a phrase. There is a shortcut with applying them to a
  single word. Just click anywhere within the boundaries of the word,
  then click either the "B" "I" or "U" button. That's right. You don't
  need to select the entire word to apply the effect to the entire word!
  If you want a bold phrase or sentence, you'll need to select all the
  text for expediency's sake. Otherwise, you could click in each word in
  turn before applying the effect. Note: you can double or triple the
  effect by combining more than one attribute. E.g., this text is bold,
  italic and underlined. The keyboard shortcuts for bold, italic and
  underline are easy to remember: CTRL+B for bold, CTRL+I for italic and
  CTRL+U for underline. If you are a quick typist, you might find it
  easier to insert these shortcuts before and after the word you are
  typing with the desired effect. These shortcut keys work as toggles.
  Press CTRL+B to turn bold "on." Click CTRL+B again to turn it "off."
  With the toolbar buttons, the "depressed" appearance means the font
  effect is in effect, excuse the pun. Undepressed or non- depressed
  means that psychiatry bills decline.


Align Right Up

  The next group of buttons control how the text is aligned.

  The default choice is left alignment. Basically that means that the
  left margin is smooth and the right margin is ragged. Center alignment
  centers text horizontally on the page and produces a ragged left and
  right margin. This is, however, useful for headlines or first lines on
  an announcement. Right alignment is rarely used - I took the button
  off my Formatting toolbar - and produces a ragged left margin, but a
  smooth right margin. The last choice is full alignment or justified,
  which gives you a smooth left and right margin at the expense of gaps
  between words in the middle of a line. This simulates newspaper and
  magazine columns. The effect is best used with columns or with active
  hyphenation to reduce the amount of white space in the interior of the
  line. See the samples below: Left, Center, Right, and Full
  Justification.

Left:

     You wanted sample text with each alignment, so here it is. The
     first paragraph is left aligned. The second is centered, whereas
     the third is right aligned. Finally, you get the newspaper/magazine
     look with the last paragraph, which is fully aligned.

Center:

     You wanted sample text with each alignment, so here it is. The
  first paragraph is left aligned. The second is centered, whereas the
    third is right aligned. Finally, you get the newspaper/magazine
         look with the last paragraph, which is fully aligned.

Right:

    You wanted sample text with each alignment, so here it is. The first
          paragraph is left aligned. The second is centered, whereas the
    third is right aligned. Finally, you get the newspaper/magazine look
                        with the last paragraph, which is fully aligned.

Full Justification:

  You  wanted sample text with each alignment,  so here it is. The first
  paragraph  is left aligned. The second  is centered, whereas the third
  is  right  aligned. Finally, you  get the newspaper/magazine look with
  the last paragraph, which is fully aligned, also called justified.


Make a List, Check it Twice

  Next up are numbered and bulleted lists. Here Word is determined to
  help you format on the fly. If you start a numbered list by typing a 1
  followed by a period, followed by some text, when you press ENTER,
  Word will apply the numbered list format. This works even if you use a
  letter, e.g., "a" followed by a period then some text and an ENTER. If
  you use a dash, space, some text and press ENTER, Word will likewise
  jump into bulleted list mode. You may find it hard to get out of
  numbered formatting. All you need to do is click on the numbered or
  bulleted list button to turn off the effect. The reason is that
  numbering/bulleting is a paragraph format. When you press ENTER, you
  propagate that format to the next paragraph, and so on and so on.

  When you start using numbered or bulleted lists extensively, you'll
  find there are many styles you can use as well as new ones you can
  invent.


Borderlines

The next button is a welcome addition.

  Ŀ
   You can use the Outside Border button to quickly place a 
   border around the current paragraph. Such as this!       
  

Caboose Buttons

  The last two buttons I will only mention in passing.

  The Highlight button simulates those academic textbook highlighters
  you may have used in High School or College to "highlight" the
  important stuff. The stuff you wanted to be sure to go back and review
  before finals. You can even select different color highlighters. What
  you are actually doing is coloring the background instead of the
  foreground. This is a nice effect to apply on an interoffice memo to
  emphasize the important text. The effect will even print, assuming you
  have a color printer. I think the junk mailers have already latched
  onto this Word feature, which debuted in Word 7 for Windows 95.

  The last button is the Font Color button. I already changed the font
  color above in the alignment examples. This is also available from the
  Format, Font menu, but on the Formatting toolbar it's a little more
  handy. Here you are coloring the foreground instead of the background.


The Select

  I mentioned earlier that you could select text with the mouse or the
  keyboard. I explained the mouse selection routine because it is easier
  to grasp initially. However, if you are a speedy typist and want to
  know how to select text without the electronic rodent, here's the
  short version. Use the SHIFT key in combination with the arrow keys,
  HOME, END, PAGE UP, PAGE DOWN as well as the CTRL key.

The SHIFT key flips the cursor into select (or extend) mode.

SHIFT+RIGHT ARROW selects the character to the right of the insertion point.

SHIFT+CTRL+RIGHT ARROW selects the entire word to the right of the insertion
   point.

SHIFT+LEFT ARROW selects the character to the left of the insertion point.

SHIFT+CTRL+RIGHT ARROW selects the entire word to the left of the insertion
   point.

SHIFT+UP ARROW selects the current position through the line above.

SHIFT+CTRL+UP ARROW selects the current position through the paragraph
   above.

SHIFT+DOWN ARROW selects the current position through the line below.

SHIFT+CTRL+DOWN ARROW selects the current position through the
   paragraph below.

SHIFT+HOME selects the cursor position to the beginning of the line.

SHIFT+CTRL+HOME selects the cursor position to the beginning of the document.

SHIFT+END selects the cursor position to the end of the current line.

SHIFT+CTRL+END selects the cursor position to the end of the document.

SHIFT+PAGE UP and SHIFT+PAGE DOWN both select about a screen's worth of
   text in the direction you would expect.


  That's a whole lot of keyboard shortcuts to get your fingers around.
  Just remember that SHIFT turns on extend/select mode. I generally use
  SHIFT with the arrow keys or with the CTRL keys to select words at a
  time. And I generally use this selection method with Cut & Paste to
  move text around quickly.

  So, here are a few other handy Windows keyboard shortcuts: CTRL+X to
  cut selected text, which removes the text from that position; CTRL+C
  to copy selected text, which leaves a copy of the text at the current
  position; and CTRL+V to paste text, presumably after you've moved the
  cursor to another location. When you cut or copy the text, the text is
  copied to the Windows clipboard. This is a temporary storage location
  in your computer. The only important thing you need to know about it
  is that it can only hold one selection at a time. The second cut or
  copy will wipe away the first one. You need to paste the first
  selection before you can cut/copy the second one. Otherwise the first
  selection is lost.


Conclusion

  You may want to modify your Formatting toolbar to include other items
  available in Word. For instance, I added the Insert Clipart button,
  since flyers or announcements are easily dressed up with some of
  Office's clipart.

  To add this button to your Formatting toolbar you need to follow a few
  simple steps. Famous last words, right? Right click on the Formatting
  toolbar or any other visible toolbar. Select Customize. from the
  bottom. On the dialog box that appears, select the Commands tab, then
  Insert. Scroll in the right column until you see the Clipart button.
  Click and drag this button to your Formatting toolbar, wherever you
  want it to appear.

  If the picture and name appear together on the toolbar, you can right-
  click (i.e., click the right mouse button) on the toolbar button and
  select default appearance, which is picture only. You will notice a
  couple other appearance options if you prefer text to pictures. Close
  the Customize dialog when you are finished.

  Now that you know how to change the font typeface, increase its size,
  change the alignment of text, create lists, highlight important stuff
  and add pictures, you can take the time to get your message on screen
  and worry about all that fancy stuff later.


                          +=+=+=+=+=+=+=+=+=+

Jack Passarella is Editor of the Word content area of WindoWatch. He is
the author of many articles, the Ilink Word Conference host, a
cartoonist, playwright and more.




  ww page 12ͻ
  FIRST WORDS                                                           
 1/4


                            Find and Replace
                  Copyright 1997 by Michelle Lundquist


    (Word Editor's Note: Michelle is discovering that it's not always
    a simple task to explain a technical task in a simple manner. In
    her exploration of Word's Find & Replace feature, I think she has
    succeeded. This article is based on Michelle's experience with
    Microsoft Word 6.0.)


Learning to FIND

I always find it interesting that when any of us starts out using a new
program, or a computer, for the first time the immediate belief is it
will automatically save us time and effort when constructing
documents.  Not that I dispute this, but sometimes it takes hours of
investigation as well as trial and error before we make the discoveries
which lead to the overall benefits of the software or computer.

I admit this scenario fit myself when after using Microsoft Word for
well over a year, I was introduced to a simple but powerful feature of
the program - Find and Replace.

This handy feature can be used in a myriad of ways:

- Simply trying to find a word reference in a large document

- Finding and replacing words quickly and easily without a time
  consuming scrolling search.

- To clean up unnecessary spaces and paragraph returns from downloaded
  Internet text.


To begin using this feature, look under the Edit menu at the top of your
Word screen.

From the Edit menu, select "Find..." or use "Ctrl +F" to bring up the
Find... dialog box.

As you can see, this dialog box will let you find whatever it is you are
looking for. Generally you can type in the word, and click the Find Next
button to begin your search. You can also narrow your search by using
the options listed below the Find What: box. By using any of these
selections you can speed up your search by making the search very
specific, particularly in large documents.


The Replacements

But what if your search is more complex? You not only need to find the
word, but you need to make a change to it. Perhaps you used the word
"june" in your document and completely forgot to capitalize the "J".
Using Find and its companion "Replace..." you can do this simply and
easily.

If you are already in Find..., simply go to the right side, toward the
bottom and click on Replace... This will expand the dialog box to
include the next level that you will need.

And if you are starting from the beginning, it is simply a matter of
going under the Edit menu and selecting Replace...

Now you are able to not only find this word you want to replace, but you
can make an automatic change to it, which doesn't end with simply
capitalization. Say, you also realized that you wanted to change the
font and bold it as well. At the bottom of the expanded dialog box you
will see a button for Format that will allow you to do this.

With the cursor in position in the Replace With: box, select the Format
button at the bottom of the box and select "Font..." This will allow you
to change the font and make it bold.

Once you have picked the settings you would like, click OK and back in
the Replace... dialog box you can begin the replacement process. At this
point you can tell it to either Replace or Replace All. Replace will
walk you through your entire document allowing you to reconfirm each
change. Replace All will speed up by automatically making the changes
with no prompting, but tell you at the end how many changes were made to
your document.

You'll see as you use this feature more and more, that you will find
additional ways it can help you in your day-to-day activities.


Cleaning Up The Internet

One way I've found this feature particularly helpful is when I download
Internet text that I want to "clean up" before printing out or passing
on to someone. I've found many times after downloading there are
unnecessary spaces and paragraph returns, making the document much
longer than necessary. Find and Replace can help you eliminate these
marks quickly and easily. The following will walk you through the steps
of this process.

After you download the article, and are looking at it in Word, the first
step is to click on the Show/Hide button found in your top Formatting
toolbar. This will reveal all of the spaces and paragraph marks within
your document.

Now, look through the first page or two of the document and see what the
pattern for spaces and paragraph marks are, this will help you determine
what you need to input when starting your Find and Replace. For example,
most likely your document has a pattern at the end of each line that
uses a (paragraph mark). And then to mark the transition between
paragraphs, there are two at the end of the sentence, adding a blank
line between paragraphs. The overall idea is to get rid of these
extraneous marks to make your document smaller and fill in the area
between margins.

We can begin by first replacing the two consecutive paragraph marks.
Open your Replace... dialog box. In the Find What: line, you put in the
symbol for the mark, twice. Do this by selecting the Special menu found
at the bottom of the box. Select the paragraph mark and you'll see the
symbol for it filled into the line (^p). Do this twice so it looks like
^p^p when you are finished. Then tab to the Replace With: line and put
in a distinctive character that you can replace later. I recommend a tab
character ^t also found in your Special ? menu. Now click the Replace
All button and let the computer make the change. It will tell you at the
end how many were replaced.

The next step is to get rid of the extra paragraph marks at the end of
each line. Open the Replace... dialog box and put the ^p mark in the
Find What: line. Tab to the Replace With: line and hit your space bar
once. Now, even though you don't see the space, it is there. Now tell it
to Replace All. Depending on the size of your document, this could take
a minute. And once it is done, it will tell you how many replacements
are made.

Now, after you have done this, your may look at your document and be
dismayed that it is all "lumped" together. Now that you have removed the
marks, all your text flows continuously. But fear not, this is why we
replaced the consecutive paragraph marks with a tab character (^t). Now
you can easily fix the text flow by again going to the Find and Replace
feature.

This time, after opening the Replace... dialog box, in the Find What:
line you go to Special ? and select the tab character (^t) and then tab
to your Replace With: line and under Special ? select Paragraph Mark
twice, so that it looks like ^p^p. This will find the tab character and
put in the two again, giving your document the correct spacing between
paragraphs. It is now ready for output or distribution.

In explanation this can seem like a bit of work, but compared to the
manual way of doing this type of cleanup, the Find and Replace feature
is the best, and only way in my opinion, to do this sort of work.

Also, be aware that this particular manner of Find and Replace can work
for all sorts of unnecessary marks and spaces from paragraph marks, to
tabs to page breaks. Look through the Special ? menu to see what is
there, you may find it useful in the future.

Within your own work or personal environment, I'm sure you'll find many
applications for this feature. So when you find yourself doing
repetitive corrections within your documents, try the Find and Replace
feature. It will save you time and effort in the end.




  ww page 13ͻ
  FIRST WORDS                                                           
 1/4


                          Avoid Typing in Word
                      Copyright 1997 by Tony Lima



Typing is a Bad Thing

Last month, I showed you how to get started with Word.  Part of that
article tried to convince you that you should type as much material as
fast as possible -- after making a careful outline, of course.  This
month, I'm going to show you what to do with all the stuff you've
frantically typed into Word.  Once again, examples and screen
pictures are from Word for Windows 6.0c.

I'm going to cover three topics:

- Editing, cutting, pasting, and copying
- Creating and using document templates
- Creating and using style sheets

One of my objectives this month is to show you how to spend less time
typing and formatting your document.


Don't Throw Things Away!

Before we get into the mechanics of cutting and pasting, here's a tip:
don't throw out those pearls of wisdom you've slaved over. If your
written work is too long, save material as you cut it. An easy way to do
this is to open a second document (I usually call it scratch.doc) and
paste text you're cutting into it. Specifically, you should:

1. Mark the block of text you want to remove. To do this, move the mouse
   cursor to the beginning of the block you want to remove. Click the
   left mouse button and hold it down while you drag the mouse cursor to
   the end of the block you want to remove. Don't release the mouse
   button until you've release the end of the block or you'll mark the
   wrong area.

2. Click the "cut" button on the Toolbar: (It's the "scissors.")

3. Move to the second document by selecting Window/Scratch.doc from the
   menu.

4. Click the "paste" button on the toolbar.

5. Return to your original document.

Note that if you always give your document the same name, you will
always be able to find material you've removed. Keep scratch.doc (or
whatever you call it) in the same directory with the rest of your work
on this project. (I have a directory called "Wwatch" in which I keep
material I write for WindoWatch. Yes, there is a file called
"scratch.doc" in it.)

The reason for this is simple: as you develop your writing skills,
you'll change your mind more frequently. There's nothing more
frustrating than throwing away a couple of pages of deathless prose only
to find you need them a week later because the focus of the document has
changed.


Moving Around Text

Sometimes you simply want to reorganize text. This can happen even if
you diligently make outlines. You'll want an easy way to move around
blocks of text. One way is to simply cut and paste. However, there's a
slightly faster method.

1. Mark the block of text you want to move.

2. Move the mouse pointer into the marked block and hold down the left
   mouse button. The mouse pointer will change into a shadow box and a
   shadow cursor.

3. Still holding down the left mouse button, move the shadow cursor to
   the insertion point where you want the text moved.

4. Release the mouse button and, presto! The text will be moved.
   Sometimes, your hand will shake and you'll miss the insertion point
   you want. The block of text will still be marked. Just drag and drop
   it again!


Creating and Using Document Templates

Document templates are the basic building blocks of documents. You're
probably familiar with normal.dot, Word's default document template. In
fact, you can immediately create a new document with the format
specified in normal.dot by clicking the "new normal document" button on
the Toolbar.

Document templates are just document files set up to supply a specific
format. Some templates perform complex tasks using Word macros. That's a
little more complicated than we want to get here. (A good example is
Maillbl.dot which creates mailing labels. If you haven't yet discovered
this handy template, look for it.) Simpler templates can become your
letterhead. Suppose we want to create a document template that will
automatically open a document that looks like this:


      Tony Lima                              *
      1328 Any Ave.                          Writer
      Somewhere, CA  99999-9999              (415) 555-5555
          


Creating a template to do this is as simple as creating the document
and saving it as a document template.

  1. Get the document looking like you want it to look.

  2. Select File/Save As from the menu.

  3. Pull down the "Save File as Type" menu. Select "Document Template".

  4. Click the OK button and you've created your template!

This template will be automatically added to the list that comes up when
you select File/New from the menu system. Note that document templates
have the extension .dot and are stored in the directory
winword\template. You can change this directory by selecting
Tools/Options from the menu, then picking the File Locations tab.
Changing the User Templates directory will point Word toward the new
directory.

Document templates are a quick way to create formats for documents you
use frequently. When you use document templates with style sheets,
you're really beginning to explore the power of Word.


Creating and Using Style Sheets

Style sheets are extensions of document templates. Word's style gallery
lets you apply the format of any document template to any document you
create. For example, this document is being created using a template
called wwatch.dot. If I select Format/Style Gallery from the menu, a
window will open: the list of templates is on the left. Your current
document with the selected template applied to it is shown in the window
on the right. You can also select the "Example" or "Style Samples"
buttons to see examples of each style. For example, if I select Brochur1
from the template list, the Style Gallery window looks like this[**]:

   [**The graphic images described in this article can be viewed in
   the Adobe Acrobat edition of WindoWatch.]


The text formatting automatically changes to reflect the new style. To
see what elements go into a document style, select Format/Style from the
menu. You'll see a window like this:[**]


A style includes a text style (shown in the list at the left side of the
window). The default is to show styles currently in use. However,
pulling down the list menu below the style list box gives you the option
of showing all available text styles. The paragraph preview window shows
what a paragraph of the specific text style looks like, while the
character preview window shows the font and type size selected. Note
that there is a detailed description of font information in the
Description box at the bottom of the window.

The easiest way to create a new style is to find an existing style
that's close to what you want, then select the Modify button. Remember
to save your new style with a new name so you don't overwrite the
original.

Text styles are a good way to experiment with different looks for a
document. Spend some time with the Style Gallery to see what's
available. Keep a record of particular styles you like so you'll be able
to find them again when you need them.


Conclusion

This month, I've showed you how to cut down on typing. Specifically, by
never throwing away text, using document templates, and learning about
document styles you can save hours that you'd otherwise use to format
your document.


                          +=+=+=+=+=+=+=+=+=+

Tony Lima has been working with personal computers since 1978. He has
written half a dozen books and over 100 articles about various aspects
of the small computer industry. In his other life, Tony is professor of
economics at California State University, Hayward. E-mail him at
tony.lima@toadhall.com.




   ww page 14
  WordBasic Macros                                                                       Part I
  


                Christopher Greaves' WordBasic Workbook
                             Copyright 1997


Templates

Creating A User-template

  We will be creating some macros and styles. Macros and Styles live in
  templates. In this step we will create a personal template in which to
  store the examples generated during this course. Manipulation and
  organization of templates is not difficult, but is outside the scope
  of this course. Likewise we do not plan to cover the details of
  assigning macros to the toolbar.

  
 Choose File, New, Template; Confirm.
  
 Creating a template is easy.


Saving A User Template

  We will save our user template periodically - whenever we make a
  significant change that has worked, or whenever we are about to test
  a feature that might not work!

  
 Choose File, saveAs; key in an eight-character name.
  
 Note that Word coerces the extent "DOT" and the directory of Word's
      templates.
  
 Confirm
  
 Note the template name in the title bar of your screen


Examining A User Template

  From time to time we will want to inspect or reorganize the contents
  of a template. Right now we will just inspect what's in there.

  
 Choose Tools, Macro, Organizer; Click on each of the tabs.
  
 Two styles are pre-defined
  
 No macros, toolbars or autotext entries are defined.
  
 Cancel out of the dialogue box.
  
 Save your template

Recording a macro

  We can ask the word-processor to record the steps of a macro, or we
  can type the steps in by hand. Since both methods are useful, we will
  explore both. The user may find that recording the essential parts of
  a macro and then editing the code to fine-tune the macro works well.

  For example, we might record the steps to Edit Find some material, and
  then edit the macro code to insert the searching loop.

  Our first macro will be one to discard changes and reopen a file at
  the latest save point. We will record the steps, then we will examine
  the macro.

  
 Start a new document. In the new document type a few words of text.
  
 Save your document file
  
 Note, by choosing File, that the document file is number "1" on the
    file list.
  
 Type some extra text in the document
  
 Choose Tools, Macro.
  
 In the name box type "Restart".
  
 In the description box type '"effects a File Close No; File 1"
  
 Choose Record, Confirm
  
 Note that
     1. The Mouse pointer has a recording cassette attached
     2. A miniature floating toolbar has appeared on the screen
     3. The status bar shows RECording.
  
 Choose File, Close, No, File, 1
  
 Note that we have restored the document to its original form.
  
 Note that we are still recording a macro!
  
 Choose Tools, Macro, Stop recording.
  
 Type some extra text in the document
  
 Choose Tools, Macro.
  
 In the name list select "Restart".
  
 Choose Run.
  
 When prompted to save changes, say "No".
  
 Note that we have restored the document to its original form.

It is a pity that we have to confirm to discard changes. In the next
step we will learn how to avoid this.


Examining macro code

  We would like to look under the hood, to see what goes on inside a
  macro. At this point we will look-but-not- touch. In a later section
  we will actually make changes.

  
 Choose Tools, macro, highlight your "restart" macro, choose
      Edit.
      Sub MAIN
      FileClose
      FileList 1
      End Sub
  
 A macro is a SUBroutine that has an ENDing.
  
 Our recorded steps were to CLOSE the file, and then to select the
      first (number 1) file from the LIST OF FILES.
  
 Place the text cursor in the word FILECLOSE and tap the <F1>
      function key.
  
 The WordBasic help screen appears, and with it a specific description
      of the FILECLOSE command.
  
 Switch (<ALT><TAB>) to the macro document.
  
 Place the text cursor in the word FILELIST and tap the <F1>
      function key.
  
 The WordBasic help screen appears, and with it a specific description
      of the FILELIST command.
  
 Click in the help screen on "Documents, Templates, and AddIns
      Statements and Functions"
  
 Click on FILECLOSE.
  
 Click in the help screen on "Documents, Templates, and AddIns
      Statements and Functions"
  
 Click on FILELIST.
  
 Switch (<ALT><TAB>) back to the macro document.
  
 Choose File Close to close the macro definition.
  
 We can record a macro, then inspect the code and the meaning of
      the code.


Editing macro code

  We would like to change what goes on inside our macro. Specifically we
  would like to disable the confirmation box from the FILECLOSE command.

  
 Choose Tools, macro, highlight your "restart" macro, choose
          Edit.
          Sub MAIN
          FileClose
          FileList 1
          End Sub
  
 Place the text cursor in the word FILECLOSE and tap the <F1>
      function key.
  
 The WordBasic help screen appears, and with it a specific description
      of the FILECLOSE command.
  
 Read the text under "explanation":

       When the argument is omitted (as it is in our case), the user
       is prompted to save the document. If the argument has a value
       of "2", the document will be closed without saving changes.

  
 Switch (<ALT><TAB>) to the macro document.
  
 Place the text cursor after the word FILELIST and key in a space
      and the digit "2".
  
 Choose File Close to close the macro definition. Confirm that
      you want to keep your changes to the macro.
  
 Type some extra text in the document
  
 Choose Tools, Macro.
  
 In the name list select "Restart".
  
 Choose Run.
  
 Note that we have restored the document to its original form
      without being prompted to discard changes.
  
 We can record a macro, then change the meaning of the code.


Organising macros

  We have successfully recorded and edited a macro RESTART in the
  template Normal.DOT. We would like to copy the successful macro
  definition to our personal template.

  
 Still in the text document, choose Tools, Macro, Organiser.
      Choose the macros tab.
  
 Macros in Normal.dot are listed in both the left-hand and the right-
      hand panel.
  
 Choose the CLOSE button under the left-hand panel. Choose the OPEN
      button under the left-hand panel.
  
 Highlight your user template and confirm
  
 No macros appear in the left-hand panel.
  
 Select your RESTART macro in the right-hand panel, click COPY,
      click DELETE and confirm yes.
  
 Your RESTART macro has been moved to your user template.

Generally speaking, we can use the Normal.dot template as a desktop
blotter, and move successful scribblings into user templates.

Word will automatically recreate normal.dot, so periodically we might
delete normal.dot to flush out the dead wood.


                          +=+=+=+=+=+=+=+=+=+

Christopher Greaves writes Computer Based Training programs. This is the
first part of a training workbook for WordBasic. The guy thinks macros!
Maybe there is hope for macro dummies like me! Born in England, an
Australian by choice, Christopher lives and works in Toronto, Canada.
You can send your comments and questions to him at
christopher.greaves@pro-mail.com




   ww page 15
  A New Gizmo!                                          A Hardware Review
  


           Digital Cameras: An Expensive Toy or Useful Tool?
                  Copyright 1997 by Linda L. Rosenbaum


I have been fascinated by the integration of photography and computers
since I first learned about Photo CD. This was in 1992, when Kodak first
introduced Photo CD and the ability to read Photo CD was being
incorporated into new CD-ROM drives at the time. The original Photo CD
disc format enables photographers to take standard 35mm pictures and
have them scanned onto Photo CD discs by a photofinisher or service
bureau. They then can view their pictures on television, using a Kodak
Digital Science Photo CD player (which also plays audio CDs), Philips
CD-I player, Panasonic/3DO R.E.A.L. player or, in the near future, a
Sega Saturn player. More importantly, at least to me, almost any
computer equipped with a CD-ROM drive today can read the same discs.

For computer users like me, Photo CD discs offer many advantages making
it practical for working with images on my desktop computer:

1. Low-cost scans

   I can have a 24-exposure roll of 35 mm film scanned onto a Kodak
   Digital Science Photo CD Master disc for well under $25, much less
   expensive than previously available scanning services (or purchasing
   a desktop scanner).

2. Multiple resolutions

   The Kodak Digital Science Photo CD IMAGE PAC File format on Photo CD
   discs stores each image at multiple levels of resolution. I can work
   easily with the smaller, lower-resolution images onscreen, then use
   the highest resolution version for output.

3. High-quality images

   On a Photo CD Master disc, the highest resolution level (2048 x 3072
   pixels) captures all the image data 35-mm film has to offer. Other
   disc formats offer higher resolutions for applications such as
   professional photography and color prepress operations.

4. Consistent colors

   Photo CD Master disc images are produced using Kodak scanning
   algorithms and color management software, ensuring consistent,
   high-quality color.

5. Convenient storage

   Each Photo CD Master disc provides long-term, low-cost storage of
   approximately 100 images; the Photo CD Portfolio II disc format can
   store more images at lower resolution.

I have had all of my 35mm film developed on Photo CD for several
years.  Now I rarely get prints at the same time, although that can
easily be done when the roll is first developed.  After experimenting
some with local film developing places, who normally did not have the
equipment needed to do Photo CD and hence had to send it out, I
have settled on using a place called Best Photo Lab, Inc., 143 Federal
Rd., Brookfield, CT 06804. (Phone: 800-428-2377; Fax: 203-740-1183;
email: 71333,2742@Compuserve.com.) I send out my rolls of film to be
developed and scanned onto Photo CD via mail order and normally Best
Photo Lab can turn the order around in one day because they have all the
necessary equipment on site. I first learned of them via CompuServe when
roaming some forums for information and help with Photo CD and CD-ROM
drives.

However, there are some disadvantages of using Photo CD for computer
work. Firstly, it is not instantaneous. I must finish up at least one
entire roll of film and then send it out for developing and scanning.
This is not so bad when I was using scanned images only a few times a
year with lots of lead-time. But now with my Web page and web usage in
general, this kind of turnaround is very inhibiting.

Secondly, it is far less expensive to scan an entire roll of film onto
Photo CD than to individually scan developed negatives. As a result, I
tend to scan the entire roll or rolls with an enormous amount of scanned
images as the outcome. While nice to look at, they are not of any future
use in terms of computer related projects. I justify this as being a
useful means of long-term storage, but am not convinced this is the most
efficient. I suspect it is still easier, for future viewing enjoyment,
to store pictures in the traditional photo album.

Consequently, I was completely fascinated when I first learned of, or
rather saw, some new digital cameras at PC Expo in New York City
just about a year ago (June 1996).  I was intrigued by the ability to get
instantaneous feedback.  I was delighted by the notion that the bad
images could be deleted from both camera and hard drive.  I was
fascinated by the technology because of my interest in photography
and combining it with computers.  Prior to this point in time, digital
cameras of any acceptable quality were quite expensive.  It seemed to
me, that the improving technology was such that it was being brought
to consumers and/or business where the need for instantaneous
images on computer was of great benefit without needing the talents
of a professional photographer.  However, given that I use NT, I was
also cautious about any current product because of my normal
expectation that the new consumer market was geared to producing
products that worked only in Windows 3.x and/or Windows 95.
During the immediate summer following my attendance at PC Expo, I
began to do more serious research on digital cameras.  I explored how
they worked, what models were available, pricing of such models, and
comparative features.  Finally my growing fascination exploded into
purchase mode, and in early September 1996, I bought a digital
camera.

At the present time, the digital camera market consists of three
distinct "categories":

  - A $300 to $600 consumer market, including cameras that produce 640
    by 480-pixel images. These digital cameras typically have few bells
    and whistles.

  - A business class of under-$1,000 cameras. These are aimed at
    computer design and development professionals or more serious
    consumers. These digital cameras sport resolutions of 640x480 to
    1024x768 and also tend to have added features such as zoom lenses,
    support for PC Card memory cards, and LCD screens.

  - A professional class, where many thousands of dollars can buy
    million-plus-pixel cameras for press and studio photographers.

There is also an increasing number of manufacturers attempting to get
into the digital camera market, as well as those who have been in the
high end for some time, now aiming for the middle and low end markets.
Some of the players in the digital camera market include Eastman Kodak,
Epson America Inc., Casio Inc., Olympus America, Canon USA, Inc., Ricoh
Corp., Fuji Photo Film Co., Ltd., Apple Computer, Inc., Sony, and, very
recently, Hewlett Packard.

Digital photography is the combination of photography and computer
imaging. Rather than generate an image by drawing it on the computer, I
can start with a photograph, which can either be scanned in or taken
directly by a digital camera. After the image is in a computer-readable
format, I can enhance the image, change it, size it, and much more.
After I complete the editing work on an image, I can output it on paper,
load it on to a Web page, e-mail it, animate it, or do whatever else
comes to mind.

A digital camera is a cross between a conventional film-based 35mm
camera and a scanner. Most digital cameras use a special,
photo-sensitive chip called a charged-coupled device (CCD), where
traditional cameras focus the image onto light-sensitive silver halide
film. The CCD chip reacts to light and can translate the strength of
reaction into a numeric equivalent. Because the image is actually a
collection of numeric data, it can easily be downloaded into a computer
and manipulated.

After a CCD chip has created an image of a photo, it sends the data to
an analog-to-digital converter chip (ACD). The ACD chip converts the
data to the camera's internal storage format, which is usually some sort
of compressed graphics format. Last, the data is recorded, or stored, on
either built-in memory chips or a removable PC Card. After the images
have been recorded, they can be downloaded, or transferred, into a
computer via the serial or parallel port, or by removing the camera's PC
Card and popping it into a PC Card drive.

Several very important differences exist between digital cameras and
traditional cameras:

1. Digital images do not rival 35-mm photographs. The silver halide
   crystals used to make film can capture an almost infinite range of
   tones and colors, while the CCDs used by digital cameras tend to lose
   detail in low or bright light and sometimes have difficulty
   correcting color.

2. Digital cameras use compression to save images. This also contributes
   to the differences in quality noted above. What then becomes
   important in terms of quality with a digital camera is the degree of
   data compression used to save images. The lower the compression
   ratio, the higher the image quality. But lower compression ratios
   also mean that the images take up more memory. Given that the quality
   of a digital camera image starts off being lower when compared to
   35-mm film, it is generally better to use the lowest compression that
   the digital camera is capable of.

3. With a digital camera there is a delay of up to 1.5 seconds between
   when you press the shutter button and when the camera actually takes
   the picture. That's the time needed for the light sensor to read the
   scene and either adjust the diaphragm opening or change the shutter
   speed, to check the auto-focus, and to trigger the camera's flash, if
   one exists. This delay is not a problem when shooting still life
   images, but sure can be a hindrance if trying to take actions shots.

4. After the digital camera is snapped, there is another delay of 4 to 9
   seconds when the camera is busy. That's how long it takes to convert
   the image to digital form, compress and save it, and recycle the
   flash (if applicable).

5. The number of images that can be taken is a limitation that
   traditional cameras do not have. With such, when a roll of film has
   been shot, all one has to do is rewind and load another roll. With a
   digital camera, however, when its memory is full, the images have to
   be downloaded to computer and what is inside the camera has to be
   wiped out. The number of images that can be stored in a digital
   camera varies from as few as 8 images to as many as 108.

A recent CompUSA newspaper ad brings to reality the fact that digital
cameras are becoming a more common consumer product within the first two
market segments described previously. When I first purchased my digital
camera last fall, they were just beginning to be aggressively advertised
and normally included only Kodak, and occasionally Epson. This
particular CompUSA ad had the following four cameras included:

       - HP PhotoSmart Digital Camera (Hewlett Packard) for $399.99:
          - 2 MB memory
          - 640 x 480 photo resolution
          - Store up to 32 pictures
          - Built-in flash
          - Includes Microsoft Picture It!

       - Kodak DC-50 Digital Camera for $699.99:
          - 1 MB memory
          - 756 x 504 pixel resolution
          - Stores up to 24 pictures
          - Built-in flash
          - 3X motorized auto focus zoom
          - Uses type I and II PC Cards

       - Ricoh RDC2 Digital Camera for $799.99:
          - 2 MB memory
          - 768 x 576 resolution
          - Store up to 38 pictures
          - Built-in flash
          - 1.8" LCD screen

       - Sony DSC-F1 Digital Camera for $849.99:
          - 4 MB memory
          - 640 x 480 resolution
          - Store up to 108 pictures
          - Built-in flash
          - 1.8" LCD screen

I purchased a Kodak DC-40 digital camera last September. I paid $599.99
at Computer City. At that time, the number of models available was
limited and prices were most definitely higher than they are now. But
prices had come down from even higher during the first few months since
I became interested in digital cameras. I would have preferred to get
one with capabilities more akin to today's Kodak DC- 50 or Canon
PowerShot 600. In order to have the storage capacity I would want, both
of these cameras required some additional accessories, which meant the
price in total was about double of what I spent. Later, I did add on
some accessories to my DC-40, including a telephoto lens and a close-up
lens set.

Kodak no longer makes the DC-40 digital camera having stopped production
during first quarter 1997. It included 4 MB of memory, 756 x 504
resolution, built-in flash, PhotoEnhancer for Kodak software (from
PictureWorks), stored up to 48 high quality images (at lower
compression), serial cable for connecting to a serial port on the
computer (includes ones for both Macintosh computers and Windows
computers), and a 9-pin adapter for 25-pin serial port. My DC-40 uses
four lithium batteries, which allows me to take hundreds of pictures
before replacement. Using the flash requires more of the battery charge
as does transferring the pictures to the computer. I am still using the
lithium batteries that came with the camera. A power adapter is, or at
least used to be, available for this camera.

When I first got the camera we used it with our notebook. The notebook
had a free serial port and uses only Windows 95. I was certain this set
up would work with `95 but was less certain it would work in NT 4.0. In
addition, at that time, I did not have a spare serial port on my system
and no easy way to add one (I had three already). I did eventually
discover that the PhotoEnhancer software installed and worked just fine
in NT 4.0, at least for the reading of images once moved to the
computer, as well as, manipulation of the images within PhotoEnhancer;
including saving them to a format that could be used by my other imaging
software. The DC-40 came with PhotoEnhancer for Kodak version 1.7, which
works just with this camera. It is a Windows 3.x program (i.e. 16bit). I
recently moved my mouse to the PS/2 port on my motherboard and freed up
com1. This allowed me to try the digital camera on my system, from
within NT 4.0. Much to my delight, it worked! It seemed to download and
process the images slower than on the notebook, but it did work. I now
use the digital camera only on my system for both downloading of images
as well as manipulation to prepare them for use in other software
programs.

The camera controls can be manipulated either directly by the camera or
within PhotoEnhancer. The display of the controls available looks as
follows, which is a screen shot from PhotoEnhancer:[**]

   [**The graphic images described in this article can be viewed in
   the Adobe Acrobat edition of WindoWatch.]

The triangle at the very top left-hand corner is the feature marker. It
indicates the feature/control for which you can make option selections.
The camera itself has a button at the side of the display that moves the
current feature marker from one feature control icon to the next. There
is another set of buttons that allows you to make your selection for the
selected feature. The arrows in the image serve the same purposes when
doing this from within PhotoEnhancer.

Moving from left to right, starting in the upper left-hand corner, the
first feature that can be controlled is the flash. The effective range
for the flash on this camera is between four and nine feet. Using the
automatic flash lets the camera determine when the flash is needed. This
is the default setting. Setting it to flash off means the flash will not
be used at all and setting it to flash on means the flash will always be
used.

The next icon is for setting the timer. The timer allows me to specify
the period of time that the camera should wait after the shutter button
is pressed before taking a picture. There are three available settings:
(1)no wait - the camera takes the picture as soon as the shutter button
is pressed and is the default setting; (2)ten seconds - the camera waits
ten seconds after the shutter button is pressed before taking pictures;
and (3)twenty seconds - the camera waits twenty seconds after the
shutter button is pressed before taking pictures.

The next icon is for setting the exposure. It permits me to control the
size of the lens opening. This can help adjust for dim and bright
lighting. The choices available are normal exposure, which is the
default, and two exposures lesser than and greater than normal exposure,
each at a  f-stop interval.

The icon that looks like a bar is the battery indicator. When the icon
appears completely filled, the batteries are highly charged. When the
icon appears partially filled, the battery charge is getting low. When
the icon appears empty, the batteries need to be replaced. In order to
help preserve battery charge, the camera reverts to an inactive mode if
no action is taken for 60 seconds. The camera can be woken up from the
inactive mode by pressing and releasing the shutter button, or by
pressing the feature or select button.

The number that is displayed indicates how many pictures are left that
can be taken before the memory is full and the pictures must be
downloaded. The DC-40 comes with the ability to erase the last image
only from within the camera. However, activating this reduces the total
images that can be stored from 48 down to 31. As a result, I do not have
this feature activated.

In order to actually download the camera images to the computer, the
PhotoEnhancer software must be used. The software can also be used to
change the date and time within the camera to match that on your
computer. This date and time is saved as part of the image. All of the
choices that involve manipulating and working with the camera itself are
available from the camera pull down menu, as follows:

The images are stored and downloaded into a proprietary format. It can
only be read by PhotoEnhancer and has an extension of kdc. The images
are named image01.kdc, image02.kdc, etc. The PhotoEnhancer software does
not see or recognize files with the same names already existing and will
wipe them out. I make sure to download each set of images from the
camera to a newly created subdirectory so I can avoid accidentally
wiping out a prior downloaded image. Once the images are in my computer,
I can use PhotoEnhancer to open up an individual image or have it open
up a slide table, which will open up all images it finds within a
particular directory/subdirectory. From that slide table I can then
view/open up individual images. Once an individual image has been opened
up, PhotoEnhancer becomes a basic image-editing program.

I can save an image, via File, Save As, into a number of different
graphic images, including Windows BMP (*.bmp), TIFF (*.tif), and high,
medium and low quality JPEG (*.jpg). I can print the image via File,
Print. Both the Enhance and the SmartPix pull down menus are where I can
do some basic image editing. I actually have tended to use Paint Shop
Pro 4.12 and Micrografx Picture Publisher for most of my digital camera
imaging editing, after first saving it in a format that can be read by
these programs. I normally use high quality JPEG.

I have enjoyed my digital camera immensely and consider it money well
spent. While it still is to some degree an expensive toy and a
technology still in its infancy, I think the promise is fantastic. I
love the spontaneity it gives me, particularly now that I am also
dabbling with a Web site. I love the instant feedback we can get,
whether after a family get together, an unexpected spring snow storm, or
a vacation trip. I have used my digital camera images in conjunction
with Adobe PhotoDeluxe I reviewed in December issue of WindoWatch. It
has given me an excuse to learn more about image editing software and
how to manipulate images. I consider my DC 40 to be a useful tool that
enhances and adds to my overall computer enjoyment and skill.


                          +=+=+=+=+=+=+=+=+=+

Linda is the NT Editor for WindoWatch and can be reached via Email at
either lindar@cyburban.com or 71154.2622@compuserve.com.




   ww page 16
  CD-ROM Writer
  


                          The New Backup Media
                    Copyright 1997 by Stefan Assmann



First, you had the audio CD. Then came the data CD, video disc, and
enhanced CD. Now we have the CD-R, or CD re-writable. Breathing down our
necks is the CD-RW, DVD ROM and DVD-RAM. High time we had a long, hard
look at some of these technologies.

This article will focus on a the art of CD writing and will include an
overview of all the necessary hardware and software. Needed Material

To burn a CD, you need the following:

  - A CD recorder

  - A powerful and fast computer setup consisting of a large hard drive
    (2.5GB or so) with an average access speed of no more than 12ms and
    loads of memory

  - A SCSI or SCSI-2 card, preferably an Adaptec 2940 (some vendors
    include a card in the package)

  - A good cd-writer software

Let's go over these items in detail one at a time.


The Recorder

There are various types of recorders on the market, ranging in speed
from 2x to 4x when writing. The reader portion ranges from double to 6x
speed. The current top models are 6 speed readers and 4 speed writers.
They can read / write any CD format currently on the market, be it a
data CD, a music CD, video CD or an enhanced CD or mixed audio and data.
They support multi-session, of course, and some even the new
multi-session format called packet writing. This last format makes it
possible to access the CD as multiple volumes, each with its own drive
letter. To read those CD's, you need an additional device driver, since
this format isn't yet supported in the current operating systems. At the
of time of writing, only one CD-R software vendor supported this format,
namely Adaptec with its Direct CD software.

If you're only into casual writing, a double speed writer will suffice.
If you're into serious CD ROM publishing, like making multimedia
presentations, you're much better off with the current top of the line,
like the Yamaha CDR400c. which is a 6x reader and 4x writer. This baby
will make a CD in about twelve to fifteen minutes. The Computer and its
Components

A fast Pentium, 166 or better, a hard drive, preferably SCSI or SCSI-2
with an access time of maximum 12ms with 850MB free, and at least 64MB
of RAM will ensure that CD-writing is just like running any other
program. If you want to copy a CD, you can add a fast CD-ROM drive to
the list (8 speed plus).

You may wonder why such powerful hardware is needed and why I am so
specific about it. When you're writing a CD, there must be a constant
data stream available for the writing process. The slightest
interruption will turn your CD into what they call a Frisbee, meaning
you can throw away your CD. Very important as well is that you end as
many programs as possible before even attempting to begin. If you have
Diskeeper 2.0 under NT, do NOT forget to turn off the Diskeeper service
via control panel / services. Also disable your screen saver! Lastly, it
is recommended that you disable auto-run.


3. Software

There aren't so many titles around for this kind of thing. The most
common are:

  - Adaptec Easy CD Pro 95
  - Corel CD Creator 2.0
  - Gear 4.02
  - Win ON CD


Most CD-R packages come with either Easy CD Pro 1.2 or Corel CD Creator
2.0. Adaptec acquired Corel CD Creator 2.0 a while ago and has
incorporated its features into version 2.0 of Easy CD Pro, making it THE
program of choice to make a CD. The program is very easy to operate with
a wizard-like interface. (See screenshots). Apart from burning CD's, you
can also design and print labels with it. You can also download a
separate label program from Adaptec's website, which is a bit more
powerful. The website also has updates for the program itself and Direct
CD, the first program of its kind to support packet writing.

At the time of writing, Easy CD Pro and Gear were the only programs that
could recognize the Yamaha CDR400c. Since Gear is a bit spartan in
appearance and less powerful than Easy CD Pro, I had no choice but to
opt for Adaptec's offering. But I haven't regretted it so far.


4. The making of a CD

The information on a CD is in a special standardized format. You can
read this format effortlessly in both Windows 95 and NT because those
systems support that file system out of the box. Remember those DOS days
when you had to load a device driver in your config.sys for the CD ROM?
Well, that device driver enabled you to read that special format. There
are other formats as well, expanding on the standardized one, enabling
LFN support.

When you go writing a CD, the software will first convert your files
into the format chosen, and the converted files will then be written to
the CD. The converted files need room of course, in the form of
temporary files on your hard drive. The space required is at least as
much of the space taken by the files, but add a safe margin of 20MB to
this to be on the safe side.

As said earlier, it is imperative that the CD writer receives a constant
data stream, as the laser can't be stopped once it has started writing.
The first few times you want to burn a CD, it's best to do a simulation
first, until you get the hang of it.


5. Ways to record

You can record a CD in several ways: disc-at once, track-at-once, packet
writing and multi-session. These terms mean the following:

Disc-at-once: the entire CD is written in one fell swoop, with only one
  lead-in and one lead-out to be written. This is the most economical
  way of producing a CD in terms of space waste, but not all recorders
  support it yet.

Track-at-once: the default method in most writing software. The CD is
  written track by track.

Multi-session: the preferred method if you're short on space. You can
  master your CD in pieces until it's full. The main disadvantage is
  that for each session, a lead-in and lead-out has to be written,
  causing a loss of 4MB on average for each session.

Packet writing: the same method as multi-session is used, but the space
  waste has (almost) been eliminated. As said earlier, your recorder
  must support it, and a special device driver is needed so far to be
  able to read those CD's.

That's really all there is to write CD's.


6. Emerging technologies

In a few month's time, there will be the CD-RW for everyone (meaning
that a CD can be written to many times and that it will be cheaper).
Next year, expect to see the DVD coming up in full force (that little
shiny disk that can hold a whopping 4.7GB to begin with). Lastly (for
now), the DVD-RAM is on it's way, meaning 17GB of re-writable storage.
At a price, of course.


                          +=+=+=+=+=+=+=+=+=+

Always on the cutting edge, Stefan Assmann explores a technology most of
us have watched develop. Stefan is a regular WindoWatch Contributor.




   ww page 17
  Electronic Junk Mail is on the Rise!
  

                               Spam Scam
                   Copyright 1997 by Daniel Christle


If you haven't noticed lately, you're just not doing the `net! Spam is
again on the increase and it is flooding mailboxes everywhere. This
isn't the spam we have always talked about, the kind that advertised a
product in the hopes of getting lots of attention quickly. This is mail
that is clearly fraudulent and it is getting further out of control. Now
more than ever, the con artist is doing the spamming. The message is
clear. You have something they have always wanted and its your cash or
credit!

Judging by my mailbox, and those of the people I have been corresponding
with, scams are on the rise. Make money now! We have something every one
will want! Why work in the office when you can make a gazillion per
month just doing one simple thing! Easy Money!! Just send us your credit
card number and we will tell you how. Puh-lease! Don't you know that
this is illegal? They do. There are many types of scams floating around
the Internet right now. Some are pyramid schemes designed to make only
the first few people playing a few dollars. Any body that is on the
"down line" is just revenue for those at the top. This isn't Multi Level
Marketing; this is simple fraud. (In MLM you at least have a chance to
make money if you apply yourself. The same cannot be said for much of
what is offered on the Internet.) Fraud as defined in The American
Heritage Dictionary is "a deliberate deception for unfair or unlawful
gain".

This definition would seem to encompass the majority of what shows up in
your mailbox. The fact is that the only people that get rich in these
schemes are the people that produce them. You have better odds in a
lottery and in the end will feel much better about it. Sometimes you get
a token for your effort, usually you get a product you pay for that
turns out to be different than what you thought you were paying for.
Sometimes it is supposed to be a book that tells you how to get rich and
it turns out to be a pamphlet filed with vague statements on money
management. Other scams involve a straightforward theft, where the goal
is to separate you from your cash and/or credit card number. You get a
message promising you, again, a way to get rich or some way to make
money easily. You send them your credit card number and hope to see how
your life will change. Unfortunately, you never get anything back except
maybe a VISA statement that shows that your credit limit has been used
up when you could have sworn that you only spent $29.95. Feels good
doesn't it?

Most of us probably recognize them for what they are and we probably
blithely go about deleting them from our inbox as soon as we see them.
The problem is that many of these crimes go unchecked. Due to the
international flavour of the Internet you get a frustrated policing
effort. The con artist or at least his mail server is easily outside the
reach of the law for the country he is sending mail into. Think about
that for a minute. You file a complaint with the local law enforcement
agency hoping to get your money back (which rarely happens by the way)
and they may take it up with (or file with) the national police force,
as computer crime is really their jurisdiction. Well the con-artist just
happens to be outside your country's borders. What now? Not all
countries are cooperative when it comes to law enforcement and when they
are, it is still quite complicated and can depend upon what treaties or
agreements are in place. How do you pursue and prosecute someone who is
outside of your reach? The short and simple answer is you can't.

So are we defenseless in these situations? For now, the answer is yes
and no. In the United States legislation has been introduced that will
take unsolicited email in the same realm as the unsolicited fax. In the
meantime, what is needed is commonsense. You need to let law enforcement
know about a crime if you have been victimized. There is no shame in
reporting it. You may be embarrassed but it does happen a lot; plus you
may have information that can help stop someone who is known to law
enforcement agencies. In that case, at least that much good can come out
of a bad situation. Also if an offer looks really good, in fact, if it
looks too good, it probably is. If you have any doubts about an offer,
avoid it. Chances are there is someone somewhere that is legitimately
offering the product your are in search of. Likely that service is on
the web. Ask around and some one you know is likely to know about it.

Also as I have mentioned in previous articles complain to the sender if
you want these messages to stop. This is trickier than you may think.
Lately of the messages that make it through my mail filters, many offer
to remove you from their lists if you reply with "Remove" in the subject
line. In almost all of the cases the messages that I have sent have
bounced back, indicating that the return address was spoofed (forged) or
the account has moved on. To further complicate this, many spammers send
their mail through a variety of servers, most of which are exploited
unknowingly, making it really hard to track down the server of origin.
In fact, you can get software that will automate this for you. We
recently posted my article on Spam to the Windows 95 section of
WindoWatch. Here you will find links to anti-spam sites and ideas on how
to combat spam if you are so inclined.

In the end, it is up to you, at least for now, to take action if you are
offended by these messages. Use common sense and an ounce of caution
when you are approached by anyone offering you untold riches on the
Internet. As an aside, Sanford Wallace the infamous "Spam King" is
rumoured to be starting up his own ISP that will cater to the new breed
of Internet Marketers/Spam artists. The idea is that if you spam from
his server you won't get removed for this behaviour, which is what ISP's
have done in the past. This will make combating spam even more difficult
in the future.




   ww page 18
  A Hardware Upgrade!
  


                      Reflections of a ModemJunkie
                   Copyright 1997 by Leonard Grossman



Dr. Debakey: Where are you when I need you?

As my regular readers know, I believe in doing as much as possible with
as little as possible.

It's been barely two and a half years since I abandoned my original
trusty 286 in favor of the Pawnshop Special. I hadn't intended to
abandon the 286 (after all it wasn't even 5 years old) but, somehow in
the process of swapping cards into the "new" 386/40, I fried a couple of
the old cards and cracked the motherboard. For the gory details see:
"The Pawnshop Special (I jump to Windows)" Nov., 1994.
<http://www.mcs.net/~grossman/mjnk/mdm1194.txt>

I had intended to buy a "screamin' 486" but I passed the pawnshop, saw
this old Magitronic sitting there and made an offer they could not
refuse. It has served me well, but there are times when it is just too
slow (not because of much that I want to do, but because of the software
bloat that plagues us everywhere). So when a kindly, gentle benefactor
(who must remain anonymous) offered to send me a 486/100 motherboard, I
jumped at the opportunity.

I eagerly awaited the mail. And then it came, all neatly packaged in
plastic bubbles. I tore open the box. And there it was, with more
jumpers than I had ever imagined and manuals, too. And notes and hints.
And best of all it had lots of 30 pin slots so I could keep the 20 meg
of RAM I had crammed into the old 386. Not only that but since it was a
VESA local bus, I could move over my old cards.

I dutifully took the manuals to bed and tried to read them. Best cure
for my insomnia I have found in years. Then I waited for a whole day off
so I could do this all in one day. Remember, I am a user, a junkie, not
a techie.

"This shouldn't be too hard," I said out loud. But, with experience as a
guide, it was not without great trepidation that I opened the old box
and took a look inside. After all, I was about to perform open heart
surgery, indeed, a heart transplant, on a perfectly healthy patient.

First I removed all of my old cards. The ATI video, the I/O, the CD/ROM
interface, the extra card with the 16550 UART and laid them neatly on a
specially cleared wooden shelf (not on my metal desk like last time).

Well, these minitowers are nice, but the motherboard fits under the
drive bay frame. O.K. I thought, just remove the drive bay frame and
it'll be easy. Just a couple of screws to take out. But, NO! The frame
is held in place with permanent studs instead of screws. I'll have to
see if I can slide out the old board --remember I cracked the mother-
board last time. And I didn't even try to remove that one.

O.K. Lets just remove the plastic connectors that hold the board in
place. But they expand when the board is installed-- they have to be
crimped to fit through the bottom of the board. No problem, I have a PC
tool kit I got for $6.98 at CompUSA back when it was still
SoftWarehouse. But none of the tools are long enough, or strong enough.
And my fingers are not skinny enough (Neither am I, but that is another
story.) O.K. Now, what? I am just started and I can't even get the old
board out.

I called Ron. Ron doesn't know much about computers but he does know
circuit boards -- and he isn't intimidated by them. (See the November,
1994 story above. His soldering iron bailed me out that time.) Even
though it was Memorial Day and his family had other plans for him, he
was over within the half hour.

"Well," he said, after a few futile attempts to remove the plastic
holders. "We could break them off." I cringed. Then I remembered seeing
a plastic bag with new plastic pins in the box with the motherboard. So
we broke off the old plastic pins and tried to remove the board. But
there were also two screws that had to come out first. Then we carefully
slid out the old board from under the drive bay with two floppies, two
hard drives and a tape backup.

Although I had fallen asleep reading the manual there was one warning
that my benefactor had alerted me to. The first sentence said that the
voltage had to be 3.3 for the 486 CPU. The second sentence described
some jumper settings. Nowhere was there anything but a leap of faith to
indicate that the jumper settings would change the voltage, but we made
the leap.

So. Now Ron and I peered at the motherboard trying to find the right
jumpers. Eventually we thought we had. And they appeared to be set
correctly -- after all the previous owner had used the same CPU. But we
wouldn't really know until it was up and running ( - if - it got up and
running). Since those jumpers had been correct, we didn't fool with any
others. I could always change them later, I thought. They weren't as
critical as the voltage regulator.

Then we installed a new heat sink and fan (but only after realizing that
the black plastic around the CPU was the holder for the old fan and
could be (had to be) removed first.

Then we heard my wife calling, "Lunch is on the table." If Ron can't
resist helping with electronic problems, he really can't resist, good
bread, cheddar cheese, liver sausage and Dijon Mustard. So, even though
it was nearly time for the first of several barbecue parties his family
had been invited to that day, we left everything on my desk and headed
to the dining room. Soon, satiated but short of time, he had to leave
and I was back up stairs. We had removed the old heart. Now it was time
to replace it. Alone!!

Before I install it, I snap in all 20 meg of RAM from my old card. What
a breeze. I remember the first time I added RAM and the problems I had.
What a relief.

First thing to notice. The new board was at least an inch longer than
the old one. (There sure are a lot of jumpers hidden by that drive
frame...hope they are set correctly.) And I had to squeeze the new board
under that drive frame.

Well, to make a longer story shorter, I did. Then I found the new
plastic connectors and punched them into place. And then those two
screws. Ah!! I don't remember any nuts holding them in place from when I
took them out. And there are none in the bottom of the case or on my
desk or on the floor. Oh well, once I screw in all of the cards the
motherboard probably won't move anyway.

First, though, I connect the two power connectors. Which way do they go?
Oh well, take a guess.

Then I installed the video card (I decided to stick with my 16 bit 2 meg
ATI Turbo so I wouldn't have to fool with the video drivers for now.)
Then the I/O cards. A "new" 32 bit card for the floppies and the hard
drives and an old extra one for the modem and the printer. Then the
CDROM, the Soundblaster By now I have everything out of the box that
came in the mail. I am getting confused between the new cards and the
old ones. The neat, orderly, row of cards on the shelf is in disarray.

The time comes to plug it in. Heart in my throat, I plug it in. I turn
it on.

Nothing moves. I think I hear a slight whine... but nothing. NOTHING!!
Have I burned up the board. I know the RAM is in right. Then I look at
those power connectors. And at the diagram in the manual. They have
different numbers in the diagram. How was I supposed to know. White
raised plastic numbers on white plastic. Once you know, they are easy to
see. I had had enough trouble seating them without worrying about the
sequence.

I reversed them and try again.. VOILA!! It boots!! I hit delete and set
the CMOS (Yes, I had remembered to print out my CMOS info before
removing the old board.) I reboot. It boots but won't recognize the
drives. I check the CMOS. Replace the new I/O card with the old one.
Nothing... Then finally, I remove the connectors from the drives and
reconnect them exactly as they were. They must have come loose during
the install because now the machine boots and the drives come up.

This is what is called success!!

And many things are really much faster. I can actually read WindowWatch
Magazine in Adobe PDF format now. WordPerfect for Windows actually opens
in less time than I can smoke a cigarette. (I haven't smoked in years
but every time I load one of these new bloated new apps I want to again.
And until now, I have had the waiting time.)

I still have to solve some IRQ conflicts and have a little fine tuning
to go.

But thank you benefactor.

And to the rest of you. If I can do it, so can you. It's upgrade time.
Not to some P200 MMX machine but to something from just yesterday, that
will do the job.


                          +=+=+=+=+=+=+=+=+=+

Leonard Grossman is a lawyer who works for the government. He has many
interests which include computers and the Internet. Leonard has been
doing his column for WindoWatch from almost the beginning and developed
many friends and fans along the way. His many pages are linked to
<http://www.mcs.net/~grossman> Notes from a ModemJunkie. Leonard can be
reached at grossman@mcs.net




   ww page 19
  Bad Mojo: A Game Review
  


                     Copyright 1997 by Lynn Alford


Bad Mojo
Developer: Pulse Entertainment Inc.

Brief Description:

  The opening frames of the game show entomologist Roger Samms packing a
  suitcase getting ready to leave. He's interrupted by his landlord who
  demands the rent for the month. After the interruption, Roger suddenly
  remembers this odd necklace, and searches for it. But when he looks at
  it, a strange metamorphosis takes place. After that, you have control.

  You have a roach's view of the world. There are many dangers and
  obstacles in your path, which may prevent you from easily traveling
  around. As you explore, you reveal parts of the story by triggering
  events when you've solved puzzles. Other times, just stepping on or
  behind an item will reveal something. The environment is very
  realistic.

  Screens consist of photo-realistic backgrounds, your roach character
  appears to be an excellent animation and there are a few three
  dimensional images as well.

  The story is entertaining, some of the music is very good, and the
  acting is quite credible. The game does have some places where the
  next action may not be obvious, but the puzzles are fair enough.

  Exploration is necessary, and you have to take much more care in this
  game than a typical adventure game. Cockroaches are much easier to
  kill than most characters in an adventure game.


Game play and hints:

  This is definitely a save often game. The roach gets several lives,
  but they are quite easy to lose. Watch other roaches if they happen to
  be around. They may lead you to an important spot. They may also show
  you something to avoid, by dying in front of you.

  Watch out for stepping on anything potentially sticky. It's an easy
  and fast way to die. Water is merely a barrier, but there are a number
  of other fluids that block your path. A body of a roach is a good
  indication that the fluid is fatal, but there may not be a body for
  every deadly liquid.

  Hints in the game are given by a series of video sequences. Some of
  them are triggered if you step on a certain pattern when exploring
  your new world. Others are given after you've solved one puzzle to let
  you know where to go from there.


Hazards of the world:

  When you are a roach, there are many hazards in your world. Fluids, in
  general, block your progress. Some are very hazardous to your health,
  if you get stuck in those, you die quickly. Others are just a barrier.
  You may be unable to go forward, but you can retreat.

  Other hazards include some pipes that are too hot for you to survive,
  the pet cat and the rat king. You will be warned about the cat, you
  hear the low growl just before the paw reaches out for you. To avoid
  the rat king, you have to be observant.


Gripes about the game:

  Very minor really. I dislike games that demand 256 colour mode. I like
  to run at a higher colour resolution, and to make it even worse, my
  Windows 95 system must be rebooted to change colour modes. Plus, it
  can sometimes be difficult to work out where you are on the screen.

  Navigation can be very tricky. There are times when the path you must
  follow to survive is quite precise. There are other times when you may
  think you can go over or under some obstacle but can't.

  One of the clues that you occasionally get, is really for a later
  action in the game. It isn't obvious that the problem is simply a
  matter of time Placement. So you may well spend agonizing minutes
  trying to solve something that is unsolvable at the moment.
  Frustrating and a bit unnecessary.


Conclusion:

  Overall, the game is quite good. Well presented; nice music;
  reasonable Acting; and good game play. No hunting for pixels on the
  screen. You use the arrows keys, and not the mouse, to navigate.
  Timing puzzles aren't a real problem, but there was one puzzle that I
  thought could have used better hints on its solution. The place that
  you got stuck in was a bit on the disgusting side, so I don't think
  the game would be suitable for children or those with a weak stomach.

  The game does have two endings. You can either win or lose. By the
  time you reach this point, how to win is quite apparent.

  However, I also like to try losing games to see if that's
  entertaining. Sure enough, this one does have an engaging and
  different ending for two different things that you can do.


Some final thoughts on the game:

  It's an interesting premise, and the way it is done is excellent.


                          +=+=+=+=+=+=+=+=+=+

Lynn Alford is the WindoWatch games editor! A skilled HTML programmer,
she is the WebMaster for the Centre for Interactive Multimedia at the
John Cook University in Australia. Lynn can be emailed to
lynn.alford@jcu.edu.au Additionally, Lynn maintains Game Review pages at
http://www.jcu.edu.au/~imla/games2.html




   ww page 20
  THE LAST WORD
  



                      Copyright 1997 by Ben M. Schorr


  ***** article *****

   ww 

  EDITORIAL

  Editor:                        Lois B. Laulicht
  Contributing Editor:           Herb Chong
  HTML Editor:                   Gregg Hommel
  Ascii Edition Editor:          Lin Sprague
  NT 4 Editor:                   Linda Rosenbaum
  Games Editor:                  Lynn Alford
  Word Editor:                   Jack Passarella
  WebMaster:                     Daniel Christle
  Associate Editor:              Paul Schmidt

  Contributing Writers:          Stefan Assmann, John M. Campbell,
                                 Christopher Greaves, Leonard Grossman,
                                 Jon Helis, David Kindle, Jerry Laulicht,
                                 Tony Lima, Michelle Lundquist, Frank
                                 McGowan, Peter Neuendorffer, Jim Plumb,
                                 Ben Schorr, and Paul Williamson


  EDITORIAL BOARD                Herb Chong, Gregg Hommel, Lois Laulicht


  SUBMISSIONS and REQUESTS

  Email:                         editor@windowatch.com

                                 Editor: WindoWatch
                                 Valley Head, WV 26294


  Submissions remain the intellectual property of the author.
  Manuscripts will NOT be returned if not used.

  Electronic File Access:        All back issues are available from the
                                   WindoWatch homepage. See Back Issues or
                                   anonymous ftp site at:
                                 FTP://WindoWatch.com
                                 www.shareware.com -  Search under the
                                   "All  Windows" category
                               FTP>Simtel.Net/pub/simtel.net/win95/winwatch

  Comments, letters, and requests can be sent to editor@windowatch.com


  WindoWatch (c) 1994, 1995, 1996, 1997 all rights reserved, is the
  property of Lois B. Laulicht and CCC of WV Valley Head, WV 26294

  
  Vol.3 No.6 ww End


