WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
User interface having movable sheet with click-through tools    
United States Patent5581670   
Link to this pagehttp://www.wikipatents.com/5581670.html
Inventor(s)Bier; Eric A. (Mountain View, CA); Buxton; William A. S. (Toronto, CA)
AbstractA user interface technique operates in the environment of a processor-controlled machine for executing a program that operates on a set of underlying data and displays a visible representation thereof. The system generates a visual depiction of a movable sheet having a number of delineated regions (active areas), responds to a first set of signals for positioning the sheet relative to the visible representation, responds to a second set of signals characterized by position information (typically cursor position) relative to the sheet and the visible representation, and generates a third set of signals to the program. The third set of signals depends on the relative position of the sheet and the visible representation and on the position information that characterizes the second set of input signals. The delineated regions may be thought of and referred to as click-through tools.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Bier; Eric A. (Mountain View, CA); Buxton; William A. S. (Toronto, CA)
Owner/Assignee     Xerox Corporation (Stamford, CT)
Patent assignment
All assignments
Publication Date     December 3, 1996
Application Number     08/095,598
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     July 21, 1993
US Classification     715/856 345/629 345/634 715/502 715/799
Int'l Classification     G06F 003/14
Examiner     Bayerl; Raymond J.
Assistant Examiner     dela Torre; Crescelle N.
Attorney/Law Firm     Townsend and Townsend and Crew
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/155 395/161 395/156 395/157 395/159 395/133 395/135 345/113 345/114 345/145 345/146
Patent Tags     user interface movable sheet click-through tools
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5381158
Takahara
345/156
Jan,1995

[0 after 0 votes]
5341466
Perlin
345/668
Aug,1994

[0 after 0 votes]
5287417
Eller
382/276
Feb,1994

[0 after 0 votes]
5283560
Bartlett
715/729
Feb,1994

[0 after 0 votes]
5276797
Bateman
715/823
Jan,1994

[0 after 0 votes]
5250929
Hoffman
715/823
Oct,1993

[0 after 0 votes]
5204947
Bernstein
715/854
Apr,1993

[0 after 0 votes]
5157384
Greanias
345/156
Oct,1992

[0 after 0 votes]
4982343
Hourvitz
345/592
Jan,1991

[0 after 0 votes]
4931783
Atkinson
345/163
Jun,1990

[0 after 0 votes]
4917516
Retter
400/489
Apr,1990

[0 after 0 votes]
4910683
Bishop
345/427
Mar,1990

[0 after 0 votes]
4896291
Gest
715/841
Jan,1990

[0 after 0 votes]
4827253
Maltz
345/640
May,1989

[0 after 0 votes]
4788538
Klein
345/418
Nov,1988

[0 after 0 votes]
4748441
Brzezinski
345/161
May,1988

[0 after 0 votes]
4686522
Hernandez
345/160
Aug,1987

[0 after 0 votes]
4622545
Atkinson
345/562
Nov,1986

[0 after 0 votes]
4555775
Pike
715/790
Nov,1985

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of operating a computer system where a program displays data and a user interacts with the data through the use of a displayed cursor, the method comprising the steps of:

displaying a visual depiction of an overlay having a plurality of delineated regions, each specifying an operation and referred to as a click-through tool;

positioning the overlay relative to the displayed data so that a given click-though tool overlaps a desired particular portion of the displayed data;

generating a particular event with the cursor positioned within the given click-through tool and at a location relative to the displayed data, which location specifies the desired particular portion of the displayed data; and

in response to the particular event, performing the operation specified by the given click-through tool on the desired particular portion of the displayed data.

2. A method of operating a processor-based machine, the machine including

a user input facility,

a display device,

a processor coupled to the user input facility and the display device, and

a storage system for storing information including instructions defining at least one program to be executed by the processor and a set of associated data,

the method comprising operating the processor-based machine to perform the steps of:

executing the program so as to operate on the data and to display a visible representation thereof on the display device;

generating a visual depiction of a transparent overlay having a number of delineated operation-specifying regions thereon;

responding to a first set of signals by positioning the overlay relative to the visible representation;

responding to a second set of signals characterized by position information relative to the visible representation; and

generating a third set of signals, the third set of signals depending on the relative position of the overlay and the visible representation, and on the position information that characterizes the second set of signals;

the third set of signals specifying a particular operation when the position information that characterizes the second set of signals is in a predetermined relationship with the delineated region of the overlay that specifies that particular operation;

the third set of signals further specifying that, for at least one type of particular operation, the particular operation be carried out in a manner that depends on the position information that characterizes the second set of signals.

