Floating command object

Information

  • Patent Grant
  • 7895531
  • Patent Number
    7,895,531
  • Date Filed
    Monday, June 13, 2005
    19 years ago
  • Date Issued
    Tuesday, February 22, 2011
    13 years ago
Abstract
A floating command object is provided for offering a set of commonly or frequently used commands in close proximity to a selected text, data or other object in a document. When a given object is selected for editing, the floating object automatically displays near the object to allow easy selection of relevant commands such as formatting property commands. The object remains displayed to allow multiple command selections until it is closed by user action. If a mouse or touchpad pointer is moved away from the displayed object, the displayed object becomes increasingly translucent to visually deemphasize the relevance of the object to the new position of the pointer.
Description
BACKGROUND

With the advent of the computer age, computer and software users have grown accustomed to user-friendly software applications that help them write, calculate, organize, prepare presentations, send and receive electronic mail, make music, and the like. For example, modem electronic word processing applications allow users to prepare a variety of useful documents. Modern spreadsheet applications allow users to enter, manipulate, and organize data. Modem electronic slide presentation applications allow users to create a variety of slide presentations containing text, pictures, data or other useful objects. Modern database applications allow users to store, organize and exchange large amounts of data.


In a typical setting, users enter and edit text or data in documents or files generated with such applications, for example, memoranda, spreadsheets, slide presentations, database files, and the like. During text or data entry, or during subsequent editing of text or data, users often apply various properties, such as formatting properties, to text or data. For example, in a given paragraph in a school term paper, a student may desire to boldface a word, italicize a word or number, change the font properties on a text or data entry, and the like. Indeed, the vast majority of tool selection during text/data entry and editing comes from simple text formatting commands like boldface, italics and font.


The traditional location of buttons or controls for selecting these types of commands is in a toolbar located along an edge of a user interface being used to enter and edit the text or data. Selecting commands from such statically located toolbars is inefficient because the user must first select a text, data or other object in the document and then move an electronic pointer, for example, a mouse pointer, to the desired command button or control in the toolbar to select the desired command. The user must then move the pointer back to the editing position in the document for making additional edits, if desired.


Pop-up contextual menus are available for deploying near a text/data entry or editing point. Such contextual menus typically require a secondary selection, such as a right mouse click, for deploying the menu, and such contextual menus typically contain many different functionality controls or buttons in addition to the simple formatting functions most commonly and frequently used on selected objects. Also, when a user selects a given command from such contextual menus, the deployed menu typically closes after the selection. If the user desires additional functionality from the contextual menu, the contextual menu must be re-deployed by the user.


It is with respect to these and other considerations that the present invention has been made.


SUMMARY

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.


Embodiments of the present invention are directed to a floating command object (hereafter “floating object”) (also known as a “floatie”) that contains a small set of functions that are relevant to a selected object. The floating object dynamically deploys in a document in close proximity to an entry/editing point upon the selection of a text, data or other object. According to embodiments of the present invention, the floating object deploys in a consistent location relative to a selected object each time it is deployed. Alternatively, if available display space does not allow the floating object to deploy in a consistent location for a given deployment, or if deployment in a given location will cover a displayed object that should remain visible, the floating object may be displayed in a different location.


The floating object typically contains only a set of commands that are relevant to the currently selected object. The commands contained in the floating object are those that modify the selected object without requiring the opening of additional functionality user interfaces. According to an embodiment, the commands contained in the floating object may be customized by a user.


The floating object of the present invention may be deployed from other user interfaces such as contextual menus. However, unlike contextual menus, selection of a given command from the floating object does not close the floating object. The floating object remains deployed to allow multiple functionality selections, for example, boldface selection followed by font size selection followed by color selection. Once a user is finished with the floating object it may be closed by the user. According to embodiments, the floating object is a lightweight display object in that it is dismissed from display when it detects that a user no longer requires its functions.


According to an embodiment of the invention, the opacity of the displayed floating object is a function of the distance between the electronic pointer and the position of the displayed floating object. As an electronic pointer, for example, mouse pointer, is moved away from the displayed floating object, the displayed floating object becomes gradually more translucent so as to visually deemphasize the importance of the floating object to the changing position of the pointer.


These and other features and advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of the invention as claimed.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates an exemplary computing operating environment for embodiments of the present invention.



FIG. 2 illustrates a computer screen display of an example word processing user interface showing a floating object in proximity to a selected text object.



FIG. 3 illustrates a computer screen display of a floating object according to embodiments of the present invention.



FIG. 4 illustrates a computer screen display of a user interface for customizing functionality controls contained in a floating object.



FIG. 5 illustrates a computer screen display of a user interface for controlling display of and for customizing functionality controls contained in a floating object.



FIG. 6 illustrates a computer screen display showing the use of a floating object for editing a comment applied to a word processing document.



FIG. 7 illustrates a computer screen display showing the selection of floating object functions from a deployed contextual menu.



FIG. 8 illustrates a computer screen display showing the use of a floating object for applying properties to a database entry.



FIG. 9 illustrates a computer screen display showing the translucent display of a floating object as an electronic pointer is moved away from the displayed floating object.



FIG. 10 illustrates an alternate layout of a floating object according to embodiments of the present invention.





DETAILED DESCRIPTION

