Determining Presence In An Application Accessing Shared And Synchronized Content
First Claim
1. A method comprising:
- receiving, by a presence application executed by a processor on a first device, an indication that a content item synchronized with a second device has been opened by a native application; and
sending, by the presence application, presence information to the second device in response to the indication that the content item has been opened, the presence information identifying the synchronized content item.
3 Assignments
0 Petitions
Accused Products
Abstract
A device collects presence information and other interaction information from an application viewing a content item synchronized with a content management system. The interaction information indicates interactions of a device with respect to a content item, and includes presence information obtained from a native application such as whether the content item is being viewed by the user on a user interface element or the user interface element is modifying the content item. A presence management module receives presence events indicating possible change of presence with respect to a user interface window associated with a process and a synchronized content item. Such presence events include a change in focus of a user interface element indicating that a user is viewing the content item, and changes to a content item indicating a user is editing the content item.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, by a presence application executed by a processor on a first device, an indication that a content item synchronized with a second device has been opened by a native application; and sending, by the presence application, presence information to the second device in response to the indication that the content item has been opened, the presence information identifying the synchronized content item.
-
-
2. The method of claim 1, further comprising:
-
receiving, by the presence application, an indication that a user interface element displaying the content item has been closed; and responsive to receiving the indication that the user interface element has been closed, sending by the first application, a second presence notification to the content management system, the second presence notification identifying the synchronized content item and indicating a change in presence relative to the first presence notification.
-
-
3. The method of claim 1, further comprising determining that the content item is being viewed in a focused window designated to receive user input and sending presence information describing the viewing to another device.
-
4. The method of claim 1, further comprising determining that the content item is being edited by the native application and sending presence information describing the editing to another device.
-
5. The method of claim 4, wherein determining that the content item is being edited by the native application is based on at least one of a received flag from the native application, a change in title of a user interface element, or a temporary file associated with the content item.
-
6. The method of claim 1, wherein sending the presence information is in response to a received event indicating an active user interface element changed to a user interface window associated with the native application.
-
7. The method of claim 1, wherein the content item is synchronized with the second device via a content management system and sending the presence notification comprises sending the presence information to the content management system.
-
8. A computer program product comprising a computer-readable storage medium containing computer program code configured to cause a processor to perform steps comprising:
-
receiving a presence event indicating a change in state of a user'"'"'s presence associated with a user interface element interacting with a content item synchronized to a content management system; determining whether the presence event is associated with content items synchronized to the content management system; and send the change in state of a user'"'"'s presence to the content management system.
-
-
9. The computer program product of claim 8, wherein the computer program code is further configured to cause the processor to:
-
receive a content item open event indicating a request to open a content item; determine a process associated with the content item open event; determine whether the process is interacting with a content item synchronized to a content management system; and responsive to determining that the process is interacting with a content item synchronized to the content management system, monitoring the process for events that may reflect a change in user presence.
-
-
10. The computer program product of claim 9, wherein determining the process is interacting with a content item synchronized to the content management system comprises determining a path of a file opened by the process and comparing the path to a directory of content items synchronized to the content management system.
-
11. The computer program product of claim 8, wherein the presence event is a change in focus of the user interface element.
-
12. The computer program product of claim 8, wherein the presence event is closing the user interface element.
-
13. The computer program product of claim 8, wherein determining the presence information associated with the content item comprises determining that the process has edited the content item.
-
14. The computer program product of claim 13, wherein determining that the process has edited the content item comprises identifying at least one of a modification flag, change in user interface element title, or temporary file associated with the content item.
-
15. A system comprising:
-
a processor configured to execute instructions; a non-transitory, non-volatile storage medium containing instructions, which when executed by the processor cause the processor to perform the steps of; receiving, by a device, a content item open event associated with a user interface element; identifying a process associated with the user interface element; determining, from the process, that the content item open event relates to a content item synchronized with other devices; determining presence information from the process; and sending the presence information to other devices synchronized to the content item.
-
-
16. The system of claim 15, wherein the presence information indicates that the user interface element is a focused window designated to receive user input.
-
17. The system of claim 15, wherein the presence information indicates that the content item is being edited by the process.
-
18. The system of claim 17, wherein determining the content item is being edited is based on a received flag from the process or a change in title of the user interface element.
-
19. The system of claim 15, wherein the presence information is determined from a received event indicating an active user interface window changed to the user interface element.
-
20. The system of claim 15, wherein sending the presence information comprises sending the presence information to the content management system.
Specification