3. The method of claim 2 wherein the program is a window system that manages a plurality of applications such that the visual representation represents a partitioning of the screen into regions representing each application determined by relative position of the second set of signals to the application screen regions.

4. The method of claim 2 wherein:

the delineated regions specify different particular operations to be performed on the data; and at least one particular operation augments the data.

5. The method of claim 2 wherein:

the delineated regions specify different particular operations to be performed on the data; and

at least one particular operation removes a portion of the data.

6. The method of claim 2 wherein:

the delineated regions specify different particular operations to be performed on the data; and

at least one particular operation extracts a portion of the data.

7. The method of claim 2 wherein:

the delineated regions specify different particular operations to be performed on the data; and

at least one particular operation modifies a portion of the data.

8. The method of claim 2 wherein:

the user input facility includes a user-actuated device; and

at least one of the first set of signals results from a user's actions with the user-actuated device.

9. The method of claim 2 wherein:

the user facility includes a user-actuated device; and

at least one of the second set of signals results from a user's actions with the user-actuated device.

10. The method of claim 9 wherein the user-actuated device is a pointing device and the second set of signals results from the user performing a gesture with the user-actuated device, such that the gesture has a distinguished feature point.

11. The method of claim 10 wherein the gesture, when drawn over a particular delineated region, generates a particular third set of signals determined by that delineated region, that gesture, and the distinguished feature point of that gesture.

12. The method of claim 9 wherein the second set of signals received from the user-actuated device includes a sequence of one or more positions.

13. The method of claim 12 wherein:

all positions in the sequence are performed in a single delineated region; and

the third set of signals depends on commands specified by the delineated region, and the position of the sequence of points relative to the overlay and the visual representation.

14. The method of claim 12 wherein:

the first position in the sequence is in a given delineated region with other positions either in or out of the delineated region; and

the third set of signals is determined by the sequence of positions and the operation specified by the delineated region.

15. The method of claim 12 wherein:

the sequence of positions is inside a plurality of delineated regions; and

the third set of signals is determined by the sequence of positions and by the one or more operations specified by the plurality of delineated regions.

16. The method of claim 9 wherein:

the delineated regions specify different particular operations to be performed on the data; and

said step of generating a third set of signals includes modifying signals resulting from the user's actions with the user-actuated device to specify the particular operation.

17. The method of claim 2 wherein the visual depiction of the transparent overlay depends on the history of first and second signals to which the overlay has responded and on the history of third signals that the overlay has generated.

18. The method of claim 2 wherein the visual depiction of the transparent overlay includes an image feature generated from an application data item copied or extracted during the history of first and second signals or the history of third signals.

19. The method of claim 2 wherein:

said steps of responding to a first set of signals, responding to a second set of signals, and generating a third set of signals are performed by executing an overlay program; and

the third set of signals is delivered to the overlay program in order to modify, augment, delete, reposition, resize, or otherwise edit the appearance, underlying data, or behavior of the delineated regions.

20. A method of operating a processor-based machine, the machine including

a user input facility,

a display device,

a processor coupled to the user input facility and the display device, and

a storage system for storing information including instructions defining at least one application program to be executed by the processor and at least one application data structure including a number of application data items,

the method comprising operating the processor-based machine to perform the steps of:

executing the application program so as to manipulate the application data structure and display a representation thereof, referred to as the visible representation, on the display device;

generating a visual depiction of a transparent overlay having a number of delineated operation-specifying regions thereon;

responding to a first set of signals for positioning the overlay relative to the visible representation;

responding to a second set of signals characterized by position information relative to the visible representation; and

generating a third set of signals and communicating the third set of signal to the application program, the third set of signals depending on the relative position of the overlay and the visible representation and on the position information that characterizes the second set of signals;

the third set of signals specifying a particular operation when the position information is in a predetermined relationship with the delineated region of the overlay that specifies that particular operation;

the third set of signals further specifying that, for at least one type of particular operation, the particular operation interact with the application data structure in a manner that depends on the position information.

21. The method of claim 20 wherein:

the user input facility includes a user-actuated device;

at least one of the first and second sets of signals results from a user's actions with the user-actuated device.

22. The method of claim 20 wherein:

at least one delineated region on the overlay specifies an operation that adds an application data item to the application data structure; and

a selected event from the user input facility causes an application data item to be added as specified by the particular delineated region.

23. The method of claim 20 wherein:

at least one delineated region on the overlay specifies an operation that removes an application data item from the application data structure; and

a selected event from the user input facility causes an application data item to be removed as specified by the particular delineated region.

