BYTE West Coast

Microsoft Windows A mouse with modest requirements by Phil Lemmons The desktop metaphor and the computers, on the other hand, are that brought us MS-DOS promises a mouse present attractive concepts, unlikely to buy a Lisa or Visi On un­ mouse-and-window show running but Apple's Lisa or IBM's PC XT run­ til more software is available. Apple's off two 320K-byte floppy disks and ning Visi On exceeds the budget of own software for Lisa is magnificent, 192K bytes of RAM. (More RAM is the average user. but other applications programs are required, of course, with each addi­ Both of these systems require a hard only now emerging. Visicorp is mak­ tional application.) To make Micro­ disk and great quantities of RAM ing a major effort to induce program­ soft Windows even more attractive to (random-access read/write memory). mers to write more for Visi On, but personal computer users, Microsoft Although the mouse itself is a small the requirement of a develop­ promises to price Windows "as an part of the expense, it is a symbol of ment system is an obstacle to the operating-system component'~that this approach to software, and some smaller software houses and in­ is, inexpensively. computer users have been heard to dependent designers. The expense The economics of Microsoft Win­ mutter, ''What price mice?" underlying the Unix development dows will also appeal to program­ Another factor keeping down the system is the hardware required to mers. Programmers don't need to mouse population has been the run it-once again, lots of memory buy special hardware or to learn Unix shortage of things for them to point and a hard disk. in order to develop software that runs at (or the shortage of applications This keeps most of us staring at the under -they can software). Until there is a large in­ MS-DOS or CP/M command line and use their own IBM Personal Com­ stalled base of Lisa and Visi On sys­ hoping that a sudden fall in the puters. Moreover, programmers can tems, many software authors will prices of RAM and hard disks will take advantage of the ability to forgo the expense of developing ap­ open the way to metaphors and mice. customize windows so that each soft­ plications programs for these sys­ With the introduction of Microsoft ware house retains its own distinct tems. Prospective buyers of personal Windows, however, the company look within the Microsoft environ-

_= ______------M- -IIC-8o--______"icl'Osoft BIlSIC Uersion 5.28 . [/IS-DOS Uersionl . CoP'Jri ght 1977-1983 () I.y Mi crosott Creattd: 24-11a9-83 62259 Bytes tree Ole