As briefly described above, embodiments of the present invention are directed to a floating command object (hereafter “floating object” or “command object”) that provides a small set of commonly and frequently used functionality commands in close proximity to a text or data entry/editing point. In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These embodiments may be combined, other embodiments may be utilized, and structural changes may be made without departing from the spirit or scope of the present invention. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.


Referring now to the drawings, in which like numerals refer to like elements through the several figures, aspects of the present invention and an exemplary computing operating environment will be described. FIG. 1 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other program modules.


Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.


Embodiments of the invention may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process.


With reference to FIG. 1, one exemplary system for implementing the invention includes a computing device, such as computing device 100. In a basic configuration, the computing device 100 typically includes at least one processing unit 102 and system memory 104. Depending on the exact configuration and type of computing device, the system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. System memory 104 typically includes an operating system 105 suitable for controlling the operation of a networked personal computer, such as the WINDOWS operating systems from MICROSOFT CORPORATION of Redmond, Wash. The system memory 104 may also include one or more software applications 106, and may include program data 107. This basic configuration is illustrated in FIG. 1 by those components within dashed line 108.


In one embodiment, the application 106 may comprise many types of programs, such as an electronic mail program, a calendaring program, an Internet browsing program, and the like. According to an embodiment of the present invention, a multiple-functionality software application 120 is illustrated for providing many types of functionalities. The multiple-functionality application 120 may include a number of program modules, such as a word processing program, a spreadsheet program, a slide presentation program, a database program, and the like. An example of such a multiple-functionality application 120 is OFFICE manufactured by MICROSOFT CORPORATION.


The computing device 100 may have additional features or functionality. For example, the computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 1 by removable storage 109 and non-removable storage 110. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. System memory 104, removable storage 109 and non-removable storage 110 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 100. Any such computer storage media may be part of device 100. Computing device 100 may also have input device(s) 112 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 114 such as a display, speakers, printer, etc. may also be included. These devices are well know in the art and need not be discussed at length here.


The computing device 100 may also contain communication connections 116 that allow the device to communicate with other computing devices 118, such as over a network in a distributed computing environment, for example, an intranet or the Internet. Communication connection 116 is one example of communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.



FIG. 2 illustrates a computer screen display of an example word processing user interface showing a floating object in proximity to a selected text object. As illustrated in FIG. 2, a user interface 200 of an example word processing application is provided for entering and editing a text selection 220. The user interface 200 includes a variety of task-related controls such as the writing tab 205, the page layout control 210, the insert tab, the styles tab, etc. A command bar or ribbon 215 is provided underneath the task-related controls for providing a number of functionality controls related to a selected task-related control. For example, the command ribbon 215 illustrated in FIG. 2 includes a number of functionality controls related to the writing tab 205. As should be appreciated by those skilled in the art, the user interface 200 illustrated in FIG. 2 is for purposes of example only and is not restrictive of the numerous types and layouts of user interfaces that may be used according to embodiments of the present invention. For example, the user interface 200 is illustrative of a user interface for other software applications such as spreadsheet applications, slide presentation applications, database applications, desktop publishing applications, and the like.


Referring still to FIG. 2, a portion 222 of the text selection 220 has been selected for some type of text editing, for example, the application of formatting properties to the selected text. As is well known to those skilled in the art, a text selection, such as the portion of text 222, may be selected for editing by placing a pointing device, such as a mouse pointer, at a desired location in a document. Once the pointing device is selected, for example, mouse or touch pad click, an insertion point is established in the text selection. A portion of text 222 may be selected for editing by dragging the pointer over the desired portion 222. As should be appreciated, other suitable means for selecting a portion of text or other object for editing may be used according to embodiments of the invention, for example, double mouse-clicking after location of a pointing device. Once the portion of text or other object is selected, various functionalities may be applied to the selected portion of text or object, for example, formatting property application, cut/copy/move operations, etc.


Once a portion 222 of text is selected for some type of editing, the floating object 225 automatically deploys over the document in close proximity to the selected object. As should be appreciated, deployment of the floating object 225 for the selected text object illustrated in FIG. 2 is for purposes of example only. The floating object of the present invention may be automatically deployed in proximity to a variety of selected objects. For example, the floating object may be deployed for providing functionality in association with text objects, image objects, data objects, etc. In addition, the floating command object 225 may be deployed as an opaque object, as illustrated in FIG. 3, or alternatively, the floating object may be deployed in a semi-transparent manner.


According to embodiments of the present invention, the floating object 225 is displayed in a consistent location relative to the pointer location in the selected object. For example, the floating object may always be displayed immediately above a selected object, immediately beneath a selected object, immediately to the right of a selected object, or immediately to the left of a selected object in close proximity to the final position of the pointer during object selection. By displaying the floating object 225 in consistent locations relative to a selected object and relative to the pointer, predictability is developed which allows the user to be very efficient in using the floating object. For example, if a user learns that the floating object always deploys immediately beneath and to the right of the pointer and selected object, the user will develop muscle memory that allows the user to successfully move the pointer into the deployed floating object without, excess thought or excess physical movement. As should be appreciated, depending on the location of the pointer and selected object, the location of the floating object may be deployed in a slightly different location from a normal location. For example, if the floating object is normally deployed immediately beneath and to the right of the pointer and selected object, and the pointer is located in a position that does not allow space for deploying the floating object in the usual location, the floating object may be deployed in a different location, for example, above and to the left of the pointer and selected object.