24. The method of claim 20 wherein:

at least one delineated region on the overlay specifies an operation that extracts an application data item from the application data structure; and

a selected event from the user input facility causes an application data item to be extracted as specified by the particular delineated region.

25. The method of claim 20 wherein:

at least one delineated region on the overlay specifies an operation that modifies an application data item in the application data structure; and

a selected event from the user input facility causes an application data item to be modified as specified by the particular delineated region.

26. The method of claim 20 wherein:

the visible representation includes graphical objects, at least one of which corresponds to an application data item in the application data structure;

a particular delineated region on the overlay specifies the creation of a graphical object; and

the particular operation creates an application data item that results in the display of a graphical object as specified by the particular delineated region.

27. The method of claim 20 wherein:

the visible representation includes graphical objects, at least one of which corresponds to an application data item in the application data structure;

a particular delineated region on the overlay specifies an attribute to be applied to application data items;

a specified graphical object has at least a portion overlapped by the particular delineated region; and

the particular operation sets the attribute for the application data item to which the specified graphical object corresponds.

28. In an interactive computing environment including

a processor coupled to a display screen and to at least one input device suitable for positioning an object with respect to the display screen, and

user interface software that the processor executes, that controls at least a portion of the display screen, and that is responsive to said input device,

a method for applying a software tool to a workpiece, the software tool having certain properties, the method comprising the steps of:

using the processor, the user interface software, and the display screen to display a window whose contents represent the workpiece;

using the processor, the user interface software, and the display screen to display a transparent object that represents the tool;

using the processor, the user interface software, and the input device to position the transparent object so as to overlap a desired portion of the workpiece; and

using the processor, the user interface software, and the input device to generate an event at a position within the transparent object, which position specifies the desired portion of the workpiece; and

in response to the event, altering the contents of the desired portion of the workpiece, the nature of the alteration being determined at least in part by the properties of the tool.

29. A method of operating a processor-based machine, the machine including

a display device,

a pointing device for controlling the position of a cursor on the display device in response to user input,

a processor coupled to the pointing device and the display device,

the method comprising operating the processor to perform the steps of:

executing an application program so as to manipulate an associated application data structure and display a representation thereof, referred to as the visible representation, on the display device;

generating a visual depiction of a transparent overlay having a number of delineated operation-specifying regions thereon;

positioning the overlay relative to the visible representation;

positioning the cursor within a particular delineated region and at a position that is in a predetermined relationship to a particular object in the visible representation, the predetermined relationship with the particular object being a relationship that selects the particular object;

generating a cursor event with the cursor so positioned; and

performing the operation specified by the particular delineated region on the particular object in response to the cursor event.

30. A method of operating a computer system where a program displays objects and a user interacts with the objects through the use of displayed tools, each tool having an associated tool-defining region and a specified operation, the user activating a particular tool by designating a position within the particular tool's tool-defining region and initiating an event at the designated position, the method comprising the steps of:

displaying a click-through tool having the property that when the event occurs within the click-through tool at a given location relative to the click-through tool, the result of an operation on the data depends, under at least some circumstances, on the location of the event relative to the displayed data;

positioning the click-through tool so as to at least partially overlap a particular object;

generating a particular event within the click-through tool; and

in response to the particular event, performing the click-through tool's specified operation on the particular object if, but only if, the particular event is at a location that specifies the particular object.

31. The method of claim 30 wherein:

said positioning step causes the click-through tool to overlap an additional object in addition to the particular object;

the particular event is at a location that does not specify the particular object but does specify the additional object, whereupon said conditional performing step is not performed; and

the method further includes performing the click-through tool's specified operation on the additional object.

32. The method of claim 30 wherein:

the computer system includes a pointing device and displays a cursor at a position specified by the pointing device, the pointing device having a button;

the user designates a desired position by manipulating the pointing device to cause the cursor to be displayed at the desired position; and

the user initiates an event by depressing the button.

33. The method of claim 30 wherein the click-through tool's tool-defining region is displayed as a transparent region.

34. A method of operating a processor-based machine, the machine including

a user input facility,

a display device,

a processor coupled to the user input facility and the display device,

a storage system for storing information including instructions defining at least one program to be executed by the processor and a set of associated data,

the method comprising operating the processor-based machine to perform the steps of:

executing the program to operate on the data and display a visible representation thereof on the display device;

displaying on the display device a visual depiction of a plurality of tool-defining regions, each tool-defining region specifying at least in part a respective operation that is performed in response to an event within the tool-defining region, each tool-defining region and its respective specified operation being referred to as a tool;

