US5436637A - Graphical user interface system and methods for improved user feedback - Google Patents
Graphical user interface system and methods for improved user feedback Download PDFInfo
- Publication number
- US5436637A US5436637A US08/026,720 US2672093A US5436637A US 5436637 A US5436637 A US 5436637A US 2672093 A US2672093 A US 2672093A US 5436637 A US5436637 A US 5436637A
- Authority
- US
- United States
- Prior art keywords
- screen
- cursor
- pictorial
- graphical
- icon
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
- G06F3/04895—Guidance during keyboard input operation, e.g. prompting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
Definitions
- the present invention relates generally to computer systems and, more particularly, to systems and techniques for assisting a user of a computer system.
- computers With the advent of the personal computer, the use of computer systems is becoming increasingly prevalent in everyday life. In the past, computers were often housed in highly restricted areas, with access limited to a few computer scientists and programmers. Today, however, computers can be seen on the desktops of most business professionals. Running software applications such as word processors and spreadsheets, for example, even the average business professional can realize substantial productivity gains. Besides the business environment, computers can also be found in wide use both at home and at school.
- GUIs graphical user interfaces
- a GUI is a type of display format that enables a user to operate a computer by pointing to pictorial representations, such as "windows” and "icons” (bitmaps), displayed on a screen device.
- a window is a rectangle displayed on the screen that affords a user workspace within a program. In typical operation, the user may move the window about on the screen, change its size or shape, enlarge it to fill the screen, close it entirely, or change how much of its contents are displayed.
- a window will typically include a number of user interface components, such as buttons, menus, sliders, and the like. Outside the window, the screen can display other screen objects, such as other windows, disk drive icons, or even a trash can icon.
- a screen cursor or pointer typically displayed as a small arrow icon (bitmap) which allows the user to select individual points on the screen.
- bitmap small arrow icon
- the screen cursor is moved to a desired screen location in response to movements of a pointing device (e.g., mouse) by the user.
- pointing devices include one or more switches or "mouse buttons" for specifying additional user input or "user events.” Since many user choices may be entered through use of a pointing device (e.g., for selecting screen objects), instead of input with a keyboard, the need for the user to memorize special commands has been lessened.
- GUIs feature a menu bar, for instance, running across the top of the screen which serves to group or categorize commands available to the user. Clicking on an item on the menu bar typically causes a "pull-down" menu to appear.
- This second or “submenu” also includes a number of items, each of which is associated with a desired action, including the display of even more menus. To select a desired action, the user usually clicks the corresponding menu item with the screen or mouse pointer.
- a keyboard equivalent or "hot key” may be available but, unfortunately, these must also be memorized by the user.
- pull-down menus are an improvement over command-line (e.g., MS-DOS) interfaces, they are non-metaphoric or non-analogous to ordinary objects, i.e., ones familiar to the user.
- command-line e.g., MS-DOS
- pull-down menus are non-metaphoric or non-analogous to ordinary objects, i.e., ones familiar to the user.
- the biggest weakness of pull-down menus is the requirement that the user must know beforehand which menu contains the item or function of interest. If the user does not know which pull-down menu, submenu, or dialog box contains the item he or she is seeking, the user will spend an inordinate amount of time checking the contents of each in an effort to hunt down the needed item. And often the search is in vain.
- buttons painted with icons which are supposed to tell the user what the buttons do.
- This approach makes the interface problem even worse because the meaning of the individual buttons is often not easily grasped. For instance, some button images are so small or so numerous that it is hard to see the icons well enough to discern what they mean. Thus, the approach is frequently no more helpful than hiding the desired function deep inside a menuing system.
- application software has not necessarily become easier to use. Instead, technological advances have been largely employed to build more complex functions into existing applications, often resulting in a complicated user interface, such as a staggering array of icons, which leave the user even more bewildered.
- the present invention recognizes that it is highly desirable to provide computers with system and application software which is highly intuitive to users, including those who are untrained in the use of the software. What is needed is a system and interface methods which require little or no knowledge of specific commands by the user. Moreover, such methods should not "invade” the user screen workspace (client area), that is, they should operate in a non-intrusive fashion.
- the present invention fulfills this and other needs.
- the present invention recognizes that present-day implementations of graphical user interfaces often serve to further confuse a user of a computer system. Examples include toolbars or "smart" icons, which, owing to the vast number of bitmap images typically employed, force the user to memorize a multitude of (often arbitrary) images.
- the present invention further recognizes that conventional techniques for providing screen feedback, such as "balloon help” and "intelligent cursors,” operate in a fashion which is not only intrusive to the active workspace (client area), but is also computationally very inefficient.
- Balloon help for instance, by "popping up” at a screen location proximate the cursor location, typically obscures the work product of interest.
- the task of continually creating and destroying user interface windows (the “balloons”), being resource intensive, substantially degrades the performance of such systems.
- By overwriting the client area i.e., active screen portion where the user's data is represented
- such systems must undertake the computationally expensive operation of "repainting" the user image.
- a graphical user interface includes improved interface components and methods for supplying the user with "hints" which enable users to completely discern the functionality of smart icons, interface objects, or other screen components of interest
- the "hints" which may be in the form of textual (or graphic) messages, are restricted to a non-intrusive location of the screen, typically located along one side (e.g., bottom or inferior portion) of a program's client area.
- the screen cursor touches an object (e.g., enters a button) of interest, the system identifies the object with an appropriate descriptor hint displayed in the non-intrusive region.
- the entrance of the cursor into and departure from screen objects is continually monitored as follows.
- the object e.g., boundary of a known screen region
- the object is identified (e.g., from hit-testing, its window handle, or the like).
- a corresponding descriptor or "hint" may be determined. This hint is displayed in a status frame or window--a static frame (i.e., it is continually displayed) along a single portion (e.g., the bottom) of the client area.
- the descriptor is cleared or erased from the status window. In this manner, the system may continually monitor and describe system objects of interest in a non-intrusive and computationally frugal fashion.
- FIG. 1A is a block diagram of a computer system in which the present invention may be embodied.
- FIG. 1B is a block diagram of a software system of the present invention, which includes operating system, application software, and user interface components.
- FIG. 1C is a bitmap screenshot illustrating the basic architecture and functionality of a graphical user interface in which the present invention may be embodied.
- FIG. 2 is a pair of flowcharts contrasting the operation of conventional modal architecture with that of event-driven architecture.
- FIG. 3A is a bitmap screenshot illustrating an improved graphical user interface of the present invention.
- FIGS. 3B-D are bitmap illustrations further describing interface components from the graphical user interface of FIG. 3A.
- FIGS. 4A-B are a series of bitmap screenshots which illustrate (in animation fashion) a "hint" interface method of the present invention.
- FIG. 4C is a bitmap which summarizes the hints for the toolbar interface component from the improved graphical user interface of the present invention.
- FIG. 5A is a bitmap screenshot which illustrates an exemplary operation of the graphical interface of the present invention, the example including client area objects which interact with a screen cursor.
- FIG. 5B is a sequence of bitmap screenshot frames illustrating hint methodology for the interface of FIG. 5A.
- FIG. 5C is a bitmap summarizing the toolbar of FIG. 5A with exemplary hints.
- FIGS. 6A-F are a series of bitmaps illustrating a multitude of user interface toolbars, each one employed for a particular task; the bitmaps include exemplary hints which may be employed with each toolbar.
- FIG. 7 is a flowchart illustrating a hint method of the present invention.
- FIG. 8 is a bitmap screenshot illustrating multiple hints for a screen object having multiple regions.
- the present invention may be embodied in a computer system such as the system 100, which comprises a central processor 101, a main memory 102, an input/output controller 103, a keyboard 104, a pointing device 105 (e.g., mouse, track ball, pen device, or the like), a display device 106, and a mass storage 107 (e.g., hard disk). Additional input/output devices, such as a printing device 108, may be included in the system 100 as desired. As illustrated, the various components of the system 100 communicate through a system bus 110 or similar architecture.
- the computer system 100 includes an IBM-compatible personal computer, which is available from several vendors (including IBM of Armonk, N.Y.).
- a computer software system 120 is provided for directing the operation of the computer system 100.
- Software system 120 which is stored in system memory 102 and on disk memory 107, includes a kernel or operating system (OS) 140 and a windows shell 150.
- OS operating system
- One or more application programs, such as application software 125 or windows application software 145, may be "loaded” (i.e., transferred from storage 107 into memory 102) for execution by the system 100.
- System 120 includes a user interface (UI) 160, preferably a graphical user interface (GUI), for receiving user commands and data. These inputs, in turn, may be acted upon by the system 100 in accordance with instructions from operating module 140, windows 150, and/or application modules 125, 145.
- the UI 160 also serves to display the results of operation, whereupon the user may supply additional inputs or terminate the session.
- the UI is typically provided by windows shell 150, operating under OS 140.
- OS 140 is MS-DOS and windows 150 is Microsoft® Windows; both are available from Microsoft Corporation of Redmond, Wash.
- System 120 also includes a hints module 130 of the present invention for aiding users of the computer 100.
- the module 130 is typically constructed within applications 145. Before undertaking a detailed description of the construction and operation of the hints module 130 itself, however, it is helpful to first examine the general methodology of UI 160 and the event-driven architecture driving its operation.
- the system 100 typically presents UI 160 as a windowing interface or workspace 161.
- Window 161 is a rectangular, graphical user interface (GUI) for display on screen 106; additional windowing elements may be displayed in various sizes and formats (e.g., tiled or cascaded), as desired.
- GUI graphical user interface
- a menu bar 170 with a plurality of user-command choices, each of which may invoke additional submenus and software tools for use with application objects.
- Window 161 includes a client area 180 for displaying and manipulating screen objects, such as graphic object 181 and text object 182.
- the client area is a workspace or viewport for the user to interact with data objects which reside within the computer system 100.
- Windowing interface 161 includes a screen cursor or pointer 185 for selecting and otherwise invoking screen objects of interest.
- the cursor 185 floats (i.e., freely moves) across the screen 106 to a desired screen location.
- user-event signals e.g., mouse button "clicks” and “drags"
- Window 161 may be closed, resized, or scrolled by "clicking on” (selecting) screen components 172, 174/5, and 177/8, respectively.
- Keystroke equivalents including keyboard accelerators or "hot keys", are provided for performing these and other user operations through keyboard 104.
- a message or event-driven architecture Underlying the windowing interface is a message or event-driven architecture. This model is perhaps best described by contrasting its operation with that of a modal or sequential architecture which has been traditionally employed. In this manner, the reader may appreciate the added flexibility of a message-driven system--flexibility which is employed by the system of the present invention for providing object-specific hints for objects which the screen cursor touches.
- a modal program 200 comprises a series of discrete operating blocks or modes 210, with a well-defined beginning, middle and end.
- a program typically displays a series of input screens for receiving user information, for example, to create a written report.
- the first entry screen may require a customer name, the second a customer address, the third a part number, and so on.
- the program typically terminates in an output mode, for reporting results determined from the various inputs.
- the program 200 follows a fairly rigid sequence of operation, with each input or entry mode demanding successful completion before the program proceeds to the next step.
- a modal program is relatively easy to design and implement, it is not so easy to use.
- the design certainly ensures that all required information is entered, but only at the expense of forcing users to operation in a manner dictated by the program.
- a user since the program is built around a pre-arranged set of modes, a user cannot get from one mode to another without first completing a previously-required mode. In the present example, for instance, a user must needlessly complete a customer name entry screen (and any other intervening input screens) just to access part number information. Any deviation from this sequence by the user is simply not permitted. Lacking flexibility, modal programs make a poor choice for handling real-world tasks.
- an event-driven architecture 250 eschews a pre-selected sequence, opting instead for an "event loop.”
- the event loop 260 is a centralized mechanism for processing messages about user and system events. It includes an event queue 270 and mechanisms for retrieving 263 and dispatching 269 messages to various window classes 280. Before each of these components is described in detail, it is helpful to have a firm understanding of "messages.”
- a program reads from the keyboard by making an explicit call to a function, such as the C function getchar().
- the function typically waits until the user presses a key before returning the character code to the program; all system activity ceases until completion of this one step.
- the operating system uses messages to manage and synchronize multiple applications and hardware events, such as clicks of a mouse or presses of a keyboard, which are converted to messages by Windows event handlers.
- a message is simply a data structure containing information about a particular event.
- a message is a 16-bit unsigned integer which serves as a symbolic constant for a particular event; packaged within this integer is a message identifier and message parameters, which vary with each event type represented.
- messages from a window object might include information about creating (WM -- CREATE), closing (WM -- CLOSE), moving (WM -- MOVE), and re-sizing (WM -- SIZE) the window.
- the input messages are collected in a system-wide queue and then directed to the proper window. These messages, along with timer and screen paint messages, must be passed to the target application(s) of interest.
- a mechanism for retrieving messages from the system queue and dispatching them to the appropriate application which, in turn, may proceed to process any message that arrives.
- Each window belongs to a certain window type or "class" which defines certain characteristics common to all windows of that type.
- a Windows function which processes all messages sent to windows of its type.
- An application queue is provided where Windows may place messages that belong to a specific application. When the application is ready to receive input, it simply reads the awaiting messages. If none are found or if there exists a message for other applications with higher priority, Windows passes control to the other applications.
- the message or event loop 260 shown in FIG. 2, for example, may be simply coded as:
- a message (&msg) is retrieved by a call to GetMessage (step 263); if needed, the retrieved message may be translated by a call to TranslateMessage() and then dispatched by a call to DispatchMessage (step 269).
- This "while" loop continues until the GetMessage function returns a value of zero--indicating that the loop has read a WM -- QUIT message from the queue, telling the application to end (yes at step 265).
- applications can create their own messages and place them in the application queues of other applications.
- the SendMessage and PostMessage functions let applications pass messages to their windows or to the windows of other applications.
- the PostMessage function directs Windows to post the message by placing it in the application queue. Control returns immediately to the calling application, and any action to be carried out as a result of the message does not occur until the message is read from the queue.
- the SendMessage function directs Windows to send a message directly to the given Windows function, thereby bypassing the application queue. Windows does not return control to the calling application until the Windows function that receives the message has processed it. Such an unqueued message, however, is generally a message that affects the window only.
- the interface includes a parent or main window 300 having a client area 310, in a fashion similar to that for the above-described Windows interface 161 (in FIG. 1C).
- the main window 300 includes a plurality of child windows or "toolbar” 330 and a "status" child window 340. Each will be examined in turn.
- the toolbar 330 comprises a plurality of "custom control" buttons, typically positioned just below the main menu. Providing quick access to the equivalents of menu commands (i.e., word on a menu one chooses to perform an action), the toolbar greatly speeds up a given task, such as navigating through one's data. As shown, selected ones of the buttons may be clustered together (e.g., cluster 331 and cluster 335) according to (similar) functionality. Alternatively, buttons may be separated (e.g., control or button 337). Thus, a toolbar typically appears as set of bitmaps or icons below the menu line in an application's main window. It may contain buttons, edit fields, combo boxes, and the like. In a well-designed program, controls are grouped by related functionality.
- the client area may be divided into several smaller logical areas.
- hit-testing involves calculations using the X- and Y- coordinates passed to a Windows window procedure (in the 1Param parameter of the mouse message).
- Hit-testing is simplified through the use of "child windows.” The child windows divide the entire client area into several smaller rectangular regions. Each child window has its own window handle, window procedure, and client area. Each window procedure receives mouse messages that apply only to its child window.
- Child windows are child windows located at the top of a main window's client area. They extend across the width of the client area and are automatically re-sized whenever the main window changes shape.
- the program's other windows inhabit the remaining client area of the main window, typically below the toolbar.
- a wordprocessing application for instance, will have one or more document windows open in the client area. These additional windows are typically displayed in the portion of the client area which is not occupied by the toolbar.
- control In the Windows programming environment, therefore, the most basic building block of the user interface construction is the "control.”
- a control In Windows, a control is a standard child window that has been registered to participate as a component of the graphical user interface. Controls may receive input, display output, or perform both input and output.
- Windows provides built-in support for six common control classes: button, edit, list box, combo box, scroll bar, and static. Controls are characterized by their high degree of specialization and focus.
- the button control class for instance, simply presents a clickable box for yes or no and multiple-choice input. To this, one can add his or her own "custom controls" to augment these common classes.
- Toolbars are typically constructed from "owner-drawn" buttons. These differ from standard buttons only in that the application (not the operating system) assumes full responsibility for the button, including painting it, setting input focus, selecting it, and enabling or disabling it.
- a custom control such as a toolbar button, is a specialized type of child window that responds to dialog messages and participates with event processing with other similar (button) windows.
- Each child may talk to its parent. For instance, when one clicks a button with the mouse, a child window control sends a WM -- COMMAND message to its parent window.
- wParam and 1Param are as follows:
- the child window ID is the value passed to Windows CreateWindow when the child window is created; the child window handle is the value that windows returns from the CreateWindow call which created the child.
- the notification code is a submessage code which the child window uses to tell the parent window in more detail what the command message means.
- Status window 340 comprises a single child window positioned substantially along one edge of the client area, preferably positioned along the inferior or bottom portion of the client area. It includes a single clipping region 343 equal to the client area of the child window.
- the status window 340 serves to display hint message 341, which is described in further detail below.
- a status window may include multiple clipping regions for the display of different messages.
- Status window 350 for instance, includes a clipping region 353 for the display of hint text 351.
- it includes a clipping region 355 for the display of state text 356, and a clipping region 357 for the display of status text 358.
- State text 356 indicates a state of a key of interest (e.g., caps lock key);
- status text 358 indicates the status of the program (e.g., "READY" for a spreadsheet application).
- the toolbar and status window are created as embedded frames of the main window.
- the client area 310 of the window 300 is decreased in size by an amount equal to the area of the toolbar and the status window or frame.
- buttons of a frame-based toolbar may be constructed and maintained from the following data structure (BUTTONDATA record):
- BUTTONDATA records may be referenced through a pointer to the structure (after appropriate memory allocation):
- each individual object or button may be tracked by storing a rectangle (pair of points) defining the boundary of the object.
- the toolbar is constructed from a plurality of such buttons as follows (DESKBARINFO record).
- An array of DESKBARINFO records may be referenced through a pointer to the structure (after appropriate memory allocation):
- a plurality of toolbars each having a plurality of button objects, may be constructed and maintained.
- the toolbar 330 includes a plurality of bitmaps, each one indicating a particular action to be performed by the system upon user selection.
- the functionality associated with each is by no means self-evident. While the user may be able to discern certain functionality, such as a "cut” operation from a bitmap displaying a pair of scissors, by far the majority of icons will employ bitmap images which cannot be discerned upon first inspection. In prior art systems, therefore, a user would be forced to first "look up” the meaning of an icon before he or she uses it. Moreover, the user would have to then memorize the defined meaning (or resort to continually looking up its meaning). As a result, toolbars of prior art systems are typically under-utilized by most end users.
- FIG. 4A illustrates an application workspace 400 for a popular desktop database program, Paradox® for Windows, available from Borland International of Scotts Valley, Calif.
- the series of images (400a-d) animates the operation of the user moving a screen cursor from an initial position 401 to a final position 407.
- the tip traverses several toolbar buttons.
- a descriptive hint 402 is displayed for the button.
- the user may now readily discern that the first button invokes the system command of "Open Table" (for opening a database table).
- hint 404 is displayed in the status window for indicating that the second button invokes the system "Open Form” command.
- the hint "Open Query” 406 is displayed for the third button, and at cursor position 407, the hint “Open Report” 408 is displayed indicating the function of the fourth button.
- the cursor continues its sweeping motion across the various toolbar buttons.
- the cursor position 410 elicits the "Open Script" hint 411, indicating the function of the fifth button, and at cursor position 412, the hint 413 is displayed to indicate that the sixth button invokes an "Open Library” command.
- "Add Folder Item” hint 415 is displayed, and upon entry of the cursor into the last icon, at cursor position 416, hint "Remove Folder Item” 407 is displayed.
- the toolbar 330 and its corresponding hints are summarized in FIG. 4C.
- FIG. 5A popular applications, such as Paradox for Windows, typically have a multitude of toolbars, each one being employed in a specific context of the system.
- the figure shows two screen objects 620 displayed within client area 610.
- typical client area objects include a database table (e.g., customer.db) and form for that table (shown by the window 621).
- toolbar 630 the individual buttons comprising the toolbar have been updated for the current context at hand (creating a form for a database table).
- the user interface hints of the present invention may be adapted for other screen objects (in this instance, a database form).
- descriptive text 642 is displayed indicating the current relevance of the object which the cursor is touching.
- toolbar 630 includes a plurality of different bitmap images, ones designed specifically for the task at hand.
- the information conveyed is often insufficient to discern the meaning of the button object.
- a different set of hints are provided for the toolbar 630.
- FIG. 5B as the user sweeps the cursor from left to right, as animated by frames (a)-(p), the status window is updated with an appropriate hint.
- the Form Design toolbar 630 with its exemplary hints is summarized in FIG. 5C.
- FIGS. 6A-F Addition exemplary hints for a plurality of different toolbars is shown in FIGS. 6A-F.
- a complex Windows application such as Paradox for Windows has far more iconic or bitmap images than could possibly be memorized by a typical user.
- the function of any particular image may vary from one context to another.
- a "lightning bolt” button may be defined to invoke a "View Data" operation (as shown in FIG. 6A).
- That very same image in a database query mode may assume an entirely different meaning, such as "Run Query" (as shown in FIG. 6B).
- the present invention preserves the interface advantage of employing a toolbar and, at the same time, eliminates the profound disadvantage attendant with toolbars.
- the method proceeds as follows.
- the move mouse event 701 the method is an event-driven process, with screen cursor or "mouse messages" being of particular interest.
- the method compares the current cursor position (as reported with the mouse messages) against a list of known UI objects.
- the cursor position may be compared against a list of rectangles (Windows Rect structures). In this manner, entry of the cursor within an object of interest (i.e., the "hot spot" of the cursor touching the object) may be readily determined.
- step 703 if the screen cursor enters an object of interest (yes), then at step 705 the hint (text string) for that object is determined (e.g., from the Rect list), and at step 705 the hint text is sent to the status window for display. If, on the other hand, the mouse has not entered an object (no at step 703), then the system may undertake other activity, as indicated by step 711.
- the status line Upon entry of the cursor into the object, the status line continues to display the hint until the cursor departs that object; this is indicated by steps 706 and 707. In particular, if the screen cursor departs the object at step 706 (yes), then at step 707, the previously-displayed hint text is erased from the status window. If, on the other hand, the cursor has not departed (no at step 706), then the system may undertake other activity, as indicated by step 713. Upon the cursor's departure and accompanying erasure of hint text, the method awaits the next user event (conceptually loops back to step 701 to await the cursor's entry into the next child window).
- the method also responds to a timer event 710.
- a timer event 710 In the preferred embodiment where mouse move messages are processed by the main window's window procedure, it is possible for the main window to "miss" a move mouse message.
- a user may, for instance, rapidly move the cursor out of the main window.
- new move mouse messages are directed to the queue of the destination window, thus causing the main window to "miss" movement of the cursor out of a particular object being described with a hint.
- By periodically refreshing the hint typically by setting a timer (for generating timer messages), this situation may be avoided.
- a window which has lost the current focus and "missed" the departure of the cursor will query itself for reconciling any differences between the current cursor location and the hint being displayed.
- the following code snippet includes exemplary processing of the mouse event and timer event from the desktop window procedure.
- FIG. 8 shows a screen object 801 having an upper and a lower half.
- the hint "Ascending SpeedSort button” 803 is shown.
- the hint "Descending SpeedSort button” 805 is displayed.
- the foregoing hit-testing technique may be employed for determining subregions of an object, for example, by dividing the object into upper and lower reference rectangles. In this manner, the method of the present invention may easily be adapted to objects having multiple regions of interest.
- the present invention recognizes that conventional techniques for providing screen feedback or help, such as “balloon help” and “intelligent cursors,” operate in a fashion which is not only intrusive to the active workspace (client area), but is also computationally very inefficient.
- Balloon help for instance, by "popping up” at a screen location proximate the cursor location, typically obscures the work product of interest.
- the task of continually creating and destroying user interface windows (the “balloons"), being resource intensive, substantially degrades the performance of such systems. By overwriting the client area (i.e., active screen portion where the user's data is represented), for instance, these systems destroy the screen image of the underlying work product.
- the present invention eschews these "balloon help" or "intelligent prompting” methods. Instead, the hint prompts of the present invention are confined to a screen region removed from the user's main focus of attention. In this manner, the hint method of the present invention operates transparently, that is, it does not distract the user with help information which is not needed. Instead, if the user requires additional information for an object of interest, the user need only glance down at the screen region reserved for the hint. Balloon help systems, in contrast, are very distracting to use, as balloon windows are continually popping up in the screen region of main interest to the user. Moreover, since such systems are relatively resource (computational) intensive, the screen cursor often appears to "hang" while such systems are busy creating and destroying balloon objects. Thus, the present invention is advantageous not only in terms of user interface design, but also advantageous in its efficient use of system resources.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
______________________________________ while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } ______________________________________
______________________________________ wParam Child window ID LOWORD (1param) Child window handle HIWORD (1param) Notification code ______________________________________
______________________________________ // Internal representation of a button typedef struct BUTTONINFO info; // Contain state and other info about button HBITMAP hBmp; // Bitmap use to draw the button RECT rc; // Coordinate relative to the desktop window. } BUTTONDATA; ______________________________________
typedef BUTTONDATA far * PBUTTONDATA;
______________________________________ // This is the main structure of the toolbar. typedef struct HWND hwndReside; // current host of the toolbar PBUTTONDATA pBtnList; // Array of button (using // struct shown above) i16 nCount; // Number of button in tool bar i16 idButtonHelp; // String id of "hints" to show // in status. } DESKBARINFO; ______________________________________
typedef DESKBARINFO far * PDESKBARINFO;
______________________________________ U32 WNDPROC DeskWndProc( HWND hwnd, U16 msg, U16 wParam, U32 1param ) PWINDATA pData; PDESKBARINFO pDeskBar; i16 count; PBUTTONDATA pBtn; I32 ret; // Data for tool bar attached to instance of application window. pData = (PWINDATA) GetWindowWord( hwnd, WINDATAOFFSET ); switch (msg) { . . . // // Process mouse event from the desktop window. // case WM.sub.-- MOUSEMOVE: // Retrieve deskbar info pDeskbar = pData→DeskBar; // Keep current mouse coordinate. ptMouse = MAKEPOINT( 1param ); pBtn = NULL; // Hit test process: Walk list of button in toolbar // until we found one hit by the mouse. for ( count = pDeskBar→nCount, pBtn = pDeskBar→pBtnList; count; count--, pBtn++) { if (PtInRect(&pBtn→rc, ptMouse)) break; } // If mouse over a button, show help in status // otherwise clear status line if (pBtn) DisplayHelpString(pDeskBar, pBtn→info.id); else ClearStatusLine(); break; // // Retrieve timer message to clear status line message when mouse is // not over a button and possibly over a child window. // case WM.sub.-- TIMER: // Retrieve deskbar info pDeskbar = pData→DesBar; // Get current mouse coordinate ourself. GetCursorPos(&ptMouse); pBtn = NULL; // Hit test process: Walk list of button in toolbar // until we found one hit by the mouse. for ( count = pDeskBar→nCount, pBtn = pDeskBar→pBtnList; count; count--, pBtn++) { if (PtInRect(&pBtn→rc, ptMouse)) break; } // If mouse not over a button, clear status line if (!pBtn) ClearStatusLine(); break; . . . } ______________________________________
Claims (40)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/026,720 US5436637A (en) | 1993-03-05 | 1993-03-05 | Graphical user interface system and methods for improved user feedback |
US08/954,542 US6005570A (en) | 1993-03-05 | 1997-10-20 | Graphical user interface system and methods for improved user feedback |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/026,720 US5436637A (en) | 1993-03-05 | 1993-03-05 | Graphical user interface system and methods for improved user feedback |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US45403595A Continuation | 1993-03-05 | 1995-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5436637A true US5436637A (en) | 1995-07-25 |
Family
ID=21833434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/026,720 Expired - Lifetime US5436637A (en) | 1993-03-05 | 1993-03-05 | Graphical user interface system and methods for improved user feedback |
Country Status (1)
Country | Link |
---|---|
US (1) | US5436637A (en) |
Cited By (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5500938A (en) * | 1994-03-07 | 1996-03-19 | International Business Machines, Corporation | Method and apparatus for directly selecting and signalling start and stop times in an electronic calendar |
US5577961A (en) * | 1994-06-28 | 1996-11-26 | The Walt Disney Company | Method and system for restraining a leader object in a virtual reality presentation |
US5673198A (en) * | 1996-03-29 | 1997-09-30 | Xilinx, Inc. | Concurrent electronic circuit design and implementation |
US5675755A (en) * | 1995-06-07 | 1997-10-07 | Sony Corporation | Window system preventing overlap of multiple always-visible windows |
US5691742A (en) * | 1995-05-24 | 1997-11-25 | Dell U.S.A., L.P. | Software battery gauge for portable computers |
US5715412A (en) * | 1994-12-16 | 1998-02-03 | Hitachi, Ltd. | Method of acoustically expressing image information |
US5724531A (en) * | 1995-07-28 | 1998-03-03 | International Business Machine Corp. | Method and apparatus of manipulating an object on a display |
US5736984A (en) * | 1996-07-03 | 1998-04-07 | Sun Microsystems, Inc. | Method and system for embedded feedback message and graphical processing element |
US5748927A (en) * | 1996-05-10 | 1998-05-05 | Apple Computer, Inc. | Graphical user interface with icons having expandable descriptors |
US5777616A (en) * | 1996-08-05 | 1998-07-07 | International Business Machines Corporation | Data processing system and method for invoking a function of a multifunction icon in a graphical user interface |
US5793647A (en) * | 1995-08-15 | 1998-08-11 | Diffracto, Ltd. | System and method for graphical image data acquistion, storage, and retrieval |
US5798750A (en) * | 1994-09-28 | 1998-08-25 | Nikon Corporation | Image display apparatus |
US5805166A (en) * | 1996-08-23 | 1998-09-08 | Intenational Business Machines Corp. | Segmented status area for dynamically reporting status in a data processing system |
US5815153A (en) * | 1996-11-20 | 1998-09-29 | International Business Machines Corporation | Multifunction control with changeable appearance |
US5874932A (en) * | 1994-10-31 | 1999-02-23 | Fujitsu Limited | Plasma display device |
US5884022A (en) * | 1996-06-03 | 1999-03-16 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
US5920316A (en) * | 1994-12-13 | 1999-07-06 | Microsoft Corporation | Taskbar with start menu |
US5933140A (en) * | 1997-06-30 | 1999-08-03 | Sun Microsystems, Inc. | Child window containing context-based help and a miniaturized web page |
US5943037A (en) * | 1995-10-10 | 1999-08-24 | Snap-On Technologies, Inc. | Viewer orientation indicator for an illustration |
US5956024A (en) * | 1995-08-08 | 1999-09-21 | Continental Cablevision, Inc. | Graphical user interface for customer service representatives for subscriber management systems |
US5982371A (en) * | 1996-01-29 | 1999-11-09 | Sun Microsystems, Inc. | Method and apparatus for executing and displaying output of an environment in a host environment |
US6012055A (en) * | 1996-04-09 | 2000-01-04 | Silicon Graphics, Inc. | Mechanism for integrated information search and retrieval from diverse sources using multiple navigation methods |
US6034694A (en) * | 1997-06-30 | 2000-03-07 | Sun Microsystems, Inc. | Method and apparatus for pixel composition |
EP0994406A2 (en) * | 1998-10-13 | 2000-04-19 | King Jim Co., Ltd. | Character information processor |
US6055526A (en) * | 1998-04-02 | 2000-04-25 | Sun Microsystems, Inc. | Data indexing technique |
US6065047A (en) * | 1996-01-24 | 2000-05-16 | America Online, Inc. | System for providing subscriber with access to a content area customized for the combination of subscriber's responses to topic prompt, subtopic prompt, and action prompt |
US6097386A (en) * | 1997-03-07 | 2000-08-01 | International Business Machines Corporation | Data processing system having context sensitive visual feedback for user interface controls and method therefor |
US6134644A (en) * | 1994-11-07 | 2000-10-17 | Fujitsu Limited | Method and apparatus for reproducing operation guidance information, and method and apparatus for reproducing multi-media information |
US6137487A (en) * | 1997-02-24 | 2000-10-24 | International Business Machines Corporation | Method and apparatus for manipulating graphical objects in a data processing system |
US6223289B1 (en) | 1998-04-20 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6230296B1 (en) | 1998-04-20 | 2001-05-08 | Sun Microsystems, Inc. | Method and apparatus for providing error correction |
US6271864B1 (en) | 1997-06-30 | 2001-08-07 | Sun Microsystems, Inc. | Representing a path as an object with transformation capability |
US6320592B1 (en) | 1997-06-30 | 2001-11-20 | Sun Microsystems, Inc. | Method and apparatus for separating image data from a color system in image processing |
US6323864B1 (en) | 1997-06-30 | 2001-11-27 | Sun Microsystems, Inc. | Using and accessing information from fonts in multiple formats |
US20020015530A1 (en) * | 2000-07-25 | 2002-02-07 | Felix Henry | Method and device for alerting during progressive decoding of a digital image coded with a region of interest |
US6381712B1 (en) | 1999-06-30 | 2002-04-30 | Sun Microsystems, Inc. | Method and apparatus for providing an error messaging system |
US20020055992A1 (en) * | 2000-11-08 | 2002-05-09 | Lavaflow, Llp | Method of providing a screen saver on a cellular telephone |
US6412021B1 (en) | 1998-02-26 | 2002-06-25 | Sun Microsystems, Inc. | Method and apparatus for performing user notification |
US6434694B1 (en) | 1998-06-29 | 2002-08-13 | Sun Microsystems, Inc. | Security for platform-independent device drivers |
US6437800B1 (en) * | 1993-04-28 | 2002-08-20 | Microsoft Corporation | Information cursors |
US6438141B1 (en) | 1998-04-20 | 2002-08-20 | Sun Microsystems, Inc. | Method and management of communications over media of finite bandwidth |
US6442633B1 (en) | 1999-03-23 | 2002-08-27 | Sun Microsystems, Inc. | Reduced transistors data switch port wherein each of a plurality of transmission gates is coupled to both first and second control signals for selectively enabling |
US6462763B1 (en) * | 1999-08-24 | 2002-10-08 | Spotware Technologies, Inc. | Method, system, and software for tracking moving hotspots with a static or moving cursor |
US6469722B1 (en) * | 1998-01-30 | 2002-10-22 | International Business Machines Corporation | Method and apparatus for executing a function within a composite icon and operating an object thereby |
US6487588B1 (en) * | 1996-09-23 | 2002-11-26 | International Business Machines Corporation | Web browser which automatically loads selected types of graphics |
US6496206B1 (en) | 1998-06-29 | 2002-12-17 | Scansoft, Inc. | Displaying thumbnail images of document pages in an electronic folder |
US6580416B1 (en) * | 2000-04-10 | 2003-06-17 | Codehorse, Inc. | Method of using a pointer and a opt-out period to tell an actuator to actuate itself |
US6594708B1 (en) | 1998-03-26 | 2003-07-15 | Sun Microsystems, Inc. | Apparatus and method for object-oriented memory system |
US20030142113A1 (en) * | 2002-01-30 | 2003-07-31 | Xerox Corporation | Hint data editor and method of editing hint data |
US6618767B1 (en) | 1998-11-17 | 2003-09-09 | Sun Microsystems, Inc. | Mechanism by which devices on unforeseen platform variants may be supported without re-release of core platform kernel software |
DE10208587A1 (en) * | 2002-02-27 | 2003-09-11 | Deutsche Telekom Ag | Control of a graphical user interface in such a way that text information boxes associated with screen objects are only displayed when the cursor remains over them for longer than a minimum period |
US6675054B1 (en) | 1998-04-20 | 2004-01-06 | Sun Microsystems, Inc. | Method and apparatus of supporting an audio protocol in a network environment |
US20040006649A1 (en) * | 1994-05-16 | 2004-01-08 | Cirne Lewis K. | Dialog item interface definition object |
US20040078528A1 (en) * | 2002-07-31 | 2004-04-22 | Texas Instruments Incorporated | Cache coherency in a multi-processor system |
US20040076345A1 (en) * | 2002-09-18 | 2004-04-22 | Olszak Artur G. | Method for referencing image data |
US6788314B1 (en) * | 1996-03-22 | 2004-09-07 | Interval Research Corporation | Attention manager for occupying the peripheral attention of a person in the vicinity of a display device |
US20040250214A1 (en) * | 2003-01-07 | 2004-12-09 | Microsoft Corporation | Automatic image capture for generating content |
US6859213B1 (en) | 1998-03-23 | 2005-02-22 | Sun Microsystems, Inc. | Method and apparatus for selecting attachments |
US6874143B1 (en) | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US20050154997A1 (en) * | 2004-01-13 | 2005-07-14 | Xerox Corporation | Methods and systems for accessing and selecting data items utilizing graphically displayed iconettes |
US20050154749A1 (en) * | 2004-01-14 | 2005-07-14 | Snow Daniel D. | Method and arrangement for automated provision of service hints |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7007240B1 (en) | 1999-08-03 | 2006-02-28 | Gateway Inc. | Method and system for displaying non-overlapping program and auxiliary windows |
US7010744B1 (en) * | 2001-05-14 | 2006-03-07 | The Mathworks, Inc. | System and method of navigating and creating electronic hierarchical documents |
US7024658B1 (en) * | 2001-09-28 | 2006-04-04 | Adobe Systems Incorporated | Extensible help facility for a computer software application |
US20060150104A1 (en) * | 2004-12-31 | 2006-07-06 | Luigi Lira | Display of user selected digital artworks as embellishments of a graphical user interface |
FR2880495A1 (en) * | 2005-01-06 | 2006-07-07 | Thomson Licensing Sa | METHOD FOR SELECTING AN ELEMENT IN A LIST BY DISPLACING A GRAPHICAL DISTINCTION AND APPARATUS USING THE METHOD |
US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US7134095B1 (en) | 1999-10-20 | 2006-11-07 | Gateway, Inc. | Simulated three-dimensional navigational menu system |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7302650B1 (en) | 2003-10-31 | 2007-11-27 | Microsoft Corporation | Intuitive tools for manipulating objects in a display |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US7346610B2 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Methods and systems of providing information to computer users |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7348935B1 (en) | 1996-03-22 | 2008-03-25 | Vulcan Patents Llc | Attention manager for occupying the peripheral attention of a person in the vicinity of a display device |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US20080155514A1 (en) * | 2006-12-21 | 2008-06-26 | International Business Machines Corporation | Method and System for Graphical User Interface Testing |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US7506243B2 (en) | 2000-06-21 | 2009-03-17 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US7509353B2 (en) | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US7512896B2 (en) | 2000-06-21 | 2009-03-31 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
US7533268B1 (en) | 2004-05-13 | 2009-05-12 | Microsoft Corporation | Digital signature with an embedded view |
US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
US7661116B2 (en) | 2000-02-25 | 2010-02-09 | Vulcan Patents Llc | Auction for targeted content |
US7676843B1 (en) | 2004-05-27 | 2010-03-09 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US7778519B2 (en) | 1999-11-18 | 2010-08-17 | Interval Licensing Llc | Iterative, maximally probable, batch-mode commercial detection for audiovisual content |
US7779343B2 (en) | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US20110071863A1 (en) * | 1999-04-22 | 2011-03-24 | Ceats, Inc. | System and method for managing airline seat reservations |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
EP2343646A1 (en) * | 2010-01-06 | 2011-07-13 | dmi AG | Method and device for displaying context-dependent metadata in information systems |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US8185923B2 (en) | 2000-02-25 | 2012-05-22 | Interval Licensing Llc | System and method for selecting advertisements |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US8429244B2 (en) | 2000-01-28 | 2013-04-23 | Interval Licensing Llc | Alerting users to items of current interest |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US8910199B2 (en) | 2000-02-25 | 2014-12-09 | Interval Licensing Llc | Targeted television content display |
US9021070B2 (en) | 1997-06-19 | 2015-04-28 | Mymail, Ltd. | Dynamically modifying a toolbar |
US9137240B2 (en) | 1997-06-19 | 2015-09-15 | Mymail, Ltd. | System and method of accessing a network by way of different service providers |
US9935814B2 (en) | 1997-06-19 | 2018-04-03 | My Mail Ltd. | Method of obtaining a network address |
US20180210645A1 (en) * | 2017-01-23 | 2018-07-26 | e.solutions GmbH | Method, computer program product and device for determining input regions on a graphical user interface |
US11853690B1 (en) | 2016-05-31 | 2023-12-26 | The Mathworks, Inc. | Systems and methods for highlighting graphical models |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4310839A (en) * | 1979-11-23 | 1982-01-12 | Raytheon Company | Interactive display system with touch data entry |
US4622013A (en) * | 1984-05-21 | 1986-11-11 | Interactive Research Corporation | Interactive software training system |
US4656603A (en) * | 1984-03-01 | 1987-04-07 | The Cadware Group, Ltd. | Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons |
US4742473A (en) * | 1985-07-16 | 1988-05-03 | Shugar Joel K | Finite element modeling system |
US4789962A (en) * | 1984-10-31 | 1988-12-06 | International Business Machines Corporation | Methods of displaying help information nearest to an operation point at which the help information is requested |
US4964077A (en) * | 1987-10-06 | 1990-10-16 | International Business Machines Corporation | Method for automatically adjusting help information displayed in an online interactive system |
US5123087A (en) * | 1990-04-27 | 1992-06-16 | Ashlar, Inc. | Geometric inference engine |
US5235679A (en) * | 1989-06-14 | 1993-08-10 | Hitachi, Ltd. | Guidance method and apparatus upon a computer system |
-
1993
- 1993-03-05 US US08/026,720 patent/US5436637A/en not_active Expired - Lifetime
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4310839A (en) * | 1979-11-23 | 1982-01-12 | Raytheon Company | Interactive display system with touch data entry |
US4656603A (en) * | 1984-03-01 | 1987-04-07 | The Cadware Group, Ltd. | Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons |
US4622013A (en) * | 1984-05-21 | 1986-11-11 | Interactive Research Corporation | Interactive software training system |
US4789962A (en) * | 1984-10-31 | 1988-12-06 | International Business Machines Corporation | Methods of displaying help information nearest to an operation point at which the help information is requested |
US4742473A (en) * | 1985-07-16 | 1988-05-03 | Shugar Joel K | Finite element modeling system |
US4964077A (en) * | 1987-10-06 | 1990-10-16 | International Business Machines Corporation | Method for automatically adjusting help information displayed in an online interactive system |
US5235679A (en) * | 1989-06-14 | 1993-08-10 | Hitachi, Ltd. | Guidance method and apparatus upon a computer system |
US5123087A (en) * | 1990-04-27 | 1992-06-16 | Ashlar, Inc. | Geometric inference engine |
Non-Patent Citations (6)
Title |
---|
Matthies, Kurt W. G., Balloon Help Takes Off, MacUser, Dec. 1991, pp. 241 248. * |
Matthies, Kurt W. G., Balloon Help Takes Off, MacUser, Dec. 1991, pp. 241-248. |
Simpson, Alan, Mastering WordPerfect 5.1 & 5.2 for Windows, Sybex Publication, 1993, pp. 6 8, 69 70, 646 649, 659, 665 666. * |
Simpson, Alan, Mastering WordPerfect 5.1 & 5.2 for Windows, Sybex Publication, 1993, pp. 6-8, 69-70, 646-649, 659, 665-666. |
Webster, Tony & Associates, WordPerfect 5.1 for Windows by Example, Webster & Associates Publication, 1992, pp. 1, 3, 9, 381, 385, 551 554. * |
Webster, Tony & Associates, WordPerfect 5.1 for Windows by Example, Webster & Associates Publication, 1992, pp. 1, 3, 9, 381, 385, 551-554. |
Cited By (199)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6809720B2 (en) * | 1993-04-28 | 2004-10-26 | Microsoft Corporation | Information cursors |
US6437800B1 (en) * | 1993-04-28 | 2002-08-20 | Microsoft Corporation | Information cursors |
US5500938A (en) * | 1994-03-07 | 1996-03-19 | International Business Machines, Corporation | Method and apparatus for directly selecting and signalling start and stop times in an electronic calendar |
US20040006649A1 (en) * | 1994-05-16 | 2004-01-08 | Cirne Lewis K. | Dialog item interface definition object |
US7712109B2 (en) * | 1994-05-16 | 2010-05-04 | Apple Inc. | Dialog item interface definition object |
US5577961A (en) * | 1994-06-28 | 1996-11-26 | The Walt Disney Company | Method and system for restraining a leader object in a virtual reality presentation |
US5798750A (en) * | 1994-09-28 | 1998-08-25 | Nikon Corporation | Image display apparatus |
US5874932A (en) * | 1994-10-31 | 1999-02-23 | Fujitsu Limited | Plasma display device |
US6134644A (en) * | 1994-11-07 | 2000-10-17 | Fujitsu Limited | Method and apparatus for reproducing operation guidance information, and method and apparatus for reproducing multi-media information |
US5920316A (en) * | 1994-12-13 | 1999-07-06 | Microsoft Corporation | Taskbar with start menu |
US5715412A (en) * | 1994-12-16 | 1998-02-03 | Hitachi, Ltd. | Method of acoustically expressing image information |
US5691742A (en) * | 1995-05-24 | 1997-11-25 | Dell U.S.A., L.P. | Software battery gauge for portable computers |
US5675755A (en) * | 1995-06-07 | 1997-10-07 | Sony Corporation | Window system preventing overlap of multiple always-visible windows |
US6031530A (en) * | 1995-06-07 | 2000-02-29 | Sony Corporation | Always-visible window class with overlap prevention |
US5724531A (en) * | 1995-07-28 | 1998-03-03 | International Business Machine Corp. | Method and apparatus of manipulating an object on a display |
US5956024A (en) * | 1995-08-08 | 1999-09-21 | Continental Cablevision, Inc. | Graphical user interface for customer service representatives for subscriber management systems |
US5793647A (en) * | 1995-08-15 | 1998-08-11 | Diffracto, Ltd. | System and method for graphical image data acquistion, storage, and retrieval |
US5943037A (en) * | 1995-10-10 | 1999-08-24 | Snap-On Technologies, Inc. | Viewer orientation indicator for an illustration |
US6065047A (en) * | 1996-01-24 | 2000-05-16 | America Online, Inc. | System for providing subscriber with access to a content area customized for the combination of subscriber's responses to topic prompt, subtopic prompt, and action prompt |
US6707477B1 (en) | 1996-01-29 | 2004-03-16 | Sun Microsystems, Inc. | Method and apparatus for executing and displaying output of an environment in a host environment |
US5982371A (en) * | 1996-01-29 | 1999-11-09 | Sun Microsystems, Inc. | Method and apparatus for executing and displaying output of an environment in a host environment |
US7348935B1 (en) | 1996-03-22 | 2008-03-25 | Vulcan Patents Llc | Attention manager for occupying the peripheral attention of a person in the vicinity of a display device |
US6788314B1 (en) * | 1996-03-22 | 2004-09-07 | Interval Research Corporation | Attention manager for occupying the peripheral attention of a person in the vicinity of a display device |
US5673198A (en) * | 1996-03-29 | 1997-09-30 | Xilinx, Inc. | Concurrent electronic circuit design and implementation |
US6012055A (en) * | 1996-04-09 | 2000-01-04 | Silicon Graphics, Inc. | Mechanism for integrated information search and retrieval from diverse sources using multiple navigation methods |
US5748927A (en) * | 1996-05-10 | 1998-05-05 | Apple Computer, Inc. | Graphical user interface with icons having expandable descriptors |
US5884022A (en) * | 1996-06-03 | 1999-03-16 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
US6397346B1 (en) | 1996-06-03 | 2002-05-28 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
KR100452461B1 (en) * | 1996-07-03 | 2004-12-17 | 썬 마이크로시스템즈, 인코포레이티드 | Method and system for providing feedback information on a graphical user interface |
US5736984A (en) * | 1996-07-03 | 1998-04-07 | Sun Microsystems, Inc. | Method and system for embedded feedback message and graphical processing element |
US5777616A (en) * | 1996-08-05 | 1998-07-07 | International Business Machines Corporation | Data processing system and method for invoking a function of a multifunction icon in a graphical user interface |
US5805166A (en) * | 1996-08-23 | 1998-09-08 | Intenational Business Machines Corp. | Segmented status area for dynamically reporting status in a data processing system |
US6487588B1 (en) * | 1996-09-23 | 2002-11-26 | International Business Machines Corporation | Web browser which automatically loads selected types of graphics |
US5815153A (en) * | 1996-11-20 | 1998-09-29 | International Business Machines Corporation | Multifunction control with changeable appearance |
US6137487A (en) * | 1997-02-24 | 2000-10-24 | International Business Machines Corporation | Method and apparatus for manipulating graphical objects in a data processing system |
US6097386A (en) * | 1997-03-07 | 2000-08-01 | International Business Machines Corporation | Data processing system having context sensitive visual feedback for user interface controls and method therefor |
US10228838B2 (en) | 1997-06-19 | 2019-03-12 | Mymail, Ltd. | Dynamically modifying a toolbar |
US9137240B2 (en) | 1997-06-19 | 2015-09-15 | Mymail, Ltd. | System and method of accessing a network by way of different service providers |
US9021070B2 (en) | 1997-06-19 | 2015-04-28 | Mymail, Ltd. | Dynamically modifying a toolbar |
US10135878B2 (en) | 1997-06-19 | 2018-11-20 | Mymail, Ltd. | Method for accessing a digital network by way of one or more Internet service providers |
US9935814B2 (en) | 1997-06-19 | 2018-04-03 | My Mail Ltd. | Method of obtaining a network address |
US9141263B2 (en) | 1997-06-19 | 2015-09-22 | Thomas Drennan Selgas | Method of modifying a toolbar |
US5933140A (en) * | 1997-06-30 | 1999-08-03 | Sun Microsystems, Inc. | Child window containing context-based help and a miniaturized web page |
US6346948B1 (en) | 1997-06-30 | 2002-02-12 | Sun Microsystems, Inc. | Method and apparatus for pixel composition |
US6034694A (en) * | 1997-06-30 | 2000-03-07 | Sun Microsystems, Inc. | Method and apparatus for pixel composition |
US6320592B1 (en) | 1997-06-30 | 2001-11-20 | Sun Microsystems, Inc. | Method and apparatus for separating image data from a color system in image processing |
US6271864B1 (en) | 1997-06-30 | 2001-08-07 | Sun Microsystems, Inc. | Representing a path as an object with transformation capability |
US6678881B2 (en) | 1997-06-30 | 2004-01-13 | Sun Microsystems, Inc. | Representing a path as an object with transformation capability |
US6323864B1 (en) | 1997-06-30 | 2001-11-27 | Sun Microsystems, Inc. | Using and accessing information from fonts in multiple formats |
US6469722B1 (en) * | 1998-01-30 | 2002-10-22 | International Business Machines Corporation | Method and apparatus for executing a function within a composite icon and operating an object thereby |
US6412021B1 (en) | 1998-02-26 | 2002-06-25 | Sun Microsystems, Inc. | Method and apparatus for performing user notification |
US6859213B1 (en) | 1998-03-23 | 2005-02-22 | Sun Microsystems, Inc. | Method and apparatus for selecting attachments |
US6594708B1 (en) | 1998-03-26 | 2003-07-15 | Sun Microsystems, Inc. | Apparatus and method for object-oriented memory system |
US6055526A (en) * | 1998-04-02 | 2000-04-25 | Sun Microsystems, Inc. | Data indexing technique |
US6230296B1 (en) | 1998-04-20 | 2001-05-08 | Sun Microsystems, Inc. | Method and apparatus for providing error correction |
US6223289B1 (en) | 1998-04-20 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6438141B1 (en) | 1998-04-20 | 2002-08-20 | Sun Microsystems, Inc. | Method and management of communications over media of finite bandwidth |
US6675054B1 (en) | 1998-04-20 | 2004-01-06 | Sun Microsystems, Inc. | Method and apparatus of supporting an audio protocol in a network environment |
US6496206B1 (en) | 1998-06-29 | 2002-12-17 | Scansoft, Inc. | Displaying thumbnail images of document pages in an electronic folder |
US6434694B1 (en) | 1998-06-29 | 2002-08-13 | Sun Microsystems, Inc. | Security for platform-independent device drivers |
EP0994406A2 (en) * | 1998-10-13 | 2000-04-19 | King Jim Co., Ltd. | Character information processor |
US6593948B1 (en) | 1998-10-13 | 2003-07-15 | King Jim Co., Ltd. | Character information processor |
EP0994406A3 (en) * | 1998-10-13 | 2001-05-30 | King Jim Co., Ltd. | Character information processor |
US6618767B1 (en) | 1998-11-17 | 2003-09-09 | Sun Microsystems, Inc. | Mechanism by which devices on unforeseen platform variants may be supported without re-release of core platform kernel software |
US6442633B1 (en) | 1999-03-23 | 2002-08-27 | Sun Microsystems, Inc. | Reduced transistors data switch port wherein each of a plurality of transmission gates is coupled to both first and second control signals for selectively enabling |
US8775223B2 (en) | 1999-04-22 | 2014-07-08 | Ceats, Inc. | System and method for managing seat reservations |
US8355937B2 (en) | 1999-04-22 | 2013-01-15 | Ceats, Inc. | System and method for managing seat reservations |
US20110071863A1 (en) * | 1999-04-22 | 2011-03-24 | Ceats, Inc. | System and method for managing airline seat reservations |
US8219448B2 (en) | 1999-04-22 | 2012-07-10 | Ceats, Inc. | System and method for managing airline seat reservations |
US8229774B2 (en) | 1999-04-22 | 2012-07-24 | Ceats, Inc. | System and method for arbitrating the selection and reserving of airline seats |
US8239225B2 (en) | 1999-04-22 | 2012-08-07 | Ceats, Inc. | System and method for selection of airline seats and payment verification |
US8244561B2 (en) | 1999-04-22 | 2012-08-14 | Ceats, Inc. | System and method for selecting and reserving airline seats |
US6381712B1 (en) | 1999-06-30 | 2002-04-30 | Sun Microsystems, Inc. | Method and apparatus for providing an error messaging system |
US7007240B1 (en) | 1999-08-03 | 2006-02-28 | Gateway Inc. | Method and system for displaying non-overlapping program and auxiliary windows |
US6462763B1 (en) * | 1999-08-24 | 2002-10-08 | Spotware Technologies, Inc. | Method, system, and software for tracking moving hotspots with a static or moving cursor |
US7134095B1 (en) | 1999-10-20 | 2006-11-07 | Gateway, Inc. | Simulated three-dimensional navigational menu system |
US8724967B2 (en) | 1999-11-18 | 2014-05-13 | Interval Licensing Llc | Iterative, maximally probable, batch-mode commercial detection for audiovisual content |
US8630536B2 (en) | 1999-11-18 | 2014-01-14 | Interval Licensing Llc | Iterative, maximally probable, batch-mode commercial detection for audiovisual content |
US8995820B2 (en) | 1999-11-18 | 2015-03-31 | Interval Licensing Llc | Iterative, maximally probable, batch-mode commercial detection for audiovisual content |
US20100281499A1 (en) * | 1999-11-18 | 2010-11-04 | Harville Michael L | Iterative, maximally probable, batch-mode commercial detection for audiovisual content |
US7778519B2 (en) | 1999-11-18 | 2010-08-17 | Interval Licensing Llc | Iterative, maximally probable, batch-mode commercial detection for audiovisual content |
US8429244B2 (en) | 2000-01-28 | 2013-04-23 | Interval Licensing Llc | Alerting users to items of current interest |
US9317560B2 (en) | 2000-01-28 | 2016-04-19 | Interval Licensing Llc | Alerting users to items of current interest |
US8522274B2 (en) | 2000-02-25 | 2013-08-27 | Interval Licensing Llc | System and method for selecting advertisements |
US8910199B2 (en) | 2000-02-25 | 2014-12-09 | Interval Licensing Llc | Targeted television content display |
US8185923B2 (en) | 2000-02-25 | 2012-05-22 | Interval Licensing Llc | System and method for selecting advertisements |
US8930990B2 (en) | 2000-02-25 | 2015-01-06 | Interval Licensing Llc | System and method for selecting advertisements |
US7661116B2 (en) | 2000-02-25 | 2010-02-09 | Vulcan Patents Llc | Auction for targeted content |
US6580416B1 (en) * | 2000-04-10 | 2003-06-17 | Codehorse, Inc. | Method of using a pointer and a opt-out period to tell an actuator to actuate itself |
US7350141B2 (en) | 2000-06-21 | 2008-03-25 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7610562B2 (en) | 2000-06-21 | 2009-10-27 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US7624356B1 (en) * | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US9507610B2 (en) | 2000-06-21 | 2016-11-29 | Microsoft Technology Licensing, Llc | Task-sensitive methods and systems for displaying command sets |
US7346610B2 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Methods and systems of providing information to computer users |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7549115B2 (en) | 2000-06-21 | 2009-06-16 | Microsoft Corporation | System and method for integrated spreadsheets and word processing tables |
US7360171B2 (en) | 2000-06-21 | 2008-04-15 | Microsoft Corporation | Methods and systems of providing information to computer users |
US7779027B2 (en) | 2000-06-21 | 2010-08-17 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7743063B2 (en) | 2000-06-21 | 2010-06-22 | Microsoft Corporation | Methods and systems for delivering software via a network |
US7392522B2 (en) | 2000-06-21 | 2008-06-24 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US7900134B2 (en) | 2000-06-21 | 2011-03-01 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7818677B2 (en) | 2000-06-21 | 2010-10-19 | Microsoft Corporation | Single window navigation methods and systems |
US7412645B2 (en) | 2000-06-21 | 2008-08-12 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7712048B2 (en) | 2000-06-21 | 2010-05-04 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7120866B2 (en) | 2000-06-21 | 2006-10-10 | Microsoft Corporation | Spreadsheet fields in text |
US7979856B2 (en) | 2000-06-21 | 2011-07-12 | Microsoft Corporation | Network-based software extensions |
US7689929B2 (en) | 2000-06-21 | 2010-03-30 | Microsoft Corporation | Methods and systems of providing information to computer users |
US6874143B1 (en) | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US7506243B2 (en) | 2000-06-21 | 2009-03-17 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US7506242B2 (en) | 2000-06-21 | 2009-03-17 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7512896B2 (en) | 2000-06-21 | 2009-03-31 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US8074217B2 (en) | 2000-06-21 | 2011-12-06 | Microsoft Corporation | Methods and systems for delivering software |
US7673227B2 (en) | 2000-06-21 | 2010-03-02 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7523390B2 (en) | 2000-06-21 | 2009-04-21 | Microsoft Corporation | Spreadsheet fields in text |
US20020015530A1 (en) * | 2000-07-25 | 2002-02-07 | Felix Henry | Method and device for alerting during progressive decoding of a digital image coded with a region of interest |
US20020055992A1 (en) * | 2000-11-08 | 2002-05-09 | Lavaflow, Llp | Method of providing a screen saver on a cellular telephone |
US7010744B1 (en) * | 2001-05-14 | 2006-03-07 | The Mathworks, Inc. | System and method of navigating and creating electronic hierarchical documents |
US7415696B2 (en) | 2001-09-28 | 2008-08-19 | Adobe Systems Incorporated | Extensible help facility for a computer software application |
US7024658B1 (en) * | 2001-09-28 | 2006-04-04 | Adobe Systems Incorporated | Extensible help facility for a computer software application |
US20060080607A1 (en) * | 2001-09-28 | 2006-04-13 | Adobe Systems, Incorporated, A Delaware Corporation | Extensible help facility for a computer software application |
US20030142113A1 (en) * | 2002-01-30 | 2003-07-31 | Xerox Corporation | Hint data editor and method of editing hint data |
DE10208587A1 (en) * | 2002-02-27 | 2003-09-11 | Deutsche Telekom Ag | Control of a graphical user interface in such a way that text information boxes associated with screen objects are only displayed when the cursor remains over them for longer than a minimum period |
US20040078528A1 (en) * | 2002-07-31 | 2004-04-22 | Texas Instruments Incorporated | Cache coherency in a multi-processor system |
US20070250491A1 (en) * | 2002-09-18 | 2007-10-25 | Olszak Artur G | Method for referencing image data |
US20040076345A1 (en) * | 2002-09-18 | 2004-04-22 | Olszak Artur G. | Method for referencing image data |
US20040250214A1 (en) * | 2003-01-07 | 2004-12-09 | Microsoft Corporation | Automatic image capture for generating content |
US7565607B2 (en) | 2003-01-07 | 2009-07-21 | Microsoft Corporation | Automatic image capture for generating content |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7490109B1 (en) | 2003-03-24 | 2009-02-10 | Microsoft Corporation | System and method for offline editing of data files |
US7925621B2 (en) | 2003-03-24 | 2011-04-12 | Microsoft Corporation | Installing a solution |
US8918729B2 (en) | 2003-03-24 | 2014-12-23 | Microsoft Corporation | Designing electronic forms |
US7376673B1 (en) | 2003-03-24 | 2008-05-20 | Microsoft Corporation | Offline editing of XML files using a solution |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US9229917B2 (en) | 2003-03-28 | 2016-01-05 | Microsoft Technology Licensing, Llc | Electronic form user interfaces |
US7865477B2 (en) | 2003-03-28 | 2011-01-04 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US8078960B2 (en) | 2003-06-30 | 2011-12-13 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US9239821B2 (en) | 2003-08-01 | 2016-01-19 | Microsoft Technology Licensing, Llc | Translation file |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US8892993B2 (en) | 2003-08-01 | 2014-11-18 | Microsoft Corporation | Translation file |
US9268760B2 (en) | 2003-08-06 | 2016-02-23 | Microsoft Technology Licensing, Llc | Correlation, association, or correspondence of electronic forms |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US7971139B2 (en) | 2003-08-06 | 2011-06-28 | Microsoft Corporation | Correlation, association, or correspondence of electronic forms |
US8429522B2 (en) | 2003-08-06 | 2013-04-23 | Microsoft Corporation | Correlation, association, or correspondence of electronic forms |
US20080059914A1 (en) * | 2003-10-31 | 2008-03-06 | Microsoft Corporation | Intuitive tools for manipulating objects in a display |
US7302650B1 (en) | 2003-10-31 | 2007-11-27 | Microsoft Corporation | Intuitive tools for manipulating objects in a display |
US8539381B2 (en) | 2003-10-31 | 2013-09-17 | Microsoft Corporation | Intuitive tools for manipulating objects in a display |
US20050154997A1 (en) * | 2004-01-13 | 2005-07-14 | Xerox Corporation | Methods and systems for accessing and selecting data items utilizing graphically displayed iconettes |
US20050154749A1 (en) * | 2004-01-14 | 2005-07-14 | Snow Daniel D. | Method and arrangement for automated provision of service hints |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US8046683B2 (en) | 2004-04-29 | 2011-10-25 | Microsoft Corporation | Structural editing with schema awareness |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US7568101B1 (en) | 2004-05-13 | 2009-07-28 | Microsoft Corporation | Digital signatures with an embedded view |
US7533268B1 (en) | 2004-05-13 | 2009-05-12 | Microsoft Corporation | Digital signature with an embedded view |
US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7676843B1 (en) | 2004-05-27 | 2010-03-09 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
US7509353B2 (en) | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
US20060150104A1 (en) * | 2004-12-31 | 2006-07-06 | Luigi Lira | Display of user selected digital artworks as embellishments of a graphical user interface |
FR2880495A1 (en) * | 2005-01-06 | 2006-07-07 | Thomson Licensing Sa | METHOD FOR SELECTING AN ELEMENT IN A LIST BY DISPLACING A GRAPHICAL DISTINCTION AND APPARATUS USING THE METHOD |
EP1681617A2 (en) | 2005-01-06 | 2006-07-19 | THOMSON Licensing | Method of selecting an element from a list by moving a graphics distinction and apparatus implementing the method |
US8584039B2 (en) | 2005-01-06 | 2013-11-12 | Thomson Licensing | Method of selecting an element from a list by moving a graphics distinction and apparatus implementing the method |
US20060174295A1 (en) * | 2005-01-06 | 2006-08-03 | Jerome Martin | Method of selecting an element from a list by moving a graphics distinction and device implementing the method |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US9210234B2 (en) | 2005-12-05 | 2015-12-08 | Microsoft Technology Licensing, Llc | Enabling electronic documents for limited-capability computing devices |
US7779343B2 (en) | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
US20080155514A1 (en) * | 2006-12-21 | 2008-06-26 | International Business Machines Corporation | Method and System for Graphical User Interface Testing |
US8225140B2 (en) * | 2006-12-21 | 2012-07-17 | International Business Machines Corporation | Method and system for graphical user interface testing |
EP2343646A1 (en) * | 2010-01-06 | 2011-07-13 | dmi AG | Method and device for displaying context-dependent metadata in information systems |
US11853690B1 (en) | 2016-05-31 | 2023-12-26 | The Mathworks, Inc. | Systems and methods for highlighting graphical models |
US20180210645A1 (en) * | 2017-01-23 | 2018-07-26 | e.solutions GmbH | Method, computer program product and device for determining input regions on a graphical user interface |
US10908813B2 (en) * | 2017-01-23 | 2021-02-02 | e.solutions GmbH | Method, computer program product and device for determining input regions on a graphical user interface |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5436637A (en) | Graphical user interface system and methods for improved user feedback | |
US6005570A (en) | Graphical user interface system and methods for improved user feedback | |
US5655093A (en) | Intelligent screen cursor | |
US5050105A (en) | Direct cursor-controlled access to multiple application programs and data | |
US5668964A (en) | Graphical user interface for creating a new notebook with a dragged page | |
US5630042A (en) | Method and apparatus for providing collection browsers | |
US5432903A (en) | Object browsing and a filter interface using a displayed dip switch in an object-oriented development sytem | |
US5287448A (en) | Method and apparatus for providing help information to users of computers | |
US5046001A (en) | Method for accessing selected windows in a multi-tasking system | |
US5566248A (en) | Method and apparatus for a recognition editor and routine interface for a computer system | |
US5611031A (en) | Graphical user interface for modifying object characteristics using coupon objects | |
US5940078A (en) | Method and apparatus for changing the appearance of icon images on a computer display monitor | |
Myers | User interface software tools | |
US5396590A (en) | Non-modal method and apparatus for manipulating graphical objects | |
KR100382100B1 (en) | Computer system and method for manipulating multiple graphical user interface components on a computer display having proximity pointers | |
US5450538A (en) | Graphical user interface control for expansion and re-sizing of data fields in forms | |
US5627958A (en) | System and method for improved computer-based training | |
US8140971B2 (en) | Dynamic and intelligent hover assistance | |
US5960199A (en) | Model trace view for object-oriented systems | |
US5917483A (en) | Advanced windows management for a computer system | |
US5754809A (en) | Perspective windowing technique for computer graphical user interface | |
US5664133A (en) | Context sensitive menu system/menu behavior | |
Dragicevic et al. | Support for input adaptability in the ICON toolkit | |
EP1491989A2 (en) | Menus whose geometry is bounded by two radii and an arc | |
EP0428261A2 (en) | Computer user interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BORLAND INTERNATIONAL, INC. A CORPORATION OF DEL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:GAYRAUD, CHARLES EDOUARD;GEE, PERRY ALVIN;REEL/FRAME:006494/0278 Effective date: 19930305 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: BORLAND SOFTWARE CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:INPRISE CORPORATION;REEL/FRAME:011497/0345 Effective date: 20010122 Owner name: INPRISE CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:BORLAND INTERNATIONAL INC.;REEL/FRAME:011506/0776 Effective date: 19980720 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 12 |
|
SULP | Surcharge for late payment |
Year of fee payment: 11 |