IP Library › Granted Patent US 10,909,307
Granted Patent B2
US 10,909,307 · App. 13/686,733 · Granted Feb 2, 2021

Web-based system for capturing and sharing instructional material for a software application

Inventors: Tovi Grossman (Toronto, CA); George Fitzmaurice (Toronto, CA); Justin Frank Matejka (Newmarket, CA); Thomas White (Burlington, CA); Ara Danielyan (Toronto, CA); Ruslana Steininger (Toronto, CA); Michael Chen (Toronto, CA); Anderson Nogueira (Toronto, CA)
Assignee: AUTODESK, INC.
G06F40/166G06F16/50G06Q10/06
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 10,909,307
App. No.
13/686,733
Granted
Feb 2, 2021
Kind
B2
Abstract

A system and technique for capturing a workflow history and video of an electronic document are disclosed. Events generated by an application while modifying an electronic document are stored on a web server as metadata. In addition, a captured digital image or frames of captured digital video that reflect the state of the document at the time the event was generated are also stored on the web server. The metadata is associated with one or more portions of the document and with the captured digital image or frames of captured digital video.

Claims (52)

1. A method for capturing a workflow history of an electronic document, the method comprising:

receiving, via a first application, an event associated with the workflow history and generated by a second application that is configured to modify the electronic document, wherein each of the first application and the second application comprises a client-based application;

capturing, by the first application, a digital image that reflects a state of the electronic document at a point in the workflow history of the electronic document corresponding to when the second application generated the event;

transmitting, by the first application, the digital image and information related to the event to a remote storage device for storage, wherein the first application transmits the image and information related to the event upon the image being captured by the first application;

generating, by the first application, a data object that includes information related to the event; and

associating the data object with the digital image.

2. The method of claim 1 , wherein the workflow history comprises a video that includes the digital image.

3. The method of claim 1 , further comprising:

capturing a plurality of digital images, wherein each digital image reflects a state of the electronic document at a different point in the workflow history of the electronic document, and each different point in time corresponds to the second application generating a new event; and

generating a workflow video based on the plurality of digital image.

4. The method of claim 3 , further comprising capturing mouse cursor position information in a separate thread of execution from capturing the plurality of digital images.

5. The method of claim 4 , further comprising capturing the mouse cursor position information at a frame rate that is greater than the frame rate associated with the plurality of digital images.

6. The method of claim 3 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for removing a portion of the plurality of digital images.

7. The method of claim 6 , further comprising, in response to removing the portion of the plurality of digital images, modifying the data object that includes information related to the event generated by the second application.

8. The method of claim 6 , wherein modifying the data object comprises updating a timestamp associated with the event.

9. The method of claim 3 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for selecting a representative image for the video from one of the frames comprising the video.

10. The method of claim 3 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for selecting a representative image for the video that is not derived from any of the frames comprising the workflow video.

11. The method of claim 3 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for selecting a representative image for the video that is derived from a portion of a frame of the workflow video.

12. The method of claim 1 , wherein capturing a digital image comprises causing a recording interface to be displayed that is configured to snap to an optimal recording aspect ratio when actuated by an end-user.

13. The method of claim 1 , wherein a first thread captures the digital image, and further comprising capturing at least one of mouse cursor position information and mouse button-use information via a second thread.

14. The method of claim 13 , further comprising overlaying a mouse cursor movement onto the digital image based on at least one of the mouse cursor position information and the mouse button-use information.

15. The method of claim 1 , further comprising:

capturing a plurality of digital images, wherein each digital image reflects a state of the electronic document at a different time point in the workflow history of the electronic document; and

transmitting the plurality of digital images to the remote storage device for storage via continuous streaming by the first application.

16. The method of claim 15 , wherein the first application concurrently captures the plurality of digital images and transmits the plurality of digital images to the remote storage device.

17. One or more non-transitory computer-readable media containing a program which, when executed, performs an operation for capturing a workflow history of an electronic document, the operation comprising:

receiving, via a first application, an event associated with the workflow history and generated by a second application that is configured to modify the electronic document, wherein each of the first application and the second application comprises a client-based application;

capturing, by the first application, a digital image that reflects a state of the electronic document at a point in the workflow history of the electronic document corresponding to when the second application generated the event;

transmitting, by the first application, the digital image and information related to the event to a remote storage device for storage, wherein the first application transmits the image and information related to the event upon the image being captured by the first application;

generating, by the first application, a data object that includes information related to the event; and

associating the data object with the digital image.

18. The one or more non-transitory computer-readable media of claim 17 , wherein the workflow history comprises a video that includes the digital image.

19. The one or more non-transitory computer-readable media of claim 17 , the operation further comprising:

capturing a plurality of digital images, wherein each digital image reflects a state of the electronic document at a different point in the workflow history of the electronic document, and each different point in time corresponds to the second application generating a new event; and

generating a workflow video based on the plurality of digital image.

20. The one or more non-transitory computer-readable media of claim 19 , the operation further comprising capturing mouse cursor position information in a separate thread of execution from capturing the plurality of digital images.

21. The one or more non-transitory computer-readable media of claim 20 , the operation further comprising capturing the mouse cursor position information at a frame rate that is greater than the frame rate associated with the plurality of digital images.

22. The one or more non-transitory computer-readable media of claim 19 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for removing a portion of the plurality of digital images.

23. The one or more non-transitory computer-readable media of claim 22 , the operation further comprising, in response to removing the portion of the plurality of digital images, modifying the data object that includes information related to the event generated by the second application.

24. The one or more non-transitory computer-readable media of claim 22 , wherein modifying the data object comprises updating a timestamp associated with the event.

25. The one or more non-transitory computer-readable media of claim 19 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for selecting a representative image for the video from one of the frames comprising the video.

26. The one or more non-transitory computer-readable media of claim 19 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for selecting a representative image for the video that is not derived from any of the frames comprising the workflow video.

27. The one or more non-transitory computer-readable media of claim 19 , wherein generating a video based on the plurality of digital images comprises causing an interface to be displayed that is configured for selecting a representative image for the video that is derived from a portion of a frame of the workflow video.

28. The one or more non-transitory computer-readable media of claim 17 , wherein capturing a digital image comprises causing a recording interface to be displayed that is configured to snap to an optimal recording aspect ratio when actuated by an end-user.

29. A system for capturing a workflow history of an electronic document, the system comprising:

a memory; and

a processor coupled to the memory and configured to:

receive, via a first application, an event associated with the workflow history and generated by a second application that is configured to modify the electronic document, wherein each of the first application and the second application comprises a client-based application;

capture, by the first application, a digital image that reflects a state of the electronic document at a point in the workflow history of the electronic document corresponding to when the second application generated the event;

transmit, by the first application, the digital image and information related to the event to a remote storage device for storage, wherein the first application transmits the image and information related to the event upon the image being captured by the first application;

generate, by the first application, a data object that includes information related to the event; and

associate the data object with the digital image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2013
From: GROSSMAN, TOVI; FITZMAURICE, GEORGE; MATEJKA, JUSTIN FRANK; WHITE, THOMAS; DANIELYAN, ARA; STEININGER, RUSLANA; CHEN, MICHAEL; NOGUEIRA, ANDERSON
To: AUTODESK, INC.
Reel/Frame 029895/0328 →
Continuity (3)
Provisional Application 61720369 · Oct 30, 2012
Provisional Application 61564171 · Nov 28, 2011
Related Publication 20130159822A1 · Jun 20, 2013