|Publication number||US6232971 B1|
|Application number||US 09/159,411|
|Publication date||May 15, 2001|
|Filing date||Sep 23, 1998|
|Priority date||Sep 23, 1998|
|Publication number||09159411, 159411, US 6232971 B1, US 6232971B1, US-B1-6232971, US6232971 B1, US6232971B1|
|Inventors||Thomas Richard Haynes|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (4), Referenced by (125), Classifications (5), Legal Events (5)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of the Invention
The present invention generally relates to an improved data processing system, and more particular to an improved graphical user interface (GUI) for a data processing system. Still more particular, the present invention relates to an improved GUI for a data processing system where the GUI includes a parent and child windows having variable levels of modality.
2. Description of Related Art
The basic structure of a conventional computer system 10 is shown in FIG. 1. Computer system 10 has at least one central processing unit (CPU) or processor 12 which is connected to several peripheral devices, including input/output devices 14 (such as a display monitor, keyboard, and graphical pointing device) for the user interface, a permanent memory device 16 (such as a hard disk) for storing the computer's operating system and user programs, and a temporary memory device 18 (such as random access memory or RAM) that is utilized by processor 12 to carry out program instructions. Processor 12 communicates with the peripheral devices by various means, including a bus 20 or a direct channel 22 (more than one bus may be provided utilizing a bus bridge).
Computer system 10 may have many additional components which are not shown such as serial, parallel, and USB ports for connection to, e.g., modems or printers. Those skilled in the art will further appreciate that there are other components that might be used in conjunction with those shown in the block diagram of FIG. 1; for example, a display adapter connected to processor 12 might be used to control a video display monitor, and a memory controller may be used as an interface between temporary memory device 18 and processor 12. Computer system 10 also includes firmware 24 whose primary purpose is to seek out and load an operating system from one of the peripherals (usually permanent memory device 16) whenever the computer is first turned on.
With further reference to FIG. 2, conventional computer systems often employ a graphical user interface (GUI) to present information to the user. The GUI is provided by software that is loaded on the computer, specifically, the computer's operating system acting in conjunction with application programs. Two well-known GUIs include OS/2 (a trademark of International Business Machines Corp.) and Windows (a trademark of Microsoft Corp.).
Generally speaking, a typical GUI provides application windows of two varieties: a parent window and a child window (also known as a dialog box or secondary window). Typically, a parent window is opened when a user initiates execution of an application program. As execution of the application program continues, the parent window opens various child windows which allow the user to access various functionalities in the application program. For example, a parent window may be opened when a user initiates execution of a word processing program. The parent window will, in turn, open a child window corresponding to each document that the user is editing or creating.
In the example of FIG. 2, a generic application program entitled “Document Manager” is presented by the GUI as a primary application window (parent window) 26 on a display device 28 (i.e., video monitor). In this example, the application window has several child windows 30, 32 and 34 which are usually enclosed by parent window 26. These child windows 30, 32 and 34 depict the contents of various files or documents that are handled by the program. A menu bar 36 with a standard set of commands, a toolbar 38, and a status bar 40 may also be provided as part of the GUI, to simplify manipulation and control of the objects (e.g., text, charts and graphics) within the child windows. Windows can overlap one another, in multiple layers. A graphical pointer 42 in the form of an arrowhead is controlled by a pointing device (mouse) in order to manipulate objects in the GUI.
“Modality” refers to the level of interaction allowed when a child window has been opened. It is a description of the ability of the user to interface with other windows, besides the present child window, while the child window is displayed on the GUI.
Application developers today working in common industry-standard operating system environments (such as Microsoft Windows, UNIX) can create child windows as “descendants” of parent application windows. The child windows can contain an attribute that allows them to either be non-modal or modal. Conventional operating systems GUIs allow the application programmer to determine the modal state of the child windows. The child windows are either modal or non-modal (modeless). Modal refers to a type of movable window, fixed in size, that requires a user to enter information before continuing to work in the application window from which it is displayed. For example, when a user invokes the save command on a typical word processing software, the user has to complete the save request or exit the child window before he can interact with the text on the parent window. Modeless or non-modal is a type of movable window, fixed in size, that allows users to continue their dialog with the application without entering information in or closing the child window. In the above example, if the save child window is modeless, the user is able to interact with the text on the parent window without first saving the document or exiting from the child window.
When an application displays a modal dialog box, the window that owns the dialog box is disabled, effectively suspending the application. The user must complete interaction with the modal dialog before the application can continue.
A modal dialog is usually created and activated through the Dialogbox function. This function creates a dialog window from a dialog template resource and displays the dialog as a modal dialog. The application that calls the Dialogbox function supplies the address of a callback function; Dialogbox does not return until the dialog box is dismissed through a call to EndDialog made from this callback function (possibly in response to a user-interface event, such as a click on the OK button). Modal windows may be system modal or application modal. When a child window is system modal, the user may interact only with that child window; no other window on the desktop can be interacted with until the child window is closed. In contrast, if child window is application modal, the user may interact with other desktop windows which are not affiliated with the same application parent window as the child window. Affiliated application windows will not respond to user-interactions until the child window is closed. A child window which is non-model permits user interaction with all other windows on the desktop, even those affiliated with the application and regardless of whether or not the child window is open.
Presenting a modeless dialog does not suspend execution of the application by disabling the owner window of the dialog box. However, modeless dialogs usually remain on top of their owner window even when the owner window gains focus. Modeless dialogs represent an effective way of continuously displaying relevant information to the user.
A modeless dialog is typically created through the CreateDialog function. As there is no equivalent of the DialogBox function for modeless dialog, applications are responsible for retrieving and dispatching messages for the modeless dialog. Most applications do this in their main message loop; however, to ensure that the dialog responds to keyboard events as expected and enables the user to move between controls using keyboard shortcuts, the application must call the IsDialogMessage function. A modeless dialog does not return a value to its owner. However, the modeless dialog and it owner can communicate using SendMessage calls.
FIG. 3 depicts a display device 70 (i.e., video monitor) of a computer system GUI in accordance with the prior art. In the figure, the GUI displays an active parent window 76 having one child window 80 open. The GUI further presents a background area or “desktop” 72 on display device 70 wherein the application windows and other software features (dialog boxes, icons, etc.) are placed on top of desktop 72. A graphical pointer 78 in the form of an arrowhead is provided to allow the user, through manipulation of a pointing device of the computer system, to select, highlight and activate various objects or features of the GUI. Child window 80 may include other pushbuttons. Only the save options “No” 82, “Yes” 83 a and “Exit” 83 b, are illustrated here.
Child window 80 is active in the sense that it has been placed “on top” of the GUI, i.e., foremost (prominent) with respect to other application windows such as the active parent window 76 and inactive application window 74. In the “on top” position, the operating system redirects user inputs (e.g., from a keyboard) to this child window 80. In the particular configuration shown, child window 80 is sized and positioned within desktop 72 so as to cover (partially obscure) inactive application window 74 or active parent window 76 and child windows, if any, of inactive application window 74.
In the example depicted in FIG. 3, a child window has been launched in response to a user attempting to close a text editor. The program puts up an application-modal message child window 80 that asks the user if he wants to save his changes. Suppose the user would like to study the online help for the application before selecting “Yes” 82 b or “No” 82 a. Today the user is unable to select Help from the main window pull-down menu, and would be stuck (i.e. unable to access the Help feature) if the developer did not also include a Help pushbutton on the message window.
European pat No. 463,250 refers to semi-modal dialog boxes; however, it specifically refers to the relationship between two or more child windows subservient to a parent window, and not on the inherent relationship between a child window and its parent as this invention does. For example, it considers situations where opening a child window for an application might not assure data integrity if a different child window is already existent. In such a case, the new child window would not be allowed creation. This present invention does not cover such situations. Rather, it invents compromise window manipulation possibilities for parent windows based on levels of modality context in a child window, independent of any other child windows.
Occasionally, a developer might want the window to be something in-between totally modal and totally non-modal. For example, the user may want to select the Help item from the menu of the parent window as explained above. There is no way to specify and implement this today. It would, therefore, be desirable to devise an improved GUI interface that allowed for child windows of variable modality. It would be further advantageous if the GUI interface permitted the programmer to specify the level of modality for each component of the child windows.
It is therefore one object of the invention to provide an improved data processing system.
It is another object of the present invention to provide an improved graphical user interface (GUI) for a data processing system.
It is yet another object of the present invention to provide an improved GUI for a data processing system where the GUI includes a parent and child windows having variable levels of modality.
The foregoing objects are achieved in the following manner. An application which is executed utilizing a graphical user interface (GUI) which enables a parent window is disclosed. One or more child windows may be available to the user during execution. The level of modality of the child window is determined during programming by the application developer. The operating system is modified to permit a variable level of modality during application execution. The developer selects variable modality for one or more of the child windows. When the child window is opened, the user is allowed to interact with the other windows based on the developers determination of level of modality. The variability may be either application or system-wide. The user is thus permitted to interface with only some of the functions on the other windows on the desktop while the child window is open.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram of a conventional computer system;
FIG. 2 is an illustration of a computer display showing a conventional graphical user interface (GUI) which provides a parent window and child windows, and various other objects such as a menu bar, a toolbar, and a status bar for a parent window, and a graphical pointer for the GUI;
FIG. 3 is an illustration of a GUI according to prior art wherein a modal child window is presented;
FIG. 4 is a logic flow diagram illustrating one implementation of the use of child windows in accordance with the present invention to provide variable modality, wherein the GUI responds to user input based on the level of modality set by the programmer of the application; and
FIG. 5 is one illustration of a computer display according to the present invention depicting a child window with variable modality as to the menu items of the parent window with the Help item selected form the application parent window.
The present invention is directed to a computer operating system having a graphical user interface (GUI) which allows a programmer to set the level of modality for the child windows of the GUI, e.g., non-modal, system modal, application modal, and variable modal. The computer system's hardware may include the various components shown in FIG. 1, but the computer system is not necessarily conventional, i.e., it could include new hardware components as well, or have a novel interconnection architecture for existing components. Therefore, while the present invention may be understood with reference to FIG. 1, this reference should not be construed in a limiting sense. The GUI of the present invention may further be adapted for use with existing operating systems such as OS/2 (a trademark of International Business Machines Corp.) or Windows 95 (a trademark of Microsoft Corp.). Users of these systems are accustomed to interfacing with GUI objects such as status bars, toolbars, items selectable from menu bar pull-downs, etc.
With reference now to FIG. 4, the present invention introduces the concept of pre-selecting modal options for GUI child windows, particularly based on programmer's desire for user interfacing. FIG. 4 depicts a logic flow control diagram of the steps involved in the program implementation and selection of modality for the user interface according to one embodiment of the present invention. The application is commence by the user as shown in block 51. A parent window is launched as illustrated in block 52. At some point during user interaction with the application, the parent window brings up a child window as depicted in block 54. When the user attempts to access the parent window while displaying a child window as shown in block 56, a series of logic steps depicted in blocks 58 and 60 are triggered to determine if the application modality supports this interface. The system checks for the modality of the child window. It first determines if the child window is completely modal as illustrated in block 58, or completely non-modal as illustrated in block 60. If completely modal then the user is denied access to the parent window. If completely non-modal, the user is allowed access to the parent window and all other application windows. When the child window is neither completely modal nor completely non-modal, then it is variable modal as shown in block 62. Once this is determined, the system checks the parent window element the user is trying to interact with to determine the particular modality of the desired user interface as shown in block 64 and allows or disallows access to the parent window based on the original programmer's determination. If the window element is one which is accessible to the user based on the child window's pre-defined variable modality, the user is permitted to interact with the parent window element as illustrated in block 66. If the element is not accessible, no action is taken on the parent window. The process terminates at block 67 once interaction is allowed with the parent window.
FIG. 5 depicts a display device 70 with its various numbered elements as described in FIG. 3 above. However, in accordance with the present invention, FIG. 5 also depicts the Help menu box 88 selected from active parent window 76. As described above, the GUI displays an active parent window 76, having child window 80 open, along with a graphical pointer 78 in the form of an arrowhead to allow the user, through manipulation of a pointing device of the computer system, to select, highlight and activate various objects or features of the GUI.
The GUI of the present invention includes appropriate program instructions that allow a user, administrator, or programmer to select options from the non-active windows of the GUI, based on one or more programmed criteria. In the example of FIG. 5, a variable child window is illustrated based on variable system and application modality.
In FIG. 5, the presentation scheme has been designed to reflect a variable modal child window which is system modal. Here the application developer has allowed the user to select the Help option of the parent application while the child window is open. No other menu item may be selected without first closing the child window.
Any number of modal options are possible. In the illustrated example of FIG. 5, only the Help menu item may be selected. Alternatively, other embodiments may permit a range of different forms of variable modality, such as interfacing the Edit pull-down menu, or both the View and Edit pull-down menu, or any other combination as determined by the programmer when developing the application to improve its functionality.
The foregoing example provides a method of programmed modality based upon the programmer's perceived functionality of the application. Other examples of how the present invention might be used is where the application developer might want the user to dispose of the child window before performing certain interactions with other application windows, but not all—it may be deemed appropriate, for instance, that the user be allowed to minimize or maximize, or restore the primary application window, but not close it. Additionally, the user may be permitted to move or resize the child windows. Also, the programmer may permit the child window to submerge below the parent window during specific user interactions with the parent window.
The present invention may be carried out by providing an operating system or modifying current systems to support and enable such semi-modal specificity. Application development environments (eg. Java, Visual C++) would need to document and handle developer usage. They must enable the application developer to specify the levels of modality, and then set control options that govern the manner in which the application's GUI child windows interact. The variable level specified by the application developer would distinguish between system and application levels of modality, and then for each may allow granular, disparate specifications of user interaction. Additionally, the software includes appropriate program instructions to handle any conflicts in the modal settings, such as where there are two or more open applications with Help menu items.
The examples of FIGS. 4 and 5 discuss modality for child windows, but the present invention may be applied to a much larger group of modal child window operations, including all of the elements discussed in the Background of the Invention.
Although the invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternative embodiments of the invention, will become apparent to persons skilled in the art upon reference to the description of the invention. For example, while the foregoing description applies to GUIs for computer systems such as personal computers (PCs), the present invention is not limited to use with PCs as it could be implemented on minicomputers, mainframes, or any other data processing equipment which presents information in the form of child windows. It is therefore contemplated that such modifications can be made without departing from the spirit or scope of the present invention as defined in the appended claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5659694 *||Jun 30, 1994||Aug 19, 1997||Canon Kabushiki Kaisha||Method and system for displaying context sensitive child windows independently of their parent window|
|US5825358 *||Oct 4, 1996||Oct 20, 1998||Honeywell, Inc.||Process and system for forming multiple preemptive modeless dialog boxes|
|US5838969 *||May 10, 1996||Nov 17, 1998||Apple Computer, Inc.||System and method for collecting and dispatching selected events in a computer application program|
|US5886694 *||Jul 14, 1997||Mar 23, 1999||Microsoft Corporation||Method for automatically laying out controls in a dialog window|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US6351272 *||Nov 30, 1998||Feb 26, 2002||Sun Microsystems, Inc.||Applet and application display in embedded systems using child and orphan graphics contexts|
|US6380955 *||Jun 15, 2000||Apr 30, 2002||Sun Microsystems, Inc.||Applet and application display in embedded systems using bufferless child graphics contexts|
|US6407759 *||Nov 30, 1998||Jun 18, 2002||Sun Microsystems, Inc.||Method and apparatus for modal dialog box management in applets on information appliances|
|US6459440 *||Jul 15, 1999||Oct 1, 2002||Motorola, Inc.||Method and apparatus for automatic deletion of a pop-up window|
|US6674449 *||Nov 25, 1998||Jan 6, 2004||Ge Medical Systems Global Technology Company, Llc||Multiple modality interface for imaging systems|
|US7024626 *||Nov 30, 2001||Apr 4, 2006||Apple Computer, Inc.||System and method of producing user interface information messages|
|US7373592 *||Mar 12, 2004||May 13, 2008||Microsoft Corporation||Modeless child windows for application programs|
|US7533341||Apr 4, 2006||May 12, 2009||Apple Inc.||System and method of producing user interface information messages|
|US7620911 *||Jul 12, 2001||Nov 17, 2009||Autodesk, Inc.||Collapsible dialog window|
|US7703036||Sep 30, 2004||Apr 20, 2010||Microsoft Corporation||User interface for displaying selectable software functionality controls that are relevant to a selected object|
|US7707255||May 19, 2004||Apr 27, 2010||Microsoft Corporation||Automatic grouping of electronic mail|
|US7716593||May 21, 2004||May 11, 2010||Microsoft Corporation||Conversation grouping of electronic mail records|
|US7739259||May 9, 2006||Jun 15, 2010||Microsoft Corporation||Integrated search and find user interface|
|US7747966||Sep 30, 2004||Jun 29, 2010||Microsoft Corporation||User interface for providing task management and calendar information|
|US7783990 *||May 5, 2006||Aug 24, 2010||Microsoft Corporation||Association of display elements|
|US7853889||Dec 22, 2008||Dec 14, 2010||Autodesk, Inc.||Palette-based graphical user interface|
|US7886290||Jun 16, 2005||Feb 8, 2011||Microsoft Corporation||Cross version and cross product user interface|
|US7895531||Jun 13, 2005||Feb 22, 2011||Microsoft Corporation||Floating command object|
|US8117542||Sep 30, 2004||Feb 14, 2012||Microsoft Corporation||User interface for displaying selectable software functionality controls that are contextually relevant to a selected object|
|US8150930||Apr 5, 2010||Apr 3, 2012||Microsoft Corporation||Automatic grouping of electronic mail|
|US8201103||Jun 29, 2007||Jun 12, 2012||Microsoft Corporation||Accessing an out-space user interface for a document editor program|
|US8239882||Aug 30, 2005||Aug 7, 2012||Microsoft Corporation||Markup based extensibility for user interfaces|
|US8255828||Sep 30, 2004||Aug 28, 2012||Microsoft Corporation||Command user interface for displaying selectable software functionality controls|
|US8302014||Jun 11, 2010||Oct 30, 2012||Microsoft Corporation||Merging modifications to user interface components while preserving user customizations|
|US8402096||Jun 24, 2008||Mar 19, 2013||Microsoft Corporation||Automatic conversation techniques|
|US8484578||Jun 27, 2008||Jul 9, 2013||Microsoft Corporation||Communication between a document editor in-space user interface and a document editor out-space user interface|
|US8578290 *||Aug 18, 2005||Nov 5, 2013||Microsoft Corporation||Docking and undocking user interface objects|
|US8605090||Jun 1, 2006||Dec 10, 2013||Microsoft Corporation||Modifying and formatting a chart using pictorially provided chart elements|
|US8627222||May 9, 2006||Jan 7, 2014||Microsoft Corporation||Expanded search and find user interface|
|US8627227||Oct 19, 2012||Jan 7, 2014||Microsoft Corporation||Allocation of space in an immersive environment|
|US8638333||Oct 6, 2009||Jan 28, 2014||Microsoft Corporation||Modifying and formatting a chart using pictorially provided chart elements|
|US8713467||Dec 3, 2013||Apr 29, 2014||Palantir Technologies, Inc.||Context-sensitive views|
|US8739058||Jan 19, 2010||May 27, 2014||Microsoft Corporation||Sidebar engine, object model and schema|
|US8762880 *||Jun 27, 2008||Jun 24, 2014||Microsoft Corporation||Exposing non-authoring features through document status information in an out-space user interface|
|US8799353||Mar 30, 2009||Aug 5, 2014||Josef Larsson||Scope-based extensibility for control surfaces|
|US8799799||Jun 13, 2013||Aug 5, 2014||Palantir Technologies Inc.||Interactive geospatial map|
|US8799808||May 21, 2004||Aug 5, 2014||Microsoft Corporation||Adaptive multi-line view user interface|
|US8812960||Dec 3, 2013||Aug 19, 2014||Palantir Technologies Inc.||Cohort-based presentation of user interaction data|
|US8819585||Oct 27, 2008||Aug 26, 2014||Microsoft Corporation||Child window surfacing and management|
|US8832594||Dec 20, 2013||Sep 9, 2014||Palantir Technologies Inc.||Space-optimized display of multi-column tables with selective text truncation based on a combined text width|
|US8839139||May 11, 2010||Sep 16, 2014||Microsoft Corporation||User interface for providing task management and calendar information|
|US8855999||Feb 5, 2014||Oct 7, 2014||Palantir Technologies Inc.||Method and system for generating a parser and parsing complex data|
|US8868486||Dec 10, 2013||Oct 21, 2014||Palantir Technologies Inc.||Time-sensitive cube|
|US8887082 *||Jul 20, 2011||Nov 11, 2014||Beijing Sogou Technology Development Co., Ltd.||Method and system for realizing message interactions in a multi-tabs application|
|US8917274||Dec 19, 2013||Dec 23, 2014||Palantir Technologies Inc.||Event matrix based on integrated data|
|US8924872||Dec 16, 2013||Dec 30, 2014||Palantir Technologies Inc.||Overview user interface of emergency call data of a law enforcement agency|
|US8930897||Oct 2, 2013||Jan 6, 2015||Palantir Technologies Inc.||Data integration tool|
|US8937619||Jan 6, 2014||Jan 20, 2015||Palantir Technologies Inc.||Generating an object time series from data objects|
|US8938686||Oct 3, 2013||Jan 20, 2015||Palantir Technologies Inc.||Systems and methods for analyzing performance of an entity|
|US9009171||May 2, 2014||Apr 14, 2015||Palantir Technologies Inc.||Systems and methods for active column filtering|
|US9009827||May 16, 2014||Apr 14, 2015||Palantir Technologies Inc.||Security sharing system|
|US9015621||Feb 17, 2009||Apr 21, 2015||Microsoft Technology Licensing, Llc||Command user interface for displaying multiple sections of software functionality controls|
|US9015624||Feb 15, 2011||Apr 21, 2015||Microsoft Corporation||Floating command object|
|US9021260||Aug 29, 2014||Apr 28, 2015||Palantir Technologies Inc.||Malware data item analysis|
|US9021384||Jun 2, 2014||Apr 28, 2015||Palantir Technologies Inc.||Interactive vehicle information map|
|US9043696||Feb 27, 2014||May 26, 2015||Palantir Technologies Inc.||Systems and methods for visual definition of data associations|
|US9043894||Feb 6, 2015||May 26, 2015||Palantir Technologies Inc.||Malicious software detection in a computing system|
|US9046983||May 12, 2009||Jun 2, 2015||Microsoft Technology Licensing, Llc||Hierarchically-organized control galleries|
|US9098473||May 4, 2012||Aug 4, 2015||Microsoft Technology Licensing, Llc||Accessing an out-space user interface for a document editor program|
|US9098837||Feb 9, 2008||Aug 4, 2015||Microsoft Technology Licensing, Llc||Side-by-side shared calendars|
|US9116975||Oct 1, 2014||Aug 25, 2015||Palantir Technologies Inc.||Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores|
|US9123086||Mar 15, 2013||Sep 1, 2015||Palantir Technologies, Inc.||Automatically generating event objects from images|
|US9202249||Aug 29, 2014||Dec 1, 2015||Palantir Technologies Inc.||Data item clustering and analysis|
|US9223477||Aug 27, 2012||Dec 29, 2015||Microsoft Technology Licensing, Llc||Command user interface for displaying selectable software functionality controls|
|US9223591||Aug 30, 2012||Dec 29, 2015||International Business Machines Corporation||Sizing a pane of a window presented on a display|
|US9223773||Jan 6, 2014||Dec 29, 2015||Palatir Technologies Inc.||Template system for custom document generation|
|US9256664||Jul 3, 2014||Feb 9, 2016||Palantir Technologies Inc.||System and method for news events detection and visualization|
|US9298678||Jul 9, 2014||Mar 29, 2016||Palantir Technologies Inc.||System and method for news events detection and visualization|
|US9335897||Sep 20, 2013||May 10, 2016||Palantir Technologies Inc.||Long click display of a context menu|
|US9335911||Sep 18, 2015||May 10, 2016||Palantir Technologies Inc.||Interactive user interface for dynamic data analysis exploration and query processing|
|US9338114||Feb 18, 2013||May 10, 2016||Microsoft Technology Licensing, Llc||Automatic conversation techniques|
|US9344447||Sep 15, 2014||May 17, 2016||Palantir Technologies Inc.||Internal malware data item clustering and analysis|
|US9367872||Dec 22, 2014||Jun 14, 2016||Palantir Technologies Inc.||Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures|
|US9380431||Mar 15, 2013||Jun 28, 2016||Palantir Technologies, Inc.||Use of teams in a mobile application|
|US9383911 *||Sep 9, 2009||Jul 5, 2016||Palantir Technologies, Inc.||Modal-less interface enhancements|
|US9430130||Nov 27, 2013||Aug 30, 2016||Microsoft Technology Licensing, Llc||Customization of an immersive environment|
|US9449035||Mar 11, 2015||Sep 20, 2016||Palantir Technologies Inc.||Systems and methods for active column filtering|
|US9454281||Aug 31, 2015||Sep 27, 2016||Palantir Technologies Inc.||System for providing dynamic linked panels in user interface|
|US9454785||Sep 17, 2015||Sep 27, 2016||Palantir Technologies Inc.||Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data|
|US9483162||Jun 30, 2014||Nov 1, 2016||Palantir Technologies Inc.||Relationship visualizations|
|US9483546||Dec 15, 2014||Nov 1, 2016||Palantir Technologies Inc.||System and method for associating related records to common entities across multiple lists|
|US9501851||Sep 30, 2015||Nov 22, 2016||Palantir Technologies Inc.||Time-series analysis system|
|US9513781||Dec 27, 2013||Dec 6, 2016||Microsoft Technology Licensing, Llc||Expanded search and find user interface|
|US9514200||Jul 31, 2015||Dec 6, 2016||Palantir Technologies Inc.||Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores|
|US9514414||Apr 1, 2016||Dec 6, 2016||Palantir Technologies Inc.||Systems and methods for identifying and categorizing electronic documents through machine learning|
|US9542667||Jan 13, 2006||Jan 10, 2017||Microsoft Technology Licensing, Llc||Navigating messages within a thread|
|US9552615||Mar 5, 2015||Jan 24, 2017||Palantir Technologies Inc.||Automated database analysis to detect malfeasance|
|US9557882||Apr 1, 2014||Jan 31, 2017||Palantir Technologies Inc.||Context-sensitive views|
|US9558352||Apr 28, 2015||Jan 31, 2017||Palantir Technologies Inc.||Malicious software detection in a computing system|
|US20020054141 *||Jul 20, 2001||May 9, 2002||Yen Hsiang Tsun||Computer system for displaying multiple window displays|
|US20030011639 *||Jul 12, 2001||Jan 16, 2003||Autodesk, Inc.||Collapsible dialog window|
|US20030103072 *||Nov 30, 2001||Jun 5, 2003||Steve Ko||System and method of producing user interface information messages|
|US20040024303 *||Jul 3, 2003||Feb 5, 2004||Banks Seth R.||Multiple modality interface for imaging systems|
|US20040237049 *||Jun 29, 2004||Nov 25, 2004||Microsoft Corporation||Undockable sub-windows|
|US20050004989 *||May 19, 2004||Jan 6, 2005||Microsoft Corporation||Automatic grouping of electronic mail|
|US20050004990 *||May 21, 2004||Jan 6, 2005||Microsoft Corporation||Conversation grouping of electronic mail records|
|US20050028094 *||Mar 12, 2004||Feb 3, 2005||Microsoft Corporation||Modeless child windows for application programs|
|US20050028110 *||Apr 5, 2004||Feb 3, 2005||Autodesk Canada, Inc.||Selecting functions in context|
|US20050055645 *||Sep 9, 2003||Mar 10, 2005||Mitutoyo Corporation||System and method for resizing tiles on a computer display|
|US20060036946 *||Jun 13, 2005||Feb 16, 2006||Microsoft Corporation||Floating command object|
|US20060069604 *||Sep 30, 2004||Mar 30, 2006||Microsoft Corporation||User interface for providing task management and calendar information|
|US20060179408 *||Apr 4, 2006||Aug 10, 2006||Apple Computer, Inc.||System and method of producing user interface information messages|
|US20070044035 *||Aug 18, 2005||Feb 22, 2007||Microsoft Corporation||Docking and undocking user interface objects|
|US20070214431 *||Mar 8, 2006||Sep 13, 2007||Microsoft Corporation||Smart gadget resizing|
|US20070260999 *||May 5, 2006||Nov 8, 2007||Microsoft Corporation||Association of display elements|
|US20080016459 *||Jul 16, 2007||Jan 17, 2008||Microsoft Corporation||Gradual desaturation mechanism for conveying information|
|US20090193358 *||Jan 30, 2008||Jul 30, 2009||Intuit Inc.||Method and apparatus for facilitating information access during a modal operation|
|US20100070897 *||Sep 9, 2009||Mar 18, 2010||Andrew Aymeloglu||Modal-less interface enhancements|
|US20100083168 *||Sep 24, 2009||Apr 1, 2010||Yokogawa Electric Corporation||Device information display apparatus|
|US20100107115 *||Oct 27, 2008||Apr 29, 2010||Microsoft Corporation||Child window surfacing and management|
|US20100115453 *||Jan 19, 2010||May 6, 2010||Microsoft Corporation||Sidebar engine, object model and schema|
|US20100318932 *||Aug 24, 2010||Dec 16, 2010||Microsoft Corporation||Association of Display Elements|
|US20110072396 *||Nov 29, 2010||Mar 24, 2011||Microsoft Corporation||Gallery User Interface Controls|
|US20110276899 *||Jul 20, 2011||Nov 10, 2011||Beijing Sogou Technology Development Co., Ltd.||Method and system for realizing message interactions in a multi-tabs application|
|US20120159383 *||Dec 20, 2010||Jun 21, 2012||Microsoft Corporation||Customization of an immersive environment|
|US20130080966 *||Feb 27, 2012||Mar 28, 2013||Microsoft Corporation||User experience for notebook creation and interaction|
|US20130145314 *||Mar 17, 2011||Jun 6, 2013||Ashish Dhar||System and Method for Changeable Focus Modal Windows|
|US20150269334 *||Mar 21, 2014||Sep 24, 2015||Palantir Technologies, Inc.||Provider portal|
|USD740847 *||Dec 12, 2014||Oct 13, 2015||SecurityScorecard, Inc.||Display screen or portion thereof with graphical user interface for security to reduce risk|
|USD759084 *||Jun 4, 2015||Jun 14, 2016||Security Scorecard, Inc.||Display screen or portion thereof with graphical user interface for security to reduce risk|
|USD772276||May 16, 2016||Nov 22, 2016||Security Scorecard, Inc.||Display screen or portion thereof with graphical user interface for security to reduce risk|
|USD776153||Jan 7, 2016||Jan 10, 2017||Security Scorecard, Inc.||Display screen or portion thereof with graphical user interface for security to reduce risk|
|WO2010030913A2 *||Sep 11, 2009||Mar 18, 2010||Palantir Technologies, Inc.||Modal-less interface enhancements|
|WO2010030913A3 *||Sep 11, 2009||May 14, 2010||Palantir Technologies, Inc.||Modal-less interface enhancements|
|WO2011116182A1 *||Mar 17, 2011||Sep 22, 2011||Siemens Healthcare Diagnostics Inc.||System and method for changeable focus modal windows|
|U.S. Classification||715/800, 715/803|
|Sep 23, 1998||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HAYNES, THOMAS RICHARD;REEL/FRAME:009487/0869
Effective date: 19980922
|Sep 22, 2004||FPAY||Fee payment|
Year of fee payment: 4
|Nov 24, 2008||REMI||Maintenance fee reminder mailed|
|May 15, 2009||LAPS||Lapse for failure to pay maintenance fees|
|Jul 7, 2009||FP||Expired due to failure to pay maintenance fee|
Effective date: 20090515