throbber

`
`Ex. GOOG 1004
`
`EX. GOOG 1004
`
`
`
`
`
`

`

`SOFTWARE
`TOOLS FOR THE
`PROFESSIONAL
`PROGRAMMER
`
`1 2
`
`D·FLAl
`TURBO VISION
`
`~~~' ·
`
`Ex. GOOG 1004
`
`

`

`r. 0 s PROFESSIONAL
`D Dbb'~ TOOLS FOR THE
`
`J 0 U R N A L
`
`~
`
`graphics-MENU is
`a collection of
`libraries, CASE
`tools and utilities
`to enable the
`software
`developer to
`quickly create a
`professional
`Graphical User
`Interface for any
`application.
`
`available with the Genus
`GX version) .
`•Complete support for
`both mouse and
`keyboard.
`•Works with any font or
`video mode supported by
`the underlying graphics
`environment.
`•Choose native graphics
`variant to work
`standalone with your
`Borland or Microsoft
`compiler, or external
`graphics variant to work
`with MetaWindow or
`Genus GX graphics.
`
`•A graphics-MENU
`interface can contain
`windows, icons, menus.
`checked and scrolled lists
`of items, buttons, text
`edit window, data entry
`form menus & more.
`•CASE tools are included
`to provide an on-screen
`WYSIWYG design
`environment for creating
`some menu types with
`complete automatic code
`generation for the target
`compiler.
`•Extensive flexibility is
`
`available to change
`colors, sizes. and format
`of most items. Library
`source is available to
`allow total control when
`required.
`•Background tasking
`capability allows a
`graphics-MENU interface
`to be run with a real time
`application.
`•Memory utilization is
`conserved by using TPU's
`for Pascal and many small
`.OBJ files for C. EMS can
`be automatically used to
`automatically save the
`underlying graphics
`image. (Automatic
`storage to disk is
`
`•compilers
`•graphics
`environments
`
`BGI
`
`Turbo C
`Turbo C++
`Turbo Pascal •
`Microsoft C
`
`Microsoft( 6.0 Genus GX
`graphics MetaWindow
`graphics
`•
`
`•
`
`VICE PRESIDENT/ GROUP PUBLISHER
`Peter Hutcbinsou
`
`EDITORIAL
`EDITOR-IN-CHIEF j onathan E1icksou
`MANAGING EDITOR Monica E. Berg
`TECHNICAL EDITORS Michael Floyd,
`Ray Valdes, David Berz
`ASSOCIATE EDITOR Tami Zemel
`PRODUGnON EDITOR Seem Kei(J'
`CONTRJBUT ING EDITORS A I Steveus, jelf Dulllelllc/1111
`Tom Geueretw .?..·, Andrew Scb ulman, J11icbae/ Abrasb, '
`Ray Duncan
`EDITOR-AT-LARGE Michael Swai11e
`
`ART/PRODUCTION
`ART/ PRODUCTION DIRECTOR !.any L. Clay
`ART DIRECTOR Michael H ollister
`TECH NICAL DESIGNER Marcos lfell!llm
`DESIGN PRODUCTION SUPERVISOR
`Amy Sbulmau Lesovoy
`D ESIGN PRODUCTION ASSISTANT
`Cbarlene Ca!peutier
`COVER PHOTOGRAPHER M icbael Ca rr
`
`CIRCULATION
`ClllCULATION DIRECTOR Peter \Vesterma11
`ASSISTANT CIRCULATION DIRECTOR Ma11uy Sawil
`FULFILLl\>lENT MANAGER Auuejeau
`DIRECT MARKETING MANAGER]1111e E. Sml!elll
`PROMOTION COORDI NATOR Philip Tsang
`ClllCULATION BUSINESS MANAGER Adela Cbau
`
`ADMINISTRATION
`VICE PRESIDENT OF FINANCE Kate Deschamps
`CONTROLLER Mtll)' Collopy
`CREDIT MANAGER Belly AI>eue
`ACCOUNTING SUPERVISOR Renate Kemke
`ACCOUNTS RECEIVABLE \Veuc(J' H o
`ACCOUNTS PAYABLE LuA1111 Rock/ewilz
`
`MARK ETING/ADVERTISI N G
`ASSOCIATE PUBLISHER Karla Spomim lll
`ADVERTISING COORDINATOR Laura Stack Pulleu
`SALES/ MARKETING ASSIST. Che1y l Esc/amado Cauiou
`ACCOUNT MANAGERS see page 152
`
`M&T PUBLISHING INC.
`CHAIRMAi'l OF THE BOARD Otmar Weber
`DlllECTOR C. F. uou Q uad/
`PRESIDENT laird Foshay
`SENIOR VICE PRESIDENT/ MAGAZINES
`.f. Jlicha rd Peck
`
`DR. DOBB'S JOURNAL (USPS 307690) is published mo nth!)' b)'
`t\ I&T Publishing, Inc., 50 1 Ga lveston Dr., Redwood City, CA 9-i063;
`4 15·.366-3600. Sccond-d:1ss post:tge paid at Hedwo<x:l City :md at
`additio nal entry po ints.
`
`ARTIQ.E SUDI\USSIONS: Send n1.·muscripts :md disk (with ankle,
`listings, and letter to the edito r) to the associ:lte t:ditor 415-366-3600-
`
`DDJ ON COMPUSERVE, Tnx: GO DDJ.
`
`SUBSCRIPTION: $29.97 fo r I y~r; $56.97 for 2 yea rs. Foreign
`orders must he prepaid in U.S. fumls dr:.1wn on a U.S. Jxmk. Canacb
`and ~lexiro: $45.00 per year. All olher foreign : $70.00 per year
`
`POSTMASTER: Send address changes to Dr. Dobb 's .fourtwl,
`P.O .Bo x 56 188, llouldec, CO 80322-6 188. ISSN I 044-789X. GSf
`(Canada) I Rl24771239.
`
`CUSTOMER SERVICE: Fo r s ubscription questions, c dl toll-free
`800-456- 121 5 ( U.S. and Dnad:1). Fo r subscription orders o r change
`o f :1ddrcss (."all 303-447-93.30 (:11! ot her countries) o r write Dr.
`DoiJb 's Joumal, P.O. Box 56 188, Boulder, CO 80322-6 188. For
`book/software o rde rs call 800-533-4372 On Ca li fornia 800-356-
`2002). FAX 4 15-364-8630.
`
`FOREIGN NEWSSTAND DISTRIBUfOR: \Vo rldwide t\ lediJ Ser·
`vice Inc., 11 5 E. 23rd St., New York, NY 100 10; 212-420-0588.
`
`Entire co ntents copyright © 1991 by ~I&T Publishing. Inc., unl.ess
`othe rwise noted o n spt.x-ific anicles. All rights reserved .
`
`VISA and MASTERCARD accepted
`
`CIRCLE NO. 304 ON READER SERVICE CARD
`
`4
`
`Dr. Dobb 's ]oumal, December1991
`
`Ex. GOOG 1004
`
`

`

`The Design and Implementation of
`
`I e
`
`They're fast, easy, and self-revealing
`
`Don Hopkins
`
`A !though the computer screen is two-dimensional,
`
`today most users of windowing environments con(cid:173)
`trol their systems with a one-dimensional list of
`choices-the standard pull-down or drop-down
`menus such as those found on Microsoft Windows,
`Presentation Manager, or the Macintosh.
`This a1ticle describes an altemative user-interface technique
`I call "pie" menus, which is two-dimensional, circular, and
`in many ways easier to use and faster than conventional lin(cid:173)
`ear memis. Pie menus also work well with alternative point(cid:173)
`ing devices such as those found in stylus or pen-based sys(cid:173)
`tems. I developed pie menus at the University of Ma1yland
`in 1986 and have been studying and improving them over
`the last five years.
`During that time, pie menus have been implemented by
`myself and my colleagues on four different platforms: XlO for
`the uwm window manager, Sun View, NeWS for the Lite Tool(cid:173)
`kit, and OpenWindows for THE NeWS Toolkit. Fellow re(cid:173)
`searchers have conducted both comparison tests between pie
`menus and linear menus, and also tests with different kinds
`of pointing devices, including mice, pens, and trackballs.
`Included with this a1ticle are relevant code excerpts from
`the most recent NeWS implementation, written in Sun's ob(cid:173)
`ject-oriented PostScript dialect.
`
`Pie Menus Properties
`In their two-dimensional form, pie menus are round menus
`containing menu items positioned around the cursor-as op(cid:173)
`posed to the rows or columns of traditional linear menus.
`The menu item target regions are shaped like the slices of a
`pie, and the cursor staits out in the center, in a small inac(cid:173)
`tive region. The active regions are all adjacent to the cursor,
`but each in a different direction. You select from a pie menu
`by clicking the mouse or tapping the stylus, and then point(cid:173)
`ing in a pa1ticular direction.
`Although there are multiple kinds of pie menus, the most
`
`Don is a software engineer for SunSoft and can be contact(cid:173)
`ed at 88 Mercy Street, Mountain View, CA 94041.
`
`16
`
`D1: Dobb'sjournal, December1991
`
`Ex. GOOG 1004
`
`

`

`conunon implementation _uses the relative direction of the
`pointing device to determine the selection - as compared
`with the absolute positioning required by linear menus. The
`wedge-shaped slices of the pie, adjacent to the cursor but in
`different directions, correspond to the menu selections. Vi(cid:173)
`sually, feedback is provided to the user in the form high(cid:173)
`lighting the wedge-shaped slices of the pie. In the center of
`the pie, where the cursor starts out, is an inactive region.
`When a pie menu pops up, it is centered at the .location
`of the click that invoked it: where the mouse button was
`pressed (or the screen was touched, or the pen was tapped).
`The center of the pie is inactive, so clicking again without
`moving dismisses the menu and selects nothing. The circu(cid:173)
`lar layout minimizes the motion required to make a selec(cid:173)
`tion. As the cursor moves into the wider area of a slice, you
`gain leverage, and your control of direction improves. To ex(cid:173)
`ploit this property, the active target areas can extend out to
`the edges of the screen, so you can move the cursor as far
`as required to select precisely the intended item.
`You can move into a slice to select it, or move around the
`menu, reselecting another slice. As you browse around be(cid:173)
`fore choosing, the slice in the direction of the cursor is high(cid:173)
`lighted, to show what will happen if you click (or, if you
`have the button down, what will happen if you release it).
`When the cursor is in the center, none of the items are high(cid:173)
`lighted, because that region is inactive.
`Pie menus can work with a variety of pointing devices(cid:173)
`not just mice, but also pens, trackballs, touchscreens, and (if
`
`Dr Dobb's]ournal, December 1991
`
`you'll pardon the hand waving) data gloves. The look and
`feel should, of course, be adapted to fit the qualities and con(cid:173)
`straints of the particular device. For example, in the case of
`the data glove, the two-dimensional circle of a pie could be(cid:173)
`come a tlu·ee-dimensional sphere, and the wedges could be(cid:173)
`come cones in space.
`In all cases, a goal of pie menus is to provide a smooth,
`reliable gestural style of interaction for novices and experts.
`
`Pie Menu Advantages
`Pie menus are faster and more reliable than linear menus, be(cid:173)
`cause pointing at a slice requires vety little cursor motion,
`and the large area and wedge shape make them easy targets.
`For the novice, pie menus are easy because they are a self(cid:173)
`revealing gestural interface: They show what you can do and
`direct you how to do it. By clicking and popping up a pie
`menu, looking at the labels, moving the cursor in the de(cid:173)
`sired direction, then clicking to make a selection, you learn
`the menu and practice the gesture to "mark ahead" ("mouse
`ahead" in the case of a mouse, "wave ahead" in the case of
`a dataglove). With a little practice, it becomes quite easy to
`mark ahead even tlu·ough nested pie menus.
`For the expert, they're efficient because-without even
`looking-you can move in any direction, and mark ahead
`so fast that tl1e menu doesn't even pop up. Only when used
`more slowly like a traditional menu, does a pie menu pop
`up on the screen, to reveal the available selections.
`Most impmtantly, novices soon become experts, because
`every time you select from a pie menu,
`you practice the motion to mark
`ahead, so you naturally learn to do it
`by feel! As Jaron Lanier of VPL Re(cid:173)
`search has remarked, "The mind may
`forget, but the body remembers." Pie
`menus take advantage of the body's
`ability to remember muscle motion
`and direction, even when the mind
`has forgotten the corresponding sym(cid:173)
`bolic labels.
`By moving further from the pie
`menu center, a more accurate selec(cid:173)
`tion is assured. This feature facilitates
`mark ahead. Our expetience has been
`that tl1e expert pie menu user can eas(cid:173)
`ily mark ahead on an eight-item menu.
`Linear menus don't have this proper(cid:173)
`ty, so it is difficult to mark ahead more
`than two items.
`This property is especially impor(cid:173)
`tant in mobile computing applications
`and other situations where the input
`data stream is noisy because of factors
`such as hand jitter, pen skipping,
`mouse slipping, or vehicular motion
`(not to mention tectonic activity).
`There are particular applications,
`such as entering compass directions,
`time, angular degrees, and spatially re(cid:173)
`lated commands, which work partic(cid:173)
`ularly well with pie menus. However,
`as we'll see further on, pies win over
`linear menus even for ordinaty tasks.
`
`Pie Menu Flavors
`There are many possible flavors or vali(cid:173)
`ants of pie menus. One obvious vari(cid:173)
`ation is to use semicircular pie ("fan")
`menus at the edge of the screen.
`
`17
`
`Ex. GOOG 1004
`
`

`

`PIE MENUS
`
`Secondly, although the usual form of pie menus is to use
`only the directional angle in determining a selection, there
`is a variant of pie menus which offers two parameters of
`choice with a single user action. In t\1is case, both the di(cid:173)
`rection and the distance between the two points are used as
`parameters to the selection. The ability to specify two input
`parameters at once can be used in situations where the in(cid:173)
`put space is two-dimensional.
`For example , in a graphics or word processing applica(cid:173)
`tions, a dual-parameter pie menu will allow you to specify
`both the size and style of a typographic font in one gesture.
`The direction selects the font style from a set of styles, and
`the distance selects the font size from the range of sizes. An
`increased distance from the center corTesponds to an increase
`in the size of the font. Visual feedback can be provided to
`the user by making a text sample swell or shrinl< dynami(cid:173)
`cally as the pointer is moved to and fro. Direction and dis(cid:173)
`tance can be continuous or discrete, as appropriate.
`A minor variation in the use of pie menus is whether you
`click-and-drag as the menu pops up, or whether two clicks
`are required: one to make the menu appear, another to make
`the selection. In fact, it's possible to support both.
`Other vatiants include scrolling spiral pies, rings, pies with(cid:173)
`in square windows, and continuous circular fields. These
`variants are discussed in a later section.
`
`Pie Menu Implementations
`As mentioned earlier, several pie menu implementations ex(cid:173)
`ist, including: XlO, SunView, and two NeWS implementa(cid:173)
`tions (using different tooll<its).
`I ftrst attempted to implement pie menus in June 1986 on
`a Sun 3/160 running the XlO window system by adding them
`to the "uwm" window manager. The user could clefme nest(cid:173)
`eel menus in a ".uwrnrc" file and bind them to mouse but(cid:173)
`tons. The default menu layout was specilled by an initial an(cid:173)
`gle and a radius that you could override in any menu in which
`labels overlapped. The pop-up menu was rectangular, large
`
`enough to hold the labels, and had a tide at the top.
`Then I linked the window manager into Mitch Bradley's
`Sun F01th, to make a Forth-extensible window manager with
`pie menus. I used this interactively programmable system to
`experiment with pie menu tracking and window manage(cid:173)
`ment techniques, and to administer and collect data for Jack
`Callahan's expetiment compating pie menus with linear menus.
`In January 1987, while snowed in at home, Mark Weiser
`implemented pie menus for the Sun View window system.
`They are featured in his reknowned "SDI" game, the source
`code for which is available free of charge.
`I implemented pie menus in round windows for the Lite
`Toolkit in NeWS 1.0 in May 1987. TI1e Lite Toolkit is imple(cid:173)
`mented in Sun's object-oriented PostScript dialect, and pie
`menus are built on top of the abstract menu class, so d1ey
`have d1e same application interface as linear menus. There(cid:173)
`fore, pie menus can transparently replace the default menu
`class, turning evety menu in the system into a pie, without
`having to modify other parts of the system or applications.
`Because of the equivalence in semantics between pie
`menus and linear menus, pies can replace linear menus in
`systems in which menu processing can be revectored. Both
`d1e Macintosh and Microsoft Windows come to mind as pos(cid:173)
`sible candidates for pie menu implementations. Of course,
`for best results, d1e application's menu items should be ar(cid:173)
`ranged with a circular layout in mind.
`My most recent implementation of pie menus runs under
`the NeWS Tooll<it, the most modern object-oriented toolkit
`for NeWS, shipped with Open Windows, Version 3. The pie
`menu source code and several special-purpose classes, as
`well as sample applications using pie menus are aU available
`for no charge.
`
`Usability Testing
`Over the years, there have been a number of research pro(cid:173)
`jects studying the human factors aspects of pie menus.
`Jack Callahan's study compares the seek time and error
`
`Momenta's Command Compass
`A Pie Menu by any Other Name
`0 ne implementation of a pie menu was recently an(cid:173)
`
`a.tticle. If Momenta succeeds in its endeavor, pie memts will
`join pull-down and linear menus as mainstream user(cid:173)
`irtterface components.
`
`-editors
`
`nounced by Momenta Corporation, a Silicon Valley
`startup developing a "pentop" computer. (A "pentop"
`PC supports bod1 keyboard and pen input.) The Momen(cid:173)
`ta Computer is a dual-mode system that can run standard
`MS-DOS programs or programs written for the "Momenta
`Environment," a Smalltalk/V-based environment that sup(cid:173)
`potts the pen. Central to the Momenta Environment is a
`system-wide pie menu the company refers to as the "Com(cid:173)
`mand Compass."
`The Command Compass operates consistently across aU
`Momenta Environment applications (notepad, spreadsheet,
`sketchpad, and so on) by allowing users to manipulate
`(move, copy, cut, paste, and so on) text or graphical ob(cid:173)
`jects that have previously been defined. Some operations
`can therefore be performed in a single stroke. As Bgure 1
`illustrates, for instance, you can quickly move a block of
`text by defining it, calling up dle Command Compass, mov(cid:173)
`ing the stylus duough the "move" wedge and on to the
`"move-to" position, and releasing the pen.
`The figure shows that Momenta's menus are a visually
`faithful in1plementation of pie menus as described in this
`
`18
`
`• Appointment calen'$-r, featuring daily, weekly
`and monthly views, reCllfFing.~ppointments,
`alarms and other automated func,tions.
`
`• Address book wit~
`~ r; \
`'~Jr-fu~ction (+,-,/}
`• Calculators, bot~
`and a sophisti~tt ~lculator.
`• Chart Maker. 1 coo/~;~:~ed creation
`
`of presentations ~ds.
`
`Figure 1: Momenta's pie menu implementation
`
`Dr: Dobb's]oumal, December 1991 -
`
`Ex. GOOG 1004
`
`

`

`Unprecedented 32-Bit
`ogramming Power in a Singl
`ge: WATCOM C8
`
`\
`
`.
`
`.
`
`R~~tY~fr~'~ .. ~2,~hit ~OS
`· .·

`· ·
`Extend~r .
`True 32-bit Windows ·:
`G:ill Application l\.it ·
`Fast, Tight, Reliable .
`· 32-hit Code Optimizer
`Licensed Microsoft
`WmdowsSDK
`Components
`Interactive Source-Level
`Debugger
`
`·,
`
`I
`
`. '
`
`.
`
`1~0% ANSI and SM cmhpatible:·
`C8.5 /386 passeS' ali Plum .Hall Validation
`Suite tests.
`':..

`. '

`Comprehensive tool set includes a
`.debugger, li!].ker, profiler and much more.
`Microsoft extensions simplify porting of
`16-bit source.
`DOS extenders supported include
`Phar Lap, Rational and Ergo.
`Extensive third party support includes
`products to help with windowing,
`communications, C++ development and
`graphics.
`AutoCAD AD~ development and
`debugging support .
`DOS Extender Features
`C8.5/386 includes DOS/4GW, a 32-bit
`DOS extender developed by Rational
`Systems and based on the industry(cid:173)
`leading technology of DOS/16M, Key
`features include: ·
`• Royalty-free runtime license
`• Virtual memory support up to 32Mb
`• 25K real mode memory footprint
`• DPMI support (DOS, Windows DOS
`Box, etc.)
`•
`• VCPI and XMS (himem.sys) compatible
`
`32-hit Windows Kit
`Develop and debug true 32-bit GUI
`applications and 32-bit DLL's. Using
`32-bit addressing, CUI applications can
`exploit the flat memory model to
`overcome inherent Windows memory
`constraints. Straightforward memory
`allocation makes Windows application
`development easier. Key components
`include:
`• Supervisor for executing 32-bit
`applications and DLI~s under Windows
`• Debugger for 32-bit applications and
`DLI.:s under Windows
`• Licensed Microsoft SDK components
`• Access to Windows API from 32-bit
`code through special libraries
`• 387 math co-processor emulation
`• 32-bit C library for Windows
`
`• 100% ANSI C Optimizirig Compiler
`Tools set compo~ents:
`.
`.
`• Ero~ected-mode verSion of Compiler
`• Royalty~ free DOS Extender with VMM
`support • Licensed Components of the .
`Microsoft Windo\'vs SDK • Interactive
`Source-Level Debugger • Linker
`• Protected-mode version.ofLinker
`• Profiler • Object Code Librarian
`• Object Code Disassembler • MAKE
`.
`Facility • Patch Facii.ity • Object Module
`Convert Utility • Wmdows Supervisor
`• Bind Facility for Windows Applications
`~· 386 Run-time library object code
`• Special32-lllt libraries for Windows API
`• 386 Graphics Library for ~tended DOS
`applications • 386 Run-time libraries for
`Windows

`Also available:
`WATCOM FORTRAN 771386
`Includes 100% ANSI FORTRAN
`optimizing compiler and all tool set
`components listed above for CS.S/386.
`Platforms
`Host environments:
`DOS, Extended DOS, Windows DOS
`box, OS/2 Ll or later
`Target environments:
`Extended DOS, Windows, Windows
`DOS box, AutoCAD ADS, embedded
`systems
`Novell's Netware C for NLM's includes
`C8.5/386
`Price: $995
`1-800-265-4555
`
`WAT~=~E:~
`
`415 Phillip Street, Waterloo, Ontario, Canada
`N2L 3X2 Tel. (519) 886-3700 Fax (519) 747-4971
`
`WAlCOM C and Lightning Device are trademar1<s of WATCOM
`Systems Inc. DOS/4G and DOS/16M are uademarl<s of Ratiooal
`Systems Inc. Other trndcmarks are the properties of their respective
`owners. c Copyright 1991 IVATCOM Products Inc.
`
`Ex. GOOG 1004
`
`

`

`PIE MENUS
`
`(continued from page 18)
`rates in pies versus linear menus. There is a hypothesis known
`as Fitts's law, which states that the "seek time" required to
`point the cursor at a target depends on the target's area and
`distance. The wedge-shaped slices· of a pie menu are all large
`and close to the cursor, so Fitts's law predicts good times for
`pie menus. In comparison, the rectangular target areas of a
`traditional linear menu are small, and each is placed at a dif(cid:173)
`ferent distance from the statting location.
`Callahan's controlled experiment supports the result pre-
`
`In their two-dimensional form, pie
`menus are round menus
`containing menu items positioned
`around the cursor- as opposed to
`the rows or columns of traditional
`linear menus
`
`dieted by Fitts's law. Three types of eight-item menu task
`groupings were used: Pie tasks (Notth, NE, East, and so on),
`linear tasks (First, Second, Third, and so on), and unclassi(cid:173)
`fied tasks (Center, Bold, Italic, and so on). Subjects with lit(cid:173)
`tle or no mouse experience were presented menus in both
`linear and pie formats, and told to make a cettain selection
`from each. Those subjects using pie menus were able to
`make selections significantly faster and with fewer errors for
`all tluee task groupings.
`The fewer the items, tl1e faster and more reliable pie menus
`are, because of tl1eir bigger slices. But other factors contribute
`to their efficiency. Pies with an even number of items are
`symmetric, so the directional angles are convenient to re(cid:173)
`member and atticulate. Cettain numbers of items work well
`with various metaphors, such a clock, an on/off switch, or
`a compass. Eight-item pies are optimal for many tasks: They're
`symmetric, evenly divisible along vettical, horizontal, and di(cid:173)
`agonal axes, and have distinct, well-lmown directions.
`Gordon Kuttenbach carried out an experiment comparing
`pie menus with different visual feedback styles, numbers of
`slices, and input devices. One interesting result was that
`menus with an even number of items were generally better
`than those with odd numbers. Also, menus with eight items
`
`Graphical User Interface for DOS,
`386 PROTECTED MODE, and UNIX.
`
`Outstanding aesthetics, adaptable,
`and definitely developer-friendly.
`
`Includes 4 case tools: Dialog Box Editor,
`Menu Editor, Icon Editor, and Font Editor.
`
`Over 1 ,000 pages of documentation, plus
`on-line version of manuals using UpShot.
`
`Versions for MetaWindow, Flash Graphics, GSS.
`Pricing starts at $325 for DOS, NO Royalties.
`
`Free Demo!
`303-494-8865
`
`''Highly recommended."
`Andrew Binstock
`The C Gazette
`
`1145 Ithaca Drive, Boulder, Colorad
`BBS 303-494-8868
`TEl -303-494-8865
`FAX 303-494-7802
`CIRCLE NO. 286 ON READER SERVICE CARD
`
`20
`
`Figure 2: Eight days a week pie menu
`
`Dr. Dobb'sjournal, December 1991
`
`Ex. GOOG 1004
`
`

`

`that "System Architect stood out from many other
`prospects because it had the best core technology."
`System Builder called System Architect "truly a price/
`performance leader."
`
`.::;_r.rvi r.t:s
`
`lli>l!lrll rn Ujr.liumuy S t:! S ~l c ~ l f!ll fy l~el
`
`POPKIN
`Software & Systems Inc.
`11 Park Place, NY, NY 10007
`Tel: (212) 571-3434
`Fax: (212) 571-3436
`
`Work in the Windows 3.0
`environment, or OS/2 Presen(cid:173)
`tation Manager (call for
`availability), and count on
`context-sensitive help.
`Stay within your budget. At
`$1,395, System Architect is
`quite affordable-- and it runs
`on almost any PC.
`
`Call (212) 571-3434 today for
`introductory 35% off optional
`Database Schema Generator.
`Supports DB2, Oracle, INGRES, OS2, Sybase,
`SOL Srvr, RDB, Progress, Paradox, SOL Base,
`AS400(SOL), XDB, and lnformix.
`
`SystemArchitect
`
`System Architect has the power to handle
`your most complex applications. And it's so
`easy to use, even beginners will be produc-
`tive in no time.

`Use such methodologies as
`DeMarco /Yourdon, Gane
`& Sarson, Ward & Mellor
`(real-time), Entity Relation
`diagrams, Decomposition
`diagrams, Object Oriented
`Design (optional), State
`Transition diagrams, &
`Flow Charts.
`Create an integrated data
`dictionary/encyclopedia,
`and get multi-user support
`both with and without a
`network.
`Take advantage of such advanced features as:
`•Normalization
`•Rules & Balancing
`•Requirements Traceability
`•Network Version
`•Import/Export Capability
`•Custom Reporting
`• Extendable Data Dictionary
`• Auto Leveling
`Rely on a proven CASE product. System Architect
`has received rave reviews from the press and users.
`IEEE Software Magazine called System Architect "a
`useful, well-planned, affordable CASE tool." CASE
`Trends found System Architect "to be extremely easy
`to use .. .. . with many features that are completely
`lacking in higher priced competitors." Toshiba found
`CIRCLE NO. 321 ON READER SERVICE CARD
`
`MICROSOFT
`WINDOWS
`
`\m~oW11UC.• I IJ\l!lli:f"nU.x:1
`
`II
`
`Supporting IBM's AD/Cycle
`
`System Architect Jogo is a trademark of Popkin Software & Systems Incorporated. Other
`product names used herein are for identification purposes only and may be trademarks of
`their respective companies. Price shown valid only for USA & Canada. Price and specifica(cid:173)
`tion.s subject t? c~a.nge without notice at the sole discretion o! the co~1pa ny. Product delivery
`subJect to availab1hty. Please call for the name of the nearest mternahonal distributor.
`
`Ex. GOOG 1004
`
`

`

`PIE MENUS
`
`(continued from page 20)
`were especially fast and easy to learn, because of their pri(cid:173)
`maty and secondaty compass directions. Another result of
`Kurtenbach's experiment was that, with regard to speed and
`accuracy, pens were better than mice, and mice were better
`than trackballs.
`The "Eight Days a Week" menu shown in Figure 1 is a
`contrived example of eight-item symmet:Iy: It has seven items
`for the days of the week, plus one for today. Monday is on
`the left, going around counterclockwise to Friday on the right.
`Wednesday is at the bottom, in the middle of the week, and
`'the weekend floats above on the diagonals. Today is at the
`top, so it's_always an easy choice. THE NeWS Toolkit code
`that creates this pie menu is shown in Listing One (page 94).
`
`Pie Menu Disadvantages
`The main disadvantage of pie menus is that when they pop
`up, they can take a lot of screen space due to their circular
`layout. Long item labels can make them very large, while
`short labels or small icons make them more compact and
`take up less screen space.
`The layout algorithm should have three goals: to minimize
`the menu size, to prevent menu labels from overlapping, and
`to clearly associate labels with their directions. It's not nec(cid:173)
`essaty to confine each label to the interior of its slice- that
`could result in enormous menus. In a naive implementation,
`you might use text labels rotated around the center of the
`pie. But rotated text turns out not to work well, because it
`exaggerates "jaggies." This is hard to read without rotating
`your head, and doesn't even satisfy the goal of minimizing
`menu size.
`One '""e"ful l'yout policy I've Implemented ju,hfi"' f[
`
`Front!
`Icon! \I Zoom!
`(Pus h) ::::: < (Crab)
`Paint! I\ (Frame)
`Back!
`
`(
`
`Figm·e 3: A nested pie menu
`
`Why invent the wheel a second time?
`
`Paragraph
`alignment:
`
`left
`
`Font
`attributes:
`Tabulator
`bold
`italic
`types:
`right
`underline
`left
`right ~ j u s t i f i e d
`:~~er script
`centered
`- for all printer fonts I
`decimal
`I
`
`centered
`
`Just use our TX library to integrate a full featured WYSI(cid:173)
`WYG editor into your application.
`
`Get your free demo today.
`Just send a fax or a message
`via CompuServe (1 00013, 115).
`
`DBS GmbH
`FahrenheitstraBe 1
`2800 Bremen 33
`Germany
`Phone 01149 421 I 22 08-162
`01149 421 I 22 08-150
`Fax
`
`Windows is a trademark of Microsoft Corporation
`
`DBS
`
`CIRCLE NO. 650 ON READER SERVICE CARD
`
`.•. With lmageMan™!
`
`lmage.Man is the first and only object-oriented Windows library that
`puts advanced image display and print capabilities in your software:
`• Supports TIFF, PCX, Encapsulated Postscript, Windows
`Metafile and Bitmap images
`• Reduces Development Time
`• Simplifies Image Support With Object-Orientation
`• Works With Any Language That Supports DLLs
`• Reconfigures Easily
`• And Much, Much More!
`Image.Man gives your applications the power and the polish they
`need to break through the market clutter and get noticed.
`Start projecting the right image - get ImageMan now!
`Call (800) 868-8003
`
`Price: S395 (With Source Code $995)
`90 Day Money-Back Guarantee
`
`I D T II 1000 Business Center Drive • Suite 120
`
`Savannah, Georgia 31405 • (912) 651 -8003
`•
`•
`OA,HC«NOQ!NS ONC FAX (91 2) 651-8021. BllS (912) 651-8015
`
`22
`
`CIRCLE NO. 604 ON READER SERVICE CARD
`
`Dr. Dobb's]oumal, December1991
`
`Ex. GOOG 1004
`
`

`

`OPEN INTERFACE
`
`PORTABLE GRAPHICAL
`USER IN·TERFACES
`ACROSS ALL VVINDOVVING
`STANDARDS
`
`NEURON CATA
`
`Neuron Data Open InteJface"' is an object-oriented, C based,
`extensible development tool with a layered API and graphic editor
`that lets you create your user interface once, and have it work
`across all standard windowing environments. Your applications
`will support native look and feel across OSF/Motif, Open Look,
`Presentation Manager, Microsoft Windows and the Macintosh.
`All without changing a line of code.
`
`Call today and ask for seminar information. You will also receive
`product literature and a free comprehensive technical paper.
`1-800-876-4900 #467 NEURON DATA, 156 University Avenue,
`Palo Alto, CA 94301 415-321-4488
`CIRCLE NO. 602 ON READER SERVICE CARD
`
`Ex. GOOG 1004
`
`

`

`PIE MENUS
`
`(continued from page 22)
`each label edge within its slice, at an inner radius big enough
`that no two adjacent labels overlap. To delimit the target ar(cid:173)
`eas, short lines are drawn between th~ slices, inside the cir(cid:173)
`cle of labels, like cuts in a pie crust.
`One solution to the problem of pie menus with too many
`items is to divide up large
`menus into smaller, logically re(cid:173)
`lated submenus. Nested pies
`work quite well, and you can
`mark ahead quickly through sev(cid:173)
`eral levels. You remember the
`route through the menus in the
`same way you remember how
`to drive to a friend 's house: by
`going clown familiar roads and
`malting the correct turn at each
`intersection.
`Another alternative is to use a .
`scrolling pie menu that encom-
`passes many items in a spiral but
`only displays a fLxecl number of them at once. By winding
`the cursor around the menu center, you can scroll through
`all the items, like walking up or down a spiral staircase.
`
`Other Design Considerations
`When you mark ahead quicldy to select from a familiar pie,
`it can be annoying if the menu pops up after you've already
`fmishecl the selection, and then pops clown, causing the screen
`to repaint and slowing clown interaction. If you don't need
`to see the menu , it shouldn't show itself. When you mark
`ahead, interaction is much quicker if the menu display is pre(cid:173)
`empted while the cursor is in motion, so you never have to
`

`Although the .computer screen is
`two-dimensional, .today most users
`' d
`'
`'
`t
`J
`OJ Wtn OWtng envzronmen S
`l h ·
`· h
`contra t ezr systems wzt a one-
`dimensional list of choices
`
`stop and wait for the computer to catch up. If you click up
`a menu when the cursor is at rest, it should pop up im(cid:173)
`mediately, but if you press and move, the menu should not
`display until you sit still. If you mark ahead, selecting with a
`smooth continuous !'notion, the menu should not displ

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket