U.S. patent application number 17/355694 was filed with the patent office on 2021-10-14 for secure bubble content recommendation based on a calendar invite.
The applicant listed for this patent is AirWatch, LLC. Invention is credited to Gaurav Arora, Karishma Babu, Anil Jagarlamudi, Naga Kaipu, Suja Ramachandran.
Application Number | 20210319049 17/355694 |
Document ID | / |
Family ID | 1000005671377 |
Filed Date | 2021-10-14 |
United States Patent
Application |
20210319049 |
Kind Code |
A1 |
Jagarlamudi; Anil ; et
al. |
October 14, 2021 |
SECURE BUBBLE CONTENT RECOMMENDATION BASED ON A CALENDAR INVITE
Abstract
Systems herein allow a user device to monitor calendar events
with a secure bubble application. When an event is upcoming, the
secure bubble application can present a notification. The secure
bubble application can search other managed applications for
content relevant to the meeting event. The secure bubble
application can extract text, tags, and other metadata from the
calendar event and any attached files. The text, tags, and other
metadata can be used to search each managed application. Relevant
emails, files, and notes can be displayed in a card generated by
the secure bubble application.
Inventors: |
Jagarlamudi; Anil;
(Alpharetta, GA) ; Ramachandran; Suja; (Atlanta,
GA) ; Arora; Gaurav; (Alpharetta, GA) ; Kaipu;
Naga; (Atlanta, GA) ; Babu; Karishma;
(Dunwoody, GA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
AirWatch, LLC |
Atlanta |
GA |
US |
|
|
Family ID: |
1000005671377 |
Appl. No.: |
17/355694 |
Filed: |
June 23, 2021 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14963380 |
Dec 9, 2015 |
11074282 |
|
|
17355694 |
|
|
|
|
62221327 |
Sep 21, 2015 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 10/109 20130101;
G06F 16/335 20190101 |
International
Class: |
G06F 16/335 20060101
G06F016/335; G06Q 10/10 20060101 G06Q010/10 |
Claims
1-20. (canceled)
21. A method for displaying relevant content on a user device,
comprising: displaying, on a graphical user interface (GUI) of the
user device, a first interactive card comprising a list of emails
identified in a first email search performed by an email
application installed on the user device; displaying, on the GUI, a
second interactive card comprising a list of documents identified
in a first document search performed by a content storage
application installed on the user device; receiving, through the
GUI, a selection to remove at least one of an email from the list
of emails and a document from the list of documents from the
respective list; comparing the removed email or document to the
remaining emails and documents in the respective list; lowering the
priority of at least one remaining email and at least one remaining
document based on the removed email or document; and reordering the
displayed search results based on the lowered priority.
22. The method of claim 21, further comprising displaying, on the
GUI, a third interactive card comprising search results from a
search based on the removed email or document.
23. The method of claim 21, further comprising, in response to a
selection of an email or document from the first or second
interactive card, opening the selected email or document in the
email application or content storage application, respectively, on
the user device.
24. The method of claim 21, wherein the selection to remove is
provided by the user using a swipe gesture on the selected
item.
25. The method of claim 21, wherein the first and second
interactive cards are displayed as a stack and are individually
closable through interaction with the GUI.
26. The method of claim 21, wherein the email and document searches
include searches of metadata associated with emails and
documents.
27. The method of claim 21, wherein the first and second
interactive cards are individually closable by using a swipe
gesture.
28. A non-transitory, computer-readable medium containing
instructions that, when executed by a hardware-based processor,
performs stages for displaying relevant content on a user device,
the stages comprising: displaying, on a graphical user interface
(GUI) of the user device, a first interactive card comprising a
list of emails identified in a first email search performed by an
email application installed on the user device; displaying, on the
GUI, a second interactive card comprising a list of documents
identified in a first document search performed by a content
storage application installed on the user device; receiving,
through the GUI, a selection to remove at least one of an email
from the list of emails and a document from the list of documents
from the respective list; comparing the removed email or document
to the remaining emails and documents in the respective list;
lowering the priority of at least one remaining email and at least
one remaining document based on the removed email or document; and
reordering the displayed search results based on the lowered
priority.
29. The non-transitory, computer-readable medium of claim 28, the
stages further comprising displaying, on the GUI, a third
interactive card comprising search results from a search based on
the removed email or document.
30. The non-transitory, computer-readable medium of claim 28, the
stages further comprising, in response to a selection of an email
or document from the first or second interactive card, opening the
selected email or document in the email application or content
storage application, respectively, on the user device.
31. The non-transitory, computer-readable medium of claim 28,
wherein the selection to remove is provided by the user using a
swipe gesture on the selected item.
32. The non-transitory, computer-readable medium of claim 28,
wherein the first and second interactive cards are displayed as a
stack and are individually closable through interaction with the
GUI.
33. The non-transitory, computer-readable medium of claim 28,
wherein the email and document searches include searches of
metadata associated with emails and documents.
34. The non-transitory, computer-readable medium of claim 33,
wherein the first and second interactive cards are individually
closable by using a swipe gesture.
35. A user device comprising: a memory storage including a
non-transitory, computer-readable medium comprising instructions;
and a hardware-based processor that executes the instructions to
carry out stages comprising: displaying, on a graphical user
interface (GUI) of the user device, a first interactive card
comprising a list of emails identified in a first email search
performed by an email application installed on the user device;
displaying, on the GUI, a second interactive card comprising a list
of documents identified in a first document search performed by a
content storage application installed on the user device;
receiving, through the GUI, a selection to remove at least one of
an email from the list of emails and a document from the list of
documents from the respective list; comparing the removed email or
document to the remaining emails and documents in the respective
list; lowering the priority of at least one remaining email and at
least one remaining document based on the removed email or
document; and reordering the displayed search results based on the
lowered priority.
36. The user device of claim 35, the stages further comprising
displaying, on the GUI, a third interactive card comprising search
results from a search based on the removed email or document.
37. The user device of claim 35, the stages further comprising, in
response to a selection of an email or document from the first or
second interactive card, opening the selected email or document in
the email application or content storage application, respectively,
on the user device.
38. The user device of claim 35, wherein the selection to remove is
provided by the user using a swipe gesture on the selected
item.
39. The user device of claim 35, wherein the first and second
interactive cards are displayed as a stack and are individually
closable through interaction with the GUI.
40. The user device of claim 35, wherein the email and document
searches include searches of metadata associated with emails and
documents.
Description
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to provisional patent
application No. 62/221,327 ("Secure Bubble Content Recommendation
Based on a Calendar Invite"), filed Sep. 21, 2015, which is
incorporated by reference in its entirety.
BACKGROUND
[0002] Users in an enterprise environment and elsewhere commonly
hold teleconferences and online meetings with other users. These
are typically scheduled in advance by a calendar invitation sent by
email to invited participants.
[0003] In preparing for a scheduled meeting, users must familiarize
themselves with meeting topics. This can include locating and
reviewing relevant content. Current technology offers little
assistance to the user in this regard. Instead, the user typically
opens a calendar invite to obtain any attachments or other text
provided in the invitation. However, the calendar invite often does
not contain all relevant contextual information. Current technology
does not provide additional context to the user or otherwise assist
the user in locating helpful content.
[0004] Additionally, manually searching for relevant content items
can be difficult on a mobile user device. Screen space can be
limited, so opening multiple applications to search for relevant
content items can be cumbersome. Even if a user locates one content
item, such as an email or a document, they may need to navigate
away to find a second content item. The first content item might no
longer be easily retrievable once the user switches to a second
content item. Located items also cannot be conveniently displayed
together. Additionally, if the user takes notes on the user device
during the meeting, it can be difficult to retrieve documents they
previously located. Consequently, participating in the meeting from
a mobile user device can involve cumbersome workflow when document
retrieval is involved.
[0005] For at least these reasons, a need exists for systems for
improved content recommendation based on a calendar invite.
SUMMARY
[0006] It is to be understood that both the foregoing general
description and the following detailed description are exemplary
and explanatory only and are not restrictive of the examples, as
claimed.
[0007] In one example, a system dynamically recommends content
based on information in a calendar event, such as a meeting invite.
The system can include a user device, such as a phone or tablet,
with a memory and processor that executes one or more applications.
The system can gather tag information from the invitation,
including from documents that are attached to the invitation. Tag
information can include metadata that identifies features of
various types of content items. Tags can be applied to documents
when they are created or edited, and can be used to gather relevant
information about the content item.
[0008] Using the gathered tag information, the system can initiate
a first email search, including supplying at least a first subset
of the tag information as a first search criteria to an email
application. The system can also similarly initiate a first
document search, including supplying at least a second subset of
the tag information as a second search criteria to a content
storage application.
[0009] Using a multiple cards for different document types, at
least a subset of the results from the email and document searches
can be prioritized and displayed. A first card can be dedicated to
email search results, and can include an ordered listing of emails
identified in the first email search. The order can be determined
by which emails best matched the tag information search criteria,
among other factors. A second card can be dedicated to a different
non-email document type, and include an ordered listing of
documents identified in the first document search.
[0010] In one example, a third card is dedicated to a notes
document type. It can display notes from prior related meetings.
The system can determine that the notes are related to a meeting
based, for example, on matching a calendar event identifier for a
recurring meeting to tag information in the notes.
[0011] In another example, a user can select a content item in the
first or second card. This can indicate that the user finds the
content item to be relevant. Based on information from the selected
content item, the system can initiate an additional search for
additional content items that match at least some of the
information in the selected content item. Then, the system can
display at least one additional content item from the additional
search. The additional content item can be displayed in a new card
in one example.
[0012] The system can allow the user to select or eliminate content
items or entire cards. When the user makes a selection or
elimination, the system can dynamically search for more content
items based on the selection and elimination, displaying the most
relevant results. The user can continue selecting and eliminating
content items until the user is satisfied with one or more cards of
relevant content items. A system employing this dynamic search
process can save a user valuable time in preparing for a meeting
compared to existing document location technologies. This is
especially true when the user is using a mobile device such as a
phone or tablet.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is an exemplary illustration of system
components.
[0014] FIG. 2 is an exemplary method executed in a system.
[0015] FIG. 3A is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0016] FIG. 3B is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0017] FIG. 3C is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0018] FIG. 3D is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0019] FIG. 3E is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0020] FIG. 3F is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0021] FIG. 3G is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0022] FIG. 3H is an exemplary illustration of a graphical user
interface provided by the secure bubble content application.
[0023] FIG. 4 is an exemplary method executed in a system.
[0024] FIG. 5 is an exemplary illustration of a graphical user
interface for opening a content item from within an
application.
DESCRIPTION OF THE EXAMPLES
[0025] Reference will now be made in detail to the present
examples, including examples illustrated in the accompanying
drawings. Wherever possible, the same reference numbers will be
used throughout the drawings to refer to the same or like
parts.
[0026] Examples described herein include systems for secure bubble
content recommendation. A secure bubble application can be a
managed application that executes persistently on a user device,
making content recommendations based on calendar events. When a
calendar event is upcoming, the secure bubble application can
display a notification on the user device. When the user selects
the notification, a card can be displayed with relevant information
about the meeting. The terms "card" and "pane" are used
interchangeably. The user can select an option to retrieve relevant
content for the meeting, such as emails, documents, or notes. The
secure bubble application can then cause other managed applications
to search for relevant content based on metadata commonalities
between the meeting invitation and existing content. The retrieved
content can be scored and ranked, and the most relevant content can
be displayed on a card to the user. This allows a user attempting
to quickly prepare for a meeting to have all of the relevant
information from multiple sources, including documents, e-mail, and
prior notes, to be surfaced to aid in preparation for the meeting.
This avoids a user having to manually open and search for content
from a plurality of applications prior to or during a meeting.
[0027] Based on user interactions with the card and recommended
content items, the secure bubble application can perform additional
searches for relevant content. For example, if the user selects an
attendee that is on the meeting invite, the secure bubble
application can cause an email application to search for and
prioritize email correspondence between the user and the attendee.
If the user selects a document, then the secure bubble application
can search for emails related to the document. Selected items can
remain on the content list, with related content items further
populating the content list or populating a separate card.
Alternatively, if one of the displayed content items is not useful
to the user, the user can swipe it off of the content list. The
secure bubble application can replace the removed content item with
a content item with a next-highest relevance rating.
[0028] This can allow a user to quickly view a list of content
items related to a meeting. Because the content items can be
persistent on the card, the user can easily switch between content
items during the meeting. The user can also switch between cards
that are organized by document type, and eliminate cards that the
user does not find useful. This can provide improved workflow to a
user participating in a meeting using a mobile user device.
[0029] FIG. 1 illustrates an exemplary system 100 for secure bubble
content recommendation. A user device 110 can be any computing
device, such as a cell phone, laptop, tablet, personal computer, or
workstation. A user device 110 can include a non-transitory
computer-readable medium containing instructions that are executed
by a processor. Example non-transitory, computer-readable mediums
include RAM and ROM, disks, and other memory and storage that is
accessible by a USB port, a floppy drive, CD-ROM, or DVD-ROM drive,
and a flash drive, among others.
[0030] The user device 110 can execute managed applications 115
with functionality that can be controlled by a management server
130. The management server 130 can control the managed applications
115 through interaction with a management component 112 that can
execute on the user device 110. Managed applications 115 can allow
a user to communicate on an enterprise network with the management
server 130 to securely access files. This can allow a user to use
their own user device 110, such as a cell phone, in a work
environment while limiting access to work files (e.g., by providing
file access only to the managed applications). The user device 110
can communicate with the management server 130 over the network
using one or more modulators, demodulators, multiplexers,
demultiplexers, network communication devices, wireless devices,
antennas, modems, and any other type of device configured to enable
data communication through a communication network.
[0031] The management component 112 can include a device-level
component, such as an application programming interface (an "API"),
agent application, hypervisor, or virtualized device, and an
application-level component, such as an API, SDK, application
wrapper, or workspace agent application). The device-level
management component can include system level privileges. The
application-level management component can include privileges in
managed applications 115, which can be developed for operation with
the management server 130. Reference to the management component
112 is understood to include either or both of the device-level and
application-level components unless otherwise specified.
[0032] The management server 130 can interact with the management
component 112 with calls to an application (e.g., application
level) or the operating system (e.g., device level) of a user
device 110. In one example, based on a permissions control, the
management server 130 can turn functionality on and off within the
managed applications 115 through calling subroutines in the
management component 112. If a permission control specifies it, the
management server 130 can turn off functionality at the user device
110, such as printing, emailing, or Internet access. This can allow
for added security when viewing or editing particularly sensitive
document portions.
[0033] In addition, the management server 130 can utilize the
management component 112 to uninstall the secure bubble application
120. This can be done, for example, if the user device 110 is lost
or if an employee leaves the job.
[0034] In one example, a secure bubble application 120 can execute
on the user device 110. The secure bubble application 120 can be a
managed application 115 that is installed on the user device 110
from the management server 130, such as through communications with
the management component 112. The secure bubble application 120 can
run persistently on the user device 110, periodically checking for
upcoming or present calendar events. The user's calendar can be
maintained in another managed application 115, such as a calendar
application 121. Because the calendar application 121 is also
managed, the secure bubble application 120 can be implemented to
communicate with the calendar application 121. Alternatively, the
secure bubble application 120 can request calendar event
information from the management server 130 through the management
component 112.
[0035] When a calendar event approaches or occurs, the secure
bubble application 120 can notify the user by displaying a
notification, such as a notification bar, an icon, or icon with a
badge indicating the number of upcoming calendar events. The
notification can be displayed at a threshold time before or at the
start time of the calendar event. The notification can be placed on
a top display layer so that it is visible and selectable even when
another graphical user interface ("GUI") is being displayed. This
can ensure that the user is notified of the upcoming calendar
event. It can also allow the user to easily activate, for example
by tapping or clicking, the notification to receive further context
about the meeting.
[0036] The user can select the notification to reveal relevant
context around the calendar event. The secure bubble application
120 can determine and retrieve content relevant to the meeting
event from the other managed applications 115. In one example, the
secure bubble application 120 can utilize a managed search
application 122, which is designed to search for content in the
other managed applications 115. The managed search application 122
can search text, metadata, and tags for content generated or stored
in other managed applications 115 through use of the management
component 112, as further described below.
[0037] Although an example has been described where the managed
search application 122 and other applications 115 are managed, the
applications can also be unmanaged applications. In addition, the
management component 112 and management server 130 need not be
provided in all examples. For example, the applications executing
on the device can be developed using a software development kit,
API, or wrapped to provide the described search functionality. In
this way, the secure bubble application 120 can provide search
terms to a variety of different applications, and the applications
can return relevant results that can be displayed in an organized
fashion for a user.
[0038] FIG. 2 is an exemplary method executed in a system. At stage
202, the secure bubble application 120 can check for an upcoming
calendar event. In one example, this can include communicating with
the calendar application 121 through the management component 112.
In another example, the management component 112 or management
server 130 can notify the secure bubble application 120 of the
upcoming calendar event.
[0039] Upon determining an upcoming calendar event exists, the
secure bubble application 120 can cause the user device 110 to
display a notification to notify the user of the upcoming calendar
event.
[0040] At stage 204, the secure bubble application 120 can cause
the managed search application 122 to search other managed
applications 115 for content relevant to the calendar event. The
secure bubble application 120 can initiate the search in response
to the user selecting an option to retrieve relevant emails and
files in one example. The search can be performed by the managed
search application 122 or the various applications themselves, such
as e-mail application 123, content application 124, and notes
application 125, in examples.
[0041] In one example, the search is performed locally on the user
device 110. The user device 110 can locally store metadata for
emails, documents, notes, and other content, even when the
corresponding content is stored remotely on or at the direction of
the management server 130. In another example, further content is
searched at the management server 130.
[0042] In one example, the managed search application 122 can
compare tags from the calendar event to tags on content stored by
the other managed applications 115. Tags from the calendar event
can coincide with the calendar event information. For example,
various tags can represent the sender, the recipients, and the
location of the meeting. Additional tags can be gathered from any
attachments to the corresponding meeting invite.
[0043] The management server 130 and management component 112 can
implement a coordinated tagging system to facilitate tag-based
content searching. The management component 112 or management
server 130 can automatically determine and apply tags for different
documents, such as emails, word processing documents, drawings, and
notes. Example tags can include document authors, senders,
recipients, and editors. Other tags can include a title, keywords,
a location, or a date. Tags can be assigned to link common
documents or recurring meetings. For example, different document
versions can include a common document tag. Recurring or
rescheduled meetings can include a common meeting tag. Emails that
are part of a thread can similarly include a common tag. In this
way, a single content item or meeting event can include many
tags.
[0044] The managed search application 122 can provide some or all
of the tags gathered from the meeting event and attached files
(e.g., content items) as search inputs to each managed application
115. For example, the management component 112 can include a search
interface for the email application 123. The email application 123
can match the tags against tags that have been previously generated
for each email. The email application 123 can also eliminate
duplicate results by returning the most recent email in an email
thread before a threshold search date.
[0045] Similarly, the management component 112 can interface with
the content application 124, causing the content application 124 to
search for matching content items. The content application 124 can
be used to retrieve enterprise documents stored at a location
specified by the management server 130. The content application 124
can match search parameter tags against tags in the metadata of
each document. The management component 112 can similarly interface
with other managed applications 115, such as notes application 125,
which can search for relevant documents or content items.
[0046] Based on the searches, the managed applications 115 can
return one or more sets of content items, such as emails, files,
and notes. In one example, the managed applications 115 or secure
bubble application 120 can limit results to those content items
that exceed a threshold number or percentage of tag matches in one
example.
[0047] At stage 206, the search results can be ranked or
prioritized, and displayed. The results further can be ordered
based on percentage of tag matches and other weighting factors.
Additional weighting factors can include length of an email thread.
For example, longer emails can be prioritized first since a longer
email chain can indicate importance. More recent emails can also be
weighted for higher priority, to ensure that a recent email takes
precedent over an older email in the same email chain.
[0048] As another example, when a meeting is related or recurring,
relevant documents from the prior meeting can be prioritized
higher. The documents can be tagged based on which ones were
included as part of the prior meeting. In a subsequent meeting,
those documents can be rated highly so that they are likely to
appear towards the top of a recommended content list.
[0049] Weighting can be further assisted by permissions group
information stored at the management server 130. For example, a
content item associated with a permissions group to which the
participants of a meeting belong can be positively weighted.
Additionally, if a relevant content item is associated with a user
that belongs to a high-level permissions group, such as an
executive group, that content item can be more highly weighted.
[0050] The displayed prioritized results can include a subset of
the overall results. In one example, only the top four emails can
be displayed to save room on the GUI. A user can swipe away content
items, allowing additional results to be displayed on the GUI in
place of the swiped-away content items. In another example,
weighting of the search results can take into account a user's
swiping away of one or more content items. The search results can
then be reprioritized based on the user's input or indication that
one or more content items are not important.
[0051] The displayed list of prioritized content items can be
modified by a user and dynamically supplemented in one example.
This can be based on the user's selection of a particular content
item or meeting participant, which can cause additional related
content items to be retrieved.
[0052] For example, at stage 208, the secure bubble application 120
can detect user selection of a participant. Based on the selection,
the secure bubble application 120 can cause the managed search
application 122 to perform an additional search at stage 210 with
emphasis on the selected participant(s). This additional search can
return emails or documents involving the selected participant(s).
For example, the search criteria can require a tag associated with
the user to be present on the documents or emails. The additional
search can be a local search in one example by providing the
additional contextual information (e.g., the participant) as search
criteria to the other applications. Alternatively, the user device
110 can contact the management server 130 to request a search at
the management server 130, as illustrated in FIG. 2.
[0053] As another example, the user can select a content item at
stage 222, which can cause the managed search 122 to perform an
additional search within the other managed applications 115 with
emphasis on the selected content item at stage 228. The search can
return emails or notes involving the content item. Alternatively,
it can return alternate versions of the content item.
[0054] The results of the additional e-mail or content searches can
be displayed in new cards. The user can swipe to remove any card
from the display that is no longer needed. Accordingly, as a user
selects various items throughout the displayed cards, additional
searches can be performed based on contextual information
associated with the selected item, and the results of the
additional searches can be shown in new cards in an ordered
fashion. For example, assume a user opens a calendar notification
and selects to show relevant e-mail and relevant content. The
initial searches for e-mails and content relating to the meeting
can be based on, for example, the other attendees, the name of the
meeting, attachments to the meeting, reoccurrence of the meeting,
and other criteria. The results can be shown in a related e-mail
card and a related content card. Then, a user can select a
particular one of the e-mails from the e-mail card, which can
indicate that the user finds the particular e-mail to be relevant.
This can cause an additional search to be performed based on the
details of that e-mail, such as the subject, the sender, and the
time of the e-mail. A new card can be presented to the user with an
ordered list of e-mails relevant to the selected e-mail. A similar
search process can occur when a user selects a particular content
item, prior meeting notes, or other content.
[0055] Selecting a content item at stage 222 can also cause the
user device 110 to contact the management server 130 to retrieve
the content item, such as a document or email, at stage 224.
Whereas search metadata identifying the content item can exist
locally on the user device 110, the full document can be stored
remotely by the management server 130 or locally on the user device
110. When the documents are stored remotely, the relevant content
items can be downloaded to the user device 110 from the management
server 130.
[0056] Once the search results are returned, the secure bubble
application 120 can update the relevant content items at stages 212
and 226. This can include displaying a new card or supplementing
the existing list(s) of relevant content. Each application can rank
the search results to be returned and provide them in an ordered
list to the secure bubble application 120 or managed search
application 122. In other examples, the applications can return
search results to managed search application 122 or secure bubble
application 120, and the managed search application 122 or secure
bubble application 120 can determine an order for displaying the
search results. Additionally, a user can eliminate results that are
not relevant by swiping them off the card in one example. Swiping
away a content item can cause the secure bubble application 120 to
display a next relevant content item.
[0057] By selecting content items and participants, and swiping
away results that the user does not need, the user can quickly and
conveniently build a list of content needed for the meeting. The
user can select any of those content items to retrieve and view the
content item. And by doing so, more relevant content can
appear.
[0058] Similarly, the secure bubble application 120 can allow a
user to take notes in connection with the meeting event. Those
notes can be tagged by the management component 112 as related to
the meeting event. When a future related meeting occurs, such as in
the case of a recurring meeting, the secure bubble application 120
can include the notes as a relevant content item based on matching
the tag. This can include searching a notes application 125 in one
example.
[0059] FIGS. 3A-3G are exemplary illustrations of graphical user
interfaces provided by the secure bubble application 120. Turning
to FIG. 3A, when the secure bubble application 120 detects an
upcoming or ongoing calendar event, it can display a notification
310, which in this example takes the form of an icon. The
notification 310 can be displayed in front of existing graphics on
the user device 110.
[0060] When the user activates the notification 310, the secure
bubble application 120 can display a bubble card 312 that displays
calendar event information for the upcoming or ongoing calendar
event. The secure bubble application 120 can receive the calendar
event information from the calendar application 121 or management
server 130. The calendar event information can include attendees
317 (e.g., names and email addresses), start date and time,
location, subject content, body content, and attachments. Images
for the attendees can be retrieved from a server and automatically
populated, as shown in FIG. 3A.
[0061] The bubble card 312 can include a first option 315 to dial
into the meeting and a second option 316 to join the meeting
online. Selecting the first option 315 can cause a phone
application to activate (in a separate card) and dial into the
meeting. The relevant phone number and optionally a meeting number
and participant code can be automatically retrieved from the
calendar invite and provided to the phone application for automatic
dialing without further user interaction. Selecting the second
option 316 can cause the online meeting to launch in a browser
application or other specialized meeting application. The user can
navigate between cards in an example, such as is shown in FIG. 3D.
The options to dial in 315 and join an online meeting 316 can be
grayed out or otherwise unselectable up until a predetermined
amount of time prior to a meeting, such as five minutes. Once a
user can join the meeting, the options 315 and 316 can become
selectable and change color to indicate to a user that the meeting
can be joined.
[0062] The bubble card 312 can also include a content
recommendation option 318 and a notes option 319. Selecting the
content recommendation option 318 can cause the secure bubble
application 120 to search across the managed applications 115 as
described above.
[0063] In one example, different content types are presented in
different lists. For example, email, work files, and notes can be
presented separately. This can allow the user to find the most
relevant content items for each type of content.
[0064] Turning to FIGS. 3B and 3C, related email content is
presented in pane 314 and related content, such as documents or
videos, is presented in pane 316. Thus, the panes 314 and 316 are
cards that include different content types compared to one another.
The user can select a content item in either pane 314 and 316,
which can cause the user device 110 to open the content item and
perform an additional search based on the selected content item.
This can result in the addition of new relevant content to the
panes 314 and 316. The user can also select to go to their inbox
from the related e-mail pane 314 to view other e-mails that might
be relevant for the upcoming meeting. Similarly, a user can select
to go to additional content as shown in the related content pane
316.
[0065] The bubble card 312 can also include an option to take notes
319, as shown in FIG. 3A. Selecting the option can launch a managed
word processing application in one example. The management
component 112 can apply a tag to the notes document that links it
to the ongoing meeting or series of meetings in an example.
[0066] In another example, selecting the notes option 319 can cause
the secure bubble application 120 to launch a notes interface 330,
as shown in FIG. 3E. The notes interface 330 can include a region
for typing notes. In another example, the notes interface 330 can
also include a first option 331 for audio notes and a second option
332 to take a picture or capture video. Therefore, the notes can
include text, audio, images, video, or other media.
[0067] The secure bubble application 120 can save the notes in
association with the calendar event. To save the notes in this
manner, the secure bubble application 120 can use the content
application 124 in an example. Alternatively, a managed notes
application 125 can be used for note creation and storage.
[0068] The secure bubble application 120 can also email the notes
to one or more of the other participants using the email
application 123 after the meeting to provide a summary of the
meeting. As shown in FIG. 3E, the notes interface 330 can include
an option to share the notes with other participants. This can
cause the notes to be emailed to the other meeting attendees in one
example.
[0069] The secure bubble application 120 can save the notes in a
manner that links the notes to future related meetings. For
example, if the meeting is reoccurring, then the secure bubble
application 120 can include a tag with the notes that identifies
the reoccurring meeting or series of meetings. As shown in FIG. 3F,
saving the notes can cause the secure bubble application 120 to
display a confirmation notification 335 along with a notification
of a next meeting for which the notes will be relevant.
[0070] The secure bubble application 120 can retrieve the notes for
the next related meeting based on the stored tags. In one example,
a content search with tag comparisons can execute once the secure
bubble application 120 detects that a meeting is set to start
within a threshold amount of time. In another example, the user can
select a meeting in a calendar pane of a calendar application 121.
This can cause the secure bubble application 120 to locate and
display the relevant notes and other content items associated with
the meeting.
[0071] As shown in FIGS. 3G and 3H, the relevant content for a
related meeting can include the notes 350 from the prior meeting.
Relevant emails and other content generated since the prior meeting
can also be identified and displayed in panes 360 and 370. Separate
panes 360 and 370 can be used to separate content item types based
on the managed applications 115 from which they were retrieved.
[0072] The GUI can also include links to launch the managed
applications 115 from which the recommended content items are
retrieved. For example, the user can select "GO TO INBOX," and the
email application 123 can launch. In one example, the email
application 123 can open to a position where one of the recommended
emails is in view. This can give the user further context based on
other emails in proximity to the recommended email. This feature
can also allow the user to quickly retrieve another email that the
user knows precedes or is in response to the recommended email. In
one example, the user can select a recommended email before
selecting the option to go to the inbox. The selected email or the
secure bubble application 120 can provide an email identifier that
the email application 123 can use to locate the email and open the
inbox to a position where the email is in view.
[0073] The user can similarly open a content application 124 by
selecting "GO TO CONTENT." This can allow the user to, for example,
view different versions of a recommended document.
[0074] FIG. 4 is an example method for dynamic content
recommendation based on a calendar event. The method can be used
with the secure bubble application 120. Alternatively, an example
method can be used when opening a file from within a separate
application, as will be explained with respect to FIG. 5.
[0075] At stage 410, the system can gather tag information from a
calendar event. This can be performed by the management component
112 in one example. The tag information can identify a meeting or
series of meetings. The tag information can also identify attendees
and meeting location, including a portion of a uniform resource
locator for an online meeting location. The tag information can
include dial-in information. The tag information can further
include text from the calendar event, such as a meeting title or
keywords. The system can retrieve further tag information from any
attachments to the calendar event. Example tag information can
include creation and edit dates for a file, file title, and content
keywords.
[0076] At stage 420, the system can automatically perform a first
email search based on the tag information. In one example, the
managed search application 122 can initiate the email search by
supplying the tag information as search criteria to the email
application 123. The managed search application 122 can call
methods to initiate the search through use of the management
component 112 in an example where both the email application 123
and the search application 122 are managed applications 115. The
email application 123 can then search for emails that include
similar attributes to the tag information. In another example, the
management component 112 can utilize an API to cause a non-managed
email application to perform an email search. This can include
supplying search criteria in a format required by the API.
[0077] At stage 430, the system can perform a first document search
based on the tag information. Similar to the email search of stage
420, the managed search application 122 can execute the document
search by supplying the tag information as search criteria to the
content application 124. This can be done through the management
component 112 for a managed content application 124. Alternatively,
search criteria can be supplied to a non-managed content
application with one or more API calls.
[0078] The email and document searches of stages 420 and 430 can
occur locally on the user device 110 in one example. Managed
applications 115 and other applications can maintain metadata
locally for identifying files, such as emails and documents, even
when the file itself is stored at a server, such as management
server 130. In one example, the local metadata includes tag
information. The tag information supplied by the managed search
application 122 can be compared against the metadata to determine
which files contain the most relevant matches. In one example, the
managed application 115 responsible for the particular file type
can perform the comparison. For example, the email application 123
or content application 124 can compare the tag information to local
email or document metadata, rather than performing the search using
the managed search application 122. This can prevent having to
update the secure bubble application 120 each time a new version of
email application 123 or content application 124 would change the
searching process. However, in other examples, a search application
(whether managed or not) can search the different content sources
itself.
[0079] The managed search application 122 or secure bubble
application 120 can set a cutoff limit for the number of returned
search results. The cutoff limit can be based on the number of
content items likely to be displayed in a recommended content pane.
The cutoff limit can vary based on the screen size being used. For
example, a smartphone could display a list including three results,
whereas a larger table can display five results at once.
[0080] The email and document searches of stages 420 and 430 can
occur simultaneously in one example. In another example, the
managed search application 122 can wait for the results of one
search before performing another.
[0081] At stage 440, the system can prioritize the search results
based on relative numbers of tag matches for content items. In one
example, the individual managed applications 115 that perform the
searches can prioritize the results. In another example, the search
application 122 or secure bubble application 120 can prioritize.
Prioritization can take additional factors into account other than
just numbers of tag matches. For example, the system can prioritize
email relative to the length of the email. This can help capture a
longer thread while leaving a duplicative email from earlier in the
thread out of the prioritized results. Similarly, document edit
dates or version numbers can be used to initially prioritize the
most recent version of a document over prior versions.
[0082] At stage 450, the prioritized results are displayed. As
shown in FIGS. 3B and 3C, separate panes 314 and 316 can be used to
display prioritized results for different types of content
items.
[0083] In one example, meeting notes can be displayed separately
from other document types. They can also be retrieved separately
from other types of documents and emails in one example. At stage
460, the secure bubble application 120 can search for related
meeting notes.
[0084] The notes can be stored locally by the secure bubble
application 120 in one example. In another example, the managed
search application 122 can cause a notes application 125 to search
for related notes. A tag, such as a meeting identifier, can be
provided as a search input. The notes can be stored with a tag that
identifies a set of meetings in one example. By matching the tag
information, the located notes can be located and retrieved.
[0085] At stage 470, the secure bubble application 120 can
automatically display the notes 350, such as is shown in FIG. 3G.
In one example, this can allow the user to quickly see the content
of the notes without having to locate and open a document for the
notes. In another example, the notes can also be audio or visual,
as previously explained with respect to FIG. 3E. In that case, a
link to the notes can be displayed.
[0086] At stage 480, the secure bubble application 120 can receive
user selection of a content item from the prioritized results. The
selection can indicate that the user believes the content item is
relevant, should be kept in the results list, or should be opened.
Based on the selection, the secure bubble application 120 can
initiate an additional search to modify the prioritized
results.
[0087] At stage 490, the secure bubble application 120 can gather
tag information from the selected content item. The tag information
can be used in an additional search. In one example, the additional
search is only with respect to the results list to which the
selected content items belong. When an email is selected, a second
email search can be performed at stage 420. For example, tags
indicating the author, recipients, subject, and date of the email,
along with tags from an attachment, can be used to perform the
additional search for more email with matching tags. Alternatively,
when a document is selected, a second document search can be
performed at stage 430. The tags from the selected content item can
be used to search other content types.
[0088] For example, tags indicating the authors, edit dates,
keywords, and document type, can be used to perform the additional
search for more documents with matching tags.
[0089] The additional search results can be displayed in an
additional card. Alternatively, the additional search results can
be used to reprioritize results in an existing card. Additional
cards can be ordered in a stack of cards with like content types in
one example. This can help the user find a document of a particular
content type more easily, and swipe away results or entire cards
that are not relevant.
[0090] In one example, the displayed results are reprioritized upon
completion of the additional search. For example, the secure bubble
application 120 can maintain a relevance score for each content
item in a results list, including content items that are not yet
ranked high enough to be displayed. Additional searches can add new
content items to the results, which are reprioritized based on
relevance scores. If an additional search for recommended items
returns a content item that already exists in the results list, the
secure bubble application 120 can increase the relevance score of
that content item. If an additional search for eliminated items
(explained below) returns a common content item, the relevance
score of that content item can be decreased.
[0091] Additionally, the secure bubble application 120 can track
which content items the user eliminates from the results.
Eliminating a content item can cause the next-highest prioritized
content item to be displayed. Additionally, when an additional
content search is performed, the secure bubble application 120 can
remove a previously-eliminated content item or related content
items from the search results.
[0092] In one example, removed content items can influence the
prioritization of additional content items. The secure bubble
application 120 can gather tag information from an eliminated
content item at stage 490 and cause the managed search application
122 to perform a second search for content items related to the
eliminated content item. The search application 122 can compare the
results of the second search to recommended content items from a
first search, and negatively weight content items that are common
to both searches. This can reduce the likelihood that the user is
presented with additional content items that the user finds
irrelevant.
[0093] When a content item is removed, the next highest prioritized
result can be added to the bottom of the recommended content list.
In one example, the secure bubble application 120 can dynamically
update the prioritized list of content items to recommend each time
the user selects a content item to view, marks a content item to
keep in the list, or removes a content item from the list.
[0094] FIG. 5 is an exemplary illustration of a graphical user
interface for opening a content item from within an application
outside the secure bubble application 120. In this example, the
application is POWERPOINT. Other example non-managed applications
can include word processors or email clients.
[0095] Even though POWERPOINT itself is not a managed application,
in one example the user can open a document associated with a
managed application 115. For example, when the user selects an
option 510 to open a document from within POWERPOINT, a documents
pane of potential documents can be displayed.
[0096] Instead of displaying only non-managed content items, the
management component 112 can execute a search process to recommend
managed content based on meeting events. The management component
112 can select the managed application that performs the searching
based on the type of document that POWERPOINT can open. For
example, the management component can determine that POWERPOINT
documents can be stored in the managed content application 124.
Consequently, the management component 112 can cause the content
application 124 to perform a recommended document search for
documents to open within POWERPOINT. This can result in POWERPOINT
displaying a list of recommended managed documents that are
recommended by the system based on the methods described above.
[0097] The management component 112 and content application 124 can
populate and prioritize the recommended list based on relevant
documents for an upcoming meeting event. The management component
112 can cause the content application 124 to match tags from a
meeting event to available content items. Example contextual tags
have been discussed above. For example, a tag can indicate that a
user authored, modified, sent, or received the document. Based on
relative and threshold tag similarities, as described above, the
content application 120 can supply an ordered list of relevant
content items to the word processing application. The search or
results can be tailored to a particular set of document types that
can be opened in the non-managed application. In this way, the
management component 112 can employ similar recommendation methods
of the secure bubble application 120 to other contexts, such as
selecting a document to open.
[0098] Recommended content can be displayed in a first portion 520
of the document pane. A second portion 530 of the document pane can
display recent files. Thus, prioritized results from the management
component 112 can be combined with non-managed content
recommendations by the non-managed application.
[0099] The user can also select an option to see other content 540,
which can allow the user to browse for a file. Another option, such
as "SHOW MORE," can cause additional prioritized results to be
displayed. In one example, if the user selects a content item and
then selects "SHOW MORE," an additional search can be performed
based on tags in the selected content item. An additional card or
pane can display the additional prioritized results.
[0100] Other examples of the disclosure will be apparent to those
skilled in the art from consideration of the specification and
practice of the examples disclosed herein. Though some of the
described methods have been presented as a series of steps, it
should be appreciated that one or more steps can occur
simultaneously, in an overlapping fashion, or in a different order.
The order of steps presented are only illustrative of the
possibilities and those steps can be executed or performed in any
suitable fashion. Moreover, the various features of the examples
described here are not mutually exclusive. Rather any feature of
any example described here can be incorporated into any other
suitable example. It is intended that the specification and
examples be considered as exemplary only, with a true scope and
spirit of the disclosure being indicated by the following
claims.
* * * * *