Referring now to FIG. 3, according to embodiments of the present invention, the floating object 225 contains a subset of commands available from the software application in use that are contextually relevant to the current selection. For example, the floating object 225 illustrated in FIG. 3 contains commands relevant to applying formatting properties to a selected text object. For example, the floating object 225 includes a boldface command 320, an italics command 325, an underlining command 330, a left text justified command 335, a centered text command 340, a right text justified command 345, a color command 350, a font type command 365 and a font size command 370. As should be appreciated, selection of a command such as the font type command 365 may cause a drop-down menu that is deployed beneath the floating object 225 for allowing selection of one of a number of font styles. Similarly, selection of the font size command 370 may cause a drop-down menu to allow selection of one of a number of different font sizes. In addition, the commands typically included in the floating object 225 are only those commands that allow for modification of the selected object without requiring the user to launch or display a secondary user interface.


As should be appreciated, if the floating object 225 is deployed relative to a different type of object, for example, a picture object, the floating object may have a different set of commands, for example, commands commonly and frequently used for applying formatting or editing properties to a selected picture object. Likewise, a floating object 225 deployed in response to the selection of a table object in a spreadsheet document may be populated with commands commonly and frequently used for editing or applying formatting properties to data contained in a table object.


In order to prevent the floating object 225 from occupying too much space on the associated user interface 200, selectable controls inside the floating object may be made as small as possible. The visual representations of controls in the floating object preferably closely resemble corresponding visual controls contained in the command bar or ribbon 215 illustrated in FIG. 2. The floating object handle 316 allows for dragging the floating object to a different location in a document. For example, if the floating object is displayed over a portion of text or data, and the user needs to see the text or data covered by the floating object, the user may drag the floating object to a different location to uncover the text or data.


Referring still to FIG. 3, according to another embodiment, a floating object masking control 380 may be deployed upon initial selection of a text or data object before display of the entire floating object 225. Display of the masking control 380 informs a user of the presence and availability of the floating object 225 without actually displaying the floating object 225. According to this embodiment, if the user desires a display of the entire floating object 225, the user may select the masking control 380, and the entire floating object 225 will be displayed, as illustrated in FIGS. 2 and 3. As with the entire floating object 225, the masking control 380 will be displayed in a consistent location in close proximity to the pointer and selected object.



FIG. 4 illustrates a computer screen display of a user interface for customizing functionality commands contained in the floating object. According to embodiments of the present invention, the individual commands displayed in the floating object 225 may be customized by a user. The dialog 400 is presented with which a user may select particular functionality commands that will be populated in the floating object 225 when the object is subsequently deployed. For example, if a given user only frequently uses the bold function, the italics function and the underline function, a user may customize the floating object 225 to only have those commands in the floating object. On the other hand, if a different user uses the font color command on a frequent basis, the font color command may be checked from the checklist in the dialog 400 for adding that command to the floating object 225.


Referring to FIG. 5, according to another embodiment, a pop-out dialog 505 may be deployed for enabling or disabling the floating object 225 by selecting the “show floatie on selection” control 507. That is, by de-selecting the “show floatie on selection” control 507, the floating object 225 will be disabled from subsequent deployment. Additionally, the “customize” control 508 may be selected to display a pop-out menu 510 from which a user may select commands from a list of available commands that will be populated in the floating object 225 upon subsequent deployment.


If a user selects a very limited set of commands for populating the floating object 225, the size of the floating object 225 may be reduced when it is displayed. According to one embodiment, if the combined contents of the floating object are narrower than a prescribed width, for example, 200 pixels, the floating object may be rendered as a single-line object, as opposed to the two-line object illustrated in FIGS. 2 and 3. On the other hand, if a given user adds functionality commands to the floating object 225 such that the object exceeds a prescribed width, for example, 200 pixels, then the contents of the floating object may be wrapped to a second line as illustrated in FIGS. 2 and 3. If additional commands are added to the floating object requiring more than two lines of content, additional lines of content may be dynamically added.


According to embodiments of the present invention, the floating object 225 may be deployed at any location in a document at which a user may place a cursor or pointer for selecting an object for editing. For example, FIG. 6 illustrates a computer screen display showing the use of a floating object for editing a comment applied to a word processing document. As illustrated in FIG. 6, a comment function is in use for adding a comment 610 to a text selection 605 in a word processing document. If a user selects a text or data object 615 in the comment 610, the floating object 225 may be deployed in close proximity to the pointer position in the comment 610 for allowing formatting or other properties to be applied to the selected object in the comment 610.


Referring now to FIG. 7, a context menu 700 is illustrated relative to a text selection 705. As is known to those skilled in the art, a context menu may be deployed relative to a selected object for providing various functionalities for application to the selected object. The example context menu 700 may be deployed through some user action, for example, right-clicking on a mouse device, after selection of a given text, data or other object. According to typical context menus, selection of a given command from the context menu causes the associated functionality to be applied to the selected object and causes a simultaneous closing of the context menu 700.


