atari email archive

a collection of messages sent at Atari from 1983 to 1992.

First Impressions: Windows 3.0

(1 / 1)


I downloaded this from BIX.  If you're interested in the new MS WINDOWS
release read on.  If not, you might as well delete this message now.

==========
microbytes/features #261, from microbytes, 24552 chars, Tue May 22 18:31:40 1990
----------
TITLE:  FIRST IMPRESSION: 3's The One

Windows 3.0 Carries DOS Into The 1990s

by Jon Udell


Users of DOS PCs rejoice! Windows 3.0 will breathe new life
into your machine. Microsoft has bundled a graphical
environment, a suite of desktop applications, a DOS program
switcher, a Windows multitasking executive, a V86
multitasker, and a virtual memory manager into a single
package. Windows has long aspired to change the face of DOS
computing--not just for Excel or PageMaker addicts, but for
the rest of us. A year ago that transformation seemed
unlikely. Today it appears inevitable. Windows 3.0 finally
consummates the Windows/DOS marriage. That's good news
for the 386 crowd, and great news for the silent majority:
286 owners who've lately been made to feel they've bought an
Edsel.

Windows 3.0 runs in three modes: real, standard, and 386
enhanced. When you type WIN at the DOS command line,
Windows scopes out the local hardware configuration and
starts up in the appropriate mode: real on an 640K-byte XT or
AT, standard on an AT with at least 256K of extended memory
or a 386 with less than a megabyte of extended memory, and
386 enhanced on a 386 with more than a megabyte of
extended memory. All modes share the same radically
improved graphical interface, and enhanced suite of Windows
desktop applications. Standard mode adds the ability to run
Windows 3.0 applications in 286 protected mode--that is,
with direct access to up to 16 megabytes of extended
memory. 386 enhanced mode adds more: Preemptive
multitasking of DOS programs running in V86-based virtual
machines, and demand-paged virtual memory.

You can override the default startup behavior--for example,
you can type win /r  to start Windows 3.0 in real mode on a
286 or 386. And to run an existing Windows/286 or
Windows/386 application, that's just what you'll have to do.
Windows 3.0 is fundamentally a DOS extender. The
DOS-extended programs that it can execute--Windows 3.0
applications--must abide by the same laws that
govern all protected-mode applications. That means, among
other things, that a program can't write to a code segment,
perform segment arithmetic, compare segment addresses, or
load a segment register with a value other than one provided
by the operating system. 

Most existing Windows applications--and virtually all the
major ones--will require a tune-up in order to comply with
Windows 3.0. But the associated trauma won't be as severe as
you might think. Even ordinary DOS applications in general
port readily to DOS extenders. Windows programs, written to
a far stricter API that was designed with protected mode in
mind, find the transition even easier. Moreover, Windows
developers have been working with 3.0 for months; many have
already completed their ports. At least one shipping
application, Word for Windows, won't even require an
upgrade--it's already 3.0-compatible.

The New Windows Desktop

