Claims
- 1. A method for providing force feedback over a network comprising:
establishing a connection between a server machine and a client machine over a network, said client machine including a visual display and an interface device providing computer-controlled physical force feedback to a user of said interface device; receiving web page information from said server machine over said network, said web page information including screen display information representing a visual layout of a web page and force feedback information related to providing a feel sensation correlated with said visual layout; displaying on said visual display of said client machine said web page based upon said screen display information; receiving input information from said human computer interface device for positioning a displayed cursor with respect to said visual layout of said web page; and providing a force feedback signal that is based upon said input information and based upon said web page information received over said network, wherein said force feedback information includes a call to a force feedback program running on said client machine that provides said force feedback signal, said force feedback signal being received by said interface device, wherein said interface device outputs computer-controlled physical force feedback to said user correlated with said visual layout of said web page on said visual display, said force feedback being based upon said force feedback signal.
- 2. A method as recited in claim 1 wherein said force feedback program running on said client machine is an ActiveX control, said ActiveX control implementing a particular force effect at a specified area in said web page.
- 3. A method as recited in claim 1 wherein said force feedback program running on said client machine is an ActiveX control, said ActiveX control being a force-only ActiveX control able to output force feedback signals for different force effects to said interface device.
- 4. A method as recited in claim 3 wherein said force-only ActiveX control is referenced by script instructions included in said force feedback information.
- 5. A method as recited in claim 4 wherein said script instructions are provided in JavaScript.
- 6. A method as recited in claim 4 wherein said force feedback information in said web page includes said script instructions and force effect parameters, wherein said script instructions provide said force effect parameters to said force feedback program running on said client machine, wherein said force feedback program provides said force feedback signal to said interface device based on said force effect parameters.
- 7. A method as recited in claim 1 wherein said script instructions determine when to provide said force feedback signal to said interface device.
- 8. A method as recited in claim 1 wherein said force feedback program running on said client machine is a Java applet.
- 9. A method as recited in claim 1 wherein said force feedback program running on said client machine is a plug-in for a web browser program displaying said web page.
- 10. A method for providing force effects for a web page, the method comprising:
receiving web page information from a server machine over a network, said web page information including screen display information representing a plurality of web page objects to be displayed in a web page; determining which of said web page objects are force web page objects to be associated with at least one force effect, wherein said force web page objects are web page objects having a predefined type; and assigning a generic force effect to each of said force web page objects, said generic force effects being defined by effect information derived from a client machine, wherein said generic force effects cause a force signal to be output by said client machine when a user-controlled cursor interacts with one of said force web page objects, said cursor and said force web page objects being displayed on said web page by said client machine, wherein said force signal is output to an actuator of a force feedback interface device coupled to said client machine to cause a force sensation to a user of said force feedback interface device, and wherein said force signal is based on said effect information.
- 11. A method as recited in claim 10 wherein a force control program running on said client machine detects whether said user-controlled cursor is contacting one of said force web page objects having said predefined type.
- 12. A method as recited in claim 11 wherein said force control program is a separate application from a web browser displaying said web page on said client machine.
- 13. A method as recited in claim 11 wherein said force control program is integrated in a web browser program displaying said web page on said client machine.
- 14. A method as recited in claim 10 wherein information describing said predefined types of web page objects to be associated with force effects is stored as preference information on said client machine.
- 15. A method as recited in claim 10 wherein said web page information is processed to add force information to said web page to implement said generic force effect, said force information being added before said web page is displayed by said client machine.
- 16. A method as recited in claim 16 wherein a proxy server processes said web page information to add said force information, connected to said server machine and to said client machine over said network, said proxy server receiving said web page information, determining which types of said web page objects are force types of objects, and assigning said generic force effect to said web page objects, wherein said proxy server sends said processed web page information to said client machine so that said web page is displayed on said client machine and wherein a force signal is output to an actuator of a force feedback interface device coupled to said client machine, said force signal being based on said force information in said web page.
- 17. A method as recited in claim 16 wherein said proxy server receives said effect information from said client machine, said effect information including preferences information to determine which of said web objects in said web page are to be associated with force effects, and to determine the particular force effects to assign to said force web objects.
- 18. A method as recited in claim 16 wherein said proxy server receives a request for said web page information from said client machine, and wherein said proxy server requests said server for said web page information to be sent to said proxy server.
- 19. A method as recited in claim 15 wherein said client machine receives said web page information from said server, determines which of said web page objects are associated with force effects, and processes said web page information to add force information to said web page to implement said generic force effect.
- 20. A method for providing force effects for a web page, the method comprising: receiving web page information on a client machine from a server machine over a network, said web page information including screen display information representing a plurality of web page objects to be displayed in a web page on said client machine;
determining which of said web page objects are associated with authored force effects, wherein effect information specifying said authored force effects is included in said received web page information; determining which of said web page objects are associated with generic force effects, wherein effect information specifying said generic force effects is stored on said client machine prior to receiving said web page information, and wherein said generic force effects are each applicable to a predefined type of web page object; and outputting a force signal when a user-controlled cursor interacts with a web page object on said web page having an associated force effect, wherein said force signal is output to an actuator of a force feedback interface device coupled to said client machine, and wherein said force signal is based on said effect information for either one of said authored force effect or one of said generic force effect.
- 21. A method as recited in claim 20 wherein if said web page includes both an authored effect and a generic effect, further comprising overriding said authored force effect with said generic force effect such that said generic force effect is output instead of said authored force effect.
- 22. A method as recited in claim 21 wherein said authored force effect is overridden based on preferences of said user for-said generic force effects, said preferences stored on said client machine.
- 23. A method as recited in claim 20 wherein if said web page includes both an authored effect and a generic effect, further comprising overriding said generic force effect with one of said authored force effects if said generic force effect and said authored force effect are, associated with the same web page object.
- 24. A method as recited in claim 20 wherein said effect information for said authored force effect includes information specifying that said generic effect information stored on said client machine is to be used in implementing said authored force effect.
- 25. A method as recited in claim 20 wherein said authored force effect is implemented using an ActiveX control reference d by said effect information for said authored force effect.
- 26. A method as recited in claim 20 wherein properties of said web page object associated with said generic force effect are accessed using Dynamic HTML.
- 27. A method for implementing a web page authoring interface including the ability to add force sensations to a web page, the method comprising:
displaying said web page authoring interface on a display device of a host computer, said web page authoring interface displaying a web page including a plurality of web page objects; receiving input from a user to said web page authoring interface, said input selecting one of said web page objects and selecting a force effect to be associated with said selected web page object; and outputting a web page including said web page objects and including force information to allow said force effect to be implemented when said web page is displayed by a client machine after being received by said client machine from a server machine over a network, wherein said force effect is commanded by said client machine and output as a force sensation by a force feedback interface device coupled to said client machine, said force feedback interface device including a user manipulatable object graspable and moveable by a user of said client machine.
- 28. A method as recited in claim 27 wherein said force information is a reference to a separate force effect file, wherein said force effect file is downloaded by said client machine to output said force effect using said force feedback interface device.
- 29. A method as recited in claim 27 wherein said force information includes force effect content data characterizing said force effect.
- 30. A method as recited in claim 27 wherein said web page authoring interface includes a force design interface for creating or modifying said force effect.
- 31. A method as recited in claim 28 further comprising creating said force effect in said force effect file using a force design interface separate from said web page authoring interface.
- 32. A method as recited in claim 27 wherein said force effect is output to a force feedback device and experienced by said user of said web page authoring interface when a user-controlled displayed cursor interacts with said web page object assigned to said force effect.
- 33. A method as recited in claim 27 wherein said web page is in HTML format.
- 34. A method as recited in claim 33 wherein said web page includes scripting instructions for accessing a force-only control program.
- 35. A method as recited in claim 27 further comprising receiving spatial input from said user to said web page authoring interface, said spatial input spatially designating an area of one of said web page objects to be associated with a selected force effect.
- 36. A method as recited in claim 27 wherein said user of said web page authoring interface may select a condition in said design interface, said condition determining when said force effect is output based on user input during display of said web page.
- 37. A method as recited in claim 36 wherein said condition includes a cursor controlled by said user moving over said web page object on said web page.
- 38. A method as recited in claim 36 wherein said condition includes a button on said user manipulatable object being pressed by said user.
- 39. A method as recited in claim 27 further comprising receiving input from said user of said web page authoring interface to associate sound data with said selected web page object, such that when said force effect is output, a sound defined by said sound data is output to said user synchronized with said force effect.
- 40. A method as recited in claim 39 wherein when said force effect is output, a start of said output sound is synchronized to a start of said force effect output.
- 41. A method for implementing a force-enabled web page authoring interface, the method comprising:
displaying said force sensation design interface on a display device of a host computer, said force sensation design interface displaying a web page including a plurality of web page objects; and receiving input from a user to said force sensation design interface, said input spatially designating an area of one of said web page objects to be associated with a selected force effect, said force effect to be commanded by a client machine receiving said web page and output as a force sensation by a force feedback interface device, said force feedback interface device including a user manipulatable object graspable and moveable by a user of said client machine.
- 42. A method as recited in claim 41 wherein said input spatially designating an area of said web page object includes input providing a graphical mark on said web page object, wherein said associated force effect is to be output when a user of said client machine moves a user-controlled cursor over a location correlated with said graphical mark.
- 43. A method as recited in claim 42 wherein said graphical mark includes a graphical outline displayed within a sub-area of said web page object.
- 44. A method as recited in claim 43 wherein said outline surrounds a visually distinguishable region of said web page object so as to make said visually distinguishable region haptically distinguishable.
- 45. A method as recited in claim 43 wherein said selected force effect associated with said graphical outline includes a texture effect, said texture effect to be output when a user-controlled cursor moves within an interior region of said outline.
- 46. A method as recited in claim 42 wherein said graphical mark includes a graphical line displayed on a sub-area of said web page object, wherein said selected force effect associated with said graphical line includes a barrier force resisting motion of a user-controlled cursor through said graphical line.
- 47. A method as recited in claim 42 wherein said web page object is a pictorial image or text.
- 48. A method as recited in claim 42 wherein said graphical mark is visually perceptible by said user of said web authoring interface and is visually invisible to said user of said client machine.
- 49. A method as recited in claim 41 wherein said force effect is output as a force sensation to said user of said web page authoring interface when said user moves a cursor over said graphical mark.
- 50. A method for implementing a force sensation design interface for a web page, the method comprising:
displaying said force sensation design interface on a display device of a host computer, said force sensation design interface displaying a web page including a plurality of web page objects; and receiving input from a user to said force sensation design interface, said input associating at least one force effect with at least one of said web page objects, said force effect to be commanded by said host computer and output by a force feedback interface device, said force feedback interface device including a user manipulatable object graspable by a user and moveable in a degree of freedom; and automatically inserting a predefined graphical identifier into said web page, said identifier indicating to a user that said web page provides force effects for use with a force feedback interface device.
- 51. A method as recited in claim 50 wherein said predefined graphical identifier is an image of a logo.
- 52. A method as recited in claim 50 wherein said predefined graphical identifier is a link object that causes a linked force-feedback-related web page to be downloaded on a client computer displaying said web page.
- 53. A method as recited in claim 50 wherein said graphical identifier is automatically inserted into said web page if user preferences stored on said host computer allow said graphical identifier to be inserted.
- 54. An apparatus for implementing a web page authoring interface including the ability to add force sensations to a web page, the apparatus comprising:
means for receiving input from a user in a web page authoring interface displayed on a display device of a host computer, said web page authoring interface displaying a web page including a plurality of web page objects, and wherein said input selects one of said web page objects and selects a force effect to be associated with said selected web page object; and
means for outputting a web page including said web page objects and including force information to allow said force effect to be implemented when said web page is displayed by a client machine after being received by said client machine from a server machine over a network, wherein said force effect is commanded by said client machine and output as a force sensation by a force feedback interface device coupled to said client machine, said force feedback interface device including a user manipulatable object graspable and moveable by a user of said client machine.
- 55. An apparatus as recited in claim 54 wherein said means for outputting a web page outputs said web page as an HTML file stored in a computer readable medium.
- 56. An apparatus as recited in claim 54 wherein said means for receiving and said means for outputting include program instructions stored on a computer readable medium.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit of Provisional Patent Application serial. no. 60/073,518, filed Feb. 3, 1998 by Wies et al., entitled, “Implementing Force Feedback Over a Computer Network”; and the present application is a continuation-in-part of U.S. patent application Ser. No. 08/691,852, entitled “Method and Apparatus for Providing Force Feedback over a Computer Network,” filed Aug. 1, 1996 by Rosenberg et al., both of which are incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60073518 |
Feb 1998 |
US |
Continuations (2)
|
Number |
Date |
Country |
Parent |
09649723 |
Aug 2000 |
US |
Child |
10092158 |
Mar 2002 |
US |
Parent |
09244622 |
Feb 1999 |
US |
Child |
09649723 |
Aug 2000 |
US |
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
08691852 |
Aug 1996 |
US |
Child |
09244622 |
Feb 1999 |
US |
Parent |
08571606 |
Dec 1995 |
US |
Child |
08691852 |
Aug 1996 |
US |
Parent |
08970953 |
Nov 1997 |
US |
Child |
08571606 |
Dec 1995 |
US |