According to embodiments of the present invention, if a user selects a command from the context menu 700 that is available in the floating object for the selected object, the functionality associated with the selected command is applied to the selected object, and simultaneously, the floating object containing the selected command will be displayed, and the contextual menu 700 will be closed. By displaying the floating object 225 in response to selecting a command from the contextual menu 700, the user is provided other related formatting functions, for example, boldfacing, italics, and the like, available in the floating object 225 that the user will have grown accustomed to seeing in the floating object 225 in association with the command selected by the user from the contextual menu 700. Once the floating object is deployed by selecting a command from the contextual menu 700, the floating object is positioned and performs in the same manner as described above.


As briefly described above, floating objects 225 may be utilized with respect to a variety of software applications, for example, word processing applications, spreadsheet applications, slide presentation applications, database applications, desktop publishing applications, and the like. For example, referring to FIG. 8, utilization of a floating object in the context of a database application is illustrated. As shown in FIG. 8, a user interface 800 for a database application is provided. A toolbar 810 provides a number of commands for obtaining functionalities available from the associated database application. According to embodiments of the present invention, a floating object 830 is displayed in close proximity to a selected data object 820. As should be appreciated, the commands populating the floating object 830 may include additional or different commands commonly used for selected objects in the database user interface. For example, instead of the commands illustrated in the floating object 830, other commands related to database applications, for example, filtering commands and sorting commands, may be populated in the floating object 830 by default or by customization, as described above with reference to FIGS. 4 and 5.


According to embodiments of the present invention, when the floating object 225, 830 is deployed by selection of an object for editing, the floating object 225, 830 remains displayed in proximity to the selected object until the floating object is dismissed by user action. That is, once the user has utilized all desired commands from the floating object, the user may selectively close the display of the floating object. Closing the floating object is made a relatively easy operation for the user. If the user moves the mouse pointer away from the floating object more than a prescribed distance, the floating object is closed. Similarly, if the user moves the pointer or cursor to a different location in the document and selects, for example, mouse clicks, at a different location, the floating object is dismissed from its present location and is redeployed at the new location, if applicable. Additionally, if a user utilizes a scrolling mechanism on the mouse device or touchpad, or if the user enters additional text or data through typing, voice recognition, or other mechanism, the floating object is dismissed.


As illustrated in FIGS. 2 and 3 above, the visual presentation of the floating object 225 is an opaque display that covers underlying text or data when the floating object is displayed in a given user interface 200, 800. However, according to embodiments of the present invention, the opacity of the visual display of the floating object 225, 830 is a function of the distance between the displayed floating object and the mouse or touchpad pointer. As illustrated in FIG. 9, a floating object 925 is displayed in proximity to a text selection 920 for applying one or more functions, for example, formatting properties, to the selected text object 922. As the mouse pointer 930 is moved away from the floating object 925, the display of the floating object 925 gradually becomes increasingly translucent. If the pointer is moved a prescribed distance away from the displayed floating object, the floating object 925 will become virtually invisible to the user.


According to one embodiment, if the user moves the pointer back toward the floating object 925, the floating object 925 will become less translucent as the pointer is moved closer to the displayed floating object. By making the floating object gradually more translucent as the pointer moves away from the floating object, a user is provided a visual representation that the importance of the functions displayed in the floating object are deemphasized relative to the present position of the pointer. That is, as the pointer is moved a distance away from the selected object 922, the need for the functionality displayed in the floating object 925 relative to that selected object is less important.


Referring now to FIG. 10, an alternate visual layout of a floating command object 1025 is illustrated. As shown in FIG. 10, the alternate layout of the floating object 1025 includes two lines of buttons or controls for selecting one or more functionalities. As should be appreciated, many different layouts of buttons and controls and many different colors and object shapes may be used for the floating object and for visual properties of the floating object.


As described herein, a floating command object is provided for offering a set of commonly or frequently used commands in close proximity to a selected text, data or other object in a document. It will be apparent to those skilled in the art that various modifications or variations may be made in the present invention without departing from the scope or spirit of the invention. Other embodiments of the present invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein.

