IP Library › Granted Patent US 12,346,711
Granted Patent B2
US 12,346,711 · App. 17/965,717 · Granted Jul 1, 2025

Techniques for trial-and-error learning in complex application environments

Inventors: Damien Paul Andre Masson (Waterloo, CA); Jo Karel Vermeulen (East York, CA); George Fitzmaurice (Toronto, CA); Justin Frank Matejka (Newmarket, CA)
Assignee: AUTODESK, INC.
G06F9/453G06F3/0482G06F3/0484G06F9/3836G06F9/4881G06F11/1407G06F11/1451G06F11/1469G09B19/0053
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,346,711
App. No.
17/965,717
Granted
Jul 1, 2025
Kind
B2
Abstract

One embodiment of a computer-implemented method for executing software application commands on practice data comprises identifying a command demonstration that is stored in a database based on a current command being interacted with in a graphical user interface, wherein the command demonstration is associated with sample application data; receiving a selection of whether to execute the command demonstration on the sample application data or current application data; causing the command demonstration to be executed on either the sample application data or a copy of current application data to generate modified data; and causing the modified data to be output within the graphical user interface.

Claims (36)

1. A computer-implemented method for executing software application commands on practice data, the method comprising:

identifying a command demonstration that is stored in a database based on a current command being interacted with in a graphical user interface, wherein the command demonstration includes the current command and is associated with sample application data;

receiving a user selection of whether to execute the command demonstration including the current command on the sample application data or current application data;

in response to the user selection, causing the command demonstration including the current command to be executed on either the sample application data or a copy of the current application data to generate modified data; and

causing the modified data to be output within the graphical user interface.

2. The computer-implemented method of claim 1 , wherein the current command being interacted with in the graphical user interface comprises a command that is being explored by a user or a command that has been clicked on by a user.

3. The computer-implemented method of claim 1 , wherein the command demonstration is created at a creator device and received at a server device that is associated with the database.

4. The computer-implemented method of claim 1 , wherein the user selection indicates that the command demonstration should be executed on the sample application data, and further comprising initializing the sample application data prior to executing the command demonstration.

5. The computer-implemented method of claim 1 , wherein the user selection indicates that the command demonstration should be executed on the current application data, and further comprising making the copy of the current application data prior to executing the command demonstration.

6. The computer-implemented method of claim 1 , further comprising receiving a selection to set a restoration point prior to causing the command demonstration to be executed.

7. The computer-implemented method of claim 6 , further comprising receiving a selection to restore the restoration point after causing the command demonstration to be executed.

8. The computer-implemented method of claim 1 , further comprising updating a command history to reflect an execution of the current command.

9. The computer-implemented method of claim 1 , wherein causing the modified data to be output within the graphical user interface comprises causing a new window to be displayed in the graphical user interface, and causing the modified data to be output within the new window.

10. The computer-implemented method of claim 1 , wherein the software application comprises a computer-aided design application.

11. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:

identifying a command demonstration that is stored in a database based on a current command being interacted with in a graphical user interface, wherein the command demonstration includes the current command and is associated with sample application data;

receiving a user selection of whether to execute the command demonstration including the current command on the sample application data or current application data;

in response to the user selection, causing the command demonstration including the current command to be executed on either the sample application data or a copy of the current application data to generate modified data; and

causing the modified data to be output within the graphical user interface.

12. The one or more non-transitory computer-readable media of claim 11 , wherein the user selection indicates that the command demonstration should be executed on the sample application data, and further comprising initializing the sample application data prior to executing the command demonstration.

13. The one or more non-transitory computer-readable media of claim 11 , wherein the user selection indicates that the command demonstration should be executed on the current application data, and further comprising making the copy of the current application data prior to executing the command demonstration.

14. The one or more non-transitory computer-readable media of claim 11 , further comprising receiving a selection to set a restoration point prior to causing the command demonstration to be executed.

15. The one or more non-transitory computer-readable media of claim 14 , further comprising receiving a selection to restore the restoration point after causing the command demonstration to be executed.

16. The one or more non-transitory computer-readable media of claim 11 , wherein causing the modified data to be output within the graphical user interface comprises causing a new window to be displayed in the graphical user interface and causing the modified data to be output within the new window.

17. The one or more non-transitory computer-readable media of claim 15 , further comprising receiving a selection to apply the current command to the current application data within an original window displayed in the graphical user interface.

18. The one or more non-transitory computer-readable media of claim 16 , further comprising receiving a selection to apply the modified data displayed in the new window to an original window displayed in the graphical user interface.

19. The one or more non-transitory computer-readable media of claim 18 , wherein causing the command demonstration to be executed further comprises:

receiving ratings and feedback information from a user for the command demonstration; and

sending the ratings and feedback information to a server device.

20. A system comprising:

one or more memories storing instructions; and

one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to perform the steps of:

identifying a command demonstration that is stored in a database based on a current command being interacted with in a graphical user interface, wherein the command demonstration includes the current command and is associated with sample application data;

