Microsoft Patent | Privacy safeguards for projecting content onto a shared display device
Patent: Privacy safeguards for projecting content onto a shared display device
Drawings: Click to check drawins
Publication Number: 20210097208
Publication Date: 20210401
Applicant: Microsoft
Abstract
A technique allows a user to project content onto a shared display region in a controlled manner. The technique involves receiving context information that describes a context in which a user is currently interacting with a local user computing device. The technique then determines, based on policy logic and the context information, whether it is appropriate to invoke a private state, or to remove the private state and enter a shared state. The private state involves presenting a privacy screen on one or more shared display regions. The local user computing device remains connected to the display device(s) that host the shared display region(s) while operating in both the private state and the shared state. According to one advantage, the technique eliminates or reduces the risk that the user will inadvertently release private information to others; further, it does so without asking the user to perform burdensome preparatory actions.
Claims
-
One or more computing devices for displaying content, comprising: hardware logic circuitry, the hardware logic circuitry including: (a) one or more hardware processors that perform operations by executing machine-readable instructions stored in a memory, and/or (b) one or more other hardware logic units that perform the operations using a task-specific collection of logic gates, the operations including: receiving plural signals that provide context information, the context information describing a context in which a user is currently interacting with a local user computing device; determining, based on policy logic and the context information, whether it is appropriate to invoke a private state, or to remove the private state and enter a shared state, the private state corresponding to a state in which the local user computing device displays content on one or more shared display regions provided by one or more shared-region-hosting display devices, the content operating as a privacy screen that blocks at least one display item that would be projected by the local user computing device to said one or more shared display regions, but for the privacy screen, and the shared state corresponding to a state in which the privacy screen is removed; and generating the privacy screen when said determining ascertains that it is appropriate to enter the private state, and displaying the privacy screen on said one or more shared display regions, the local user computing device remaining connected to said one or more shared-region-hosting display devices while in both the private state and the shared state.
-
The one or more computing devices of claim 1, wherein, in the private state, the local user computing device displays one or more display items on one or more private display regions provided by one or more private-region-hosting display devices, and wherein the privacy screen blocks presentation of said one or more display items.
-
The one or more computing devices of claim 1, wherein the plural signals include at least one signal that indicates that the user has provided a command that requests the local user computing device to enter the private state or the shared state.
-
The one or more computing devices of claim 1, wherein the plural signals include at least one signal that indicates that the user has manually connected the local user computing device to at least one shared-region-hosting display device, or the local user computing device has automatically connected to said at least one shared-region-hosting display device, and wherein said determining ascertains, based on the policy logic and said at least one signal, that it is appropriate to enter the private state.
-
The one or more computing devices of claim 1, wherein the plural signals include at least one signal that indicates that the user has interacted with a particular program function or application provided by the local user computing device.
-
The one or more computing devices of claim 5, wherein the policy logic indicates that information that reveals interaction by the user with the particular program function or application is not to be shared with others user, and wherein said determining ascertains, based on the policy logic and said at least one signal, that it is appropriate to transition from the shared state to the private state.
-
The one or more computing devices of claim 5, wherein the policy logic indicates that the user interacts with the particular program function or application when the user wishes to share content with one or more other users, and wherein said determining ascertains, based on the policy logic and said at least one signal, that it is appropriate to transition from the private state to the shared state.
-
The one or more computing devices of claim 1, wherein the plural signals include at least one signal that identifies a kind of at least one shared-region-hosting display device to which the local user computing device is currently connected.
-
The one or more computing devices of claim 1, wherein the plural signals include at least one signal that identifies a current location of the user.
-
The one or more computing devices of claim 1, wherein the plural signals include: at least one signal that specifies an identity of at least one other user who is interacting with said one or more shared display regions, or is expected to interact with said one or more shared display regions; and at least one signal that provides permission information that describes an extent to which said at least one other user has been given permission to view content provided by the user of the local user computing device.
-
The one or more computing devices of claim 1, wherein the plural signals include: at least one signal that identifies a current configuration of a user interface presentation with which the user is currently interacting; and/or at least one signal that identifies a current graphical object on the user interface presentation which the user is presumed to be currently focusing on.
-
The one or more computing devices of claim 1, wherein said generating of the privacy screen includes presenting default display content on said one or more shared display regions, in lieu of said at least one display item that that would be displayed in said one or more shared display regions, but for the privacy screen.
-
The one or more computing devices of claim 12, wherein the default display content conveys information about the user of the local user computing device, and/or information previously selected by the user.
-
The one or more computing devices of claim 12, wherein the default display content corresponds to content that has been previously presented on said one or more shared display regions in a current presentation session.
-
The one or more computing devices of claim 12, wherein the default display content includes content supplied by the local user computing device and at least one other local user computing device, said at least one other local user computing device also having access to said one or more shared-region-hosting display devices.
-
The one or more computing devices of claim 1, wherein the operations further comprise receiving configuration information that specifies at least: a status of at least one location as being private or shared; a status of at least one display device as being private or shared; and a status of at least one program function as being private or shared.
-
The one or more computing devices of claim 1, wherein at least one shared display region includes content provided by the user and at least one other user.
-
The one or more computing devices of claim 1, wherein at least one private display region and/or at least one shared display region is a virtual display produced by a mixed-reality device.
-
A method for presenting content, comprising: receiving plural signals that provide context information, the context information describing a context in which a user is currently interacting with a local user computing device, at least one signal of the plural signals indicating that the user has manually connected the local user computing device to one or more shared-region-hosting display devices, or the local user computing device has automatically connected to said one or more shared-region-hosting display devices; determining, based on policy logic and said at least one signal, that it is appropriate to enter a private state, the private state corresponding to a state in which the local user computing device displays content on one or more shared display regions provided by said one or more shared-content-hosting display devices, the content operating as a privacy screen that blocks at least one display item that would be projected by the local user computing device to said one or more shared display regions, but for the privacy screen, the shared state corresponding to a state in which the privacy screen is removed; generating the privacy screen; displaying the privacy screen on said one or more shared display regions; and subsequently determining, based on the policy logic and updated context information, that it is appropriate to transition from the private state to the shared state, the updated context information indicating that the user has explicitly requested the local user computing device to enter the shared state, or the user has performed a program function that indicates that the user wishes the local user computing device to enter the shared state.
-
A computer-readable storage medium for storing computer-readable instructions, the computer-readable instructions, when executed by one or more hardware processors, performing a method that comprises: receiving plural signals that provide context information, the context information describing a context in which a user is currently interacting with a local user computing device; determining, based on policy logic and the context information, whether it is appropriate to invoke a private state, or to remove the private state and enter a shared state, the private state corresponding to a state in which the local user computing device displays first content on one or more private display regions provided by one or more private-region-hosting display devices, while simultaneously presenting second content on one or more shared display regions provided by one or more shared-region-hosting display devices, the second content operating as a privacy screen that blocks at least one display item that would be projected by the local user computing device to said one or more shared display regions, but for the privacy screen, and the shared state corresponding to a state in which the privacy screen is removed.
Description
BACKGROUND
[0001] A user can use different techniques to project content onto a shared screen provided by a display device. A shared screen corresponds to any display surface that is set up or otherwise intended for viewing by two or more people. For instance, assume that a user is currently located in a conference room and is interacting with a laptop computing device having a local display screen. Assume that the conference room also includes a projector device that displays a shared screen for viewing by all users in the conference room. The user may couple the laptop computing device to the projector device, e.g., by connecting the laptop computing device to the projector device via a physical cable. In one configuration, this action will prompt the laptop computing device to immediately mirror all content presented on the local display screen (of the laptop computing device) on the shared screen. The user can alternatively interact with an individual application running on the laptop computing device to cast content onto the shared screen, e.g., using application-specific functionality provided by the application. While widely used, these techniques sometimes fail to provide a satisfactory user experience.
SUMMARY
[0002] A technique is described herein for controlling the projection of content onto a shared display region, e.g., by governing how information is shared when a local user computing device sets up a connection with a display device, and how information is shared during a user’s subsequent interaction with that local user computing device. According to one illustrative implementation, the technique involves receiving plural signals that provide context information. The context information describes a context in which the user is currently interacting with the local user computing device. The technique then determines, based on policy logic and the context information, whether it is appropriate to invoke a private state, or to remove the private state and enter a shared state. The private state corresponds to a state in which the local user computing device displays a privacy screen on one or more shared display regions provided by one or more shared-region-hosting (SRH) display devices. The privacy screen blocks at least one display item that would be projected by the local user computing device to the shared display region(s), but for the privacy screen. In contrast, the shared state corresponds to a state in which the privacy screen (and the blocking function imposed thereby) is removed. The technique then displays content on the display device(s) in conformance with the identified state (e.g., either the private state or the shared state).
[0003] According to one illustrative feature, in the private state, the local user computing device displays one or more display items on one or more private display regions provided by one or more private-region-hosting (PRH) display devices. Simultaneously therewith, the privacy screen blocks the presentation of those display item(s) on the shared display region(s).
[0004] According to another illustrative feature, the technique can immediately enter the private state when the user first connects the local user computing device to an SRH display device, such as a conference room projector device. The technique can then transition to the shared state when the user gives an explicit command to do so, or when the user otherwise performs an action that evinces the user’s intent to share content with others. The technique can transition back to the private state at any time, upon the user’s explicit command to do so or upon the user performing an action that conveys his or her intent to hide content from others.
[0005] According to one illustrative advantage, the technique eliminates or reduces the risk that the user will inadvertently release private information to others. Private information corresponds to any content that the user wishes to conceal from others for any reason. Furthermore, the technique protects private information without asking the user to perform burdensome preparatory actions. For instance, the technique does not expect the user to disconnect the local user computing device from an SRH display device in order to block the presentation of private information. Nor does the technique ask the user to perform the disruptive operation of purging a private display region of personal content before connecting to the SRH display device. Still other advantages are set forth below in the Detailed Description.
[0006] The above-summarized technique can be manifested in various types of systems, devices, components, methods, computer-readable storage media, data structures, graphical user interface presentations, articles of manufacture, and so on.
[0007] This Summary is provided to introduce a selection of concepts in a simplified form; these concepts are further described below in the Detailed Description. 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
[0008] FIG. 1 describes the operation of a presentation control system (PCS), in the context of one illustrative scenario.
[0009] FIG. 2 shows a state diagram used by the PCS to control the transition between a private state and a shared state.
[0010] FIG. 3 shows one implementation of the PCS of FIG. 1.
[0011] FIG. 4 shows various possible implementations of policy logic, which the PCS of FIG. 3 uses to determine whether to enter the private state or the shared state.
[0012] FIG. 5 shows additional illustrative components of the PCS of FIG. 3.
[0013] FIG. 6 shows an illustrative configuration user interface presentation that the PCS of FIG. 3 can present to a user.
[0014] FIG. 7 shows illustrative computing equipment that can be used to implement the PCS of FIG. 3.
[0015] FIG. 8 shows display devices that can be used to present content using the PCS of FIG. 3.
[0016] FIG. 9 shows an example of a local user computing device that provides at least one private display region and at least one shared display region.
[0017] FIG. 10 shows an example of a display device that provides plural shared display regions.
[0018] FIG. 11 shows an example of a display device that presents a mixed-reality environment, which, in turn, may host one or more private display regions and/or one or more shared display regions.
[0019] FIG. 12 is a flowchart that shows an overview of one manner of operation of the PCS of FIG. 3.
[0020] FIG. 13 is a flowchart that shows one manner of operation of the PCS with respect to a particular use scenario.
[0021] FIG. 14 shows an illustrative type of computing device that can be used to implement any aspect of the features shown in the foregoing drawings.
[0022] The same numbers are used throughout the disclosure and figures to reference like components and features. Series 100 numbers refer to features originally found in FIG. 1, series 200 numbers refer to features originally found in FIG. 2, series 300 numbers refer to features originally found in FIG. 3, and so on.
DETAILED DESCRIPTION
[0023] This disclosure is organized as follows. Section A describes a computing system for controlling the projection of information onto display devices. Section B sets forth illustrative methods that explain the operation of the computing system of Section A. And Section C describes illustrative computing functionality that can be used to implement any aspect of the features described in Sections A and B.
[0024] As a preliminary matter, the term “hardware logic circuitry” corresponds to one or more hardware processors (e.g., CPUs, GPUs, etc.) that execute machine-readable instructions stored in a memory, and/or one or more other hardware logic units (e.g., FPGAs) that perform operations using a task-specific collection of fixed and/or programmable logic gates. Section C provides additional information regarding one implementation of the hardware logic circuitry. In some contexts, each of the terms “component,” “engine,” and “tool” refers to a part of the hardware logic circuitry that performs a particular function.
[0025] In one case, the illustrated separation of various parts in the figures into distinct units may reflect the use of corresponding distinct physical and tangible parts in an actual implementation. Alternatively, or in addition, any single part illustrated in the figures may be implemented by plural actual physical parts. Alternatively, or in addition, the depiction of any two or more separate parts in the figures may reflect different functions performed by a single actual physical part.
[0026] Other figures describe the concepts in flowchart form. In this form, certain operations are described as constituting distinct blocks performed in a certain order. Such implementations are illustrative and non-limiting. Certain blocks described herein can be grouped together and performed in a single operation, certain blocks can be broken apart into plural component blocks, and certain blocks can be performed in an order that differs from that which is illustrated herein (including a parallel manner of performing the blocks). In one implementation, the blocks shown in the flowcharts that pertain to processing-related functions can be implemented by the hardware logic circuitry described in Section C, which, in turn, can be implemented by one or more hardware processors and/or other logic units that include a task-specific collection of logic gates.
[0027] As to terminology, the phrase “configured to” encompasses various physical and tangible mechanisms for performing an identified operation. The mechanisms can be configured to perform an operation using the hardware logic circuitry of Section C. The term “logic” likewise encompasses various physical and tangible mechanisms for performing a task. For instance, each processing-related operation illustrated in the flowcharts corresponds to a logic component for performing that operation. A logic component can perform its operation using the hardware logic circuitry of Section C. When implemented by computing equipment, a logic component represents an electrical element that is a physical part of the computing system, in whatever manner implemented.
[0028] Any of the storage resources described herein, or any combination of the storage resources, may be regarded as a computer-readable medium. In many cases, a computer-readable medium represents some form of physical and tangible entity. The term computer-readable medium also encompasses propagated signals, e.g., transmitted or received via a physical conduit and/or air or other wireless medium, etc. However, the specific term “computer-readable storage medium” expressly excludes propagated signals per se, while including all other forms of computer-readable media.
[0029] The following explanation may identify one or more features as “optional.” This type of statement is not to be interpreted as an exhaustive indication of features that may be considered optional; that is, other features can be considered as optional, although not explicitly identified in the text. Further, any description of a single entity is not intended to preclude the use of plural such entities; similarly, a description of plural entities is not intended to preclude the use of a single entity. Further, while the description may explain certain features as alternative ways of carrying out identified functions or implementing identified mechanisms, the features can also be combined together in any combination. Further, the term “plurality” refers to two or more items, and does not necessarily imply “all” items of a particular kind, unless otherwise explicitly specified. Finally, the terms “exemplary” or “illustrative” refer to one implementation among potentially many implementations.
[0030] A. Illustrative Computing System
[0031] FIG. 1 shows a scenario that conveys illustrative aspects of the operation of a presentation control system (PCS). (“Presentation” as used herein generally refers to providing information of any kind(s) in any context(s).) In this scenario, a user 102 performs a first operation by connecting a local user computing device 104 to a projector device (not shown) within a meeting room. For instance, the user 102 can perform this task by manually connecting these two devices together via a physical cable, such as a High-Definition Multimedia Interface (HDMI) cable. Alternatively, the local user computing device 104 can wirelessly connect to the projector device in automatic fashion, or upon instruction from the user 102.
[0032] In the merely illustrative case of FIG. 1, the local user computing device 104 corresponds to a laptop computing device having a key entry device 106 (such as a physical keyboard) and an optional local display device 108 (such as a Liquid-Crystal display (LCD) device). The local display device 108 presents content on a local screen. The projector device presents content on a shared screen 110. In this arrangement, the local display device 108 provides a private display region on the local screen, while the projector device provides a shared display region on the shared screen 110. A private display region corresponds to any display surface that is set up or otherwise intended to provide content for the consumption of a single user (e.g., the user 102). A shared display region corresponds to any display surface that is set up or otherwise intended to provide content for the consumption of two or more users, such as the user 102 and one or more other users 112 in the meeting room. In other cases, the user(s) 112 can interact with a version of the shared screen 110 from one or more remote locations, e.g., via their own respective user computing devices.
[0033] In the terminology used in this document, the local display device 108 is an example of a private-region-hosting (PRH) display device because it provides (or hosts) a private display region. The projector device is an example of a shared-region-hosting (SRH) display device because it provides (or hosts) a shared display region. Here, the PRH display device is a different physical device than the SRH display device. But in other cases, a single display device can host at least one private display region and at least one shared display region; this make the single display device both a PRH display device and an SRH display device. As will be clarified below, other applications of the PCS can omit the use of PRH display devices altogether.
[0034] The PCS operates at any given time in either a private state or a shared state. In the private state, the PCS displays a privacy screen on the shared display region of the shared screen 110. The privacy screen operates to block the projection of at least one display item by the local user computing device 104 (or other source(s)), which would occur but for the use of the privacy screen. The shared state removes the privacy screen, and therefore removes the blocking function performed by the privacy screen.
[0035] In the merely illustrative example of FIG. 1, in the private state, the PCS presents first content on the private display region and second content on the shared display region. The second content is different than the first content, at least in part, because it omits at least one display item that appears in the first content. Collectively, the second content is also referred to herein as a privacy screen. It constitutes a privacy screen insofar as it effectively blocks the projection of at least one display item, which would appear on the shared display region, but for the privacy screen. In the shared state, the PCS removes the privacy screen. This mirroring behavior is set forth in the spirit of illustration, not limitation. As will be clarified below, in other scenarios, the privacy screen can block the projection of content from the local user computing device 104 (or any other source), where that content does not concurrently appear on the private display region.
[0036] More specifically, in the concrete example of FIG. 1, at time t1 the PCS immediately invokes the private state when the local user computing device 104 connects to the projector device. This will cause the PCS to display a privacy screen 114 on the shared display region provided by the projector device. At the same time, the PCS (optionally) displays private content on the private display region provided by the local display device 108. In this case, the privacy screen 114 blocks the presentation of all of the private content that appears in the private display region, which would otherwise be projected onto the shared screen 110. In other cases, the privacy screen 114 can omit only some (but not all) of the private content that appears in the private display region. In still other cases, the privacy screen 114 blocks the projection of content on the shared display region that does not have counterpart content that concurrently appears in the private display region.
[0037] After connecting to the projector device, assume that the user 102 begins interacting with a file system provided by the local user computing device 104 to locate a desired slide deck. In response, the local user computing device 104 will display a user interface (UI) element 116 (such as a file-picker control element) that allows the user 102 to browse through files stored in the local user computing device 104. The privacy screen 114, by contrast, blocks the presentation of the UI element 116. Instead of the UI element 116, the privacy screen 114 shows default display content. Here, the default display content shows a picture of the user 102, together with textual information that describes user 102. The default display content also informs the other user(s) 112 in the meeting room that the user 102 is about to commence a presentation. Assume in this case that the presentation bears the title “Coding with C#.” This information is merely illustrative. For instance, assume that the current meeting represents a latest instance of a weekly meeting; here, the privacy screen can include notes from the prior week’s instance of the meeting.
[0038] At time t2, assume that the user 102 performs an action that causes the PCS to transition from the private state to the shared state. For instance, the user 102 can issue an explicit command to enter the shared state, e.g., by activating a hard “share” key provided on the key entry device 106, by activating a soft “share” control element on a touch-sensitive surface provided by the local display device 108, performing a touch gesture on the touch-sensitive surface, issuing a voice command, and so on. The key entry device 106, for instance, may include two keys 118 that allow the user 102 to instruct the PCS to enter and leave the private state, respectively. The touch-sensitive surface provided by the local display device 108 includes two graphical control elements 120 that allow the user 102 to instruct the PCS to enter and leave the private state, respectively. Alternatively, the user 102 can perform an action that the PCS interprets as a request enter the shared state and commence sharing content with the other user(s) 112. For example, the user 102 can command a slide presentation application to begin a slide presentation; the PCS interprets this action as a request to enter the shared state. The PCS can invoke the private state in response to yet other factors, as will be described in greater below.
[0039] Upon entering the shared state, the PCS projects content from the local user computing device 104 to the shared display regions. In some but not all cases, this operation involves duplicating (mirroring) at least some of the content that is presented on the local screen (of the local display device 108) on the shared screen 110 (provided by the projector device). More specifically, the PCS can operate according to different screen-mirroring modes within the shared state. In a full-screen mirror mode, the PCS can duplicate all of the contents being presented on the local screen on the shared screen 110. In another mode, the PCS can duplicate only some information presented on the local screen on the shared screen 110. For example, the PCS can mirror just the content that is presented by a particular application. Or presume that the local user computing device 104 is currently configured to partition its display space on the local screen into two or more sub-screens; here, the PCS can mirror the contents of one or more sub-screens, but not necessarily all of the sub-screens. In an extend mode, a shared display region may represent, at least in part, an extension of a private display region. But to simplify the following explanation, assume that the PCS operates to mirror the entire contents of the local screen on the shared screen 110. In the specific example of FIG. 1, the local screen is currently showing the first slide 122 of the user’s slide presentation, bearing the title “Coding with C#.” Upon entering the shared state, the PCS mirrors the content of the local screen such that the same slide 122 appears on the both of the local display screen and the shared screen 110. To repeat, the mirroring scenario shown in FIG. 1 is merely illustrative. In yet other cases, the PCS projects content from the local user computing device 104 without any expectation that the content is also presented on the local screen of the local user computing device. In the context of FIG. 1, this means that the PCS can project the first slide 122 of the presentation without also presenting this slide 122 on the private display region.
[0040] At time t3, assume that the user 102 decides to again enter the private state. For example, assume that the user 102 wants to interact with an Email application for some purpose that is related or unrelated to the presentation the user 102 is currently delivering to the user(s) 112. For instance, assume that the user 102 has received an urgent Email message from his son, and wishes to tend to this Email message during the course of his slide presentation. Further assume that the user 102 does not wish the other user(s) 112 to see the user’s interaction with the Email application. For example, the user 102 may not wish to divulge the contents of any Email message to other people. Alternatively, or in addition, the user 102 may not wish to distract the other user(s) 112 by showing them user interface operations that are extraneous to the purpose of the user’s presentation.
[0041] To enter the private state, the user 102 can make an explicit command to do so in any way described above. For example, the user 102 may press a hard “hide” key on the key entry device 106, or a graphical “hide” control element presented on the touch-sensitive surface. Alternatively, the user 102 can perform an action that the PCS automatically interprets as an attempt to enter the privacy state. For example, assume that the user 102 clicks on an icon associated with the Email application in a task bar (not shown) of the private display region. This will cause the Email application to display a graphical element 124 in the private display region. The PCS can interpret the user’s activation of the Email application as an implicit request to enter the private state. This, in turn, will cause the PCS to display a new privacy screen in the shared display region. The privacy screen blocks the graphical element 124 presented in the private display region from appearing in the shared display region. Again, the PCS can decide to invoke the private state in response to yet other triggering factors, as will be described below.
[0042] In this merely illustrative case, the privacy screen includes a static image of the last slide 126 that the user 102 presented in the shared display region, prior to activating the Email application. The privacy screen also optionally includes a message “Be right back … ” 128 that alerts the other user(s) 112 that the user 102 has temporarily suspended the slide presentation. In another case, the message 128 can alert the other user(s) 112 of the general task that the user 102 is performing without otherwise divulging specific personal information, e.g., by reading “Be right back, I’m responding to an urgent Email.” The PCS can retrieve this default message from a lookup data store, based on knowledge that the user 102 has receive a message flagged as urgent (!) and based on the fact that the user 102 has activated the Email application. Or the user 102 can manually supply this message in real time, e.g., by typing it in via the key entry device 106.
[0043] Assume that after tending to the Email-related task, the user 102 closes the Email application and re-invokes the shared state. The user 102 can perform this task by issuing an explicit command to do so, or by performing an operation that the PCS interprets as request to enter the shared state. For example, the PCS can automatically re-invoke the shared state when the user 102 closes or minimizes the Email application.
[0044] At time t4, assume that the user 102 has finished his slide presentation. Assume that the private display region and the shared display region both show the last slide 130 of the user’s presentation at this time. (In another case, note that the private display region need not show the last slide.) At this juncture, the PCS can again invoke the private state, causing it to generate a new privacy screen. Here, the privacy screen contains a “frozen” image of the last slide 130, or any other prior content presented in a current presentation session. Although not shown, the privacy screen can also include dynamically-changing information, such as questions by the other user(s) 112, which they have sent to the user 102.
[0045] The privacy screen also shows a message 132 that displays information regarding a next slide presentation (if any) to be delivered by another presenter. More specifically, assume that a new presenter 134 is set up to use her own local user computing device 136 to deliver her presentation. Further assume that the local user computing device 136 includes its own local instantiation of the PCS that presents the message 132 on the shared display region. The scenario in FIG. 1 therefore serves as an example in which two or more people can contribute to a shared display region. More specifically, FIG. 1 serves as an example in which two or more people may contribute to content presented on the same privacy screen. In another example, the PCS generates a split privacy screen having two parts. The user’s PCS presents a first privacy screen on one half of the shared display region, while the next presenter’s PCS presents a second privacy screen on the other half of the shared display region.
[0046] The PCS provides a number of advantages, which can be conveyed in the context of the above-described illustrative scenario. As an overall benefit, the PCS reduces the risk that he user 102 will inadvertently reveal private content on the shared display region to the other user(s) 112. This is because the PCS provides a mechanism (e.g., the privacy screen) for blocking the presentation of private information, either at the explicit request of the user 102 and/or in response to other contextual signals (described below).
[0047] As a related benefit, the PCS simplifies the user interface operations that the user 102 is expected to perform in the course of delivering shared content. For example, in previous approaches, a local user computing device may immediately begin mirroring everything that appears in its local screen on a shared screen when the local user computing device connects to a projector device. To guard against this outcome, the user would need to purge the local screen of any personal content prior to connecting to the projector device. Note that this problem also exists when the local user computing device projects content that does not have a visual counterpart on the local screen of the local user computing device. Here, there remains a risk that, upon connecting to a projector device, the local user computing device 104 may immediately start projecting private content on a shared screen. In the very least, the user may be unsure as to what content the local user computing device will choose to project on a shared screen when a connection is made. The PCS described above addresses this problem by immediately entering the private state when the user 102 connects the local user computing device 104 to the projector device. This manner of operation will block the presentation of private content on the shared display region. This also eliminates or reduces the need for the user 102 to perform preparatory user interface operations to remove private content from the private display region prior to connecting to the projector device, or to take special efforts to stop applications and other source(s) from sending private content to a shared display screen.
[0048] For related reasons, the PCS allows the user 102 to perform private transactions during the course of a presentation without revealing private content and without performing burdensome preparatory actions. In previous approaches, by contrast, a user 102 may block the presentation of private content by physically disconnecting the local user computing device from the projector device. This operation is burdensome for the user to perform. Moreover, it is disruptive to the flow of the user’s presentation.
[0049] As a further advantage, the PCS allows the subsequent presenter 134 to connect to the projector device without disrupting an ongoing presentation being delivered by the first user 102. This is helpful because it facilitates the smooth transition between presenters. It also assures the new presenter 134 that she has successfully connected to the projector device in advance of the start of her presentation. In previous approaches, a next presenter may experience significant stress while waiting to deliver his or her presentation, being unsure as to whether he or she will encounter technical difficulties in setting up the presentation. In these approaches, the next presenter cannot connect to a projector device while a current presenter is presenting content because this act may cause that current presenter to be disconnected from the projector device. The first presenter can also benefit from the above-described system behavior. For instance, the first presenter can connect to the projector device a few minutes prior to the start of his presentation, but without yet showing the first slide of his presentation on the shared display region. This will help allay the first presenter’s anxiety about successfully launching his presentation. In some implementations, the PCS can provide a confirmation message that informs a presenter when the local user computing device 104 has successfully connected to the projector device. For instance, the message 132 can serve this purpose.
[0050] As another benefit, the PCS provides a way of resolving conflicts between different components as to how and when information is projected on a shared display region. Without the use of the PCS, for example, an application and its operating system may provide conflicting rules as to the circumstances in which content is projected to a shared display region, leading to potential contention among different components. This potential conflict, in turn, may leave a user unsure of if, how, and when content will be projected onto the shared display region. The PCS described above resolves these issues by serving as a central agent that controls the presentation of content on private and shared display regions. For instance, an application may include a program function that operates to mirror content on a shared display region. When the user 102 invokes this feature, the PCS takes this event into account in determining how to present content on a shared display region, in possible conjunction with other contextual factors.
[0051] As another characteristic, note that, in presenting the shared state, the PCS partitions a display space into parts, including an optional private part (presented in the private display region(s)) and a shared part (presented in the shared display region(s)). The PCS can leverage the bifurcated nature of its display space to construct different kinds of privacy screens that complement different respective contexts and display objectives. In previous approaches, by contrast, an operating system treats display content to be displayed as a single undifferentiated block, that is, by presenting the same information on the local and shared screens. The use of a monolithic display space also means that an operating system cannot realize the kinds of complex display-related behaviors of which the PCS is capable.
[0052] The scenario shown in FIG. 1 can be varied in different ways. For instance, in the above scenario, the privacy screen corresponds to a resource that entirely blocks private content that is presented in the private display region. (More generally stated, the privacy screen entirely blocks all private content that would be projected to the shared display screen 110, but for the use of the privacy screen). In other cases, a privacy screen operates as a filter that prevents some of the content and operations from being shown on the shared display space, but not necessarily all of the content and operations. For example, consider the case in which the PCS invokes a privacy screen when the user 102 activates an Email application. The PCS can present a privacy screen that serves to filter out the user’s interaction with the Email application, but exposes other actions that the user 102 performs in the private display region that are deemed permissible to share. For instance, the PCS can show at least some of the user’s windowing operations. Alternatively, or in addition, the PCS can show the user’s interaction with a file system of the local user computing device 104. To operate in this manner, the user 102 can designate these actions (moving a cursor and interacting with the file system, etc.) as permissible to share, e.g., via a prior configuration setting. Further note that the privacy screen in this example represents a dynamically-changing resource that reflects actions taken by the user 102. More generally, a privacy screen can dynamically change based on changes in any context factor(s).
[0053] Further, in the above scenario, the PCS displays content on a single private display region and a single shared display region. But in other cases, the PCS can display content on two or more private display regions and/or two or more shared display regions. In some implementations, the PCS can apply the same policy logic when presenting a privacy screen on plural shared display regions. That is, the PCS can display the same privacy screen in all shared display regions. But in other cases, the PCS can apply different rules to generate different respective policy screens for different respective shared display regions, based on one or more contextual factors described below.
[0054] In another variation, the PCS need not display content on any private display regions. That is, in the example of FIG. 1, the user can control the course of a slide presentation using the local computing device without showing any content on the local display device 108. In that case, the user can control the transitions between the private state and the shared state via the key entry device 106, via voice commands, etc.
[0055] Further, the PCS as described above controls the display of content on one or more display devices. In addition, the PCS can also control the presentation of information via any other output device or devices. For instance, the PCS can control the presentation of audio information on one or more speakers. Like the case of display information, the PCS can play shared audio output information on one or more shared audio output devices (e.g., external speakers), and play private audio output information on one or more private audio output devices (e.g., headphones).
[0056] Finally, note that the scenario of FIG. 1 has been described with the expectation that the user 102 is presenting content for the consumption of one or more other users 112. But in other cases, the user 102 may present content to a shared display region for his or her sole consumption. For instance, the user 102 may interact with a smartphone to project application content to a television set, irrespective of the presence of other users who may also see the application content once it is projected. In the broadest sense, a private display region and a shared display region may be regarded as a first display region and a second display region, respectively, the two display regions having different respective environment-specific uses.
[0057] Advancing now to FIG. 2, this figure shows a state diagram that explains the operation of the PCS from a high-level perspective. As noted above, the PCS transitions between a private state 202 and a shared state 204. In the private state 202, the PCS optionally displays first content in at least one private display region 206 and second content in at least one shared display region 208. The second content is also referred to as a privacy screen and blocks the presentation of at least one display element 210 that might be presented on the shared display region 208, but for the use of the privacy screen. In the shared state 204, the PCS removes the privacy screen. In one implementation, the PCS can display the same shared content in both the private display region(s) 206 and the shared display region(s) 208. More broadly stated, the shared state involves projecting content onto the shared display region(s) that would otherwise be blocked by the privacy screen.
[0058] FIG. 3 shows one implementation of a privacy control system (PCS) 302 that can deliver the user experience shown in FIG. 1. The PCS 302 includes three principal components: a signal-receiving component 304; a presentation-triggering component 306; and a presentation-generating component 308. By way of overview, the signal-receiving component 304 receives a plurality of signals that collectively convey context information. The context information, in turn, describes a context in which a local user computing device is currently operating in an environment, relative to one or more display devices on which it may present content. The presentation-triggering component 306 controls whether the local user computing device is operating in the private state or the shared state at any given moment. The presentation-generating component 308 generates content that is presented in one or more display regions 310. The display regions 310 includes one or more optional private display regions (312, … , 314) and one or more shared display regions (316, … , 318). One or more private-region-hosting (PRH) display devices (not shown) can provide the private display regions (312, … , 314), while one or more shared-region-hosting (SRH) display devices (not shown) can provide the shared display regions (316, … , 318). As noted above, a single display device may host a private display region and a shared display region, making that single display device both a PRH display device and an SRH display device. Each of the above components (304, 306, 308) will be described in greater detail below in turn.
[0059] The signal-receiving component 304 can receive different types of signals from different sources 320 of context information. The signal-receiving component 304 can use any technique(s) to receive these signals, such a pull-based technique, push-based technique, etc., or combination thereof. In a pull-based technique, the signal-receiving component 304 directly polls the signal source(s) 320 to collect the signals. In a push-based technique, the signal-receiving component 304 receives signals independently pushed to the signal-receiving component 304 by the signal source(s) 320.
[0060] The following provides a non-exhaustive list of illustrative signals that the signal-receiving component 304 can receive, along with their respective signal sources.
[0061] Explicit Commands. The signal-receiving component 304 can receive one or more signals when the user issues explicit commands to enter the private state or the shared state. For instance, the signal-receiving component 304 can receive a signal when the user activates a hard key on a local user computing device, or a graphical control element on a touch-sensitive display surface. The signal-receiving component 304 can receive these types of signals from the operating system of the local user computing device, which, in turn, receives input events when the user interacts with any type(s) of input device(s) to enter the commands.
[0062] Presentation Endpoint Information. The signal-receiving component 304 can receive one or more signals that reveal the kinds of display devices on which the local user computing device may project content. In one case, the signal-receiving component 304 uses a probing service provided by the local user computing device to interrogate nearby display devices. It can do this by receiving information from each nearby display device that identifies its type (e.g., by identifying it as a projector device, a television set, etc.). The probing service can receive information from a display device in different ways. For the case in which the local computing device is connected to the display device via a physical cable, the local user computing device can receive the information via that physical connection. Otherwise, the probing service can receive the information through any type of wireless connection (e.g., BLUETOOTH connection, WIFI connection, etc.).
[0063] Connection Events. The signal-receiving component 304 can receive one or more signals that reveal events in which the user manually connects the local user computing device to a display device, or disconnects the local user computing device from the display device. The signal-receiving component 304 can also receive one or more signals when the local user computing device automatically connects or disconnects from a display device. The signal-receiving component 304 can receive these types of signals from the operating system of the local user computing device.
[0064] The signal-receiving component 304 can also receive signals that identify the manner in which the user has coupled the local user computing device to an external display device. This information provides evidence as to whether the display device will be hosting a private display region or a shared display region. For example, assume that a user connects a laptop computing device to a television set via a docking device, such as the SURFACE DOCK device provided by MICROSOFT CORPORATION of Redmond, Wash. In some environments, a user may use a docking device primarily in private settings, reducing the probability that the user intends to project shared content on the television set.
[0065] Device Configuration Information. The signal-receiving component 304 can receive one or more signals that identify the physical configuration of any display device. For example, the signal-receiving component 304 can receive a signal that indicates that a display device of the local user computing device is orientated in such a manner that its display surface is directed outward, away from the user; this indicates that the user intends to utilize this display device to provide a shared display region. The signal-receiving component 304 can receive these types of signals from various sensors provided by the local user computing device (to be described below in greater detail in connection with the explanation of FIG. 9).
[0066] Application-Related Information. The signal-receiving component 304 can receive one or more signals that reveal the kinds of applications that are locally stored by the local user computing device, or which the local user computing device otherwise has access. The signal-receiving component 304 can receive these types of signals using a lookup service. The lookup service can directly probe the applications to extract metadata therefrom. In addition, or alternatively, the lookup service can receive information regarding any application by interrogating an application store or other repository from which the application was originally obtained or could be obtained. For instance, the PCS 302 can rely on this information to identify applications that typically involve presenting content on shared display regions, such as slide presentation applications.
[0067] Program Event Information. The signal-receiving component 304 can receive one or more signals that identify actions performed by the user in the course of interacting with one or more applications and/or operating system features. For example, a signal can identify a type of function that the user has invoked in the course of interacting with a particular application or operating system feature. In some cases, the signal can also explicitly indicate that the invoked function should be considered private or sharable. The signal-receiving component 304 can receive these types of signals from the operating system of the local user computing device.
[0068] User Interface State Information. The signal-receiving component 304 can receive one or more signals that describe the current configuration of a user interface presentation provided by a local display device (if any) associated with the local user computing device. For instance, a signal can identify whether the user is currently operating in a single-screen mode or a split-screen mode. One or more other signals can identify the number, arrangement, types, etc. of windows or other graphical objects that the user interface presentation is currently presenting. The signal-receiving component 304 can receive these types of signals from the operating system of the local user computing device.
……
……
……