PROVIDING APPLICATION CONTEXT FOR A CONVERSATION
A method for providing application context for a conversation includes associating a conversation with an application object. A facet of the application object is obtained from a source application. A user interface is caused to display the obtained facet in conjunction with the conversation.
1 . A method for providing application context for a conversation, comprising:
associating a conversation with an application object;
obtaining a facet of the application from a source application; and
causing a user interface to display the obtained facet in conjunction with the conversation.
2 . The method of claim 1 , wherein obtaining comprises:
identifying a plurality of facets for the application available from the source application; and
obtaining a selected one of the plurality of facets from the source application.
3 . The method of claim 1 , wherein:
obtaining a facet comprises obtaining one of facet data and a facet presentation; and
causing comprises:
if facet data is obtained then assembling a default facet presentation from the facet data; and
causing the user interface to display the obtained facet presentation or the default facet presentation in conjunction with the conversation.
4 . The method of claim 1 , wherein the facet is an actionable facet that when displayed includes user accessible controls, the method comprising passing data indicative of manipulations of the user accessible controls of the displayed actionable facet to the application.
5 . The method of claim 1 , wherein:
the source application is one of a plurality of source applications, the method comprising providing each of the plurality of source applications with an adapter, each adapter configured to, in response to a request for a facet, obtain facet data from the adapter's associated source application and return one of the facet data and a facet presentation assembled from the facet data;
obtaining comprises requesting the facet from one of the adapters and receiving the facet data or the facet presentation in response; and
causing comprises:
if facet data is received from that adapter then assembling a default facet present from the facet data; and
causing the user interface to display the obtained facet presentation or the default facet presentation in conjunction with the conversation.
6 . The method of claim 5 , wherein obtaining comprises:
identifying one of the adapters that is configured to return facet data or a facet presentation relevant to the application object associated with the conversation; and
requesting the facet from the identified adapter.
7 . A system for providing application context for a conversation, the system comprising a context engine, a facet engine, and an interface engine, wherein:
the context engine is configured to associate a conversation with an application object;
the facet engine is configured to obtain a facet for the application object from a source application;
the interface engine is configured to cause a user interface to display the obtained facet in conjunction with the conversation.
8 . The system of claim 7 , wherein the facet engine is configured to:
identify a plurality of facets for the application available from the source application; and
obtain a selected one of the plurality of facets from the source application.
9 . The system of claim 7 , wherein the context engine is configured to associate the conversation with the application object by:
associating the conversation with an application object identified in a conversation call originating from an application managing the application object;
associating the conversation with an application object identified by a participant of the conversation; or
associating the conversation with an application object identified by an analysis of the conversation.
10 . The system of claim 7 , wherein:
the facet engine is configured to obtain one of facet data and a facet presentation; and
the interface engine is configured to:
if facet data is obtained then assemble a default facet presentation from the facet data; and
cause the user interface to display the obtained facet presentation or the default facet presentation in conjunction with the conversation.
11 . The system of claim 7 , wherein the facet is an actionable facet that when displayed includes user accessible controls, and wherein the interface engine is configured to pass data indicative of manipulations of the user accessible controls of the displayed actionable facet to the application.
12 . The system of claim 7 , wherein:
the source application is one of a plurality of source applications and the system comprises an adapter associated with each of the plurality of source applications, each adapter configured to obtain facet data from its associated source application and return one of the facet data and a facet presentation assembled from the facet data;
the facet engine is configured to obtain a facet by requesting the facet from one of the adapters and receiving facet data or a facet presentation in response; and
the interface engine is configured to:
if facet data is received then assemble a default facet presentation from the facet data; and
cause the user interface to display the received facet presentation or the default facet presentation in conjunction with the conversation.
13 . The system of claim 12 , wherein the facet engine is configured to obtain by:
identifying one of the adapters that is configured to return facet data or a facet presentation relevant to the application object associated with the conversation; and
requesting the facet from the identified adapter.
14 . A computer readable medium having instructions that when executed by a processor implement a system for providing application context for a conversation, the system comprising a context engine, a facet engine, and a interface engine, wherein:
the context engine is configured to associate a conversation with an application object;
the facet engine is configured to obtain a facet of the application object from a source application;
the interface engine is configured to cause a user interface to display the obtained facet in conjunction with the conversation.
15 . The medium of claim 14 , wherein the facet engine is configured to:
identify a plurality of facets for the application available from the source application; and
obtain a selected one of the plurality of facets from the source application.
16 . The medium of claim 14 , wherein the context engine is configured to associate the conversation with the application object by:
associating the conversation with an application object identified in a conversation call originating from an application managing the application;
associating the conversation with an application object identified by a participant of the conversation; or
associating the conversation with an application object identified by an analysis of the conversation.
17 . The medium of claim 14 , wherein:
the facet engine is configured to obtain one of facet data and a facet presentation; and
the interface engine is configured to:
if facet data is obtained then assemble a default facet presentation from the facet data; and
cause the user interface to display the obtained facet presentation or the default facet presentation in conjunction with the conversation.
18 . The medium of claim 14 , wherein the facet is an actionable facet that when displayed includes user accessible controls, wherein the interface engine is configured to pass data indicative of manipulations of the user accessible controls of the displayed actionable facet to the application.
19 . The medium of claim 14 , wherein:
the source application is one of a plurality of source applications each source application being associated with an adapter configured to, in response to a request for a facet of its associated application, obtain facet data from that application and return one of the facet data and a facet presentation assembled from the facet data;
the facet engine is configured to obtain a facet by requesting the facet from one of the adapters and receiving facet data or a facet presentation in response; and
the interface engine is configured to:
if facet data is received then assemble a default facet present from the facet data; and
cause the user interface to display the received facet presentation or the default facet presentation in conjunction with the conversation.
20 . The medium of claim 20 , wherein the facet engine is configured to obtain by:
identifying one of the adapters that is configured to return facet data or a facet presentation relevant to the application object associated with the conversation; and
requesting the facet from the identified adapter.