By design, the Windows desktop closely resembles that of
OS/2 1.2. And yes, that means that like PM, Motif, and
NextStep, Windows offers what seems to have become the
sine qua non of the modern graphical user interface: Buttons
shaded to create a three-dimensional effect. But there's a far
more significant enhancement. Both PM and Windows support
child windows that run as windows or as icons within the
boundaries of a parent window, sharing its menu bar. You can
see two examples of this behavior in the photo. Both the File
Manager (similar to OS/2 1.2's File Manager) and the Program
Manager (Windows 3.0's primary shell) contain child windows
in active and iconic states. 

I've yet to see another Windows 3.0 application that exploits
this technique (which IBM's Common User Access style guide
calls the multiple document interface, or MDI) as fully as File

Manager and Program Manager do. But the new SDK includes an
MDI code skeleton, and I hope many applications will adopt
this style. Other GUIs' window systems pale by comparison.
They limit you to a single top-level desktop. Windows 3.0
(like OS/2 1.2) supports a hierarchy of desktops. Each records
the arrangement of windows and icons running in support of a
task. You can collapse the whole aggregation into a top-level
icon, thus sweeping away a huge amount of visual clutter.
And you can recall the task with all its associated context
at a single stroke. Here's a practical way to manage a dozen
tasks, each with one or more windows--even on a standard
VGA screen.

You interact with Windows and DOS by way of five key
desktop applications: File Manager, Program Manager, Task
List, Control Panel, and Print Manager. File Manager, like its
OS/2 counterpart, views disk drives as an outline processor
does. Its primary child window presents a directory tree; you
single-click on nodes to show or hide their descendants.
Double-click on a directory node, and File Manager opens a
new child window that lists the files in that directory. You
can opt for an iconic or textual display, sorted in a variety of
ways. As with the old Windows MS-DOS Executive, you can
select and launch DOS or Windows applications directly, or
indirectly by way of documents associated with applications.
New conveniences include the ability to copy and move files
and subtrees using the mouse, to invoke an application by
"dragging and dropping" a compatible document onto its icon,
and to search for files.

File Manager and Program Manager

If you inspect the photo carefully, you'll see that File
Manager knows that the highlighted drive icon represents a
network drive. (The same holds true for CD-ROM drives.)
That's just a glimpse of Windows 3.0's network awareness. It
goes much further. The product provides extensive hooks for a
variety of networks--including MS-NET, Lan Manager,
NetWare, and VINES. When you install Windows 3.0 in the
presence of one of these networks, it loads a corresponding
driver. (NetWare users take note: You'll also need to update
your network shell components by way of NetWire or the
Novell hotline.) The network driver provides many
conveniences. From File Manager, for example, you can
execute Connect Net Drive. It provides a graphical interface
to MS-NET's NET USE, NetWare's MAP, or whatever command
your network uses for this purpose. With Browse, you can
look through the list of available servers and mounted
volumes for the drive to which you want to connect. The
specific form that this dialog takes will, again, vary
according to your network.

File Manager, like the Macintosh Finder, is fundamentally a
disk organizer. Program Manager works quite differently; it's
a task organizer. If you prefer the disk-oriented approach,
you can make File Manager the primary shell; just open
WIN.INI and specify shell=winfile.exe. But Windows 3.0
defaults to the Program Manager, and for good reason. Its
elements are groups and program items. Groups are child
windows that contain iconic program items which, in turn,
refer to applications and optionally to associated documents.
But when you create groups, add program items, and copy or
move program items between groups, you're not manipulating
the applications or documents themselves. You're
manipulating pointers to them. The added flexibility takes
some getting used to, but it's extremely useful.

You link program items to applications by way of Program
Manager's Properties dialog. Here you supply an application's
command line: A .EXE (Windows or DOS executable), .PIF
(Program Information File that tells Windows how to allocate
resources for a DOS program), .COM, or .BAT file, along with
command-line arguments if required. Unless you declined the
offer, the Windows setup program will have scanned your
local (and network) drives and created program items for all
the DOS applications for which Windows provides predefined
.PIFs.

Like File Manager, Program Manager can tile or cascade its
active child windows, and arrange those running as icons. You
can select and activate any group window or group window
icon from a list. And you can minimize any group window, or
minimize Program Manager itself.

Task List, Control Panel, Print Manager

Task List pops up when you double-click on the desktop, press
CTRL-ESC, or choose Switch To from any window's control
menu. It can tile or cascade top-level windows, arrange
top-level icons, enumerate tasks, switch to a task, or kill a
task. Incidentally, the several mouse and keyboard procedures
for starting Task List typify Windows 3.0. Like its
predecessors, and despite its greater complexity,
Windows 3.0 operates quite nicely under keyboard control. No
one will want to use the product without a mouse, but power
users will appreciate the dozens of keyboard shortcuts. 

The Control Panel provides a suite of configuration tools.
Some of the tasks you can perform here include: Reset the
desktop colors; install or remove printer and screen fonts;
attach to an alternate network server; configure
communications ports; install and configure printers; specify
multitasking settings for 386 enhanced mode. In the

Colors dialog, you can switch to an alternate desktop color
scheme, or invent your own. The Ports dialog repairs one
longstanding deficiency: At last Windows itself supports
XON/XOFF flow control.

The Printers dialog illustrates another facet of Windows'
new network awareness. Once you've specified a port (say,
LPT1) and a printer (say, HP LaserJet), you can browse
network print queues and connect the port to a queue that
supports your selected printer. Windows intelligently offers
to bypass the local spooler and print directly to the network
queue. With earlier versions of Windows, you had to disable
spooling entirely in order to use network queues. Now you can
configure spooling on a per printer basis.

Print Manager handles both local and network queues. Even
when you bypass the Windows spooler to print straight to a
network queue, you can use Print Manager to monitor the job's
progress. Local queues display only jobs printed from
Windows applications, but network queues--thanks to the
intervention of the network driver--list all your print jobs.
By default, a network queue won't list other users' jobs, but
you can ask to see the complete list and (again depending
on the specific capabilities of your network and its Windows
driver) you can even browse network queues to which you're
not connected.

The desktop applications offer extensive online help. Like
OS/2 1.2, Windows 3.0 documents itself hypertextually and,
in its SDK, provides tools and protocols that enable
applications to follow suit. The Windows 3.0 applications I've
seen do take advantage of the help engine, which lends a nice
consistency to the environment. I particularly like the way
the help system enables users to annotate online
documentation.

Wide Open Spaces

As I write these words, I'm running Windows 3.0 in 386
enhanced mode on a 20Mhz, 4MB, 80386-based Gateway 2000. Task List
reports that I'm running FoxBASE (in a virtual DOS machine),
Epsilon (in another virtual DOS machine), five Windows 3.0
desktop applications (File Manager, Program Manager,
Paintbrush, Terminal, and Notepad), and three additional
Windows 3.0 applications (Microsoft's Excel, Samna's
Ami Professional, and Asymetrix' Hypercard-like ToolBook).
CHKDSK, which I ran in each of the two DOS sessions,
reported 477K bytes of free DOS memory--scarcely less than
the 486K bytes available to DOS after I booted and loaded my
network drivers, but before I launched Windows. Meanwhile,
Program Manager reports more than 10 megabytes of free
Windows memory. How can this be? Well, DOS multitasking
based on the V86 mode of the 80386 processor is nothing
new. But add protected-mode Windows applications running in
extended memory with access to virtual memory, and you're
really pushing out the envelope.

It's a different story on a 286--but not too different. On the
DOS side, you substitute program switching for DOS
multitasking, you give up hardware protection, and you get
somewhat less DOS memory. Running Windows in standard
mode on a 1-megabyte Compaq 286e, I found that a
secondary DOS session saw 44K bytes less free memory than
did the boot session. On the Windows side, you give up virtual
memory. Yet although standard mode appears limited when
you compare it to 386 enhanced mode, it legitimizes the 286
in a way that no other software product ever has. You can
still run multiple DOS applications reasonably, side by side
with Windows applications. And those Windows applications,
using as much extended memory as you care to install, will
really be able to stretch their legs. 

DOS extenders come in two flavors. 286 extenders, such as
Rational Systems' DOS 16/M, break through the 640K memory
barrier, enabling programs to run in extended memory on a
286 or 386. But they still form addresses with 16-bit
offsets, and so can't manipulate data objects larger than 64K.
386 extenders, such as Phar Lap's 386|DOS-Extender, also
break the 64K segment barrier. They run only on a 386, but
can form addresses with 32-bit offsets and so present a
``flat'' 4Gb address space to applications. Windows 3.0 is a
286 extender. It runs programs in extended memory, but even
on a 386 those programs don't see the flat address space
characteristic of Phar Lap, Unix, or OS/2 2.0. To manipulate,
for example, very large bitmaps, Windows 3.0 programs must
still resort to the huge memory model which "tiles"
segments.

Although Windows 3.0 does offer 386-specific features--V86
multitasking and demand-paged virtual memory--the 80286
is its true target platform. And while the 64K segment limit
may be inconvenient, the 640K limit has been Windows' ball
and chain. That's gone now, and both 286 and 386 users will
reap the benefits. Existing Windows applications, once
converted, will enjoy what amounts to a free lunch. And
developers who just couldn't contemplate working in
real-mode Windows will think much harder about developing
for Windows 3.0.

Living With Windows 3.0

Like many people, I've always thought of Windows as an
application launcher, not a working environment. I'm no fan of
DOS shells; the ones I've tried feel like straightjackets. But
the notion of a dual environment in which DOS and Windows
applications coexist was always alluring. And so with each
successive version of Windows, I've put the WIN command
into my AUTOEXEC.BAT, just to see how long it could survive
there. Earlier versions of Windows never lasted more than a
day. This one's a keeper. For the first time, the Windows/DOS
coexistence entails relatively few compromises. DOS
sessions see more memory than in previous versions of
Windows--in standard mode as well as in 386 enhanced mode.
Even more important to me, access to network services
removes what had been a major obstacle to sustained use of
Windows. For example, Windows used to simply reject a
message sent over a network. Now it fields the message and
presents it in a Windows alert box. The only major
sacrifice--and this will be a problem for many users--is that
you can't use protected-mode memory managers like QEMM
and 386Max with Windows 3.0's standard or 386 enhanced
modes.

Some of the things I've learned about Windows aren't new to
3.0. Like Windows/386, Windows 3.0 supports cut-and-paste
operations between windowed DOS programs and Windows
applications. One evening, while connected to BIX by way of
Windows Terminal, I used the BIX search command to
generate a list of messages. The next step was to reformat
the message numbers as a comma-separated list, and feed
that list to the FILE command. I copied the SEARCH output
from Terminal's buffer to the Clipboard, pasted it into my
DOS text editor, built a macro to reformat the numbers, and
pasted the result back into Terminal. 

What's new--to me, anyway--isn't the cut-and-paste feature
itself, but the opportunity to use it. You'd never load Windows
just to cut and paste between applications. And you'd never
load it just to run one of its accessories: Notepad, Write,
Terminal, Paintbrush, Calendar, Calculator, and Cardfile. But
if you establish the Windows desktop as your working
environment--and 3.0 makes that eminently practical--you'll
find that it has a lot to offer. 

I've always used Notepad for quick text-editing tasks in the
Windows environment, but now I find Write perfectly
adequate for memos and correspondence. Paintbrush, derived
from ZSoft's PC Paintbrush, operates in color and improves in
many other ways on the old Windows Paint program. Since it
supports both .PCX and .BMP (Windows bitmap) formats, it
serves as a gateway between DOS- and Windows-based image
processing programs. 

Terminal now handles binary file transfers; while not a
"full-featured" telecommunications program (there's no
scripting capability), it's nevertheless quite useful. The new
Calculator adds a scientific mode. It supports trigonometric
and statistical functions, and can operate in binary, octal,
and hexadecimal number systems. Even Cardfile--a sort of
rolodex that can store scraps of text and (black and white)
images--turns out to be surprisingly handy. Like the Mac's
Scrapbook, Cardfile holds a persistent collection of clipboard
items. 

Raster Rainbows

Right out of the box, running on a standard VGA display,
Windows 3.0 looks more colorful than its predecessors.
Tasteful use of color has much to do with that impression.
Although you can change the desktop's color scheme, you'll be
hard put to come up with a better one. But there are also
more colors to work with. Earlier versions of Windows could
use just eight of the sixteen pure colors available in the VGA
640x480x16 mode; Windows 3.0 uses them all.

Behind the scenes, there's a whole new color architecture
waiting to be exploited. The new Windows API defines 1-, 4-,
8-, and 24-plane device-independent bitmaps. These formats,
compatible with OS/2 color bitmaps, extend the device
independence that Windows applications enjoy to the realm
of color imagery. Hardware color capability, not Windows
itself, becomes the limiting factor. 

To support color-intensive Windows applications, the new
API also defines a set of palette-management functions.
These facilitate orderly arbitration among applications
competing for the use of a limited supply of colors. An
application can define a list of colors that it requires, in
order of importance. When it runs in the foreground, the
application gets first choice of the colors available in the
system palette. Background applications contend for the
remaining colors; they receive consideration in reverse order
of activation. If the system palette runs out of free colors,
Windows maps some or all of their requests to the closest
colors already in use, taking each application's specified
color priorities into account. 

Windows reserves a pool of 20 static colors; that's the
default palette used for window titles, menu bars, and other
standard desktop elements. That means most applications
won't need to concern themselves with the intricacies of palette 
arbitration. And on a 16-color VGA display, it's not even an issue. 
But as Windows 3.0 drivers for more capable video boards arrive, and 
as Windows applications begin to exploit 256 and more colors, the 
palette manager will come into its own. Video Seven and 8514/A
drivers do come in the box, by the way. But most users of
better-than-VGA display hardware will have to wait a while
to find out what Windows 3.0 can really do with color. 

Running DOS Applications

When you run DOS programs under Windows 3.0, standard and
386 enhanced modes correspond closely to Windows/286 and
Windows/386. In standard mode, DOS programs run fullscreen
and uninterrupted. You can have one or more DOS sessions;
each swaps to disk when you switch away from it. Standard
mode does improve on Windows/286 in several ways. There's
more memory for DOS programs because Microsoft has
dropped a little-used feature of Windows/286--the ability to
window "well-behaved" applications. And Program Manager
and Task List make it easier to find and switch to your DOS
applications.  Windows 3.0's 386 enhanced mode, like
Windows/386, creates a powerful hybrid environment. The
Windows session, within which Windows applications
multitask cooperatively, itself multitasks preemptively with
one or more virtual DOS machines. A DOS program can run
fullscreen or in a window; ALT-ENTER toggles between the
two display modes. You can window textual and (with
restrictions) graphical displays. 

Each virtual machine inherits and can customize the boot DOS
session. Since the original TSR memory hit propagates to all
virtual machines, it's best to start lean--for example, with
just network drivers--and load extras on a per-session basis.
There's no AUTOEXEC.BAT for virtual machines, but you can
use .PIF files, in conjunction with .BAT files, to tailor DOS
sessions for specific purposes.  

The 386 enhanced mode outclasses Windows/386 in several
respects. Virtual memory enables you to run more DOS
sessions. And you've got greater control over how those
sessions multitask. A Windows/386 .PIF file offers three
options. Foreground means run only in foreground, while
background tasks run concurrently. Background means run in
foreground or background, while background tasks run
concurrently. Exclusive means run only in foreground, and halt
all other tasks. Windows 3.0 preserves and extends these
options. You can adjust each DOS task's (or Windows' own)
foreground and background timeslice. A new form of
the exclusive mode gives a DOS task all the cycles it wants
while active, but enables Windows to switch away from it
when idle. When there's an interrupt pending to a virtual
machine, Windows temporarily boosts its priority to
maintain crisp keyboard response. And in special cases, you
can speed up a DOS program by locking its EMS, XMS, or
conventional memory.

Virtual machines require virtual devices. Windows provides
drivers for the basic ones--disk, video, keyboard--but you
might run into a problem with a less common device. For
example, my floppy-controller-based tape drive won't work
with Windows 3.0 in 386 enhanced mode, so I can't run tape
backups in the background. 

What about DOS-extended programs? For now, you have to
drop down to standard mode to run 286 DOS-extended
programs like Lotus 1-2-3 release 3, and to real mode to run
386 DOS-extended programs like IBM Interleaf Publisher. But
there's hope of better things to come. The DOS extender
companies are working hard to comply with the new DOS
Protected Mode Interface (DPMI), which will enable Windows
3.0 (or any other "DPMI server") to multitask protected-mode
applications. It sounds even scarier than VCPI (Virtual
Control Program Interface), but the current popularity of DOS
extenders and the likely success of Windows 3.0 will
probably make DPMI a reality.

The OS/2 Killer?

Has Microsoft committed corporate fratricide? Yes and no.
Windows 3.0 addresses, and satisfies, many pressing needs.
Rarely does an operating system upgrade render existing
hardware so much more useful. 3.0 will delight longtime
Windows fans, and win many new converts. Developers are
flocking to the platform, in some cases shifting their focus
from OS/2's Presentation Manager to Windows. The Windows
momentum that has been building for the last year or so is
about to become a tidal wave.

But scratch the elegantly polished surface, and you'll still
find creaky old DOS. OS/2 really is much better. Its
multithreaded architecture, 32-bit programming model, High
Performance File System, and rich Graphical Programming
Interface should, eventually, earn it the respect it deserves.

Windows 3.0 could be the best thing that ever happened to
OS/2. It's ideally positioned to draw huge numbers of DOS
users into the realm of GUI-based multitasking. Many will
remain happily within the Windows fold. As client/server
applications evolve, the Windows 3.0 client
workstation--communicating with servers running OS/2 or
its competitors--seems destined to become an important
industry standard. But power users who yearn for a better
foundation under the graphical desktop will find the move
from Windows to OS/2 quite natural.

In the meantime, on both technical and strategic grounds,
Windows 3.0 succeeds brilliantly. After years of twists and
turns, Microsoft has finally nailed this product. Try it. You'll
like it. 
Message 1 of 1

May 24, 1990