receiving a user selection of whether to execute the command demonstration including the current command on the sample application data or current application data;

in response to the user selection, causing the command demonstration including the current command to be executed on either the sample application data or a copy of the current application data to generate modified data; and

causing the modified data to be output within the graphical user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2022
From: MASSON, DAMIEN PAUL ANDRE; VERMEULEN, JO KAREL; FITZMAURICE, GEORGE; MATEJKA, JUSTIN FRANK
To: AUTODESK, INC.
Reel/Frame 061568/0074 →
Continuity (2)
Provisional Application 63319216 · Mar 11, 2022
Related Publication 20230289201A1 · Sep 14, 2023
References Cited (48)
US 5235679A · Yoshizawa · 1993 [cited by examiner]
US 5513308A · Mori · 1996 [cited by examiner]
US 6020886A · Jacober · 2000 [cited by examiner]
US 9569231B2 · Butin · 2017 [cited by examiner]
US 10725800B2 · Sawal et al. · 2020 [cited by applicant]
US 11216531B2 · Clarke et al. · 2022 [cited by applicant]
US 20070089098A1 · Nickell · 2007 [cited by examiner]
Andrade et al., “The Macro-structure of Use of Help”, In Proceedings of the 27th ACM International Conference on Design of Communication—SIGDOC '09, https://doi.org/10.1145/1621995.1622022, Oct. 2009, pp. 143-150. [cited by applicant]
Autodesk, “Autodesk Screencast”, Retrieved from https://knowledge.autodesk.com/community/screencast, 2021, 4 pages. [cited by applicant]
Blattner et al., “Earcons and Icons: Their Structure and Common Design Principles”, https://doi.org/10.1145/67880.1046599, SIGCHI Bull. vol. 21, No. 1, Jul. 1989, 1 page. [cited by applicant]
Carroll et al., “Training Wheels in a User Interface”, https://doi.org/10.1145/358198.358218, Communications of the ACM, vol. 27, No. 8, Aug. 1984, pp. 800-806. [cited by applicant]
Carroll et al., “Paradox of the Active User”, In Interfacing Thought: Cognitive Aspects of Human-Computer Interaction, 1987, pp. 80-111. [cited by applicant]
Cockburn et al., “Supporting Novice to Expert Transitions in User Interfaces”, https://doi.org/10.1145/2659796, ACM Computing Surveys, vol. 47, No. 2, Article 31, Nov. 2014, 36 pages. [cited by applicant]
Mul et al., “Learning user interfaces by exploration”, https://doi.org/10.1016/0001-6918(95)00060-7, Acta Psychologica, vol. 91, No. 3, Apr. 1996, pp. 325-344. [cited by applicant]
Draper et al., “Learning by Exploration and Affordance Bugs”, https://doi.org/10.1145/259964.260084, Association for Computing Machinery, 1993, pp. 75-76. [cited by applicant]
Findlater et al., “A Comparison of Static, Adaptive, and Adaptable Menus”, In Proceedings of the 2004 Conference on Human Factors in Computing Systems, https://doi.org/10.1145/985692.985704, vol. 6, No. 1, Apr. 24-29, 2… [cited by applicant]
Findlater et al., “Ephemeral Adaptation: The Use of Gradual Onset to Improve Menu Selection Performance”, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, https://doi.org/10.1145/1518701.15… [cited by applicant]
Fraser et al., “DiscoverySpace: Suggesting Actions in Complex Software”, In Proceedings of the 2016 ACM Conference on Designing Interactive Systems, https://doi.org/10.1145/2901790.2901849, 2016, pp. 1221-1232. [cited by applicant]
Fraser et al., “ReMap: Lowering the Barrier to Help-Seeking with Multimodal Search”, http://dx.doi.org/10.1145/3379337.3415592, Oct. 20-23, 2020, 8 pages. [cited by applicant]
Grossman et al., “ToolClips: An Investigation of Contextual Video Assistance for Functionality Understanding”, https://doi.org/10.1145/1753326.1753552, Apr. 10-15, 2010, pp. 1515-1524. [cited by applicant]
Grossman et al., “A Survey of Software Learnability: Metrics, Methodologies and Guidelines”, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. Association for Computing Machinery, https://do… [cited by applicant]
Kaul, Pushkar N., “Drug Discovery: Past, Present and Future”, https://doi.org/10.1007/978-3-0348-8833-2_1, vol. 50, 1998, 97 pages. [cited by applicant]
Kelleher et al., “Stencils-Based Tutorials: Design and Evaluation”, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, https://doi.org/10.1145/1054972.1055047, Apr. 2-7, 2005, pp. 541-550. [cited by applicant]
Kiani et al., “Beyond “One-Size-Fits-All”: Understanding the Diversity in How Software Newcomers Discover and Make Use of Help Resources”, https:/ /doi.org/10.1145/3290605.3300570, May 4-9, 2019, 14 pages. [cited by applicant]
Lafreniere et al., “Task-Centric Interfaces for Feature-Rich Software”, http://dx doi org/10 1145/2686612 2686620, Dec. 2-5, 2014, pp. 49-58. [cited by applicant]
Lafreniere et al., “These Aren't the Commands You're Looking For: Addressing False Feedforward in Feature-Rich Software”, In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, https://… [cited by applicant]
Linton et al., “Owl: A Recommender System for Organization-Wide Learning”, Technical Report WS-98-08, AAAI, 1998, pp. 65-69. [cited by applicant]
Linton et al., “Recommender Systems for Learning: Building User and Expert Models through Long-Term Observation of Application Use”, https://doi.org/10.1023/A:1026521931194, User Modeling and User-Adapted Interaction vo… [cited by applicant]
Lunzer, Aran, “Towards The Subjunctive Interface: General Support For Parameter Exploration By Overlaying Alternative Application States”, vol. 98, 1998, 4 pages. [cited by applicant]
Lunzer et al., “Subjunctive Interfaces: Extending Applications to Support Parallel Setup, Viewing and Control of Alternative Scenarios”, https://doi.org/10.1145/1314683.1314685, vol. 14, No. 4, Article 17, Jan. 2008, pp… [cited by applicant]
Mahmud et al., “Learning Through Exploration: How Children, Adults, and Older Adults Interact with a New Feature-Rich Application”, https://doi.org/10.1145/3313831.3376414, Apr. 25-30, 2020, 14 pages. [cited by applicant]
Matejka et al., “Ambient Help”, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Association for Computing Machinery, https://doi.org/10.1145/1978942.1979349, May 7-12, 2011, pp. 2751-2760. [cited by applicant]
Matejka et al., “Patina: Dynamic Heatmaps for Visualizing Application Usage”, https://doi.org/10.1145/2470654.2466442, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Apr. 27-May 2, 2013, … [cited by applicant]
Matejka et al., “CommunityCommands: Command Recommendations for Software Applications”, https://doi.org/10.1145/1622176.1622214, In Proceedings of the 22nd Annual ACM Symposium on User Interface Software and Technology—… [cited by applicant]
Nancel et al., “Causality—A Conceptual Model of Interaction History”, https://doi.org/10.1145/2556288.2556990, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Apr. 26-May 1, 2014, pp. 1777… [cited by applicant]
Novick et al., “The Micro-Structure of Use of Help”, In Proceedings of the 27th ACM International Conference on Design of Communication—SIGDOC '09, https://doi.org/10.1145/1621995.1622014, Oct. 5-7, 2009, pp. 97-104. [cited by applicant]
Polson et al., “Theory-Based Design for Easily Learned Interfaces”, https://doi.org/10.1080/07370024.1990.9667154, Human-Computer Interaction, vol. 5, Jun. 1990, pp. 191-220. [cited by applicant]
Pongnumkul et al., “Pause-and-Play: Automatically Linking Screencast Video Tutorials with Applications”, In Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, https://doi.org/10.1145… [cited by applicant]
Prakash et al., “A Framework for Undoing Actions in Collaborative Systems”, ACM Transactions on Computer-Human Interaction (TOCHI), https://doi.org/10.1145/198425.198427, vol. 1, No. 4, Dec. 1994, pp. 295-330. [cited by applicant]
Rieman, John, “A Field Study of Exploratory Learning Strategies”, ACM Transactions on Computer-Human Interaction, https://doi.org/10.1145/234526.234527, vol. 3 No. 3, Sep. 1996, pp. 189-218. [cited by applicant]
Sears et al., “Split Menus: Effectively Using Selection Frequency to Organize Menus”, ACM Transactions on Computer-Human Interaction, https://doi.org/10.1145/174630.174632, vol. 1, No. 1, Mar. 1994, pp. 27-51. [cited by applicant]
Shneiderman, Ben, “Direct Manipulation: A Step Beyond Programming Languages”, https://doi.org/10.1145/174630.174632, vol. 16, No. 8, Aug. 1983, pp. 57-69. [cited by applicant]
Simon et al., “Trial and Error Search in Solving Difficult Problems: Evidence from the Game of Chess”, https://doi.org/10.1002/bs.3830070402, vol. 7, No. 4, 1962, pp. 425-429. [cited by applicant]
Terry et al., “Side Views: Persistent, On-Demand Previews for Open-Ended Tasks”, https://doi.org/10.1145/571985.571996, vol. 4, Issue 2, 2002, pp. 71-80. [cited by applicant]
Terry et al., “Variation in Element and Action: Supporting Simultaneous Development of Alternative Solutions”, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, https://doi.org/10.1145/98569… [cited by applicant]
Dam, Andries Van, “Post-WIMP User Interfaces”, Communications of the ACM, https://doi.org/10.1145/253671.253708, vol. 40, No. 2, Feb. 1997, pp. 63-67. [cited by applicant]
Willett et al., “Scented Widgets: Improving Navigation Cues with Embedded Visualizations”, In Proc. of the SIGCHI Conference on Human Factors in Computing Systems, vol. 9, 2007, 8 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/965,718 dated Dec. 12, 2023, 24 pages. [cited by applicant]