at least a given tool, referred to as a click-through tool, having the property that when the event occurs within the click-through tool's tool-defining region at a given location relative to the click-through tool's tool-defining region, the result of the click-through tool's specified operation depends, under at least some circumstances, on the location of the event relative to the visible representation;

in response to a first set of signals from the user input facility, positioning the click-through tool's tool-defining region so as to overlap a desired location in the visible representation;

in response to a second set of signals from the user input facility, generating a particular event within the click-through tool's tool-defining region, the particular event being at the desired location in the visible representation; and

in response to the particular event, performing the click-through tool's specified operation on a portion of the data that corresponds to the desired location of the visible representation.

35. The method of claim 34 wherein:

the visible representation includes objects;

the click-through tool specifies the creation of a particular type of object; and

said step of performing the click-through tool's specified operation includes creating an object of the particular type at the desired location.

36. The method of claim 34 wherein:

the visible representation includes an object at the desired location;

the click-through tool specifies an object property; and

said step of performing the click-through tool's specified operation includes applying to the object the property specified by the click-through tool.

37. The method of claim 34 wherein the user input facility includes an indirect pointing device, and further comprising the step of displaying a cursor on the display device so as to provide the user with a visual indication of positions specified by the pointing device.

38. The method of claim 34 wherein the click-through tool's tool-defining region is displayed as a transparent region.

39. In an interactive computing environment including

a processor coupled to a display screen and to an input facility suitable for positioning an object with respect to the display screen and further suitable for generating a signal specifying an event at a given position, and

user interface software that the processor executes, that controls at least a portion of the display screen, and that is responsive to the input device,

a method of operating the processor to execute the user interface software, the method comprising the steps of:

displaying a window whose contents include a workpiece;

displaying a transparent object that represents a tool having an object-altering property;

positioning the tool over the workpiece; and

altering the workpiece in response to a signal from the input facility specifying an event at a position that specifies the workpiece and that is within the tool, the nature of the alteration being determined at least in part by the object-altering property of the tool.

40. A method of operating a processor-based machine, the machine including

a user input facility including a device having a button that is subject to being clicked by the user,

a display device,

a processor coupled to the user input facility and the display device,

a storage system for storing information including instructions defining at least one program to be executed by the processor and a set of associated data,

the method comprising operating the processor-based machine to perform the steps of:

operating on the data according to the program and displaying a visible representation of the data on the display device;

displaying a cursor on the display device;

displaying on the display device a visual depiction of a tool-defining region, the tool-defining region specifying at least in part an operation that is performed in response to the button being clicked while the cursor is positioned within the tool-defining region, the tool-defining region and its respective specified operation being referred to as the tool;

the tool having the further property that when the cursor is within the tool-defining region at a given location relative to the tool-defining region, the result of the tool's specified operation in response to the button being clicked depends, under at least some circumstances, on the location of the cursor relative to the visible representation when the button is clicked;

in response to signals from the user input facility, positioning the tool-defining region so as to overlap a desired location in the visible representation;

in response to signals from the user input facility, positioning the cursor on the desired location in the visible representation; and

in response to the button being clicked when the cursor is positioned on the desired location in the visible representation, performing the tool's specified operation on a portion of the data that corresponds to the desired location of the visible representation.

41. The method of claim 40 wherein:

the visible representation includes objects;

the tool specifies the creation of a particular type of object; and

said step of performing the tool's specified operation includes creating an object of the particular type at the desired location.

42. The method of claim 40 wherein:

the visible representation includes an object at the desired location;

the tool specifies an object property; and

said step of performing the click-through tool's specified operation includes applying to the object the property specified by the tool.

43. The method of claim 40 wherein the tool-defining region is displayed as a transparent region.

44. A method of operating a processor-based machine, the machine including

a user input facility including at least one device that generates signals specifying position,

a display device,

a processor coupled to the user input facility and the display device,

a storage system for storing information including a set of data,

the method comprising operating the processor-based machine to perform the steps of:

operating on the data and displaying a visible representation thereof on the display device, the visible representation including an object;

displaying on the display device a visual depiction of a tool-defining region, the tool-defining region specifying at least in part an operation that is performed in response to an event within the tool-defining region, the tool-defining region and its specified operation being referred to as the tool;

in response to a first set of signals from the user input facility, positioning the tool defining region so as to at least partially overlap the object;

in response to a second set of signals from the user input facility, generating a particular event that is within the tool-defining region and is at a position relative to the visible representation that specifies the object; and

in response to the particular event, performing the specified operation on the object.

