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 personal computer 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 Unix 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 Microsoft Windows -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 (C) 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 device driver 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 operating system 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 process 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' 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.