In-context display of out-of-context contact activities
By displaying the active status of other people in the collaboration group in real time in the user interface in the user interface, the problem of users in the prior art that it is difficult for users to understand other people's editing activities in real time is solved, and the opportunity for collaboration efficiency and real-time collaboration is improved.
Patent Information
- Application Number
- CN202080032306.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-02
- Filing Date
- 2020-04-07
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2040-04-07
AI Technical Summary
In existing collaboration tools, users can only understand other people's editing activities in the collaboration group through indirect means such as email when leaving the document, resulting in the missed opportunity for real-time collaboration.
Notify the user in real time of activity in the shared content item by displaying the contacts that identify the person in the user interface and determining whether the person is in the same collaboration group as the user and active in different contexts.
Reduces friction in the collaboration process, allowing users to join shared content items that others are working on in real time, thereby improving collaboration efficiency and reducing project completion time.
Smart Images

Figure CN113767408B_ABST
Abstract
Description
Technical Field
[0001] Aspects of the present disclosure relate to the field of software applications, and in particular to dynamic contacts in applications. Background Art
[0002] Collaboration tools in software applications and services continue to improve the ability for groups of users to work on shared content items, such as word processing documents, spreadsheets, and presentations. Such tools not only allow users to work on the same document, but also allow them to communicate within the context of the application they use to edit the document.
[0003] Outside the context of the application, when a user is away from a document, a user can receive email updates from the collaboration service about the editing activities of others in their collaboration group. Users can also communicate directly with each other out-of-band on the application to keep each other informed of their progress on the document.
[0004] Unfortunately, these and other solutions share the same characteristic of being delayed in time relative to the activities of users in the collaboration group. Unless a given user is active in the context of the collaboration group and application, the user will only learn of the activities of others after the fact, and even then, only via limited channels (e.g., email). Once the user is aware of the activity, the authoring session may have ended and the opportunity for real-time collaboration has passed. Summary of the invention
[0005] Disclosed herein is a technology for enhancing the ability of users to collaborate in real time. In an implementation, a contact identifying a person is displayed in a user interface for an application. A determination is made as to whether the person is in a collaboration group with a user of the application. If so, a determination is further made as to whether the person is currently active in a content item in a context different from the user's current context. When such a condition is met, an indication that the person is active in the content item is displayed in the user interface.
[0006] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the technical disclosure. It will be appreciated that this summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Many aspects of the present disclosure may be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, but emphasis is placed on clearly illustrating the principles of the present disclosure. In addition, in several views, similar reference numerals in the figures represent corresponding parts. Although several embodiments are described in conjunction with these drawings, the present disclosure is not limited to the embodiments disclosed herein. On the contrary, it is intended to cover all alternatives, modifications and equivalents.
[0008] Figure 1 The operating environment in the implementation is illustrated.
[0009] Figure 2 The dynamic contacts process in an implementation is illustrated.
[0010] Figure 3 The diagram illustrates the sequence of operations in an implementation.
[0011] Figure 4 The diagram illustrates the user experience and related operation scenarios in the implementation.
[0012] Figure 5 The diagram illustrates the user experience and related operation scenarios in the implementation.
[0013] Figure 6 The diagram illustrates the user experience and related operation scenarios in the implementation.
[0014] Figure 7 The diagram illustrates the user experience and related operation scenarios in the implementation.
[0015] Figure 8 The diagram illustrates the user experience and related operation scenarios in the implementation.
[0016] Fig. 9 The diagram illustrates the user experience and related operation scenarios in the implementation.
[0017] Fig.10 A computing system suitable for implementing the various operating environments, architectures, processes, scenarios, and sequences discussed below with respect to the figures is illustrated. DETAILED DESCRIPTION
[0018] The technology disclosed in this article reduces friction in the collaboration process by making users in their current context aware of the activities of others outside their context. In this way, users in a collaboration group can join others who are currently working on a shared content item in real time.
[0019] In various examples, a user may be working in an application context, such as a user interface for an email application, a calendar application, a file system, a spreadsheet application, a contacts application, a word processing application, or an operating system feature. Because the user belongs to one or more collaborative groups, the user may be interested in knowing when other members of the group are working on documents associated with the group. Rather than being notified afterward via email or when the user next participates in a shared item, the user is notified of other people's activities in real time in the user's current context.
[0020] In one example, a user may be viewing or editing an email within the context of an email application. Contacts in the email, such as people identified in the address field of the email, may be active in a collaborative item. When the user provides an indication of the interests of the contacts, the status of the people working in the shared content item is revealed, thereby providing the user with an opportunity to collaborate.
[0021] In another example, a user may be working in a spreadsheet that includes a list of contacts in a cell. A person identified by one of the contacts in a collaboration group with the user may currently be active in a shared content item. The user may select, hover, or otherwise provide an indication of interest in the contact, which triggers the person's active status to be displayed in a user interface for the spreadsheet.
[0022] In many other examples, users operating in one context are made aware of the active status of others in other contexts, thereby encouraging users to collaborate with members of their collaboration group in real time. Users can be active in a variety of contexts, such as note-taking applications, gaming applications, business intelligence applications, or any other application in which contacts for another person can be displayed. If others are in a collaboration group with the user and are active in an associated content item, the user can be conveniently notified in the user's current context, which increases the likelihood that efficient, real-time collaboration will occur.
[0023] Now referring to the accompanying drawings, Figure 1 An operating environment 100 in an implementation of dynamic contacts is illustrated. Operating environment 100 includes online service 101, database 105, computing device 111, computing device 115, and computing device 117. Computing devices 111, 115, and 117 communicate with online service 101 to interface with one or more application services provided by online service 101, such as (but not limited to): email, calendar, productivity applications, games, social networking, search, etc.
[0024] Online Services 101 can be found on Fig.10 The online service 101 is implemented on one or more computing devices 103 of the architecture illustrated by the computing device 1001 in FIG. In addition, the online service 101 can be implemented as a standalone service or in the context of one or more other services. The online service 101 communicates with computing devices 111, 115, and 117 via one or more communication networks (not shown for clarity).
[0025] Computing devices 111, 115, and 117 each include one or more applications capable of interfacing with online service 101 with respect to various application services provided by online service 101. Examples of the applications include, but are not limited to, email applications, calendar applications, productivity applications, gaming applications, social networking applications, search applications, etc. The applications may be locally installed and executed applications, browser-based applications, mobile applications (or "apps"), streamed or streaming applications, or any combination or variation thereof.
[0026] Each of computing devices 111, 115, and 117 may also have information about Fig.10 1. The computing architecture illustrated by computing device 1001 in FIG. Examples of computing devices 111, 115, and 117 include, but are not limited to, personal computers (eg, laptop computers and desktop computers), tablet computers, mobile phones, computing devices, wearable computing devices, and gaming devices.
[0027] Figure 2 A dynamic contact process 200 is illustrated, which may be implemented by an application running on any one or more of computing devices 111, 115, and 117, by online service 101, or distributed between an application and online service 101. The application and / or service employs dynamic contact process 200 to enhance the user experience when interacting with contacts. Dynamic contact process 200 may be implemented in program instructions in the context of any of a module, component, or other such programming element of the application and / or service. The program instructions direct the underlying computing system(s) as described for dynamic process 200, the accompanying references, and the like. Figure 2 Follow the steps described in .
[0028] First, the program instructions direct the computing system(s) to display contacts in a user interface for an application (step 201). In this step, a contact identifies a person other than a user of the application, and may be, for example, a name, phone number, email address, service handle, or other such information identifying a person. In some scenarios, a contact may identify an entity other than a person, such as a conversational robot. The contact is displayed within the context of a user application, such as in a contact card, a field or content of an email, the content of a document, a field or content of a calendar item, a cell in a spreadsheet, or an attribute of an element in a file system.
[0029] Next, the program instructions direct the computing system(s) to determine that the person is in one or more collaborative groups with the user (step 203). The one or more collaborative groups may be associated with one or more content items. For example, an exemplary collaborative group may include a group of people authorized to edit one or more shared documents, electronic spreadsheets, notebooks, or other such content items associated with the group. It may be determined that the person is in a collaborative group with the user by querying a database (e.g., database 105) that stores the identities of the collaborative groups and their respective users. In another example, a determination may be made by querying a service that maintains such data. A user may be identified by various contact information, such as their name, phone number, email address, service handle, or other suitable contact information.
[0030] After having determined that the person is in a collaborative group with the user, the program instructions instruct the computing system(s) to determine whether the person is active in a collaborative content item in a context different from the context of the user (step 205). For example, if the user is working on a document, the person identified by a contact may be active in a different document. In another example, if the user is drafting an email within the context of an email application, the person may be active in a document in the context of a word processing application. In yet another example, if the user is browsing a file system, the person may be active in one of the documents identified by the file system.
[0031] Then, the program instructions direct (one or more) computing systems to display an indication that the person identified by the contact is active in the content item in the other context (step 207). Displaying the indication means causing the indication to be displayed in the foreground of the user interface. In some implementations, causing the indication to be displayed may include rendering the indication to a display screen. In other implementations, causing the indication to be displayed may include requesting (one or more) operating system components, (one or more) elements, or (one or more) layers to render the indication. For example, the display of the indication may be achieved by displaying information close to the contact indicating the active status of the person in the content item. The status of the person may be displayed in a contact card, in an information bubble, in a sidebar, or in any other way within the user's active context. Therefore, the user may choose to communicate with the contact, switch to a collaborative content item, or otherwise take action in response to learning that other people are active in content items outside the user's current context.
[0032] Return to reference Figure 1, a brief user experience 110 illustrates various aspects of the dynamic contacts process 200. The user experience 110 includes a user interface 112 for an application utilized by user A. The user experience includes an application context 113 within which contacts for user H and user S are displayed. In contrast, user H and user S are involved in a context 119 that is different from context 113, such as editing a collaborative document.
[0033] User A continues to provide user input 111, which includes an indication of interest in a contact for user S. User input 111 can be, for example, a hover action on a contact, a mouse click on a contact, a touch gesture made relative to a contact, or a voice command to a contact. In response, the status of user S is displayed in user interface 112. In this example, the status is indicated in a contact card 114 for user S, but the status information can be displayed on a variety of different surfaces.
[0034] In this example, the contact card 114 includes status information indicating that user S is active in document x. Since user A is part of the collaboration group to which document x belongs, such information may prompt the user to open the document and join a collaboration session with user S and possibly any other users in the document.
[0035] Figure 3 Operation sequence 300 is illustrated to depict additional aspects of the dynamic contact process 200 in an implementation. In operation, user H and user S open a document using applications on computing device 115 and computing device 117, respectively. For exemplary purposes, it can be assumed that the document is a shared document associated with a collaboration group to which user H and user S belong, so that edits made by them are synchronized between their respective document versions. It can also be assumed that user A belongs to the same collaboration group.
[0036] At the same time, user A is involved in a different application context than user H and user S. For example, instead of editing the shared document in the context of a word processing application, user A may be drafting an email, working in a spreadsheet, or searching for a file in a file system. While user A is working, contacts are displayed in the user interface of the application that user A is using. The contacts are for user H and may identify her by one or more of a name, an email address, a phone number, a service handle, or other such identifiers. The contacts may be displayed because, for example, user A is drafting or viewing an email that includes user A, viewing a list of contacts that includes user A, or entering contacts into a spreadsheet workbook.
[0037] In response to user input or automatically, the application being used by user A sends a status request for the activity status of a person associated with the exposed contact. The request is sent to the online service and may identify the person by their name, alias, email address, phone number, service handle, or other such identifying information extracted from the contact. The online service 101 receives the request and returns the status of the person after determining that the person is in a collaborative group with user A. The application on computing device 111 receives status and surface information about the activities of other users in the user interface being used by user A.
[0038] In this example, the activity information presented indicates to user A that user H is currently editing a document associated with a collaborative group to which user A belongs. Accordingly, user A is prompted to open the document himself, and continues to participate in collaborative editing with user H and user S. Their respective edits to the document are maintained and synchronized between their respective copies.
[0039] Figure 4 A user experience 400 in an example of a dynamic contact process 200 with respect to elements of an operating environment 100 is illustrated. The user experience 400 includes a user interface 401 for an email application. The user interface 401 in this example includes a draft email. The draft email includes a content canvas 403 for typing text or otherwise providing content to be sent in an email. The draft email also includes a field 405 for entering a recipient address and a field 407 for entering a subject of the email.
[0040] Field 405 includes a contact for another user. The contact is an email address hnr@contoso.com, which for exemplary purposes can be assumed to belong to user H. User A proceeds to provide user input 408, which includes an indication of interest in the contact in the recipient field. User input 408 can be, for example, a hover action, a mouse click, a touch gesture, a verbal command, etc.
[0041] In response to user input 408, a contact card 409 is presented in the user interface. Contact card 409 includes identifying information for user H, such as her name and photo. Contact card 409 also includes information indicating her active status, which is editing document x. Thus, user A may be prompted to open document x because he will see that this would be a good opportunity to interact with others currently in the document.
[0042] Figure 5A user experience 500 is shown in another example of a dynamic contacts process 200 with respect to elements of the operating environment 100. The user experience 500 includes a user interface 501 for a dialer application on a computing device 115 used by a user H. The context 116 of the user H is different from the context 119 (editing document x) that the user A is experiencing, and further, the context 116 is different from the context 118 that the user S is experiencing.
[0043] User interface 501 includes various contacts in the call history, represented by contact 503, contact 505, and contact 507. User H provides user input 508, which includes a selection of contact 505. Next, contact cards 509 for people in contacts 505 are presented in user interface 501. Contact card 509 identifies user A and his current activity status, which includes editing document x in context 119. This activity status is shown to user H because user H belongs to the same collaboration group associated with document x.
[0044] User H provides another user input 511, but involving a link to a shared document. Selecting the link causes the document to download. The document opens in a new user interface 513 for a word processing application. User H can now edit, view, or otherwise consume the same document that User A is working on.
[0045] Figure 6 A user experience 600 is illustrated in another example of a dynamic contact process 200 with respect to elements of the operating environment 100. The user experience 600 includes a user interface 601 for a calendar application used by user A on computing device 111. User A's context 113 is different from the context of user H who is experiencing context 119 (editing document x). Additionally, context 113 is different from context 119 experienced by user S.
[0046] User interface 601 includes various meetings scheduled for a week. Meetings are shown by different fill patterns whether they involve people who are in a collaboration group with user A and are currently active in a shared document. For example, the meetings on Tuesday and Thursday do not include any overlapping contacts, while the meeting block on Wednesday includes overlapping contacts.
[0047] User A accordingly navigates to the highlighted meeting tile and provides user input 606 as an indication of interest with respect to the meeting tile. In response, a contact card 609 for at least one of the participants at the meeting appears. Contact card 609 identifies the name and status of user H, because she is in a collaboration group with user A and because she is currently editing a shared document.
[0048] Contact card 609 also includes a link at the bottom right corner indicating that a second participant is also in the collaboration group with user A and is also active in the document. User A provides user input 608 including a selection of the link, in response to which contact card 610 is revealed. Contact card 610 includes the name of user S and her current status of working on the document.
[0049] exist Figure 7 In the user experience 700 in FIG. 1 , users are engaged in a similar activity—document editing—using a similar application. However, the context of user A is different from the context of user H because they are editing different documents. User A and user S are working on the same document, and therefore their contexts can be considered the same.
[0050] User experience 700 includes a user interface 701 of a word processing document with which user A edits document z. User interface 701 includes a document canvas 702 on which a user can input content and otherwise interact with the document.
[0051] For exemplary purposes, assume that document z is a shared document associated with a collaboration group that includes user A, user H, user S, and user W. Accordingly, user interface 701 includes contacts for those users (H, S, and W). In addition, the contacts have appearances that indicate the status of the person represented by a given contact. For example, the contact for user H indicates that she is active in a different context than user A (e.g., she is editing document x instead of document z). The contact for user S has a shading that indicates that she is active in the same context as user A. Finally, the contact for user W indicates that he is not active in either the same or a different context.
[0052] User A continues to provide user input 708 regarding contacts for user H. In response, a contact card 709 is presented in user interface 701. User A may decide to click on the link for document x, thereby bringing him into the same context as user H.
[0053] Figure 8 A user experience 800 is illustrated in relation to a file system context. The user experience 800 includes a file system view 801 for a file system that may be displayed in a user interface. The file system view 801 includes a folder 803, a subfolder 805, and two files represented by a file icon 807 and a file icon 809. The file system view 801 is presented to user A in the context 113 of a file system on a computing device 111. At the same time, user H participates in the context 119 with document x, as does user S.
[0054] For exemplary purposes, it can be assumed that document X corresponds to file icon 807. That is, file icon 807 is a file icon for document x, meaning that clicking or otherwise selecting file icon 807 causes the document to open. Here, the icon may present different appearances depending on whether the document is associated with a collaborative group and whether any members of the group are currently active in the document.
[0055] As described above, both user H and user S are active in the document associated with file icon 807, while no one else is active in file icon 809. Therefore, the appearance of file icon 807 is shaded to indicate to user A that one or more people are active in the document in a context outside of the file system context of computing device 111.
[0056] In the next step, user A provides user input 808 to indicate interest in file icon 807. User input 808 may be, for example, a hover action, a mouse click, a touch gesture, a verbal command, or any other suitable user input. In response to user input 808, contact cards for one or more people active in the document are revealed. Contact card 811 in this example presents the name and status of user S, while contact card 813 presents the name and status of user H. Thus, user A may be motivated to contact one or both of the other users in order to collaborate with them on a shared document in real time.
[0057] exist Fig. 9 In user experience 900 in FIG. 1 , users are involved in document editing using similar applications. However, the context of user A is different from the context of user H because they are editing different documents (document z and document x, respectively). User A and user S are also working in different documents (document z and document y, respectively), and therefore their contexts are also different.
[0058] User experience 900 includes a user interface 901 for a word processing document that user A utilizes to edit document z. User interface 901 includes a document canvas 902 on which the user can enter content and otherwise interact with the document. User interface 901 also includes a most recently used (MRU) list 903. MRU list 903 is a list of documents that user A has recently used.
[0059] In this example, a file icon 905 corresponding to document x is included in the list,
[0060] The same is true for icon 907 corresponding to gear y.
[0061] For exemplary purposes, assume that document x and document y are shared documents associated with a collaboration group that includes user A. Therefore, the MRU list 903 also includes contacts for user H and user S displayed in association with the file icons or document x and document y. The contacts exist because the users are currently active in their respective documents. User A can provide user input 908 to one or another of the contacts to view the activity status of the corresponding person. For example, a contact card 909 is displayed in the user interface 901, which displays contact information for user H and her current status of editing document x.
[0062] Various technical effects can be appreciated from the above discussion of dynamic contact technology. By letting users know the status of others in addition to the current status of a given user, the user experience can be improved and simplified. In this way, users do not need to switch between contexts in order to confirm the status of another person. This may increase the opportunity for users in a collaborative group to work together in real time. This may also have the additional benefit of reducing the time to complete a project and improving project efficiency, which, in general, can result in saving processing cycles, power consumption, and other such tangible benefits.
[0063] Fig.10 The computing system 1001 is illustrated, which represents any system or collection of systems in which the various processes, programs, services, and scenarios disclosed herein may be implemented. Examples of computing system 1001 include, but are not limited to, desktop computers, laptop computers, server computers, routers, network servers, cloud computing platforms, and data center equipment, as well as any other type of physical or virtual server machines, physical or virtual routers, containers, and any variations or combinations thereof.
[0064] The computing system 1001 may be implemented as a single device, system or apparatus, or may be implemented as multiple devices, systems or apparatuses in a distributed manner. The computing system 1001 includes, but is not limited to, a processing system 1002, a storage system 1003, software 1005, a communication interface system 1007, and a user interface system 1009 (optional). The processing system 1002 is operably coupled to the storage system 1003, the communication interface system 1007, and the user interface system 1009.
[0065] Processing system 1002 loads and executes software 1005 from storage system 1003. Software 1005 includes and implements process 1006, which represents the dynamic contact technology discussed with respect to the aforementioned figures. When executed by processing system 1002 to provide dynamic contacts, software 1005 directs processing system 1002 to operate as described herein for at least the various processes, operating scenarios, and sequences discussed in the aforementioned implementations. Computing system 1001 optionally includes additional devices, features, or functions that are not discussed for the sake of brevity.
[0066] Still reference Fig.10 , the processing system 1002 may include a microprocessor and other circuitry to retrieve and execute software 1005 from a storage system 1003. The processing system 1002 may be implemented within a single processing device, but may also be distributed among multiple processing devices or subsystems that cooperate in executing program instructions. Examples of the processing system 1002 include a general-purpose central processing unit, a graphics processing unit, a special-purpose processor and logic device, and any other type of processing device, combination, or variation thereof.
[0067] The storage system 1003 may include any computer-readable storage medium that is readable by the processing system 1002 and capable of storing the software 1005. The storage system 1003 may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Examples of storage media include random access memory, read-only memory, magnetic disks, optical disks, optical media, flash memory, virtual and non-virtual memory, cassettes, magnetic tapes, disk storage or other magnetic storage devices, or any other suitable storage medium. In any case, a computer-readable storage medium is not a propagated signal.
[0068] In addition to computer-readable storage media, in some implementations, storage system 1003 may also include computer-readable communication media through which at least some of software 1005 may communicate internally or externally. Storage system 1003 may be implemented as a single storage device, but may also be implemented across multiple storage devices or subsystems that are co-located or distributed relative to each other. Storage system 1003 may include additional elements, such as a controller, that can communicate with processing system 1002 or possibly other systems.
[0069] The software 1005 (including the process 1006) may be implemented in program instructions, and among other functions, the program instructions, when executed by the processing system 1002, may direct the processing system 1002 to operate as described with respect to the various operating scenarios, sequences, and processes illustrated herein. For example, the software 1005 may include program instructions for implementing dynamic contacts as described herein.
[0070] Specifically, the program instructions may include various components or modules that cooperate or otherwise interact to perform various processes and operation scenarios described herein. Various components or modules may be embodied in compiled or interpreted instructions, or may be embodied in some other variations or combinations of instructions. Various components or modules may be performed in a synchronous or asynchronous manner, serially or in parallel, in a single-threaded environment or multithreaded, or according to any other suitable execution paradigm, variation or combination thereof. Software 1005 may include additional processes, programs or components, such as operating system software, virtualization software or other application software. Software 1005 may also include firmware or some other form of machine-readable processing instructions that can be performed by processing system 1002.
[0071] In general, software 1005, when loaded into processing system 1002 and executed, converts a suitable device, system or apparatus (of which computing system 1001 is representative) from a general purpose computing system to a special purpose computing system customized to provide dynamic contacts as described herein. In practice, the encoded software 1005 on storage system 1003 can convert the physical structure of storage system 1003. The specific conversion of the physical structure can depend on various factors in different implementations of this specification. Examples of such factors can include, but are not limited to: the technology of the storage medium used to implement storage system 1003 and whether the computer storage medium is characterized as a primary storage device or a secondary storage device, as well as other factors.
[0072] For example, if the computer-readable storage medium is implemented as a semiconductor-based memory, then when program instructions are encoded therein, the software 1005 can transform the physical state of the semiconductor memory, such as by transforming the state of transistors, capacitors, or other discrete circuit elements that make up the semiconductor memory. Similar transformations may occur for magnetic or optical media. Other transformations of the physical media are possible without departing from the scope of this description, and the foregoing examples are provided merely to facilitate this discussion.
[0073] The communication interface system 1007 may include communication connections and devices that allow communication with other computing systems (not shown) through a communication network (not shown). Examples of connections and devices that together allow inter-system communication may include network interface cards, antennas, power amplifiers, RF circuits, transceivers, and other communication circuits. The connections and devices may communicate through a communication medium to exchange communications with other computing systems or system networks, such as metal, glass, air, or any other suitable communication medium. The above-mentioned media, connections, and devices are well known and need not be discussed in detail herein.
[0074] The communication between computing system 1001 and other computing systems (not shown) can occur through one or more communication networks and according to various communication protocols, combinations of protocols, or variations thereof. Examples include intranets, Internet, local area networks, wide area networks, wireless networks, wired networks, virtual networks, software defined networks, data center buses and backplanes, or any other type of network, network combination, or variation thereof. The aforementioned communication networks and protocols are well known and need not be discussed in detail here.
[0075] The included descriptions and figures depict specific embodiments to teach those skilled in the art how to make and use the best mode. For the purpose of teaching the principles of the invention, some conventional aspects have been simplified or omitted. Those skilled in the art will appreciate the variations from these embodiments that fall within the scope of the present disclosure. Those skilled in the art will also appreciate that the above features can be combined in various ways to form multiple embodiments. Therefore, the present invention is not limited to the above specific embodiments, but is only limited by the claims and their equivalents.
Claims
1. A computing device, comprising: one or more computer-readable storage media; one or more processors operatively coupled to the one or more storage media; as well as Program instructions stored on the one or more computer-readable storage media, which, when executed by the one or more processors, direct the computing device to at least perform the following operations: causing a contact to be displayed to the first application in a user interface, the contact identifying a person different from a user of the first application; and In response to user input received via the user interface indicating a selection of the contact: determining that the person and the user are in a collaboration group, the collaboration group being associated with a content item; determining that the person is currently active in the content item in a second application different from the first application, wherein the first application is any application in a group of applications capable of displaying the contact, and the content item is not editable by any application in the group of applications; as well as A contact card is presented in the user interface, the contact card including an indication that the person is currently active in the content item.
2. The computing device of claim 1, wherein: The second application includes one of the following: a word processing application, a spreadsheet application, and a slide presentation application.
3. The computing device of claim 2, wherein: The first application includes one of the following: an email application, a dialer application, and a calendar application.
4. The computing device according to claim 1, wherein: The program instructions further direct the computing device to perform the following operations: determining that at least one other person is currently active in the content item; and Another indication that the at least one other person is currently active in the content item is presented in the contact card.
5. The computing device of claim 4, wherein: The program instructions further direct the computing device to, in response to selection of the other indication, present in the user interface another contact card including details about the at least one other person.
6. The computing device according to claim 1, wherein: The user input indicating selection of the contact comprises a hover action over the contact.
7. The computing device according to claim 1, wherein: The contact includes an appearance indicating that the person is currently active in the second application.
8. A method comprising: causing display, by the computing system, of a contact to the first application in a user interface, the contact identifying a person different from a user of the first application; as well as In response to user input received via the user interface indicating a selection of the contact: determining that the person and the user are in a collaboration group, the collaboration group being associated with a content item; determining that the person is currently active in the content item in a second application different from the first application, wherein the first application is any application in a group of applications capable of displaying the contact, and the content item is not editable by any application in the group of applications; as well as A contact card is presented in the user interface, the contact card including an indication that the person is currently active in the content item.
9. The method according to claim 8, wherein: The second application includes one of the following: a word processing application, a spreadsheet application, and a slide presentation application.
10. The method according to claim 8, wherein: The first application includes one of the following: an email application, a dialer application, and a calendar application.
11. The method according to claim 8, further comprising: determining that at least one other person is currently active in the content item; as well as Another indication that the at least one other person is currently active in the content item is presented in the contact card.
12. The method according to claim 11, further comprising: In response to selection of the other indication, another contact card is presented in the user interface, the other contact card including details about the at least one other person.
13. The method according to claim 8, wherein: The user input indicating selection of the contact comprises a hover action over the contact.
14. The method according to claim 8, wherein: The contact card includes a link to the content item, and the method further includes: receiving, by the computing system via the user interface, a second user input indicating a selection of the link; and In response to receiving the second user input: launching, by the computing system, a third application different from each application in the application group, and The content item is opened, by the computing system, in the third application.
Citation Information
Patent Citations
Co-creation in drawing tool
CN102981843A
Method and apparatus for providing calendar displaying work history of document
CN104915367A
Communication device with contact information inference
US20160092040A1
Systems and methods for managing a mentorship program
US20170323243A1
Contact event feeds and activity updates
US20190124169A1