45. The method of claim 44 wherein:

the tool specifies an object property; and

said step of performing the tool's specified operation includes applying to the object the property specified by the tool.

46. The method of claim 44 wherein the user input facility includes an indirect pointing device, and further comprising the step of displaying a cursor on the display device so as to provide the user with a visual indication of positions specified by the pointing device.

47. The method of claim 44 wherein the tool-defining region is displayed as a transparent region.
 Description Submit all comments and votes
 


CROSS REFERENCE TO RELATED APPLICATIONS

The following three commonly-owned copending applications, including this one, are being filed concurrently and the other two are incorporated by reference into this one:

Eric A. Bier and William A. S. Buxton, entitled "USER INTERFACE HAVING MOVABLE SHEET WITH CLICK-THROUGH TOOLS" (Attorney Docket 13188-68, Xerox Docket D/92492);

William A. S. Buxton and Eric A. Bier, entitled "USER INTERFACE HAVING SIMULTANEOUSLY MOVABLE TOOLS AND CURSOR" Ser. No. 08/398,420, filed 2/27/95, which is an FWC of Ser. No. 08/95,591, filed 7/21/93, now abandoned (Attorney Docket 13188-69, Xerox Docket D/92492Q); and

Eric A. Bier, William A. S. Buxton, and Maureen C. Stone, entitled "USER INTERFACE HAVING CLICK-THROUGH TOOLS THAT CAN BE COMPOSED WITH OTHER TOOLS" Ser. No. 08/449,584, filed 5/24/95, which is an FWC of Ser. No. 08/95,445, filed 7/21/93, now abandoned (Attorney Docket 13188-70, Xerox Docket D/92492Q1).

BACKGROUND OF THE INVENTION

The present invention relates generally to processor-controlled machines such as computers and more specifically to user interfaces for allowing a user to interact with the machine.

A frequent use of a processor-controlled machine such as a computer is to communicate information to a user of the machine and accept information from the user, thereby allowing the user to perform a specified task. Depending on the task at hand, the user will often make use of a task-specific application program such as a word processor (sometimes referred to as a text editor), a spreadsheet, a database, or a drawing program (sometimes referred to as a graphics editor). A reference to a specific type of program or editor is not intended to imply a stand-alone application program having only the particular functionality, since many programs have more than one type of functionality.

A typical application program consists of a set of instructions (the "application") that are executed in response to input signals to create and modify associated data (sometimes referred to as the underlying data). In many instances, this associated data is stored on a disk as a data file (sometimes referred to as "the file"), and portions are read into memory during program execution. For at least some applications, the data represents a document that is to be viewed (e.g., printed or displayed on a screen), and the application allows a user to modify the document.

In many instances, a user provides at least some of the input signals through one or more input devices, often a keyboard and a pointing device such as a mouse. By way of background, a mouse is a device that is moved over a work surface, typically next to the keyboard, and provides position signals so as to cause a cursor on the screen to move in accordance with the mouse's movements. The cursor is a special symbol that is used by an interactive program as a pointer or attention-focusing device. The mouse contains one or more pushbutton switches ("buttons") to provide additional input signals, which may be interpreted as part of a cursor event.

A display device, typically a visual display device such as a cathode ray tube (CRT) or a liquid crystal display (LCD), provides the user with information about the application and the underlying data, and allows the user to generate appropriate input signals and thus control the operation of the machine to produce the intended work product. The combination of input devices, display devices, and the nature of the information that the application provides the user may be thought of as the user interface to the application.

Although it is in principle possible for every application program to be entirely self-sufficient, it is almost universally the case that the application program executes in conjunction with an operating system ("OS"). The OS is a program that schedules and controls the machine resources to provide an interface between the application programs and the machine hardware. The OS typically provides the basic housekeeping functions that all application programs are likely to require, such as maintaining a file system, scheduling the CPU, receiving input from input devices, communicating with storage devices, sending data to display devices, and providing a generic mechanism according to which a user can manage files and cause various applications to execute. In the world of personal computers ("PCs") and workstations, operating systems are often associated with a particular type of hardware configuration, but this is not necessarily the case. Unix is an example of an OS that has been ported to run on many types of machine.

One type of operating system that has come into increasing use in recent years provides a graphical user interface ("GUI"). Apple Computer's Macintosh OS, IBM's OS/2, and Microsoft's Windows (actually a GUI shell that runs on top of a character-based operating system known as DOS) are the best known GUIs in the PC realm. The Macintosh OS has to date been available only on Apple's own Macintosh PCs based on the Motoro