`(11) Patent Number:
`United States Patent
`Apr. 19, 1994
`[45] Date of Patent:
`Bronson
`
`
`19)
`
`US005305435A
`
`[54] COMPUTER WINDOWS MANAGEMENT
`SYSTEM AND METHODFOR SIMULATING
`OFF-SCREEN DOCUMENT STORAGE AND
`RETRIEVAL
`Inventor: Barry Bronson, Saratoga, Calif.
`[75]
`[73] Assignee: Hewlett-Packard Company, Palo
`Alto, Calif.
`21] Appl. No.: 57,938
`57,
`May7, 1993
`
`Appl.
`[1]
`{22] Filed:
`
`No.:
`
`[56]
`
`Related U.S. Application Data
`[63]
`Continuation of Ser. No. 554,237, Jul. 17, 1990, aban-
`doned.
`[52] Unt. CLS cacccccsccssscsssessensssstessect Goor 15/62
`
`[52] U.S. Ch wee
`... 395/159; 395/157
`[58] Field of Search ..........cccsecsseecees 395/155, -161;
`340/712-713, 723, 709-710; 345/119-121, 901
`References Cited
`U.S. PATENT DOCUMENTS
`sevens 395/158
`4,555,775 11/1985 Pike wee
`
`a 395/157
`4,653,020
`3/1987 Cheselkaet al.
`.
`
`sees 395/159
`4,712,191 12/1987 Penna..............
`
`4,769,636 9/1988 Iwamiet al
`w. 395/158 X
`
`4,780,709 10/1988 Randall.........
`vesveee 345/120
`
`4,783,648 11/1988 Hommaet al.
`...
`
`. 345/120
`-- 395/158
`4,819,189 4/1989 Kikuchi etal. ..
`4,831,556
`5/1989 OOO ...cssecccsessensenssvesenscesees 395/157
`
`eee 51000 Banal ™
`“ 305/190 X
`
`5,060,170 10/1991 Bourgeois et al. ............... 395/157
`
`5,107,443 4/1992 Smithet al. ................. 395/158
`5,140,677
`8/1992 Fleming et al. ............ 395/157 X
`
`,
`
`5,140,678
`
`8/1992 Torres sevsssssssesssssssssesnrsen 395/159
`OTHER PUBLICATIONS
`Seybold, “Windows 30”, Andrew Seybold’s Onlook on
`Professional Computing, May 1990, p. 1 (4).
`Seybold et al., “Doing Windows”, Andrew Seybold-
`*Outlook on Professional Computing, May 1990, p. 6
`(3).
`McMullenetal., “Microsoft Introduces Windows3.0”
`,
`Newsbytes, May 24, 1990.
`Microsoft Windows User’s Guide, vol. 3.0, Microsoft
`Corp., 1990, pp. 5-76.
`Carman, Chip, “Tip Sheet”, Mac User, Jul. 1988, pp.
`125-130.
`Petzold, Charles, “Introducing the OS-2 Presentation
`Manager”, PC Magazine,
`Jul.
`1988, pp
`”,
`ine, Jul. 1988,
`pp. 379-389.
`Primary Examiner—Heather R. Herndon
`Assistant Examiner—John E. Breene
`[57]
`ABSTRACT
`A novel computer display interface which simulates
`familiar document handling activities based upon a
`unique display metaphor representative of a standard
`.
`°
`office filing system and workarea of a desk. The display
`system includes multi-windows whichare displayed in a
`central screen area designated for just active computer
`windows. Theinterface further includes designating the
`edge areas of the screen for displaying window tabs of
`inactive windows. The windowtabs are arranged in a
`way to simulate an integrated filing system, and to pro-
`vide a convenient method of organizing and viewing
`Computerfiles.
`
`10 Claims, 13 Drawing Sheets
`
`36°
`
`34
`
`J
`
`
`
`
`x
`El
`
`Fa
`
`APPLICATION PROGRAM XYZ
`oe
`
`71
`
`x
`
`
` APPPROGABC
`
`
`
`;| Oa
`
`
`
`
` -_ AGES
`
`FILECABINETS
`
`
`FINANCIAL
`
`CALENDAR
`
`UTILABC
`
`
`UTILITY ABC
`
`
`
`
`
`as
`
`1
`
`APPLE 1012
`
`1
`
`APPLE 1012
`
`
`
`USS. Patent
`
`Apr. 19, 1994
`
`Sheet 1 of 13
`
`5,305,435
`
`UTILITYABC
`
`DOCUMENTAAA
`
`FIG.1
`
`oO
`
`
`
`APPLICATIONPROGRAMXYZ
`
`WINDOWL
`
`a< =<oo
`
`Ooca z 9-< 9-oa<
`
`2
`
`
`
`U.S. Patent
`
`Apr. 19, 1994
`
`Sheet 2 of 13
`
`5,305,435
`
`ot
`
`8h
`
`bz_dz
`
`
`
`vvvLNSWNSOdZZzZTis
`
`9zZe
`
`
`
`jivia[82OaVALin
`
`vb
`
`¢Old
`
`3
`
`
`
`
`U.S. Patent
`
`Apr. 19, 1994
`
`Sheet 3 of 13
`
`5,305,435
`
`FIG.3
`
`28'
`
`
`
`DOC}DOCUMENTAAA
`
`UTILITYABC
`
`PROGRAMABC
`
`N>x =<c©Ocaz Qb
`
`e< LJo
`
`O
`oa
`<
`
`WINDOWL
`
`APPLICATION
`
`4
`
`
`
`U.S. Patent
`
`Apr. 19, 1994
`
`Sheet 4 of 13
`
`5,305,435
`
`PROGRAMXYZ
`APPLICATION
`
`10
`
`
`
`FILE222
`
`
` 36’
`UTILITYABC
`UTILABG
` APPLICATION
`PROGRAMABC
`
`FIG.4
`
`5
`
`
`
`U.S. Patent
`
`Apr. 19, 1994
`
`Sheet 5 of 13
`
`5,305,435
`
`FIG.5
`
`©a<>-=__
`
`UTILABC
`
`FILE2ZZ
`
`6
`
`
`
`U.S, Patent
`
`Apr. 19, 1994
`
`Sheet 6 of 13
`
`5,305,435
`
`FILEZZZ
`
`ae8
`
`FIG.6
`
`UTILABC
`
`oO
`
`a< =<ag
`
`UTILITYABC
`
`o
`Oo
`ce
`
`a z 9-< Qo
`
`t
`oO
`
`a<
`
`7
`
`
`
`U.S. Patent
`
`Apr. 19
`
`, 1994
`
`Sheet 7 of 13
`
`5,305,435
`
`ZOld
`
`JIVAWA
`
`SLANIGV
`3d
`
`
`
`ZAXWYHDOddNOILVONI1ddv
`
`St
`
`O8Y DOud ddV
`
`VW] Ok
`OEVALTULN 2
`
`8
`
`
`
`
`
`
`U.S. Patent
`
`Apr.
`
`19, 1994
`
`Sheet 8 of 13
`
`5,305,435
`
`
`
`ZAXWVYDOkdNOILLVOHddvV
`
`0€
`
`91
`
`OL
`
`222Alla
`
`aud
`
`22Z
`
`VW]
`
`WV
`
`8Old
`
`9
`
`
`
`
`
`
`UTILITYABCEtFINANCIAL APPLICATION
`
`y=e
`
`WINDOWL
`
`UTILABG
`
`PROGRAMABC
`
`$30V1d
`
`ALENDAR
`
`10
`
`U.S. Patent
`
`Apr. 19, 1994
`
`Sheet 9 of 13
`
`5,305,435
`
`FIG.9
`
`”u
`
`w Sa |aW
`
`w zc
`
`o<©L
`
`s|S
`
`uaNavosta||SuaNavosta|
`
`10
`
`
`
`U.S. Patent
`
`Apr. 19, 1994
`
`Sheet 10 of 13
`
`5,305,435
`
`0€
`(3PTf|GMOGNIM|7MOGNIM21
`
`22ZAid
`
`Als
`
`Z22ZZ
`
`OLDid
`
`oagvLA
`
`OVALITLN
`
`YVONFIV
`
`WIONVNIA
`
`
`
`
`
`ZAXWVHDOudNOILVONIddV
`
`ot
`
`Ot
`
`ve96
`
`11
`
`11
`
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 19, 1994
`
`Sheet 11 of 13
`
`5,305,435
`
`180
`
`181
`
`READ ACTIVE
`WINDOW DATA
`
`.
`
`SELECT WINDOW
`
`182
`NO
` FAST TAB
`
`
`
`
`MOVE WINDOW
`(FIG. 2)
`
`IS WINDOW
`
`OPTION ?
`
`OFF SCREEN ?
`
`
`
`186
`
`
`
`DOES WINDOW
`DOES WINDOW
`HAVE ICON ?
`
`
`
`HAVE NAME ?
`
`YES
`
`ASSIGN NAME
`
`Figure 11
`
`188
`
`189
`
`UPDATING PROCESS
`OF WINDOW TABS
`MANAGEMENTTABLE
`
`CREATE AND
`DISPLAY TABS
`(FIG. 3)
`
`12
`
`12
`
`
`
`USS. Patent
`
`Apr. 19, 1994
`
`Sheet 12 of 13
`
`5,305,435
`
`;
`
`19
`
`READ WINDOW TABS
`MANAGEMENTTABLE
`
`
`192
`
`
`
`
`
`
`
`
`
`
`
`
`SELECT TAB
`(FIG.4)
`
`FAST RESTORE
`OPTION ?
`
`MOVETAB
`(FIG.4&5)
`
`IS TAB IN
`SCREEN
`AREA ?
`
`MOVE CORRESPONDING
`WINDOWFILE TO
`ACTIVE MEMORY
`
`DISPLAY WINDOW
`(FIG. 6)
`
`SELECT A TAB
`WITHIN THE WINDOW,
`
`Figure 12
`
`13
`
`13
`
`
`
`U.S. Patent
`
`Apr. 19,1994
`
`—_—
`
`Sheet 13 of 13
`
`5,305,435
`
`ee we ee eei ee ee
`
`FRAME
`MEMORY
`
`210
`
`21d
`
`WINDOW
`TABS
`MANAGEMENT
`TABLE
`
`BIT MAP
`PROCESSOR
`
`
`208
`MEMORY
`
`|
`
`;| l
`
`|
`
`|
`
`|I| || !!
`
`|
`
`MEMORY |
`
`212
`
`war
`
`218
`
`206
`
`ACTIVE
`WINDOW
`
`204
`
`||
`
`202
`
`Figure 13
`
`14
`
`14
`
`
`
`1
`
`3,305,435
`
`COMPUTER WINDOWS MANAGEMENT SYSTEM
`AND METHOD FOR SIMULATING OFF-SCREEN
`DOCUMENT STORAGE AND RETRIEVAL
`
`This is a continuation of copending application Ser.
`No. 07/554,237 filed on Jul. 17, 1990.
`TECHNICAL FIELD
`
`The present invention relates to the presentation of
`computer windows, and more particularly to a system
`and method for providing a display arrangement useful
`in managing multiple computer windows.
`BACKGROUND ART
`
`10
`
`15
`
`In the computer industry much effort has gone into
`designing user interfaces which are easy to use and
`learn. Early user interfaces were character-based, that
`is, the computer was operated by a set of character-
`based commands. It was absolutely necessary that the
`commands were entered correctly and with the proper
`syntax, otherwise the desired operation would not be
`performed. Character-based user interfaces are still
`widely used.
`Although the commandsets of character-based inter-
`faces were generally logically constructed, it was rec-
`ognizedthat to efficiently operate a computer the user
`was required to memorize commandsets. This often is a
`difficult task, especially as more commands become
`available and necessary. To simplify the task of learning
`how to operate a computer, graphics-based interfaces
`have been developed. Now, rather than using com-
`mandsto operate the computer, graphical symbols and
`defined actions are used.
`These graphics-based interfaces are typically de-
`signed around some kind of metaphor,i.e. a symbol or
`set of symbols associated with the computer operation
`or operations. A metaphor allows the user to better
`associate the operations required by the interface with
`something that is familiar. Commonly, the metaphoris
`that of an index card file, with one card stacked atop
`another with a slight offset, giving the illusion of verti-
`cal stacking. In this way the operations are somewhat
`intuitive since they borrow actions and familiar con-
`cepts related to index cardfiling.
`Icons are often used as part of the metaphorto repre-
`sent the applications, computer files and system ele-
`ments that are available. To perform a command the
`user is required to do something with the icons, such as
`“dragging” one icon over to and dropping it on another
`icon. A cursor pad or a mouseis used for this purpose.
`Another example would be to click on an icon, after
`which a pull-down or pop-up menu would appear.
`Graphical interfaces generally reduce the difficulty in
`learning how to operate a computer system, since mem-
`orizing long sets of word based commandsandsyntax is
`not required.
`To further aid computer productivity it becamedesir-
`able to provide a “multi-tasking” environment in which
`a user could implement several applications at the same
`time. A convenient and effective method of providing
`multi-tasking has been provided by the development of
`multi-window systems. In such systems, different com-
`puter windows, i.e. software applications or data files,
`may be opened and used by the user simultaneously.
`Computer windows appear on the display monitor of a
`computeras a virtual window,thatis, the contents of a
`file associated with the window may be viewed within
`
`40
`
`45
`
`355
`
`60
`
`15
`
`2
`the area described by the window. Several windows
`may appearonthe display monitor at the same time and
`often appear as if they are layered, one on top of an-
`other. For ease of use these multi-window systemsoften
`incorporate the features of icons and pulldown menus
`found in graphics interfaces.
`interface,
`A well-known multi-window graphics
`called the Macintosh interface from Apple Computers,
`opens and closes windowswith the use of icons which
`look like miniature file folders. When a window is
`closed in this system, the contents of the window col-
`lapse down into the file folder icon. The icon remainsin
`the central portion of the computer screen. Several
`layers of windows, i.e. a vertical stack, are madeavail-
`able in this manner. Moving these icons to otherparts of
`the screen requires manual! use of a mouse.
`‘The screen display is organized in this and other
`similar interfaces by a series of windows. A main win-
`dow contains primaryfile folders. This window gener-
`ally occupies a large portion of the screen. To see the
`contents of a particular primaryfile folder, the user is
`required to point and click on theicon of that particular
`file folder. A pop-up windowoficons representing the
`different files and contents of the file folder is then
`displayed. This pop-up window generally overlaps and
`hides part of the main window. To actually see the text
`of a file another point and click procedure must be
`done. This results in yet another window appearing on
`the screen which completely fills the screen and hides
`the other vertically stacked windows. While open, the
`source of this text file window is not readily apparent,
`that is from which file folder it came.
`The display screen becomes even more crowded and
`complex if the contents of two or more primary file
`folders are desired. Furthermore, there may be several
`main windows depending on how the storage deviceis
`divided. Thus, the user may becomelost as to where in
`the vertical hierarchy of the files he or she is at any
`given moment. Moreover, to implement or view an-
`other file the user must “back track” out through the
`vertical stack. For example, if one was working on a
`document and wanted to view their appointments cal-
`endarfile, the user would have to get out of the docu-
`ment file and go back through the stack to a window
`containing the appointments calendarfile.
`Examples of other multi-window systems which
`make use of a mouse are found in U.S. Pat. Nos.
`4,831,556, to Oono, 4,819,189, to Kakuchi et al., and
`4,783,648, to Hommaet al. The patent to Oono de-
`scribes a window display which gives the position and
`size of a window. The patent to Kakuchiet al.
`is di-
`rected to automatically bringing a computer windowin
`front of other windows whena cursoris directed into
`that window. And the patent to Hommaetal. is di-
`rected to automatically shifting positions of windows
`based on display priority.
`Still other multi-window systems have focused their
`attention on how to display and activate the various
`windows on the screen. Systems with this focus are
`exemplified in U.S. Pat. Nos. 4,862,389,
`to Takagi,
`4,780,709,
`to Randall, 4,769,636,
`to Iwami et al.,
`4,653,020, to Cheselka et al., and 4,555,775 to Pike.
`Although the above graphics-based user interface
`systems represent a significant improvement over cha-
`racter-based interfaces, these systems do not accurately
`simulate real world document handling activities. For
`instance, a document does not collapse down into a
`smali
`icon. Moreover,
`the organization of computer
`
`15
`
`
`
`5,305,435
`
`3
`files is not always discernible with these systems and
`this places the burden of memorizing the organization
`of the files on the user.
`Therefore, in view of the above,it is an object of the
`present invention to devise a multi-window computer
`interface based upon a display metaphor which is intu-
`itive, well organized and easy to understand.
`It is another object of the present invention to pro-
`vide in a multi-window interface an automatic means
`for
`identifying and organizing computer windows,
`which is based upon familiar documenthandling activi-
`ties.
`
`SUMMARYOF THE INVENTION
`
`The above objects have been achieved by a novel
`computer windows management system and interface
`which simulates familiar real-world document handling
`activities by making use of a window identification
`display about the periphery of a screen, leaving the
`central screen area clear of non-active windows. The
`central screen display area is reserved for displaying
`computer windows which havean active display status.
`Thescreen also has a surrounding edge area which is
`designated for displaying identifiers associated with
`computer windows which have an inactive display
`status. A window’s display status is independentofits
`operating status, e.g., open, active and running. For
`instance, an application can be running in the CPU even
`if it has an inactive display status. Organizing the dis-
`play screen in this manner creates more of a horizontal
`organization to the windowsthan a vertical stack.
`The present user interface system includes a means
`for automatically creating an identifier for each com-
`puter windowas it changes from an activeto an inactive
`display condition. The identifier acts as a handle to the
`window with which the window may be manipulated.
`An operator controlled cursor is also provided so that a
`user may select and manipulate a computer window by
`placing the cursor either on the window’s identifier or
`inside the window. In this manner windows can be
`moved on and off the screen.
`To simulate a filing system the identifiers may look
`like file tabs. An identifier which lookslike a file tab is
`called a window tab. Moving a window from oneofthe
`designated screen areas to the other may be accom-
`plished by either “dragging” the windowbyits window
`tab using the cursor, or by clicking on the window tab
`or window so that the window simply “pops” from the
`edge area to the central screen area and vice versa.
`The window tabs may be placed automatically or
`manually in a hierarchical order along the edges of the
`screen. The order in which window tabs may be ar-
`ranged includes clusters, multi-levels and parallel levels.
`Clusters are groups of related windowsorfiles that are
`on the same horizontal level within the overall organi-
`zation. Multi-levels means that there are vertical levels
`within the organization. And parallel levels means that
`there are separate branches to the order. Hence, a vir-
`tual filing system is created along the screen edges
`which simulates a standard office filing system. By vir-
`tual it is meant that the inactive windows cannot be
`seen, but since the windows appearto slide on and off
`the screen, one gets the sense that the non-displayed
`windowsare just off the sides of the screen waiting to
`be pulled back into view. To help identify these non-dis-
`played windowsand to increase the association with a
`filing system, the window tabs may include representa-
`
`40
`
`45
`
`50
`
`60
`
`65
`
`4
`tions of filing cabinets, drawers, file folders and other
`commonfiling items.
`For example, one may organize all word processing
`documents under one windowtab called “Documents”.
`Included on this window tab may be an icon of a file
`cabinet. The next level of organization may have win-
`dow tabs such as “letters”, “memos”, and the like. Each
`of these window tabs may include an icon of a file
`drawer. Within theletters “drawer” there may be any
`numberoffiles. One such file may be identified by a
`window tab such as “Mom, 2/25/90". A particular
`letter may now be selected and displayed. Known
`searck routines may be incorporated to aid in finding a
`particular file or document.
`Color coding, patterning or blinking selected win-
`dow tabs may help identify a particular window or
`group of windows.Forinstance,all the window tabs for
`windowsrelated to a particular applications program
`could be of one color scheme. Alternatively, the tabs
`for each vertical level could be of a different color
`scheme. How window tabs are color coded may be user
`selectable or automatically assigned. Other examples of
`ways in which windows maybe identified are that the
`window tabs could be “textured” using specific graphi-
`cal patterns or could be caused to blink when their
`application is still running, even though the window is
`not in view.
`The tabs may be arranged alonganyof the four edges
`of the screen. Thus, for instance, a user could organize
`the window tabs relating to one type of application,
`such as spreadsheets along the bottom, all graphics
`related window tabs along the right, all word process-
`ing window tabs along theleft, and all system window
`tabs along the top of the screen. For user convenience,
`any labels on the window tabs may be automatically
`orientated dependent upon whichside of the screen the
`tab is placed, so that the labels may be easily read. As
`has already been exemplified above, the labeling of the
`window tabs mayinclude alphanumerics, icons, color,
`patterns, blinking, etc., or some combinationofthem all.
`The display of multi-windowsin the central display
`area of the screen may operate in a mannersimilar to the
`known methodsfor displaying multi-windows. Alterna-
`tively, a currently displayed active window may be
`automatically displaced by opening another window.
`The displaced window would become a window with
`an inactive display status, but functions which were
`previously in progress would be carried out in back-
`ground. The window tab for the displaced window
`would automatically appear along the screen edge at
`eitherits last location,its proper place within a hierar-
`chical order, or in a designated area for non-displayed
`windows whose applications are in operation. Causing
`the window tab to blink on and off while the function is
`still being performed would help keep the user informed
`on the operating status of the displaced window.
`An advantage of the present invention is that a user
`interface is provided which emulates real world desktop
`activities and filing systems. Therefore, the interface is
`easy to learn, since it is intuitive. Indeed, little time
`would be required to teach individuals how to use this
`interface, because the display metaphor relies upon
`familiar activities and symbols.
`Another advantage of the present invention is thatit
`provides a simple way to organize computer windows
`and files, and does so in a mannerso that the order in
`which the windowsare organized is readily determined
`and always available. Because the window tabs are
`
`16
`
`16
`
`
`
`5,305,435
`
`_0
`
`35
`
`45
`
`6
`5
`always displayed in a horizontal manner, the user would
`sheet application the icon could be of a ledger sheet or
`not have to “back track” through different levels of
`the like. The icon mayalso be of a logo of the software
`windowsto find whereafile came from. Perhaps more
`vendor which produced the application.
`importantly, the work area of the screen, muchlike the
`Other windows 26-36 are also shown, which occupy
`much ofthe central screen area 20. All of the windows
`work area of.a desk, may be kept clear of items which
`are not currently being worked on, while at the same
`22-36 in the central screen area are active,i.e. they can
`time all other applications and data files are readily
`be used and executed. This is not unlike a typical work
`available to be brought back into the work area. This
`desk that has several different documents and reports
`not only simulates the work area of a desk, but also
`laid across the surface whichareall being looked at in
`a somewhat concurrent manner. Details of these other
`providesat one’s fingertips, so to speak,all thefile cabi-
`windowswill be discussed below.
`nets, drawers and folders one has created in the com-
`FIG.2 illustrates a situation where the window 22is
`puter. Findingafile is madeless difficult since window
`tabs for each windoworfile are provided along the
`being pushedoff the screen along the left edge 12. This
`edges of the screen. Moreover, known search routine
`is like pushing a documentoff to the side of your desk
`techniques may be incorporated to find a desired win-
`when youare through looking atit. As shownhere, part
`of the window 22 has been slid off the screen. Thus,
`dow. Thus, one could search through the window tabs
`and pull out a window orfile for viewing much like
`windows61 and 63 are out of the active viewing area
`searching througha file drawer.
`and have becomevirtual windows61’ and 63’ as part of
`a virtual window 22’. It is a virtual window because it
`BRIEF DESCRIPTION OF THE DRAWINGS
`cannot actually be seen, but one gets the sense thatit is
`somehow there, just off the edge of the screen. The
`other windows 24-36 remain unchanged.
`FIG.3 illustrates that the window 22 is now entirely
`off the screen. Where it went off the screen are a main
`window tab 38 and secondary window tabs 81-85. Dis-
`playing windowtabsis the purpose of the edge area of
`the screen. These tabs were automatically created when
`the window 22 was completely slid off the screen. This
`is like putting the contents of window 22 back into a
`filing cabinet after it has been completely removed from
`the desk. Howeverhere,thefile is not completely out of
`sight since the window tabs 38 and 81-85 remain along
`the left screen edge 12. Likewise, document AAA,
`indicated by reference numeral 28’, has been slid off the
`screen and a tab 42 has been created along the right
`screen edge 16.
`Thetabs 38, 42, and 81-85 include labeling which for
`these tabs is simply thefile name or a shortened version
`of that name. The tabs may also be color coded with
`different color schemes, such as having a blue back-
`ground with white lettering, etc. With a gray scale
`display texturing the windowtabsof related windowsis
`possible. Texturing is simply applying some graphical
`pattern to the tabs, such as cross-hatching. Color coding
`or texturing tabs of related windows wouldaidin find-
`ing a desired window or group of windows.
`In FIG.4, the application program XYZ, window 24,
`has beenslid off the screen along the right screen edge
`16 to becomea virtual window 24’, and a window tab 44
`has been created in its place. Alternatively, the window
`24 could have been “popped” off the screen to the
`screen edge by double clicking or the like on the win-
`dow.In either event the window tab 44 contains the
`double-star icon 74 which is normally associated with
`application XYZ. Secondary window tabs 91'-93’ are
`off the screen, but may be brought back into the view-
`ing area if desired.
`The central screen area 20, in FIG. 4,is free of any
`actively displayed windows. All of the windows have
`been pushed off the screen and window tabs have been
`automatically created for them along the screen edges.
`Therefore, there is a window tab 46 for window 30,
`window tab 48 for window 26, window tab 50$ for
`window 32, window tab 52 for window 34, and window
`tab 54 for window 36. The application of the window 32
`was still running when pushedoff the screen, therefore
`its window tab 50$ blinks until it has finished running.
`Like the secondary window tabs 91'-93', the secondary
`
`Referring to FIG. 1, a computer screen 10 is shown
`having multiple windowstherein. The windowsrepre-
`sent either application programs or data files. The
`screen 10 has a left screen edge 12, a bottom edge 14, a
`right edge 16 and a top edge 18. Proximate to and inside
`L ofthe screen edges 12-18is a “screen edge area” of
`the screen 10. The screen 10 also has a “central screen
`area” 20 inside of the edge area. The central screen area
`20 and the edge area together form thedisplay or visible
`area of the screen 10. Outside of the screen edges 12-18
`is defined a virtual or nonvisible screen area. The pur-
`pose of these visible and nonvisible screen areas is illus-
`trated and discussed in subsequent figures.
`Within the central screen area 20 are several win-
`dows. Displaying active windows is what the central
`screen area 20 is designated for. For example, a window
`22 is for an application program called ABC. Within
`this window are five separate windows 61-65. The
`windows 61~65 are generally data files, but may be
`application programs as well. Similarly application pro-
`gram XYZ,indicated as window 24, has other windows
`71-73 therein. The windows 71-73 may also represent
`data files, but here they overlap one another. The win-
`dow 24 also contains a double-star icon 74 which repre-
`sents the application XYZ of the window 24. For in-
`stance,if application XYZ was for word processing, the
`icon could be of something related to word processing
`like a keyboard or sheet of typing paper. With a spread-
`
`FIGS. 1-3 are display screens showing removal of
`computer windowsfrom a central] area of a computer
`display screen in accord with a preferred embodiment
`of the present invention.
`FIGS.4-6 are display screens showing an application
`window being pulled into the central area of the screen,
`in accord with a preferred embodiment of the present
`invention.
`FIGS.7-16 are display screens showing selection of a
`particular file within a hierarchy, in accord with a pre-
`ferred embodimentof the present invention.
`FIG.11 is a flowchart for a subroutine having refer-
`ence to FIGS.1-3.
`FIG.12 is a flowchart of a subroutine having refer-
`ence to FIGS.4-6.
`FIG. 13 is a simple block diagram of a computer
`system for carrying out the present invention.
`BEST MODE FOR CARRYING OUT THE
`INVENTION
`
`60
`
`65
`
`17
`
`17
`
`
`
`7
`window tabs 81-85 for windows 61-65 may be pushed
`off the screen, to becomevirtual tabs 81'-85'. With the
`secondary tabs pushed off the screen, only the main
`tabs, which maynot be pushedoff the screen, remain on
`the screen. The result is that all of the windows 22'-36’
`are in virtual memory,i.e. offscreen and out of view.
`This situation represents a cleared off desktop, how-
`ever, rather than the documents being filed elsewhere,
`the files are made readily available by the creation of
`the main window tabs 38-54 along the edges 12-18 of
`the screen.
`Thelocation of a window tab along the screen edges
`may be determined by where the window leaves the
`screen, as has been shown in FIGS. 2-4. Alternatively,
`the window tab could be located at a preselectedsite,
`based on a previous location, or by position or type of
`window.This would be particularly useful when using
`a “Fast Tab” or “Fast Restore” option, i.e. “popping”
`windows on and off the screen. The tabs may also be
`arranged in a stored hierarchy in which tabs are auto-
`matically returned to their proper location within that
`hierarchy.
`FIG. 4 further illustrates the case of pulling an appli-
`cation window back onto the screen area 20. To begin
`with, the main tab 38 is used to pull the window 22’
`back onto the screen, at least until the secondary win-
`dowtabs 81-85 appear on the screen, at which point
`one of the secondary window tabs maybe selected. As
`illustrated in FIG. 5, the secondary window tab 84 has
`been selected and is then used to drag the remainder of
`the window 22 onto the screen. Alternatively, the main
`tab 38 may have continued to be used to pull the win-
`dow 22 onto the screen. Note that the application of the
`window 32’ is no longer running, so its window tab 50
`has stopped blinking.
`FIG.6 illustrates the situation that by selecting the
`secondary window tab 84, the window 64 has been
`activated within the window 22. This occurs when the
`entire window 22 is pulled into the screen. The second-
`ary tabs 81, 82, 83 and 84 for the remaining windows61,
`62, 63, and 6§ are then placed along an edge of the
`window 22. Thus, a window operating within a win-
`dow is allowed. This allows for window tabs within
`windows.
`With activating the window 64 within the window
`22, the window 22 becomeslike the screen 10, in that
`the central area of the window 22 is now designated for
`displaying an active window, which in this case is 64.
`Also, the edge area surrounding the central area of the
`window 22 is now designated for displaying window
`tabs for inactive windows, which are in this case 81, 82,
`83 and 85. The numberof levels of windowsoperating
`within other windowsis limited by the computer’s pro-
`cessing capability and by the resolution and size ofthe
`screen.
`
`Rather than dragging the window 22 onto the screen
`a “Fast Restore” option in which the window 22 is
`automatically returned to its original position on the
`screen may be used. This is accomplished by means of
`taking a defined action, e.g., double clicking on the main
`window tab 38. The window 64 could be activated
`within the window 22 in a similar manner. Correspond-
`ingly, the window 22 could be automatically returned
`to its off-screen configuration using a “Fast Tab” op-
`tion. These options would eliminate the need to drag
`windowson and off the screen.
`FIGS. 7-10 illustrate the features of a filing system
`incorporated into the display metaphor. Beginning with
`
`8
`FIG.7, a main window tab 102, called File Cabinets, is
`shownalong the left screen edge 12. A secondary tab
`1045 called “Places”, which is attached to the main tab
`102, has been selected from a set of secondary tabs
`104a-d. These secondary tabs 104a-d represent virtual
`file cabinets 108a'-d’, which are contained in a virtual
`window 106’ off screen. A file cabinet icon may be
`included on the tabs 104a-d. By selecting tab 1045 and
`draggingit into the central screen area 20, the contents
`of file cabinet 1085’are also brought into the screen,as
`described below.
`Turning now to FIG. 8, with the “Places” tab 1045
`being selected and pulled out onto the screen,
`file
`drawertabs 110 a-d appear onthe screen.A file drawer
`icon may be included on tabs 110 a~d. At the same time
`a virtual window 112’ containing the contentsof the file
`cabinet 108)'separated into filing drawers is figuratively
`created. The file drawer tab 110c is shown being se-
`lected and pulled out onto the screen. This results in a
`window 114 ofthefile folders of the drawer ‘““N-R”of
`the virtual window 112’ being pulled out onto the
`screen as shown in FIG. 9.
`Once the window 114is in the central screen area 20,
`the user may sort through the file folders of the file
`drawer “N-R” and open a particular file. Known
`search routines may be incorporated at this point, as
`well as at earlier points, to help find and open the de-
`sired file.
`In conjunction with search routine tech-
`niques, pop-up windows and menus may be employed,
`as is knownin theart.
`FIG. 10 shows the window 114 of the file drawer
`“N-R” being moved off the screen. Once the window
`114 is completely off the screen its window tab is auto-
`matically placed back into the cluster of file drawer tabs
`110a-d, as shownin FIG.8. Thus, as demonstrated with
`FIGS. 7-10, large numbers of computer windows can
`be organized in a convenient manner and madereadily
`accessible to the user.
`An advantage of the present user interface is seen in
`that the on-screen actions, e.g., dragging and popping,
`together with the window tabs displayed around the
`edges of the screen, combine to give the user the im-
`pression that all of the non-displayed windows are
`stored just off of the screen in a virtual filing system.
`Because the main window tabs are always displayed,
`and active windows reference where they came from,
`the user is not likely to become “lost” among all the
`windows.
`FIG. 11 is a flow chart of a subroutine for moving a
`window off the screen, and has reference to FIGS. 1-3.
`A first step 180 is to read the active window data stored
`in an active window memory 206 (see FIG. 13). The
`active window data relates to information defining the
`various windows that are being displayed and their
`positions on the screen. The next step 181 is to select a
`window. This is done by doing some predefined action,
`like placing a cursor within the window. A mouse or
`other pointing device may be used for cursor control.
`At this point a “Fast Tab” option 182 may be used to
`“pop”the selected window off the screen. This may be
`doneby a predefined action, such as double clicking on
`the window. Otherwise the window may be moved off
`the screen by “dragging”it using the cursor. This action
`comprises steps 183 and 184.
`Once the windowis off the screen, then a file tab is
`cr