`5,305,435
`[11] Patent Number:
`[19]
`United States Patent
`Bronson
`[45] Date of Patent:
`Apr. 19, 1994
`
`
`[54] COMPUTER WINDOWS MANAGEMENT
`SYSTEM AND METHOD FOR SIMULATING
`OFF-SCREEN DOCUMENT STORAGE AND
`RETRIEVAL
`.
`.
`Inventor. Barry Bronson, Saratoga, Calif.
`[75]
`[73] Assignee: Hewlett-Packard Company, Palo
`Alto, Calif.
`21 A LN .: 57938
`1
`[
`Pp
`°
`’
`[22] F1led:
`May 7, 1993
`
`[63]
`
`[56]
`
`Related US. Application Data
`Continuation of Ser. No. 554,237, Jul. 17, 1990, aban-
`cloned.
`............ G06F 15/62
`Int. 0.5 ..
`[51]
`
`395/159; 395/157
`[52] US. Cl. ................
`[58] Field of Search .............................. 395/155, —161;
`340/712—713, 723, 709—710; 345/119—121, 901
`References Cited
`U.S. PATENT DOCUMENTS
`.
`
`1233133 131333 31123119.";1":
`:11: 3331123
`
`4:712:191 12/1987 Penna ...................... 395/159
`
`4,769,636 9/1988 Iwami e: a]
`395/153 x
`
`4,780,709 10/1988 Randall ................ 345/120
`4,783,643 11/ 1988 Homma e! 31-
`345/ 120
`
`~-
`4,819,139 4/1939 K‘kucm 9‘ 31-
`395/158
`W3§§315g§5§
`z’gzé’ggg 323:; $2130
`
`
`.....
`4,899,136 2/1990 Beafdgletal‘
`395/159 X
`
`....... 395/157
`5,060,170 10/1991 Bourgeois et al.
`5,107,443 4/1992 Smith et al. ................. 395/158
`
`................ 395/ 157 X
`5,140,677
`8/1992 Fleming et a1.
`
`5,140,678
`
`3/1992 Torres ................................. 395/159
`
`’
`
`OTHER PUBLICATIONS
`Seybold, “Windows 30”, Andrew Seybold’s Onlook on
`Professional Computing, May 1990, p. l (4).
`Seybold et al., “Doing Windows”, Andrew Seybold-
`’Outlook on Professional Computing, May 1990, p. 6
`(3).
`McMullen et al. “Microsoft Introduces Windows 3.0”
`’
`Newsbytes, May 24, 1990.
`Microsoft Windows User’s Guide, vol. 3.0, Microsoft
`Corp., 1990, pp. 5—76.
`Car-man, Chip, “Tip Sheet”, Mac User, Jul. 1988, pp.
`125-130-
`,
`_
`Petzold, Charles, “lntroducmg the 05—2 Presentation
`M
`”,
`M
`'
`, J 1. 1988,
`. 379-389.
`mg“ PC agazme
`“
`pp
`Primary Examiner—Heatherk 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
`officearefilmesystemandworkaoradesk-Thedisplay
`System includes multi-Windows which are diSplayed in 3
`central screen area designated for just active computer
`windows. The interface further includes designating the
`edge areas of the screen for displaying window tabs of
`inactive windows. The window tabs are arranged in a
`way to simulate an integrated filing system, and to pro-
`vide a convenient method of organizing and viewing
`complner file-9
`
`10 Claims, 13 Drawing Sheets
`10
`
`
`
`
`34' 36‘
`WINDOW D
`
`
`
`/
`
`
`
`
`
`APPPFlOGABC
`
`16
`
`APPLICATION PROGRAM XYZ
`
`104a
`
`
`
`
`
`- :35:
`
`FILECABINETS
`
`
`
`
`-
`
`FINANCIAL
`CALENDAR
`UTIL ABC
`UTlLlTY ABC
`
`1
`
`APPLE 1012
`
`1
`
`APPLE 1012
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 1 of 13
`
`5,305,435
`
`UTILITYABC
`
`
`
`APPLICATIONPROGRAMXYZ
`
`WINDOWL
`
`2 Q,
`
`—< 9.
`
`1
`CL
`:1.
`<
`
`DOCUMENTAAA
`
`FIG.1
`
`o[
`
`D< 2<I
`
`:
`(9
`:
`O.
`
`Oc
`
`2
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 2 of 13
`
`5,305,435
`
`E,
`
`3
`
`vmI
`
`cm
`
`
`
`<<<PZNEDOODNNNwe”.
`
`mm
`
`mm
`
`.__<s_wmm
`
`Om<>.:.=.:z.
`
`#—
`
`N.OE
`
`3
`
`
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 3 of 13
`
`5,305,435
`
`28'
`
`
`
`DOCDOCUMENTAAA
`
`UTILITYABC
`
`FIG.3
`
`N>
`
`.X E<I(
`
`DOE
`
`:Q2 9
`
`.P-
`
`PROGRAMABC
`
`< 9_
`
`l
`D.
`D.
`<
`
`WINDOWL
`
`APPLICATION
`
`4
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 4 of 13
`
`5,305,435
`
`FILE222
`
`FIG.4
`
`UTILABC
`
`UTILITYABC APPLICATION
`
`PROGRAMABC
`
`_I
`
`5D
`
`Z3
`
`5
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 5 of 13
`
`5,305,435
`
`PROGRAMXYZ
`
` APPLICATION
`
`10
`
`FIG.5
`
`
`
`
`36'
`
`
`
`UTILABCUTILITYABC
`
`_'5 EH0
`
`
`
`EL
`
`
`
`6
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 6 of 13
`
`5,305,435
`
`
`
`APPLICATIONPROGRAMXYZ
`
`FIG.6
`
`Om< 2<D
`
`:
`(5
`:
`D.
`
`On
`
`UTILABCUTILITYABC
`
`Z 9p
`
`.< 9_
`
`l
`CL
`:1
`<
`
`7
`
`
`
`US. Patent
`
`Apr. 19
`
`, 1994
`
`Sheet 7 of 13
`
`5,305,435
`
`
`
`
`
`N>xSEIOOEQZO_._.<OZn_n_<
`
`m?
`
`or
`
`.wm
`
`kGE
`
`SLENIBV
`31H
`
`0
`
`08V 903d ddV
`
`
`
`wJQOm—n.-
`
`
`
`._<.Oz<z_u_2-...
`
`mmOSn."llllh.
`
`
`
`8
`
`
`
`
`
`US. Patent
`
`Apr.
`
`19, 1994
`
`Sheet 8 of 13
`
`5,305,435
`
`
`
`
`
`
`
`N>xSEEOOEQ20F<OZQQ<
`
`@—
`
`o—
`
`.mm
`
`
`
`m..OE
`
`SSOV'Id
`
`9
`
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 9 of 13
`
`5,305,435
`
`10
`
`
`II
` IIIIIJ
`III
`
`
`
`10
`
` APPLICATION
`PROGRAMXYZ
` FILE222
`FIG.9
`
`FILECABINET—PLACES
`UTILABCUTILITYABC
`
`APPLICATIONPROGRAMABC
`
`34'
`
`36‘
`
`
`
`10
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 10 of 13
`
`5,305,435
`
`
`
`
`
` N>xSEEOOEQZO_._.<O_._n_n_<
`
`op
`
`m—
`
`aag
`
`OF
`
`.vm.wm
`
`.om
`
`NNNman.
`
`
`
`m..=n_
`
`NNNmv
`
`No—
`
`Om<4:3
`
`
`
`Om<>.:.=.:._
`
`4302.127.
`
`I<02m3<0
`
`EGE
`
`11
`
`11
`
`
`
`
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 11 of 13
`
`5,305,435
`
`180
`
`181
`
`READ ACTIVE
`WINDOW DATA
`
`SELECT WINDOW
`
`182
`
`NO
`
` FAST TAB
`OPTION ?
`
`MOVE WINDOW
`(FIG. 2)
`
`
`
`IS WINDOW
`
`
`
`OFF SCREEN ?
`
`
`
`186
`
`DOES WINDOW
`
`DOES WINDOW
`HAVE ICON ?
`HAVE NAME ?
`
`
`
`
`YES
`
`YES
`
`
`
`ASSIGN NAME
`
`Figure 11
`
`188
`
`189
`
`UPDATING PROCESS
`OF WINDOW TABS
`MANAGEMENT TABLE
`
`CREATE AND
`DISPLAY TABS
`(FIG. 3)
`
`12
`
`12
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`Sheet 12 of 13
`
`5,305,435
`
`START
`
`I
`
`19
`
`READ WINDOW TABS
`MANAGEMENT TABLE
`
`192
`
`SELECT TAB
`(FIG. 4)
`
`
`
`
`
`FAST RESTORE
`OPTION '?
`
`MOVE TAB
`(FIG. 4 a 5)
`
`_
`
`IS TAB IN
`SCREEN
`AREA ?
`
`
`
`
`MOVE CORRESPONDING
`WINDOW FILE TO
`ACTIVE MEMORY
`
`DISPLAY WINDOW
`(FIG. 6)
`
`
`
`
`
`SELECTA TAB
`WITHIN THE WINDOW
`
`
`
`
`Figure 12
`
`13
`
`13
`
`
`
`US. Patent
`
`Apr. 19, 1994
`
`'
`
`Sheet 13 of 13
`
`5,305,435
`
`————-——————————————————.
`
`'
`
`II lI|I :
`
`IIIIIII I
`
`MEMORY
`
`218
`
`206
`
`ACTIVE
`WINDOW
`
`14
`
`I=RAME
`MEMORY
`
`2’0
`
`214
`
`WINDOW
`TABS
`MANAGEMENT
`
`BIT MAP
`PROCESSOR
`
`2’2
`
`IIIIJIIS
`
`
`208
`MEMORY
`
`14
`
`
`
`1
`
`5,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
`
`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 command sets of character-based inter-
`faces were generally logically constructed, it was rec-
`ognized that to efficiently operate a computer the user
`was required to memorize command sets. 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-
`mands to 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 metaphor is
`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 card filing.
`Icons are often used as part of the metaphor to 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 mouse is 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 commands and syntax is
`not required.
`To further aid computer productivity it became desir-
`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
`computer as a virtual window, that is, the contents of a
`file associated with the window may be viewed within
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`15
`
`2
`the area described by the window. Several windows
`may appear on the 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 systems often
`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 windows with 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 remains in
`the central portion of the computer screen. Several
`layers of windows, i.e. a vertical stack, are made avail-
`able in this manner. Moving these icons to other parts 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 primary file folders. This window gener—
`ally occupies a large portion of the screen. To see the
`contents of a particular primary file folder, the user is
`required to point and click on the icon of that particular
`file folder. A pop-up window of icons 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 device is
`divided. Thus, the user may become lost as to where in
`the vertical hierarchy of the files be 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-
`endar file, the user would have to get out of the docu-
`ment file and go back through the stack to a window
`containing the appointments calendar file.
`Examples of other multi-window systems which
`make use of a mouse are found in US. Pat. Nos.
`4,831,556, to Oono, 4,819,189, to Kakuchi et al., and
`4,783,648, to Homma et al. The patent to Oono de-
`scribes a window display which gives the position and
`size of a window. The patent to Kakuchi et a1.
`is di-
`rected to automatically bringing a computer window in
`front of other windows when a cursor is directed into
`that window. And the patent to Homma et a].
`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 us. 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 itnprovement 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
`small
`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 document handling activi-
`ties.
`
`SUMMARY OF 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 have an active display status.
`The screen 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 independent of its
`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 windows than a vertical stack.
`The present user interface system includes a means
`for automatically creating an identifier for each com-
`puter window as it changes from an active to 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 looks like a file tab is
`called a window tab. Moving a window from one of the
`designated screen areas to the other may be accom-
`plished by either “dragging” the window by its 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 windows or files 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 appear to slide on and off
`the screen, one gets the sense that the non-displayed
`windows are just off the sides of the screen waiting to
`be pulled back into view. To help identify these non-dis-
`played windows and to increase the association with a
`filing system, the window tabs may include representa-
`
`4
`tions of filing cabinets, drawers, file folders and other
`common filing items.
`For example, one may organize all word processing
`documents under one window tab 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”l “memos", and the like. Each
`of these window tabs may include an icon of a file
`drawer. Within the letters “drawer” there may be any
`number of files. 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
`search 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. For instance, all the window tabs for
`windows related 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 may be 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 along any of 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 the left, 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 which side 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 may include alphanumerics, icons, color,
`patterns, blinking, etc., or some combination of them all.
`The display of multi-windows in the central display
`area of the screen may operate in a manner similar to the
`known methods for displaying multi-windows. Altema-
`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
`either its 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 that it
`provides a simple way to organize computer windows
`and files, and does so in a manner so that the order in
`which the windows are organized is readily determined
`and always available. Because the window tabs are
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`16
`
`16
`
`
`
`5
`always displayed in a horizontal manner, the user would
`not have to “back track” through different levels of
`windows to find where a file came from. Perhaps more
`importantly, the work area of the screen, much like the
`work area of a desk, may be kept clear of items which
`are not currently being worked on, while at the same
`time all other applications and data files are readily
`available to be brought back into the work area. This
`not only simulates the work area of a desk, but also
`provides at one’s fingertips, so to speak, all the file cabi-
`nets, drawers and folders one has created in the com-
`puter. Finding a file is made less difficult since window
`tabs for each window or file are provided along the
`edges of the screen. Moreover, known search routine
`techniques may be incorporated to find a desired win-
`dow. Thus, one could search through the window tabs
`and pull out a window or file for viewing much like
`searching through a file drawer.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIGS. 1‘3 are display screens showing removal of
`computer windows from 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—10 are display screens showing selection of a
`particular file within a hierarchy, in accord with a pre-
`ferred embodiment of 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
`
`Referring to FIG. 1, a computer screen 10 is shown
`having multiple windows therein. The windows repre-
`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 of the screen edges 12—18 is 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 the display 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-
`
`17
`
`5,305,435
`
`6
`sheet application the icon could be of a ledger sheet or
`the like. The icon may also be of a logo of the software
`vendor which produced the application.
`Other windows 26-36 are also shown, which occupy
`much of the central screen area 20. All of the windows
`22—36 in the central screen area are active, i.e. they can
`be used and executed. This is not unlike a typical work
`desk that has several different documents and reports
`laid across the surface which are all being looked at in
`a somewhat concurrent manner. Details of these other
`windows will be discussed below.
`FIG. 2 illustrates a situation where the window 22 is
`being pushed off the screen along the left edge 12. This
`is like pushing a document off to the side of your desk
`when you are through looking at it. As shown here, part
`of the window 22 has been slid off the screen. Thus,
`windows 61 and 63 are out of the active viewing area
`and have become virtual windows 61’ and 63' as part of
`a virtual window 22'. It is a virtual window because it
`cannot actually be seen, but one gets the sense that it 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 window tabs is 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. However here, the file 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.
`The tabs 38, 42, and 81-85 include labeling which for
`these tabs is simply the file 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 window tabs of related windows is
`possible. Texturing is simplyvapplying some graphical
`pattern to the tabs, such as cross-hatching. Color coding
`or texturing tabs of related windows would aid in find-
`ing a desired window or group of windows.
`In FIG. 4, the application program XYZ, window 24,
`has been slid off the screen along the right screen edge
`16 to become a 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 pushed off the screen, therefore
`its window tab 505 blinks until it has finished running.
`Like the secondary window tabs 91'—93’, the secondary
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`17
`
`
`
`5,305,435
`
`7
`window tabs 81—85 for windows 61—65 may be pushed
`off the screen, to become virtual tabs 81’-85’. With the
`secondary tabs pushed off the screen, only the main
`tabs, which may not be pushed off 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.
`The location 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 preselected site,
`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-
`dow tabs 81—85 appear on the screen, at which point
`one of the secondary window tabs may be 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 windows 61,
`62, 63, and 65 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 becomes like 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 number of levels of windows operating
`within other windows is limited by the computer’s pro-
`cessing capability and by the resolution and size of the
`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
`windows on 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
`shown along the left screen edge 12. A secondary tab
`104!) 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 104b and
`dragging it into the central screen area 20, the contents
`of file cabinet 108b’are also brought into the screen, as
`described below.
`Turning now to FIG. 8, with the "Places” tab 104b
`being selected and pulled out onto the screen,
`file
`drawer tabs 110 a—d appear on the screen. A file drawer
`icon may be included on tabs 110 a-d. At the same time
`a virtual window 112’ containing the contents of the file
`cabinet 108b’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 of the file 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 114 is 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 known in the art.
`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
`llOa—d, as shown in FIG. 8. Thus, as demonstrated with
`FIGS. 7-10. large numbers of computer windows can
`be organized in a convenient manner and made readily
`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
`60“
`pop” the selected window off the screen. This