Claims
  • 1. A method of providing a floating command object that is contextually relevant to selected text, the method comprising: upon receiving a selection of text in an electronic document for editing, displaying a command object adjacent to the selected text such that at least a portion of the selected text remains visible, the command object providing text editing functionality in response to the selection of the text;displaying in the command object a set of functionality commands that are relevant to editing the selected text, the set of functionality commands being a subset of a broader range of functionality commands available for editing the selected text, wherein displaying in the command object the set of functionality commands comprises displaying the set of functionality commands with a first set of visual representations similar to a second set of visual representations associated with displaying the broader range of functionality commands;associating an opacity of the displayed command object to a distance between an electronic pointer and the displayed command object; andcontinuing to display the command object after receiving a selection of one of the set of functionality commands.
  • 2. The method of claim 1, wherein displaying in the command object the set of functionality commands that are relevant to editing the selected text includes displaying the set of functionality commands for applying a formatting property to the selected text.
  • 3. The method of claim 1, wherein continuing to display the command object includes maintaining the command object in its displayed position relative to the selected text until the display of the command object is closed by a user action.
  • 4. The method of claim 1, in response to receiving a selection of another object for editing, closing the display of the command object from its display position relative to the previously selected text.
  • 5. The method of claim 4, further comprising displaying the command object at a second display position relative to the other object such that the other object remains visible.
  • 6. The method of claim 1, upon receiving an entry of data into a document containing the text, closing a display of the command object.
  • 7. The method of claim 1, in response to receiving an indication of a user moving the electronic pointer away from the displayed command object, causing the displayed command object to grow increasingly translucent as the distance between the electronic pointer and the displayed command object increases.
  • 8. The method of claim 1, wherein displaying the command object adjacent to the selected text includes displaying the command object adjacent to an editing insertion point in the selected text.
  • 9. The method of claim 8, wherein displaying the command object adjacent to the editing insertion point in the selected text includes displaying the command object adjacent to a cursor location in the selected text.
  • 10. The method of claim 8, further comprising displaying the command object in a consistent location relative to the selected text upon subsequent displays of the command object.
  • 11. The method of claim 10, wherein displaying the command object in the consistent location relative to the selected text upon subsequent displays of the command object includes displaying the command object in a position that is one of: beneath the selected text and above the selected text.
  • 12. The method of claim 1, further comprising displaying the command object in response to a selection of one of: data and an image, the command object being further associated with editing the selected one of: the data and the image.
  • 13. The method of claim 10, wherein displaying the command object in the consistent location relative to the selected text upon subsequent displays of the command object includes displaying the command object in a position that is one of: on a right side of the selected text and on a left side of the selected text.
  • 14. The method of claim 1, further comprising enabling the user to select any one of the set of functionality commands from the command object while the command object is being displayed.
  • 15. A computer storage medium containing computer executable instructions which when executed by a computer perform a method of providing a command object that is contextually relevant to a selected portion of text within an electronic document, the method executed by the set of instructions comprising: upon receiving a selection of a first portion of text in an electronic document for editing, displaying a command object adjacent to the selected first portion of text such that at least a portion of the selected first portion of text is not covered by the command object, the command object providing text editing functionality in response to the selection of the first portion of text;displaying in the command object a set of functionality commands that are relevant to formatting the selected first portion of text, the set of functionality commands being: derived from a subset of available formatting commands for the document, the subset of available formatting commands being displayed in a main user interface portion of the electronic document,displayed with visual representations similar to the subset of available formatting commands displayed in the main user interface portion, andconfigured to be applied to the selected first portion of text;receiving a selection of one of the functionality commands from the command object for application of an associated functionality to the first portion of text without closing a display of the command object;associating an opacity of the displayed command object to a distance between an electronic pointer and the displayed command object; andcontinuing to display the command object after receiving a selection of one of the set of functionality commands.
  • 16. The computer storage medium of claim 15, in response to receiving a selection of a second portion of text for formatting, further comprising: closing the display of the command object from the first display position relative to the first portion of text; anddisplaying the command object at a second display position relative to the second portion of text.
  • 17. A display device having rendered thereon an improved user interface with functionality from a software application that is relevant to selected text, the user interface comprising: a floating object having disposed therein a subset of functionality commands available from the software application that are relevant to editing the selected text in an electronic document, the subset of functionality commands being displayed in a main user interface of the software application and, when disposed in the floating object, having a first visual representation in the floating object similar to a second visual representation in the main user interface, wherein each functionality command within the subset of functionality commands is configured to be selected for applying at least one property to the selected object without requiring a display of a secondary user interface, the at least one property corresponding to text editing functionality;wherein the floating object is operative to display in the electronic document adjacent to the selected text upon receiving a selection of the selected text such that at least a portion of the selected text remains visible;wherein the floating object is displayed translucently based on an opacity associated with a distance between an electronic pointer and the floating object; andcontinuing to display the command object after receiving a selection of one of the set of functionality commands.
  • 18. The display device of claim 17, wherein the display of the floating object is increasingly translucent as the distance between the electronic pointer and the displayed floating object increases.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to U.S. Provisional Application No. 60/601,815, Applicant Matter No. 309417.1, filed Aug. 16, 2004, entitled “Improved User Interfaces for Computer Software Applications.”