( OIIMA~D : ~O ?~ D~ I e t e Goro HIIp Ha., OptlO OS QUII Run COMIAKD: CoP':j Dflete Coto Help ~ Options Quit Run U, ndo w Windo. \' l ~ (t opti on or t~l" co •• an.l I, I ~ t Select option o~ type cOllWld letter )15110n Conrrol Sess i on Con trol

Photo 1 Photo 2

48 December 1983 © BYfE Publications Inc. Device-Independent Graphics Output for Microsoft Windows by John Butler What makes it possible for Microsoft The GO! Abstract Device put/get/move bit maps. Windaws to output graphics to different The design of th e abstract device ulti­ -Attribute Primitives. These primitives devices-printer/plotter devices as well as mately detemlines the types of devices the describe something about the appearance bit-mapped screens-without changing the system can talk to and to what degree the of the output primitives. Each output graphics code? system will be device independent. To primitive has a set of appearance com­ Microsoft Windaws works with a device­ define the abstract device for GOl, Micro­ mands, including size, color, and style. The independent graphics system called Graph­ soft included graphics commands from the filled-output primitives (those defining ics Device Interface, or GO!. GOI consists current ANSI-VOl (American National closed areas, such as polygon and circle) of graphics routines that provide the in­ Standards Institute-Video Display Inter­ take on additional attributes for the color terface between programs that want to face) standard for drawing on plotting and style of the interior. Attribute draw images and different output devices. devices . The raster frame-buffer class of primitives are also provided for using color The graphics calls from these programs are device was included by adding the graphics translation tables and doing high-quality not specific to any device. GOI mediates functionality from IBM Personal Computer text. between the graphics calls and the actual BASIC. A screen-dump facility and addi­ -Viewing Primitives. These primitives devices. The calling program may be an tional raster support provide hard copy and control clipping, relative or absolute coor­ operating-system extension like Microsoft animation capabilih;. GOl's abstract device dinates, and absolute sizing of images (to Windaws or an application program writ­ can support any of the usual graphics sub­ inches or meters). They define the border ten in a high-level language. routine libraries (for example, SIG­ to which output primitives will be clipped. The design of a device-independent GRAPH/ACM CORE, ISO GKS, Plot-10) The viewing primitives also map coor­ graphics system like GOI begins with the as applications. dinates from the logical to the definition of an abstract device. The abstract physical device driver and from one coor­ device is the collection of all the functions The Graphics Primitives dinate space to another, and thelj set up The language of the abstract device is that ultimately will be performed by the the resolution of the logical coordinate made up of "primitives." The primitives actual graphics devices. (For example, space. are the calls to the graphics functions avail­ "draw a circle" or "change hatch style" -Inquiry Primitives. These primitives able at the lowest level of GOl-the level would be functions for devices to perform.) return information to the application pro­ of the logical-device driver. Thelj are de­ When a function is called, GDI takes the gram about the current attributes, view­ scribed functionally as follows: function parameters, in abstract-device ing pipeline, and control flags from the terms, and passes them to a logical-device -Control Primitives. These primitives ini­ logical-device driver. driver. A logical-device driver is the soft­ tialize, terminate, and clear the device. ware that translates abstract-device func­ -Output Primitives . These primitives GOI provides a language that applica­ tions into a sequence of device-specific ac­ result in the appearance of an actual im­ tion programs can use to create images. tions. These actions (communicated age on a graphics device. Included are An application program can create images through a physical-device driver) result in move, mark, polymark, line, polyline, without knawing about the characteristics the appearance of graphics on the device. polygon, rectangle, circle, arc, text, and of the output device.

ment. The same enlightened attitude Microsoft Windows in any Microsoft transfer mutually acceptable to the enabled Microsoft to resist the temp­ programming language. two applications, with plain ASCII tation to reserve Windows as an en­ (American National Standard Code vironment for its own applications Running Microsoft Windows for Information Interchange) as the programs. Microsoft is making Win­ Photos 1-13 show a sequence of last resort. dows available to a number of appli­ operations in Microsoft Windows. The "session-control layer" be­ cations software houses, including The photos on pages 52-53 show a comes the equivalent of the empty some major competitors. variety of machines whose manufac­ desktop where you can manipulate Microsoft Windows is an installable turers have adopted Microsoft Win­ files. The available commands appear device driver under MS-DOS 2.0 dows as an applications environment. near the bottom of the screen. Nor­ using ordinary MS-DOS files. Com­ During normal use, Microsoft Win­ mally, Microsoft Windoyv's will restore plete compatibility with MS-DOS dows displays one or more windows, the desktop to the state at the time means that Windows will at least let each with a different application. You of its last use. In photo I, we start you run any application that runs can move the cursor from one win­ from scratch. under MS-DOS. In the worst case, dow to another. You can move win­ To see the available applications Windows will turn the full display dows, change their size, scroll, get programs, you either use the mouse over to an MS-DOS application and help appropriate to the context in to position the cursor on the com­ return you to your place in Windows. which you are working, and transfer mand "Run" or type the letter "R:' "Language bindings" will enable pro­ data among windows. Windows Windows lists all the applications grammers to write software for determines the highest level of data programs as commands, and you

December 1983 © BYTE Publications Inc. 49 lIicl'Oso( t ///lSIC Version 5.28 [/IS-DOS QersionJ CePYl'ight 1977-1983 (el by Microsoft Cruted: 24-May-83 62259 Bytes tHe Ok

C,*UIli: ~P'.I Dtlete Goto Hel p ~ Opt ions Quit 1:!'qi1 Window ~ Sflec t option 01' ty pe cOMlldJl d letter . I SeSSl on Cen t ro

Photo 3 Photo 4 point at the desired program and it doesn't do everything through MS­ The smart program is Microsoft click the mouse to run it. You could DOS system calls, sometimes going Word. Photo 6 shows two applica­ also type the appropriate letter beyond the to write tions-Word in the upper window instead. directly to hardware addresses such and Multiplan in the lower; both In photo 2, BASIC 86 is running in as those of screen memory. Microsoft these programs were written to take a large window extending the full Windows can't run such a program in advantage of Microsoft Windows. width of the desktop. Because BASIC a window and must give it the entire Because the cursor is pointing at one 86 does all its input/output through. screen. That is why photo 4 does not of the cells in the Multiplan spread­ MS-DOS, it can run in a Window. sheet, the command bar at the bot­ Microsoft calls such software "co­ tom of the screen shows Multiplan's operative:' The bottom of the screen Certain programs can't commands. You can move either win­ shows the commands available in the use the multiple­ dow by grabbing its title bar with the session-control layer. You can use the window feature. mouse. You could "grow" either win­ session-control layer to run another dow by grabbing the "grow box:' Al­ program in parallel with BASIC 86. though these photos show the title The first step toward running a pro­ show the session-control layer bar at the top of the window and the gram is shown in photo 3, where the beneath the display of "Piano." grow box at the lower right, software cursor points at "Run." Microsoft Photo 5 shows the transition from developers can put them elsewhere Windows will now display a list of the uncooperative program to a if desired. the programs available. "smart" one that can live happily in (In fact, Microsoft's own standard Photo 4 shows the next application a smaller window and share the window has changed since these selected. In this case, the program screen with other programs that take photos were taken. The latest version that's run is "uncooperative'~that is, full advantage of Microsoft Windows. provides a question mark on the right

2 3 4 S Januil'!l re~l'IIiI'!I lluch Apri I Sal es $2_.11 $211211.11 $2i41i2, II $296112 .112

COMAHD : Alpha Blank Copy Dflete Edit fo,,"at Goto Sort QUI t Insert Lock itove Ha~ Options Print Help Xt.rn.! Ualue ~indo w Transfer ~1tip l an: RlC! l00"/. fref lluillplan :

Photo 7 Photo 8

50 December 1983 © BYTE Publications Inc. ",ut !irIC r

COIWIND: Alpha CoP'j DelHe Ext !nd ForMa ! Gali!~ Help Insert COIIIIIiHD: Alpha Bl ank CoP'j Delete Edi t fOrMat Coto Sort QUit La ~ou! Options Print ~ indo w Rep lace Search Irans!e!' QU I t Insert Lock IIove Halle Options Print Help Xternal Ualue ~ i ndow Transfer {} WoN: P1Cl 19Q'~ free I\tl tiplan:

Photo 5 Photo 6 part of the title bar. Selecting the on the screen to the applications that menu for the charting program. question mark brings help informa­ are running.) Pointing at the PEN command on the tion. If you put the cursor on the title Photo 9 shows a charting program command bar at the bottom of the itself, it is replaced by little pictures occupying a large window at the screen has brought the display of the that represent what you can do with right-hand side of the screen. With menu of pen sizes and patterns. You the window. The new version also in­ the cursor in that large window, the select sizes and patterns by using the cludes a status line at the top of the command bar at the bottom of the mouse to point at one of the boxes screen and an area for icons at the screen lists charting commands. Note shown in each list, then pointing at bottom.) the "OK" box (see photo 12). As with In photo 7, Multiplan's window has other aspects of the Microsoft Win­ been enlarged to show more cells and Microsoft Windows dows displays, programmers can re­ more data, and Microsoft Word's can rescale graphics if design menus to their own taste. window has been reduced as neces­ desired. Photo 13 shows the graph dis­ sary. played in accordance with the in­ Photo 8 shows both the Multiplan structions entered- with a 4 by 4 window and the Microsoft Word that when the window containing pixel-pen size and a gray shading. window reduced. (Since photo 8 was the charting program is expanded by The graphics capabilities of Microsoft taken, Microsoft Windows has been moving the title bar and grabbing the Windows owe much to the device-in­ adapted to use an automatic resizing grow box, the line graph has been dependent graphics system de­ called "tiling:' Rather than automatically rescaled (see photo 10). scribed by John Butler in the text box letting windows overlap or leaving Microsoft Windows can rescale "Device-Independent Graphics Out­ part of the desktop empty, Microsoft graphics if desired. put for Microsoft Windows" on page Windows always gives all the space Photo 11 shows a sample "pop up" 49.

Heuristic reasoning is reason- ing not regal'le M, We are of ten 9hl iged to us e heuristic PLAN 11 2 \ 1 January 2 3 Sal es S28991i,1iII 4 5 Cost 6 Material S4QQIi,1iII1 COINHD: Alpha Delete Ent~ fOl'l\at Gallery Help Insert List COIN HD : Alpho Delete Ent~ fOl'l\at Gallery He lp Inmt List QUit Prin t List Transler Pen QUI t Print List Tran sfer Pe n Chart : 1 de signed for: Screen 100"1. fN'e C!wl : Cwt:l designed for : SCN'en l00'~ fre e Chorl:

Photo 9 Photo 10

December 1983 © BYTE Publications Inc. 51 Some machines that run Microsoft Windows

IBM Personal Computer

;---R------, , ____ I DEC

Hewlett-Packard 150 L======~::.J Rainbow 100

Apple He / Rana Drive Bytec System Hyperion with 8086

Eagle PC Burroughs B20

52 December 1983 © BYTE Publications Inc. Compaq Portable Zenith Z-100

Texas Instruments Professional Computer

Wang Professional Computer

A package from Radio Shack, not to be opened before December 1

Computer Devices Dot

Columbia Data Products MPC Portable

December 1983 © BYTE Publications Inc. 53 Conclusions Pen Size Pen Pattel'O Microsoft Windows seems to offer • 1*1 • Black I OK \ remarkable openness, reconfigurabil­ ity, and transportability as well as LJ 4*4 Gray o iCiltIC D. ! modest hardware requirements and 8*8 pricing. As a result, the desktop metaphor and mouse, intended to bring computing power to nontech­ nical people, are finally going to reach the hands of many such peo­ ple. Barring a surprise product in­ troduction from another company, Microsoft Windows will be the first large-scale test of the desktop meta­ COMMAHD : AI~lIa Dele te [n tl'!l fO Mlat Galle l'!l He lp In mt List phor in the hands of its intended QUi t Pl'int List Trans( er P ~ . users. Chart: 1 designed (or : Scr€eO 100'1. free Chart : It is natural to wonder whether Microsoft Windows' ability to run in limited memory and off floppy disks Photo 11 will result in noticeable delays dur­ ing execution. Even Lisa with its Pen Size Pe n Pa Hero megabyte of memory and 68000 r-or-' ,. ? ! H!l 0 Black microprocessor frequently asks the • 4*4 • Gray ICiltICD. ! user to wait. Is the ease of use worth 8116 the waiting? Will Microsoft Windows somehow ingeniously avoid the problem of delays? The answers to these questions will shape the future of mass-market software. The open approach and the pre­ sentation of Microsoft Windows as an extension of MS-DOS 2.0 will help at­ tract the horde of programmers nec­ COMMAHD: A I ~lIa De le te En tl'!l rOMlat Ga l lel'!l Help Inse rt Li st essary to assure acceptable execution Quit Pl'int List Transfer Pen speeds on the IBM, Pc. Just as Chart:1 desi gned for: Screen 100'1. Free Chart: enough programmers working long enough on enough different ap­ proaches have made the Apple II per­ Photo 12 form feats that once seemed incredi­ ble, enough programmers working long enough on different approaches will make applications run fast under r Microsoft Windows on ordinary ./ hardware. Even if this judgment I proves mistaken, Microsoft's policy of openness and low pricing will have made possible a major experiment in I mass-market software. For many soft­ ware authors as well as users, this will be the first chance to test an ap­ proach to the user interface that has hovered just beyond reach for several years .• COIIIAHD : A11'lIa Delete [ntl'!l rO Mlat Ga ll el'!l Hel p In sert List QUI t Pl'in t List Transfer Pen Char t: 1 de s i gned (01' : Scree n 100'1. Free Chart: Phil Lemmons, BYrE's West Coast Bureau Chief, can be reached at McG raw-Hill, 425 Batten) Sf., Sa n Francisco, CA 94111. Photo 13

54 December 1983 © BYTE Publications Inc.