(1 / 1)
Date: May 24, 1990 19:36
From: KIM::BRAD
To: @SYS$MAIL:EE
CC: BRAD
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.
May 24, 1990