METHOD AND APPARATUS FOR SIMULTANEOUSLY RESIZING AND
RELOCATING WINDOWS WITHIN A GRAPHICAL DISPLAY
INCLUDING EXTENSIONS
FIELD OF THE INVENTION
This invention relates to methods and apparatus for organizing and processing information, and more particularly, to computer-based graphical user interface-driven methods minimizing the input steps users must take to simultaneously and conveniently reposition and resize frames of output within a digital computer's graphic display.
BACKGROUND
Windows have become the central element of the now ubiquitous graphical interfaces dominating virtually every user's computer experience. Based on a paper metaphor, they permit users intuitively to switch amongst active computer programs, documents and tasks. Yet every user is familiar with the limitations of prior windows interfaces stemming from the confusion which often results from having too many windows open within the limited display space of computer monitors, and the constant resizing and repositioning required to organize the display of multiple windows. It is a purpose of the present invention to offer an improved method of displaying windows that frees the user from such confusion, and minimize the number of user interactions required to organize a computer display.
Users often have more than one window open at a time. Each window can be moved and resized. They can also be placed on top of one another. This makes windows extremely useful since they allow programs and users to organize everything on the screen visually. The repositioning and resizing of windows allows users to give prominence to active computer files, while leaving inactive files accessible.
Windows are a useful metaphor permitting users simultaneous access to several computer documents or functions. However, multiple window schemes of the prior art suffer from certain well-known limitations. Namely, the utility of the prior art windowing are wasteful of the limited display space ("screen real estate") available within a computer's display, and fail to enable users adequately to switch amongst the contents of multiple windows. Specifically, in the prior art, windows are lost when other windows cover them up. The user has no convenient way of knowing that a window is "under" another window. Functions for the automatic arrangement of windows such, as tiling (Fig. 1) and cascading (Fig. 2) waste screen real estate. As at least one commentator has noted, "Leaving an edge of one application's rectangle peeking out from behind the active window is an egregious waste of precious pixels."(ALAN COOPER, ABOUT FACE 70 (August, 1995)) . When multiple windows need to be fully accessed, screen space is between them is wasted unless the user takes the time and effort to resize them manually. And lastly, the prior art offers the user no convenient method of switching quickly amongst multiple windows.
For the purposes of explaining the advantages of the present invention, we now offer a more detailed description of the shortcomings of prior art windowing systems. In the prior art, various attempts have been made to address individual aspects of the multiple window management and screen real estate, but none offers a single straightforward solution.
Window Arrangement Commands. The prior art offers users various automatic window location and sizing options to clean up windows into specific, predefined arrangements, such as the common tiling arrangements (Fig. 1) and cascading arrangements of the prior art (Fig. 2) . Tiled windows are automatically laid out so that the edges of windows abut each other and screen space is divided up. This method solves the problem of lost windows, at the expense of functional room within the tiled windows, and screen real estate. No more than a few windows can be evenly tiled before none are accorded enough screen space to be useful. Cascading commands (Fig. 2) permit users to find a window that was lost and uniformly arrange windows, but they require users to reposition and resize all of their windows in order to find just one, and waste screen real estate by including non-useful edges of windows within the display.
Tabbed Windows. In their basic form, tabbed windows enable users to switch amongst multiple windows quickly (Fig. 3) . However, only one of the tabbed windows can be displayed at a time. An extended implementation of tabbed windows implemented in computer programs such as PhotoshopTM by Adobe, allows the tabs to be dragged out of the containing window and expand into the window corresponding to the tab. But this just leads to the same problems inherent in any overlapping windows scheme.
Magnetic Windows. Magnetic windows address the problem of wasted screen space between fully displayed windows. When the edge of one window is dragged close to another, the window being moved "snaps" to the edge of the stationary window (Fig. 4) . This is useful if the windows are not already next to each other, but fails when windows that are next to each other need to be resized. Magnetic windows can be seen in several programs such as Adobe PhotoShop 4.0.
Splitter Windows. Splitter windows allow two windows to be resized at once by assigning them to a mutual edge (Fig. 5) . This works well so long as the number of windows remains low and the windows do not need to be relocated. Docking windows, a variant upon splitter windows, can be detached to become like a regular window and then later re-attached. All of these schemes require separate user steps to size and position separate windows, and do not adequately function to conserve screen real estate.
Task Bars. Task bars, such as the Start bar in Microsoft's Windows™ 95 interface, and other window switching commands and menus list all the open windows and allow the user to activate one by clicking on it (Fig. 6) . This solves the problem of losing windows, but does not assist users wishing to view the full contents of multiple windows simultaneously.
BRIEF SUMMARY OF INVENTION
The present invention provides in a first aspect, A method for graphically presenting information in conjunction with a digital information device having a display including the steps of defining a first window, comprising at least one indicia, within a viewable area of the display, selecting and moving the at least one indicia outside of the first window, and releasing the
indicia at a location outside of the first window thereby creating a second window having a size corresponding to the first window and a location determined by the location where the indicia was released.
In another aspect, the present invention provides an apparatus for graphically presenting information in conjunction with a digital information device having a display including means for defining a first window, comprising at least one indicia, within a viewable area of the display, means for selecting and moving the at least one indicia outside of the first window, and means for releasing the indicia at a location outside of the first window thereby creating a second window having a size corresponding to the first window and a location determined by the location where the indicia was released.
In still another aspect, the present invention provides a method for graphically presenting information in conjunction with a digital information device having a display including the steps of defining a first window, comprising at least one indicia, within a viewable area of the display, selecting the at least one indicia, and creating a second window having a size corresponding to the first window.
In a further aspect, the present invention provides 10 an apparatus for graphically presenting information in conjunction with a digital information device having a display including means for defining a first window, comprising at least one indicia, within a viewable area of the display, means for selecting the at least one indicia, and means for creating a second window having a size corresponding to the first window.
In another aspect, the present invention provides a method for graphically presenting information in conjunction with a digital information device having a display including the steps of defining a first window having a defined area, comprising at least two indicia, within a viewable area of the display, selecting the at least one indicia, and creating a second window within the defined area.
In yet another aspect, the present invention provides an apparatus for graphically presenting information in conjunction with a digital information device having a display including means for defining a first window having a defined area, comprising at least two
WO 00/57281 PCT/USOO/06633 .
indicia, within a viewable area of the display, means for selecting the at least one indicia, and means for creating a second window within the defined area.
In another aspect, the present invention provides a method for graphically presenting information in conjunction with a digital information device having a display including the steps of defining a first window and second window, each of the windows comprising at least one indicia, within a viewable area of the display, selecting one of the indicia, and merging the first and second windows.
In a further aspect, the present invention provides 10 An apparatus for graphically presenting information in conjunction with a digital information device having a display including means for defining a first window and second window, each of the windows comprising at least one indicia, within a viewable area of the display, means for selecting one of the indicia, and means for merging the first and second windows.
These and other features and advantages of the invention will become further apparent from the detailed description and accompanying figures that follow. In the figures and description, numerals indicate the various features of the invention, like numerals referring to like features throughout both the drawing figures and the written description.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates a prior art tiled window. Figure 2 illustrates a prior art cascading window. Figure 3 illustrates a prior art tabbed window. Figure 4 illustrates a prior art magnetic window.
Figure 5 illustrates a prior art splitter window. Figure 6 illustrates a prior art task bar.
Figure 7 illustrates the basic architecture of a computer system for use in implementing one embodiment of the present invention.
Figure 8 illustrates a MetaView in accordance with 5 the present invention. Figure 9 illustrates a flow diagram for simultaneously sizing and locating windows in response to a single user interactive step under the present invention.
Figure 10 illustrates a MetaView during a user interaction, and the screen "areas" utilized under the present invention.
Figure 11 illustrates a MetaView resulting from a user interaction.
Figure 12 illustrates a MetaView resulting from a user. Figure 13 illustrates four possible arrangements of screen "areas" based upon four possible locations of indicia within a MetaView.
Figure 14 illustrates a MetaView following an additional user interaction moving an additional tab to the new pane.
Figure 15 illustrates a MetaView following an additional user interaction making that tab its own pane. 25 Figure 16 illustrates a MetaView following an additional user interaction resizing an existing pane.
Figure 17 illustrates a MetaView window prior to an user interaction.
Figure 18 illustrates a floating window following 30 resulting from a user interaction.
Figure 19 illustrates a flow diagram for creating floating windows from MetaView windows.
Figure 20 illustrates a screen display of MetaView buttons.
Figure 21 illustrates a MetaView window prior to implementation of a float button.
Figure 22 illustrates the MetaView window split into two windows following implementation of the float button. Figure 23 illustrates two windows prior to implementation of a merge button.
Figure 24 illustrates a single MetaView window 10 following implementation of the merge button.
Figure 25 illustrates a plurality of windows prior to being resized.
Figure 26 illustrates the windows following resizing of the windows.
NOTATION AND NOMENCLATURE
The detailed descriptions which follow are presented largely in terms of display images, algorithms, and symbolic representations of operations of data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art.
An algorithm is here, and generally, conceived to be a self consistent sequence of steps leading to a desired result. These steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, images, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
In the present case, the operations are machine operations performed in conjunction with a human operator. Useful machines for performing the operations of the present invention include general purpose digital computers or other similar devices. In all cases, there should be borne in mind the distinction between the method operations of operating a computer and the method of computation itself. The present invention relates to method steps for operating a
Computer and processing electrical or other physical signals to generate other desired physical signals.
The present invention also relates to apparatus for performing these operations. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. The algorithms, methods and apparatus presented herein are not inherently related to any particular computer. In particular, various general purpose machines may be used with programs in accordance with the teachings herein, or it may prove more convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given below.
DETAILED DESCRIPTION OF THE INVENTION
General System Architecture
Figure 7 depicts the general architecture of a digital computer system 90 for practicing the present invention. Processor 100 is a standard digital computer microprocessor, such as a
CPU of the Intel x86 series. Processor 100 runs system software 120 (such as Microsoft Windows®, Mac OS® or another graphical operating system for personal computers) , which is stored on storage unit 110, e.g., a standard internal fixed disk drive. In accordance with the GUI of the present invention, the "MetaView" software 130, also stored on storage unit 110, includes computer program code for performing the tasks and steps described below, including the digital representation of the contents, locations and dimensions of MetaView tabs and windows, the display of those items, and the processing of such user manipulation of those items in accordance with the principles of the present invention. Display output, including the visual graphical user interface ("GUI") discussed below, is transmitted from processor 100 to an output device such as a video monitor 140 for display to users. Users utilize input devices such as standard personal computer keyboard 150, cursor control device 160 (e.g., a mouse or trackball) , touch-screen sensors on the monitor display, virtual reality gloves, voice input, or similar techniques to enter the GUI input commands discussed below, which are then transmitted to processor 100. Software for implementing MetaView may be stored in a variety of locations and in a variety of mediums, including without limitation, RAM, data storage 111 , a network server, a fixed or portable hard disk drive, an optical disk, or a floppy disk.
Defining a MetaView
The graphical container of a plurality of windows 10 and tabs corresponding to windows described herein is referred to as a "MetaView." In its simplest embodiment, the present invention functions as a single window, bearing a plurality of tabs, corresponding to a plurality of window displays which would result from a user interactively selecting those tabs. For example within the MetaView 81 shown in Figure 8, a user has interactively selected the Alpha tab 8b, and thus the Alpha window 82 subsumes the entire MetaView, obscuring the contents of windows Beta, Gamma and Delta, but leaving Beta 83, Gamma 84, and Delta 85 tabs corresponding to those windows visible. In the same manner, a user interactively selecting the Beta 83 tab would result in the contents of a Beta window to come to the top, obscuring the contents of Alpha, Gamma and Delta, leaving only the tabs Alpha 86, Gamma 84 and Delta 85 visible.
Expanding a Pane within a MetaView
Unlike a tabbed window, a MetaView enab.les a user to resize and relocate full windows corresponding to the tab, with a single user interaction. Using a single command, a user can define the size and location of a window. In order to size and locate a full window corresponding to the tab Gamma 84, a user interactively selects Gamma using cursor control device 160, drags Gamma 84 out of the title bar, (See, Fig. 10) and releases, (See, Fig. 11.) In this Fig. 10, if the cursor is released towards the left of the existing window (Area A which is below or to the left of the imaginary diagonal 113, for example), the area will be split horizontally (See, Fig. 11) . If it is dropped closer to the top of the existing window (Area B which is above or to the right of the imaginary diagonal 113, for example) , the area will be split vertically (See Fig. 12) . Figure 9 discloses a flow chart corresponding to one implementation permitting users to resize and relocate windows within a MetaView in which tabs are arranged on the top left.
For the purposes of this discussion, a pane is a 20 MetaView window with a single title bar, containing one or more tabs. In some embodiments of the present invention, each pane, such as the one consisting of window Alpha 82 and tab Delta 85, and another consisting of window Gamma 112 and tab Beta 83 behaves like a tabbed window (figs. 14 and 15) . In addition, for the purposes of determining the size and location of additional windows or panes, some panes will bifurcate themselves into Area A and Area B, for the purposes of determining location and size according to the flow chart of Figure 9.
Fig. 13 illustrates several possible arrangements 131-134 of the screen "areas" based upon different locations of indicia within a Metaview. The size and location to which tabs or windows may be expanded depends on whether tabs are displayed above or below windows. As Figure 13 illustrates, releasing the cursor in Area A will result in a horizontally oriented window within MetaView 131 or 132, and in MetaView 132, the tab corresponding to the manipulated window will share the title bar with the other tabs. Releasing the cursor in Area A will result in a vertically oriented window within MetaView 133 or 134, and in MetaView 134, the tab corresponding to the manipulated window will share the title bar with the other tabs.
Common Panes
Additional tabs can now be dragged to the newly created pane, by releasing the cursor within the new title bar (Fig. 14) or additional windows can be created by releasing the cursor within neither title bar (Fig. 15) . In the MetaView illustrated by Figure 14, Beta 83 has been interactively selected by a user, dragged and released anywhere within title bar 115. As a result, tab beta 83 is added to pane Gamma 142. In another embodiment, rather than dropping a tab onto the title bar, a user releases a tab onto another tab to result in a single pane with multiple tabs. In that embodiment, multiple panes result from releasing a moved tab anywhere except on top of another tab.
Still more panes result from releasing a moved tab in a location that will not add it to another existing title bar. As shown in Figures 14 and 15, if the user, by means of control device 160, drags tab Beta 83 (See, Fig. 14) to location 152 (See, Fig. 15) and releases, a new pane 153 will be created, whose width is determined by its x coordinate, and whose depth is determined by the perimeter of the MetaView on top, and by the top of window Gamma 151 on the bottom.
Manipulating Existing Panes
Dragging and dropping titles can also be used to resize or relocate existing panes in the same manner as creating a window described above. If there is only one title in a pane, the pane can be resized or located by selecting the tab itself using cursor control 160, dragging the tab to the desired location, and releasing. For example, Figures 15 and 16 illustrate how a user can resize Gamma window 151 by using cursor control device 160 to select pane Gamma 84, drag it to a location lower in the MetaView, and release. The result is a shorter pane Gamma 151 as seen in Figure 16.
Manipulating Multiple Items Simultaneously
Certain embodiments enable the resizing and relocating of panes containing multiple tabs, by implementing a common control indicium 141 (See, Fig. 14). For example, a user can resize tabbed pane 142 by using cursor control device 160 to select the common control
indicium 141, drag it to a location lower in the MetaView and release. The result is a shorter tabbed pane 142 as seen in Figure 17.
Once again, in a MetaView structure displaying tabs 5 on the top left or bottom right, if the common control is dropped closer to the left side of the pane in which it is contained than the top, then the split is horizontal. If the title is dropped closer to the top side of the pane in which it is contained than the left, then the split is vertical.
Maximize
It is possible to extend the MetaView system to 15 include facilities for showing only one window at a time, much like the "maximize" and "restore" commands found in -Microsoft Windows. With such a facility, the user can double click on a title or click a control to make the window cover the MetaView. In some embodiments, tabbing or task bar means could be employed to inform users of other available items while one MetaView window is maximized. In this maximizing embodiment, a distinct user command, such as a double click of control device 160 returns the MetaView to its previous state.
Other Variations
Detailed illustrations of an improved scheme of presenting graphical information within computer displays in accordance with the present invention have been provided above for the edification of those of ordinary skill in the art, and not as a limitation on the scope of the invention. Numerous variations and modifications within the spirit of the present invention will of course occur to those of ordinary skill in the art in view of the embodiments that have now been disclosed. For example, while in the described embodiment, the present invention is implemented for a GUI for general purpose computers, the present invention may also be effectively implemented for any information capable of the display of graphics. The scope of the inventions should, therefore, be determined not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
MetaView Extensions
Floating Windows
As is illustrated in FIG. 17, the present invention provides for the creation of floating windows. In particular, when a title 212 is dropped on an area 214 outside of a rectangular area 216 containing an existing window 210, which may be a MetaView window as described herein, this title 212 is removed from the set of titles in that window 210 and becomes a floating window 218, as shown in FIG. 18. The size of the floating window 218 is set to the size of the existing window 210 the title 212 originated from. The upper left corner of the newly created floating window 218 is set to correspond to this point 220 at which the title 212 was dropped. For example, referring to FIG. 17, in order to create a floating window 218 corresponding to the title Beta 212, a user interactively selects the title Beta 212 using a cursor control device (not shown) , drags the title Beta 212 out of the title bar, and releases. If the cursor is released outside of the area 216 of the existing window S 210, a floating window 218 is created.
FIG. 19 discloses a flow chart 224 corresponding to one implementation permitting users to create floating windows from a MetaView window. Initially, a user clicks on a title for which a floating window is desired to be created and releases the cursor control device (step 226). If the cursor control device is not released outside of the area of the existing window (step 230), a window is created having the title chosen within the existing window as described previously (step 232). If the cursor control device i~ released outside the area of the existing window (step 234) , the x and y coordinates of the cursor control device release point is determined (step 236) . A floating window corresponding to the selected title having a height and width corresponding to the original window is then created (step 238).
If a title is removed from a pane and is the only title in that pane, the adjoining pane is expanded into the area vacated by the now floating window. If there is no adjoining pane, the MetaView window is empty and displays no panes until a previous floating window is closed, as described in detail below.
If a floating window which originated from a MetaView window is closed, it is added
back to the set of titles available in the MetaView window, preferably in the pane from where it originated.
In accordance with another embodiment of the invention, the floating windows may be transformed into overlapping windows that contain MetaView windows with only a single title. Dragging and dropping additional titles into that MetaView window adds titles to it and removes them from the source MetaView window.
MetaView Buttons
As is illustrated in FIG. 20, one or more buttons 240, 242 and 244 may be added to facilitate and simplify floating, splitting and merging of MetaView windows. Such buttons 240, 242 and 244 can be used as an alternative to a drag and drop of the title button in order to achieve the creation or removal of a view. The buttons 240, 242 and 244 referred to below provide for floating, splitting and merging functions. One skilled in the art will recognize that the present invention does not require the implementation of all three buttons 240, 242 and 244, rather one or more of the buttons 240, 242 and 244 may be implemented. Additionally, one skilled in the art will recognize that although the floating, splitting and merging functions are physically activated via the use of buttons 240, 242 and 244, other ways of activating such buttons 240, 242 and 244 may be used as well.
Float Button
In particular, referring to FIG. 20, in accordance with another embodiment of the invention, a float button 240, rather than a drag and drop method as shown in shown and described with respect to FIG. 19, may be used to create a floating window 218 as shown in FIG. 17. The float button 240 performs a float command on the title selected, positioning the floating window 218 in a location similar to the window 210 it originated from. One skilled in the art will recognize that the newly created floating window 218 is not limited to its preferred location but rather may be modified such that it is positioned at any desired location.
In particular, in order to create a floating window 218 corresponding to the title Beta 212, a user interactively selects the title Beta 212 using a cursor control device (not shown) , and
activates the float button 240. A floating window 218 is then automatically created with the title Beta 212. The need to drag and drop the title Beta 212 in an area 214 outside of the original window 210 is thus eliminated. This title Beta 212 is removed from the set of titles in the original window 210 and becomes a floating window 218. The size of the floating window 218 is set to the size of the window 210 the title originated from. Thus, in accordance with an advantage of the present invention, a user can automatically create a floating window 218 by activating the float button 240, thereby eliminating the need for cursor control.
Split Button
As shown in FIGS. 20 through 22, a split button 242 splits a window 46 (FIG. 21) having more than one title into- two windows 246 and 248 (FIG. 22), as though the user had dragged and dropped the current title to the middle point of the window 246. The split button 242 is disabled if there is only one title in the window 246. For example, to split a window 246 having more than one title 250, 252, 254 and 256, a user interactively selects a title 254 using a cursor control device (not shown) and then activates the split button 242. The area 258 will then be split into two windows 246 and 248. One skilled in the art will recognize that the area 58 may be split horizontally or vertically.
Merge Button
Referring to FIGS. 20, 23 and 24, the merge button 244 removes a pane 248 and puts titles, such as title Gamma 254 into its adjoining pane 246. The adjoining pane 24E then expands to fill the space vacated by the merged pane 248. The merge button 244 is unavailable if the pane is exclusive as discussed in detail below, if there is no adjoining pane, or if the adjoining pane is exclusive. For example, as illustrated in FIGS. 23 and 24, after the merge button 244 is depressed, the Gamma tab 254 in pane 248 are merged with the tabs 250, 252 and 256 in pane 246. As shown in FIG. 24, the result is a single pane 258 with multiple tabs 250, 252, 254 and 256.
Resizing Windows
Referring to FIGS. 25 and 26, a plurality of panes 260, 262 and 264 having borders,
including borders 266 and 268, in between panes 260, 262 and 264 is illustrated. By displaying a border 266 and 268 between panes 260, 262 and 264 that can be dragged, the resizing of the panes 260, 262 and 264 is made significantly simpler. In particular, a pane 260, 262 and 264 can be resized by selecting the border 266 and 268 itself using cursor control, dragging the border to the desired size, and releasing. For example, as shown in FIG. 25, a user can resize the Delta window by using cursor control device to select pane Delta 264 along border 268, drag it to a desired size, and release. The result is a shorter pane Delta 264 as seen in FIG. 26. One skilled in the art will recognize that any of the borders of any of the panes can be manipulated in a same manner.
Exclusive Panes
The present invention provides panes, which cannot have more than one title in it. A pane is a MetaView window with a single title bar, containing one or more tabs. Any attempts by a user to add titles to exclusive pane results in no action. Exclusive panes also cannot be added to other panes regardless of whether the other panes can accept more than one title or not.
Having now described the invention in accordance with the requirements of the patent statutes, those skilled in the art will understand how to make changes and modifications in the present invention to meet their specific requirements or conditions. Such changes and modifications may be made without departing from the scope and spirit of the invention as set forth in the following claims.