US Referenced Citations (323)
Number Name Date Kind
4823283 Diehm et al. Apr 1989 A
5155806 Hoeber et al. Oct 1992 A
5247438 Subas et al. Sep 1993 A
5323314 Baber et al. Jun 1994 A
5377354 Scannell et al. Dec 1994 A
5500936 Allen et al. Mar 1996 A
5519606 Frid-Nielsen et al. May 1996 A
5559875 Bieselin et al. Sep 1996 A
5559944 Ono Sep 1996 A
5570109 Jenson Oct 1996 A
5588107 Bowden et al. Dec 1996 A
5596694 Capps Jan 1997 A
5625783 Ezekiel et al. Apr 1997 A
5634100 Capps May 1997 A
5634128 Messina May 1997 A
5638504 Scott et al. Jun 1997 A
5644737 Tuniman et al. Jul 1997 A
5659693 Hansen et al. Aug 1997 A
5664127 Anderson et al. Sep 1997 A
5664208 Pavley et al. Sep 1997 A
5673403 Brown et al. Sep 1997 A
5721847 Johnson Feb 1998 A
5734915 Roewer Mar 1998 A
5760768 Gram Jun 1998 A
5760773 Berman et al. Jun 1998 A
5761646 Frid-Nielsen et al. Jun 1998 A
5778402 Gipson Jul 1998 A
5778404 Capps et al. Jul 1998 A
5805167 van Cruyningen Sep 1998 A
5812132 Goldstein Sep 1998 A
5821936 Shaffer et al. Oct 1998 A
5828376 Solimene et al. Oct 1998 A
5838321 Wolf Nov 1998 A
5842009 Borovoy et al. Nov 1998 A
5844558 Kumar et al. Dec 1998 A
5844572 Schott Dec 1998 A
5855006 Huemoeller et al. Dec 1998 A
5873108 Goyal et al. Feb 1999 A
5885006 Sheedy Mar 1999 A
5893073 Kasso et al. Apr 1999 A
5893125 Shostak Apr 1999 A
5898436 Stewart et al. Apr 1999 A
5899979 Miller et al. May 1999 A
5905863 Knowles et al. May 1999 A
5926806 Marshall et al. Jul 1999 A
5936625 Kahl et al. Aug 1999 A
5937160 Davis et al. Aug 1999 A
5940078 Nagarajayya et al. Aug 1999 A
5940847 Fein et al. Aug 1999 A
5943051 Onda et al. Aug 1999 A
5960406 Rasansky et al. Sep 1999 A
5970466 Detjen et al. Oct 1999 A
5999938 Bliss et al. Dec 1999 A
6008806 Nakajima et al. Dec 1999 A
6012075 Fein et al. Jan 2000 A
6016478 Zhang et al. Jan 2000 A
6018343 Wang et al. Jan 2000 A
6034683 Mansour et al. Mar 2000 A
6038542 Ruckdashel Mar 2000 A
6067087 Krauss et al. May 2000 A
6072492 Schagen et al. Jun 2000 A
6085206 Domini et al. Jul 2000 A
6101480 Conmy et al. Aug 2000 A
6133915 Arcuri et al. Oct 2000 A
6175363 Williams et al. Jan 2001 B1
6188403 Sacerdoti et al. Feb 2001 B1
6192381 Stiegemeier et al. Feb 2001 B1
6211879 Soohoo Apr 2001 B1
6216122 Elson Apr 2001 B1
6219670 Mocek et al. Apr 2001 B1
6222540 Sacerdoti Apr 2001 B1
6232971 Haynes May 2001 B1
6236396 Jenson et al. May 2001 B1
6256628 Dobson et al. Jul 2001 B1
6269341 Redcay, Jr. Jul 2001 B1
6278450 Arcuri et al. Aug 2001 B1
6289317 Peterson Sep 2001 B1
6307544 Harding Oct 2001 B1
6323883 Minoura et al. Nov 2001 B1
6326962 Szabo Dec 2001 B1
6327046 Miyamoto et al. Dec 2001 B1
6353451 Teibel et al. Mar 2002 B1
6359634 Cragun et al. Mar 2002 B1
6373507 Camara et al. Apr 2002 B1
6384849 Morcos et al. May 2002 B1
6405216 Minnaert et al. Jun 2002 B1
6424829 Kraft Jul 2002 B1
6429882 Abdelnur et al. Aug 2002 B1
6433801 Moon et al. Aug 2002 B1
6442527 Worthington Aug 2002 B1
6456304 Angiulo et al. Sep 2002 B1
6459441 Perroux et al. Oct 2002 B1
6466236 Pivowar et al. Oct 2002 B1
6469722 Kinoe et al. Oct 2002 B1
6480865 Lee et al. Nov 2002 B1
6493006 Gourdol et al. Dec 2002 B1
6493731 Jones et al. Dec 2002 B1
6546417 Baker Apr 2003 B1
6570596 Frederiksen May 2003 B2
6578192 Boehme et al. Jun 2003 B1
6583798 Hoek et al. Jun 2003 B1
6618732 White et al. Sep 2003 B1
6621504 Nadas et al. Sep 2003 B1
6621508 Shiraishi et al. Sep 2003 B1
6635089 Burkett et al. Oct 2003 B1
6664983 Ludolph Dec 2003 B2
6680749 Anderson et al. Jan 2004 B1
6686938 Jobs et al. Feb 2004 B1
6691281 Sorge et al. Feb 2004 B1
6708205 Sheldon et al. Mar 2004 B2
6727919 Reder et al. Apr 2004 B1
6732330 Claussen et al. May 2004 B1
6734880 Chang et al. May 2004 B2
6750890 Sugimoto Jun 2004 B1
6785868 Raff Aug 2004 B1
6825859 Severenuk et al. Nov 2004 B1
6826729 Giesen et al. Nov 2004 B1
6850255 Muschetto Feb 2005 B2
6871195 Ryan et al. Mar 2005 B2
6882354 Nielsen Apr 2005 B1
6904449 Quinones Jun 2005 B1
6906717 Couckuyt et al. Jun 2005 B2
6915492 Kurtenbach et al. Jul 2005 B2
6924797 MacPhail Aug 2005 B1
6964025 Angiulo Nov 2005 B2
6983889 Alles Jan 2006 B2
6988241 Guttman et al. Jan 2006 B1
6990637 Anthony et al. Jan 2006 B2
7027463 Mathew et al. Apr 2006 B2
7032210 Alloing et al. Apr 2006 B2
7039596 Lu May 2006 B1
7046848 Olcott May 2006 B1
7107544 Luke Sep 2006 B1
7110936 Hiew et al. Sep 2006 B2
7111238 Kuppusamy et al. Sep 2006 B1
7152207 Underwood et al. Dec 2006 B1
7181697 Tai et al. Feb 2007 B2
7188073 Tam et al. Mar 2007 B1
7212208 Khozai May 2007 B2
7216301 Moehrle May 2007 B2
7219305 Jennings May 2007 B2
7240323 Desai et al. Jul 2007 B1
7249325 Donaldson Jul 2007 B1
7325204 Rogers Jan 2008 B2
7328409 Awada et al. Feb 2008 B2
7337185 Ellis et al. Feb 2008 B2
7346705 Hullot et al. Mar 2008 B2
7346769 Forlenza et al. Mar 2008 B2
7386535 Kalucha et al. Jun 2008 B1
7386835 Desai et al. Jun 2008 B1
7392249 Harris et al. Jun 2008 B1
7395221 Doss et al. Jul 2008 B2
7395500 Whittle et al. Jul 2008 B2
7421660 Charmock et al. Sep 2008 B2
7469385 Harper et al. Dec 2008 B2
7472117 Dettinger et al. Dec 2008 B2
7505954 Heidloff et al. Mar 2009 B2
7530029 Satterfield et al. May 2009 B2
7555707 Labarge et al. Jun 2009 B1
7567964 Brice et al. Jul 2009 B2
7627561 Pell et al. Dec 2009 B2
7703036 Satterfield et al. Apr 2010 B2
7707255 Satterfield et al. Apr 2010 B2
7711742 Bennett et al. May 2010 B2
7716593 Durazo et al. May 2010 B2
7739259 Hartwell et al. Jun 2010 B2
7747966 Leukart et al. Jun 2010 B2
20010035882 Stoakley et al. Nov 2001 A1
20020007380 Bauchot et al. Jan 2002 A1
20020037754 Hama et al. Mar 2002 A1
20020052721 Ruff et al. May 2002 A1
20020070977 Morcos et al. Jun 2002 A1
20020075330 Rosenzweig et al. Jun 2002 A1
20020078143 DeBoor et al. Jun 2002 A1
20020083054 Peltonen et al. Jun 2002 A1
20020091697 Huang et al. Jul 2002 A1
20020091739 Ferlitsch et al. Jul 2002 A1
20020122071 Camara et al. Sep 2002 A1
20020133557 Winarski Sep 2002 A1
20020135621 Angiulo et al. Sep 2002 A1
20020140731 Subramaniam et al. Oct 2002 A1
20020140740 Chen Oct 2002 A1
20020149623 West et al. Oct 2002 A1
20020149629 Craycroft et al. Oct 2002 A1
20020154178 Barnett et al. Oct 2002 A1
20020163538 Shteyn Nov 2002 A1
20020175955 Gourdol et al. Nov 2002 A1
20020196293 Suppan et al. Dec 2002 A1
20030009455 Carlson et al. Jan 2003 A1
20030011638 Chung Jan 2003 A1
20030011639 Webb Jan 2003 A1
20030014490 Bates et al. Jan 2003 A1
20030022700 Wang Jan 2003 A1
20030025732 Prichard Feb 2003 A1
20030035917 Hyman Feb 2003 A1
20030038832 Sobol Feb 2003 A1
20030043200 Faieta et al. Mar 2003 A1
20030043211 Kremer et al. Mar 2003 A1
20030046528 Haitani et al. Mar 2003 A1
20030066025 Garner et al. Apr 2003 A1
20030070143 Maslov Apr 2003 A1
20030093490 Yamamoto et al. May 2003 A1
20030097361 Huang et al. May 2003 A1
20030098891 Molander May 2003 A1
20030110191 Handsaker et al. Jun 2003 A1
20030112278 Driskell Jun 2003 A1
20030135825 Gertner et al. Jul 2003 A1
20030156140 Watanabe Aug 2003 A1
20030160821 Yoon Aug 2003 A1
20030167310 Moody et al. Sep 2003 A1
20030169284 Dettinger et al. Sep 2003 A1
20030195937 Kircher et al. Oct 2003 A1
20030206646 Brackett Nov 2003 A1
20030218611 Ben-Tovim et al. Nov 2003 A1
20030226106 McKellar et al. Dec 2003 A1
20030227487 Hugh Dec 2003 A1
20030233419 Beringer Dec 2003 A1
20040003351 Sommerer et al. Jan 2004 A1
20040012633 Helt Jan 2004 A1
20040056894 Zaika et al. Mar 2004 A1
20040090315 Mackjust et al. May 2004 A1
20040100504 Sommer May 2004 A1
20040100505 Cazier May 2004 A1
20040107197 Shen et al. Jun 2004 A1
20040109025 Hullot et al. Jun 2004 A1
20040109033 Vienneau et al. Jun 2004 A1
20040117451 Chung Jun 2004 A1
20040119760 Grossman et al. Jun 2004 A1
20040122789 Ostertag et al. Jun 2004 A1
20040128275 Moehrle Jul 2004 A1
20040133854 Black Jul 2004 A1
20040142720 Smethers Jul 2004 A1
20040164983 Khozai Aug 2004 A1
20040168153 Marvin Aug 2004 A1
20040186775 Margiloff et al. Sep 2004 A1
20040189694 Kurtz et al. Sep 2004 A1
20040192440 Evans et al. Sep 2004 A1
20040221234 Imai Nov 2004 A1
20040230508 Minnis et al. Nov 2004 A1
20040230906 Pik et al. Nov 2004 A1
20040239700 Bacshy Dec 2004 A1
20040243938 Weise et al. Dec 2004 A1
20040261013 Wynn et al. Dec 2004 A1
20040268231 Tunning Dec 2004 A1
20040268270 Hill et al. Dec 2004 A1
20050004989 Satterfield et al. Jan 2005 A1
20050004990 Durazo et al. Jan 2005 A1
20050005235 Satterfield et al. Jan 2005 A1
20050005249 Hill et al. Jan 2005 A1
20050010871 Ruthfield et al. Jan 2005 A1
20050021504 Atchison Jan 2005 A1
20050022116 Bowman et al. Jan 2005 A1
20050039142 Jalon et al. Feb 2005 A1
20050043015 Muramatsu Feb 2005 A1
20050044500 Orimoto et al. Feb 2005 A1
20050057584 Gruen et al. Mar 2005 A1
20050086135 Lu Apr 2005 A1
20050091576 Relyea et al. Apr 2005 A1
20050097465 Giesen et al. May 2005 A1
20050114778 Branson et al. May 2005 A1
20050117179 Ito et al. Jun 2005 A1
20050138576 Baumert et al. Jun 2005 A1
20050144241 Stata et al. Jun 2005 A1
20050172262 Lalwani Aug 2005 A1
20050183008 Crider et al. Aug 2005 A1
20050203975 Jindal et al. Sep 2005 A1
20050216863 Schumacher et al. Sep 2005 A1
20050223329 Schwartz et al. Oct 2005 A1
20050256867 Walther et al. Nov 2005 A1
20050278656 Goldthwaite et al. Dec 2005 A1
20050289156 Maryka et al. Dec 2005 A1
20050289159 Hadley et al. Dec 2005 A1
20060015816 Kuehner et al. Jan 2006 A1
20060020962 Stark Jan 2006 A1
20060036580 Stata Feb 2006 A1
20060036945 Radtke et al. Feb 2006 A1
20060036950 Himberger et al. Feb 2006 A1
20060036964 Satterfield et al. Feb 2006 A1
20060036965 Harris et al. Feb 2006 A1
20060041545 Heidloff et al. Feb 2006 A1
20060047644 Bocking et al. Mar 2006 A1
20060069604 Leukart et al. Mar 2006 A1
20060069686 Beyda et al. Mar 2006 A1
20060080303 Sargent et al. Apr 2006 A1
20060095865 Rostom May 2006 A1
20060101051 Carr et al. May 2006 A1
20060101350 Scott May 2006 A1
20060111931 Johnson et al. May 2006 A1
20060117249 Hu et al. Jun 2006 A1
20060129937 Shafron Jun 2006 A1
20060155689 Blakeley et al. Jul 2006 A1
20060173824 Bensky Aug 2006 A1
20060218500 Sauve et al. Sep 2006 A1
20060242557 Nortis, III Oct 2006 A1
20060242575 Winser Oct 2006 A1
20060294452 Matsumoto Dec 2006 A1
20070006206 Dhanjal et al. Jan 2007 A1
20070050401 Young et al. Mar 2007 A1
20070055936 Dhanjal et al. Mar 2007 A1
20070055943 McCormack et al. Mar 2007 A1
20070061306 Pell et al. Mar 2007 A1
20070061307 Hartwell et al. Mar 2007 A1
20070061308 Hartwell et al. Mar 2007 A1
20070106951 McCormack et al. May 2007 A1
20070143671 Paterson et al. Jun 2007 A1
20070185826 Brice et al. Aug 2007 A1
20070240057 Satterfield et al. Oct 2007 A1
20070260996 Jakobson Nov 2007 A1
20070279417 Garg et al. Dec 2007 A1
20070300168 Bosma et al. Dec 2007 A1
20080034304 Feuerbacher et al. Feb 2008 A1
20080040682 Sorenson et al. Feb 2008 A1
20080052670 Espinosa et al. Feb 2008 A1
20080178110 Hill et al. Jul 2008 A1
20090007003 Dukhon et al. Jan 2009 A1
20090083656 Dukhon et al. Mar 2009 A1
20090100009 Karp Apr 2009 A1
20090217192 Dean et al. Aug 2009 A1
20090222763 Dukhon et al. Sep 2009 A1
20100060645 Garg et al. Mar 2010 A1
20100191818 Satterfield et al. Jul 2010 A1
20100211889 Durazo et al. Aug 2010 A1
20100223575 Leukart et al. Sep 2010 A1
Foreign Referenced Citations (13)
Number Date Country
0 910 007 Apr 1999 EP
1 077 405 Feb 2001 EP
1 672 518 Jun 2001 EP
1 542 133 Jun 2005 EP
1 835 434 Sep 2007 EP
10-2005-0023805 Mar 2005 KR
10-2005-0036702 Apr 2005 KR
WO 9904353 Jan 1999 WO
WO 9927495 Jun 1999 WO
WO 02091162 Nov 2002 WO
WO03098500 Nov 2003 WO
WO 2007033159 Mar 2007 WO
WO 2007027737 Aug 2007 WO
Related Publications (1)
Number Date Country
20060036946 A1 Feb 2006 US
Provisional Applications (1)
Number Date Country
60601815 Aug 2004 US