Patent Description:
<CIT> discloses a display system including a first display unit, a second display unit, an operating unit, and a control unit. The second display unit is provided with a first icon arranged thereon. The operating unit detects an operation. When an operation of moving the first icon to a first area on the second display unit is detected by the operating unit, the control unit displays a first image associated with the first icon on the first display unit and in a second area on the second display unit.

<CIT> discloses a remote play system including a remote device and a master device wirelessly coupled to the remote device. The master device includes a touch screen. A browser panel on the touch screen of the master device displays a remote device display region displaying at least a remote device icon which represents the remote device. The browser panel on the touch screen of the master device further displays a file display region displaying the at least a file icon which represents a to-be-shared file In response to a drag-and-drop event triggered on the touch screen, the file icon is dragged and dropped to the remote device icon, and the master device shares the file to the remote device.

<CIT> discloses an apparatus and method of changing screens using multiple touch screens. The method includes displaying a first screen in a first touch screen; displaying a second screen in a second touch screen; detecting multiple touches in the first touch screen; detecting continuous movements of the multiple touches from the first touch screen to the second touch screen; and changing the second screen of the second touch screen in response to the continuous movements of the multiple touches.

<CIT> discloses a method for managing collaboration on a virtual work of art between multiple electronic devices. A first graphical display system of a first device may generate an input command in response to receiving user information through a user interface of the first device, and may then share this input command with a second graphical display system of a second device. The first graphical display system may process the shared input command to generate pixel array data in a canvas of the first device while the second graphical display system may process the shared input command to generate pixel array data in a canvas of the second device. By sharing input commands rather than pixel array data, system latency may be reduced. Despite operating on the same artwork, the user interfaces and graphical processing capabilities of each device may vary, thereby providing the user greater expressiveness.

<CIT> discloses a system for providing a shared user interface. The shared user interface is generated based on the application and detected device pairing, and comprises a first portion and a second portion. Input data from either electronic device can be received at the communicating electronic device to yield received input data. In response to the received input data, at least one portion of the first portion and the second portion of the shared user interface can be modified based on the received input data.

Further aspects of the invention are outlined in the dependent claims.

Techniques for a content portal to an external display are described. In at least some implementations, content from a mobile computing device is dropped at a content portal for display on an external display. According to various implementations, content displayed at an external display by a mobile device is modifiable via input received at the mobile device. In one or more implementations, content dropped at a content portal on a mobile device is displayed on an external display via a different application than on the mobile device.

Implementations discussed herein provide techniques for a portal to an external display. In an example implementation, content displayed at an integrated display of a mobile device is dragged and dropped to a content portal displayed at the mobile device. The content is then communicated from the mobile device to an external display, and is displayed by the external display. For instance, an app launcher icon is dragged and dropped at the content portal by a user via touch input. This causes a corresponding application to be launched, and a graphical user interface (GUI) for the application to be displayed at the external display. Generally, the described content portal allows content to be easily selected and communicated for display at the external display. In at least one implementation, content displayed by an application at a mobile device is dropped at the content portal, and the content is displayed at an external display via a different application.

According to one or more implementations, content displayed at an external display is modifiable via input received at a mobile device. For instance, a touch interface is provided at a mobile device, and a user provides touch input to the touch interface to modify the display of content at an external display. Thus, an integrated display of a mobile device can function as a touch input interface for controlling the display of content at an external display.

Having presented an overview of techniques for a portal to an external display, consider now an example environment in which techniques described herein may be implemented.

<FIG> is an illustration of an environment <NUM> in an example implementation that is operable to employ techniques for a portal to an external display discussed herein. Generally, the environment <NUM> includes various devices, services, and networks that enable interaction via a variety of different modalities. For instance, the environment <NUM> includes a client device <NUM> connected to a network <NUM>. The client device <NUM> may be configured in a variety of ways, such as for mobile use, e.g., a mobile phone, a tablet computer, a wearable device, a handheld gaming device, a media player, and so on. While implementations presented herein are discussed in the context of a mobile device, it is to be appreciated that various other types and form factors of devices may be utilized in accordance with the claimed implementations. Thus, the client device <NUM> may range from full resource devices with substantial memory and processor resources, to a low-resource device with limited memory and/or processing resources. An example implementation of the client device <NUM> is discussed below with reference to <FIG>.

The network <NUM> is representative of a network that provides the client device <NUM> with connectivity to various networks and/or services, such as the Internet. The network <NUM> may provide the client device <NUM> with connectivity via a variety of different connectivity technologies, such as broadband cable, digital subscriber line (DSL), wireless cellular, wireless data connectivity (e.g., WiFi™), T-carrier (e.g., T1), Ethernet, and so forth. In at least some implementations, the network <NUM> represents different interconnected wired and wireless networks. The network <NUM> may be implemented in various ways, such as a local access network (LAN), a wide area network (WAN), the Internet, and so forth.

The client device <NUM> includes a variety of different functionalities that enable various activities and tasks to be performed For instance, the client device <NUM> includes an operating system <NUM>, applications <NUM>, input mechanisms <NUM>, and an integrated display <NUM>. Generally, the operating system <NUM> is representative of functionality for abstracting various system components of the client device <NUM>, such as hardware, kernel-level modules and services, and so forth. The operating system <NUM>, for instance, can abstract various components (e.g., hardware, software, and firmware) of the client device <NUM> to enable interaction between the components and applications running on the client device <NUM>.

The applications <NUM> are representative of functionality for performing different tasks via the client device <NUM>. Examples of the applications <NUM> include a word processing application, a spreadsheet application, a web browser, a gaming application, and so forth. The applications <NUM> may be installed locally on the client device <NUM> to be executed via a local runtime environment, and/or may represent portals to remote functionality, such as cloud-based services, web apps, and so forth. Thus, the applications <NUM> may take a variety of forms, such as locally-executed code, portals to remotely hosted services, and so forth.

The input mechanisms <NUM> generally represent different functionalities for receiving input to the client device <NUM>. Examples of the input mechanisms <NUM> include touch input devices, touchless input devices, gesture-sensitive sensors and devices (e.g., such as touch-based sensors and movement-tracking sensors (e.g., camera-based)), a mouse, a keyboard, a stylus, a touch pad, accelerometers, a microphone with accompanying voice recognition software, and so forth. The input mechanisms <NUM> may be separate or integral with the integrated display <NUM>, such as a gesture-sensitive display with integrated touch-sensitive or motion-sensitive sensors.

According to various implementations, the integrated display <NUM> represents functionality for visual output for the client device <NUM> and is physically coupled to the client device <NUM> (e.g., in a same housing as the client device <NUM>), such as a smartphone display, a tablet display, a laptop display, and so forth. Further, the integrated display <NUM> may include more than one display device, such as multiple integrated display devices connected via a hinge, multiple integrated display devices representing different portions of a continuous display, and so forth. In at least some implementations, the integrated display <NUM> is a touch-capable display device and is capable of receiving various types of input, such as touch input, pen input, and so forth.

Further to techniques described herein, the environment <NUM> includes an external display device <NUM>, which is generally representative of a display device that is external to the client device <NUM> and that is configured to display visual output via a wireless and/or wired connection to the client device <NUM>. The external display device <NUM> may be configured in a variety of ways, such as a desktop monitor, television, an automotive display device, a tablet display device, and so forth. The external display device <NUM> may be coupled to the client device <NUM> and/or the network <NUM> via a wireless connection (e.g., wireless local access network (LAN), Bluetooth, wireless universal serial bus (USB), and so forth) and/or via a wired connection, such as USB, DisplayPort, high-definition multimedia interface (HDMI), and so forth. In at least some implementations, the external display device <NUM> is configured as a standalone display device with little or no processing or other computing capabilities, or can be included as part of a computing device that is external to the client device <NUM>.

According to various implementations, techniques described herein are occur via interaction between a portal module <NUM> of the client device <NUM>, and an external interface module <NUM> of the external display device <NUM>. The portal module <NUM> is generally representative of functionality for managing display of content at the external display device <NUM> based on input received at the integrated display <NUM>. For instance, the portal module <NUM> provides functionality for the client device <NUM> to communicate data to the external display device <NUM> over a wired and/or wireless connection. In implementations, the portal module <NUM> can interact with the operating system <NUM> of the client device <NUM>, as well as with the external interface module <NUM> to enable the techniques for a portal experience described herein. For instance, the portal module <NUM> represents hardware and logic for communicating data via a variety of different wired and/or wireless technologies and protocols.

The external interface module <NUM> is representative of functionality to display information from the client device <NUM> on the external display device <NUM>. In at least some implementations, the external interface module <NUM> manages and/or outputs visual content received from the client device <NUM> for display, playback, and/or other type of presentation on the external display device <NUM>. This visual content can be received from the portal module <NUM> and/or obtained from other modules of the client device <NUM>.

The portal module <NUM> maintains portal policies <NUM>, which are representative of criteria for transmitting content and controlling the display of content at the external display device <NUM>. The portal policies <NUM>, for instance, specify which content to transmit for display at the external display device <NUM>, and how the content is to be displayed. Generally, the portal module <NUM> causes the external interface module <NUM> to display information formatted according to the portal policies <NUM> and based on input received by the portal module <NUM> via the input mechanisms <NUM>. In at least some implementations, the portal policies <NUM> are content and/or application-specific. As used herein, content may take a variety of forms, such as graphics for various instances of the applications <NUM>, services, text, multi-media streams, documents, application files, photos, audio/video files, animations, images, web pages, web applications, content for display by a browser or other client application, data structures, self-executing content, local content, remote content, application interfaces for the applications <NUM>, and so forth.

In one or more implementations, content displayed at the external display device <NUM> is different from content displayed at the integrated display <NUM> of the client device <NUM>. This allows utilization of the different display devices independently for displaying different respective types and/or instances of content. For example, the portal module <NUM> may cause display of a graphical user interface ("GUI") for an application <NUM> at the external display device <NUM> via interaction with the external interface module <NUM>. In at least some implementations, the portal module <NUM> displays an input interface at the integrated display <NUM> of the client device <NUM>, such as a touch controller interface, to allow a user <NUM> to use the client device <NUM> as a touch input device to control the display at the external display device <NUM>.

While the environment <NUM> is depicted with a single user <NUM>, it will be appreciated that more than one user may interact with the client device <NUM>, the integrated display <NUM> and/or the external display device <NUM>.

Having described an example environment in which the techniques described herein may operate; consider now a discussion of some example implementation scenarios in accordance with one or more embodiments. The implementation scenarios may be implemented in the environment <NUM> discussed above, and/or any other suitable environment.

<FIG> depicts an example implementation scenario 200a for dragging and dropping an app to a portal for display at an external display device in accordance with one or more implementations. The scenario 200a includes various entities and components introduced above with reference to the environment <NUM>.

The upper portion of the scenario 200a includes a GUI <NUM> output on the integrated display <NUM> of the client device <NUM>. The GUI <NUM> includes visual representations 204a, 204b, 204c presented in a list menu <NUM> on the GUI <NUM>. The visual representations 204a, 204b, 204c are each selectable to launch a respective application 208a, 208b, 208c. The visual representation 204a, for instance, is representative of selectable functionality for invoking the application 208a, and so forth. For example, the visual representations 204a, 204b, 204c may each represent a respective application access protocol, e.g., a uniform resource locator (URL) or uniform resource indicator (URI). Additionally or alternatively, the visual representations 204a, 204b, 204c may each represent a launch protocol, e.g., an application launch protocol, a selectable icon, and so forth. Generally, the applications 208a, 208b, 208c each generally represent an instance of the applications <NUM>.

An upper right portion of the integrated display <NUM> includes a content portal <NUM>, which is presented by the portal module <NUM> as a visually distinct area to enable the user <NUM> to drop content for display at the external display device <NUM>. The content portal <NUM> may be presented in various ways, such as a visual image, an icon, a window, and so forth.

Proceeding with the scenario 200a, the user <NUM> begins a "drag and drop" gesture <NUM> at the visual representation 204a. For instance, the user <NUM> selects the visual representation 204a via an input mechanism <NUM>. The drag and drop gesture <NUM> terminates when the user <NUM> releases the visual representation 204a at the content portal <NUM>. The user <NUM>, for example, releases touch input from the visual representation 204a. The portal module <NUM> receives the drag and drop gesture <NUM> indicating that the visual representation 204a is dropped at the content portal <NUM>. The portal module <NUM> applies the portal policies <NUM> to the visual representation 204a to generate display content <NUM>. The portal module <NUM> then determines that the application 208a will be displayed at the external display device <NUM> in accordance with the application-specific settings specified by the portal policies <NUM>. For instance, the application-specific settings of the portal policies <NUM> specify that the visual representation 204a is an app launch protocol for the application 208a, and that dropping the visual representation 204a at the content portal <NUM> causes the application 208a to launch at the client device <NUM> and causes a GUI <NUM> for the application 208a to display at the external display device <NUM>.

Continuing to the lower portion of the scenario 200a, the portal module <NUM> causes the application 208a to be launched at the client device <NUM> and the display content <NUM>, including the GUI <NUM> for the application 208a, is transmitted to the external interface module <NUM> by the portal module <NUM>. This causes the GUI <NUM> to be displayed at the external display device <NUM>. Accordingly, the display content <NUM> is presented on the external display device <NUM> in a manner that the portal module <NUM> has determined in accordance with display settings specified by the portal policies <NUM>, e.g., as the GUI <NUM> for the application 208a. In at least some implementations, the GUI <NUM> for the application 208a is presented on the external display device <NUM> in substantially the same manner, format, and/or configuration as it would be presented at the integrated display <NUM>. In a different implementation, however, the portal policies <NUM> specify that the GUI <NUM> for the application 208a be presented at the external display device <NUM> in a different manner, format, and/or configuration than it would be presented at the integrated display <NUM>.

Consider, for instance, an example where the portal policies <NUM> indicate that the display content <NUM> is a type of content presented natively by the application 208a. Based on the portal policies <NUM>, the portal module <NUM> determines that the display content <NUM> is to be presented via the GUI <NUM> for the application 208a.

Consider another example, however, where the portal policies <NUM> specify that display settings at the external display device <NUM> are configured to include a larger font size and higher resolution than display settings at the integrated display <NUM>. For instance, the display settings at the integrated display <NUM> and/or the external display device <NUM> are configured differently by the user <NUM>, a system administrator, by default settings, and so forth. In this example, the portal module <NUM> causes the display content <NUM> to be presented in the GUI <NUM> for the application 208a at the external display device <NUM>, but in a substantially different format than the GUI <NUM> for the application 208a would be presented at the integrated display <NUM>, e.g., in a larger font size, based on the portal policies <NUM>.

<FIG> depicts an example implementation scenario 200b for controlling display of content at an external display device from an integrated display in accordance with the present invention. The scenario 200b includes various entities and components introduced above with reference to the environment <NUM> and the scenario 200a and in at least some implementations represents an extension of the scenario 200a.

The upper portion of the scenario 200b includes the integrated display <NUM> of the client device <NUM>. The right portion of the integrated display <NUM> includes an input interface <NUM>, which is presented by the portal module <NUM> as a visually distinct area to enable the user <NUM> to control the display of information at the external display device <NUM>. Generally, the input interface <NUM> represents functionality for using the integrated display <NUM> of the client device <NUM> to modify the display of the external display device <NUM> in a corresponding manner via input received at the integrated display <NUM>. The input interface <NUM> may be presented in various ways, such as a distinct area, visual image, an icon, a window, and so forth. In one implementation, the input interface <NUM> is presented by the portal module <NUM> in response to content being dropped at the content portal <NUM>, such as in <FIG>.

Proceeding with the scenario 200b, the user <NUM> begins a gesture <NUM> at the input interface <NUM>. For instance, the user <NUM> selects an area of the input interface <NUM> via an input mechanism <NUM>, e.g., placing a finger or stylus on a touch input device. The gesture <NUM> terminates after dragging to the right. For instance, when the user <NUM> releases touch input from the input interface <NUM>.

Accordingly, the portal module <NUM> receives the gesture <NUM> and determines a corresponding modification to the display content <NUM> at the external display device <NUM> in accordance with the portal policies <NUM>. For instance, the portal module determines that the GUI <NUM> for the application 208a presented at the external display device <NUM> is selected via the input interface <NUM> and moved to the right by the user <NUM> via the gesture <NUM>. In this instance, the area of the GUI <NUM> selected via the gesture <NUM> is configured for moving the GUI <NUM> in response to selection and subsequent movement. The portal module <NUM> modifies the display content <NUM> based on the input received from the input interface <NUM> and transmits modified display content <NUM> to the external interface module <NUM> to cause modification of the display of the GUI <NUM> for the application 208a at the external display device <NUM>. Thus, in at least some implementations, the portal module <NUM> enables the integrated display <NUM> to be utilized as an input device controlling input to the external display device <NUM>.

Consider another example where the input received via the input interface <NUM> indicates a selection of an area of the GUI <NUM> that is selectable to close the GUI <NUM> for the application 208a at the external display device <NUM>. In this particular example, the portal policies <NUM> specify that the application 208a is to be closed at the client device <NUM> and the GUI <NUM> visually removed from display at the external display device <NUM>. Accordingly, the portal module <NUM> closes the application 208a at the client device <NUM> and transmits the modified display content <NUM> to the external interface module <NUM> to cause the GUI <NUM> for the application 208a to visually close at the external display device <NUM>. In at least some implementations, the portal policies <NUM> specify that the GUI <NUM> is visually removed from the display at the external display device <NUM> while the application 208a remains launched at the client device <NUM>. While the actions of moving and closing the GUI <NUM> are described above with reference to modifying the display of information at the external display device <NUM> by the portal module <NUM>, it should be understood that a variety of actions and/or gestures associated with receiving input for controlling the display of content at the external display device <NUM> may be performed via the functionality of the portal module <NUM> via the input interface <NUM>, such as moving, scrolling, resizing, closing, tabbing, minimizing, maximizing, zooming, panning, and so forth.

<FIG> depicts an example implementation scenario for dragging and dropping a GUI for an app to a portal in accordance with one or more implementations. The scenario <NUM> includes various entities and components introduced above with reference to the environment <NUM> and in at least some implementations represents an alternative to the scenario 200a or an extension of the scenarios 200a and 200b.

In the scenario <NUM>, the GUI <NUM> for the application 208a is displayed at the integrated display <NUM>. Further, the user <NUM> interacts with the integrated display <NUM> to perform a drag and drop gesture <NUM> beginning at the GUI <NUM> for the application 208a and terminating at the content portal <NUM>. The drag and drop gesture <NUM> terminates, for instance, when the user <NUM> ceases selection of the GUI <NUM> at the content portal <NUM> via touch input.

The portal module <NUM> receives the drag and drop gesture <NUM> indicating that the GUI <NUM> for the application 208a is dropped at the content portal <NUM>. The portal module <NUM> applies the portal policies <NUM> to the GUI <NUM> for the application 208a to generate display content <NUM>. The portal module <NUM> determines that the GUI <NUM> for the application 208a will be displayed at the external display device <NUM> in accordance with the application-specific settings specified by the portal policies <NUM>. For instance, the application-specific settings of the portal policies <NUM> specify that the GUI <NUM> is a GUI for the application 208a, and that dropping the GUI <NUM> at the content portal <NUM> causes the GUI <NUM> to be displayed at the external display device <NUM>. In at least some implementations, the portal policies <NUM> specify that in response to the GUI <NUM> being dropped at the content portal <NUM>, the GUI <NUM> is to be visually removed from the integrated display <NUM>. While in another implementation, the portal policies <NUM> specify that in response to the GUI <NUM> being dropped at the content portal <NUM>, the GUI <NUM> remains presented at the integrated display <NUM> while it is concurrently displayed at the external display device <NUM>.

Continuing to the lower portion of the scenario <NUM>, the display content <NUM> is transmitted to the external interface module <NUM> by the portal module <NUM> to cause the GUI <NUM> to be displayed at the external display device <NUM>. In at least some implementations, the GUI <NUM> for the application 208a is presented on the external display device <NUM> in substantially the same manner, format, and/or configuration as it is or would be presented at the integrated display <NUM>. In a different implementation, however, the portal policies <NUM> specify that the GUI <NUM> for the application 208a be presented at the external display device <NUM> in a different manner, format, and/or configuration than it is or would be presented at the integrated display <NUM>.

<FIG> depicts an example implementation scenario for a portal at a hinged mobile computing device in accordance with one or more implementations. The scenario <NUM> includes various entities and components introduced above with reference to the environment <NUM> and in at least some implementations represents an alternative to the scenarios 200a, 200b, <NUM>, or an extension of the scenarios 200a, 200b, <NUM>.

In the scenario <NUM>, the integrated display <NUM> is implemented as two attached display surfaces including an integrated display 402a and an integrated display 402b connected to one another via a hinge <NUM>. The integrated display 402b generally represents an integrated display that is physically separated from the integrated display 402a of the client device <NUM>, but communicatively coupled to the integrated display 402a via the hinge <NUM>. Alternatively, the integrated displays 402a, 402b represent different respective portions of a single integrated display surface that are foldable relative to one another about the hinge <NUM>. Thus, the integrated display 402b may represent a display separate from the integrated display 402a or an extension of the integrated display 402a.

Further to the scenario <NUM>, the GUI <NUM> is presented at the integrated display 402a and includes the visual representations 204a, 204b, 204c presented as the list menu <NUM>. In this particular example, the content portal <NUM> encompasses substantially the entire display area of the integrated display 402b, e.g., the shaded area. According to various implementations, the user <NUM> may perform gestures that occur across the hinge <NUM> and include both the integrated display 402a and the integrated display 402b. For instance, the user <NUM> may perform a drag and drop gesture <NUM> beginning at content presented at the integrated display 402a, traversing the hinge <NUM>, and terminating at the content portal <NUM> presented at the integrated display 402b.

Accordingly, in the upper portion of the scenario <NUM>, the user <NUM> begins the drag and drop gesture <NUM> at the integrated display 402a by selecting the visual representation 204a. The drag and drop gesture <NUM> terminates at the integrated display 402b where the user <NUM> releases the selected visual representation 204a within the content portal <NUM>. The portal module <NUM> receives the drag and drop gesture <NUM> indicating that the visual representation 204a is dropped at the content portal <NUM>. The portal module <NUM> then applies the portal policies <NUM> to the visual representation 204a to generate display content <NUM>. The portal module <NUM> determines that the application 208a will be displayed at the external display device <NUM> in accordance with the application-specific settings specified by the portal policies <NUM>. For instance, the application-specific settings of the portal policies <NUM> specify that the visual representation 204a is an app launch protocol for the application 208a, and that selection of the visual representation 204a, and that dropping the visual representation 204a at the content portal <NUM> causes the application 208a to launch at the client device <NUM> and the GUI <NUM> for the application 208a to display at the external display device <NUM>.

Continuing to the lower portion of the scenario <NUM>, the display content <NUM> is transmitted to the external interface module <NUM> by the portal module <NUM> to cause the GUI <NUM> to be displayed at the external display device <NUM>. Thus, implementations described herein enable content to be transferred from a multi-screen device to an external display.

<FIG> depicts an example implementation scenario for dragging and dropping content to a portal for display at an external display device in accordance with one or more implementations. The scenario <NUM> includes various entities and components introduced above with reference to the environment <NUM> and in at least some implementations represents an alternative to the scenarios 200a, <NUM>, <NUM>, or an extension of the scenarios 200a, 200b, <NUM>, <NUM>.

In the scenario <NUM>, a GUI <NUM> for the application 208b is displayed at the integrated display <NUM> of the client device <NUM>. Further the content portal <NUM> is presented on the integrated display <NUM> by the portal module <NUM>. The user <NUM> begins a drag and drop gesture <NUM> at selected content <NUM> presented via the GUI <NUM> for the application 208b. For instance, the user <NUM> selects the selected content <NUM> from the GUI <NUM> via an input mechanism <NUM>. The user <NUM> terminates the drag and drop gesture <NUM> at the content portal <NUM>.

The portal module <NUM> receives the drag and drop gesture <NUM> indicating the selected content <NUM> and determines display content <NUM> based on the selected content <NUM> and the portal policies <NUM>. In this particular example, the portal policies <NUM> specify that the selected content <NUM> is to launch via the application 208c, e.g., natively, or according to settings specified by the user <NUM>, an administrator, or other applicable setting. For instance, content-specific settings of the portal policies <NUM> specify that the selected content <NUM> is to be presented as the display content <NUM> by the application 208c at the external display device <NUM> when the selected content <NUM> is dropped at the content portal <NUM>. In a different example, application-specific settings of the portal policies <NUM> specify that the GUI <NUM> for the application 208b will be presented as the display content <NUM> at the external display device <NUM> when the GUI <NUM> for the application 208b itself (rather than the selected content <NUM> presented in the GUI <NUM>) is dropped at the content portal <NUM>.

In the lower portion of the scenario <NUM>, the portal module <NUM> launches the application 208c at the client device <NUM> and transmits the display content <NUM> to the external interface module <NUM> for display at the external display device <NUM>. For instance, a GUI <NUM> for the application 208c is displayed at the external display device <NUM> including the selected content <NUM>.

In at least some implementations, app-specific and/or content-specific settings of the portal policies <NUM> specify that the portal module <NUM> launch a different application at the external display device <NUM> than at the integrated display <NUM> to display the selected content <NUM>. While the selected content <NUM> is illustrated in the scenario <NUM> as being presented in a GUI for a different application at the external display device <NUM> (the application 208c) than at the integrated display <NUM> (the application 208b), it should be understood that in at least some implementations the selected content <NUM> may be presented in a GUI for the same application at the external display device <NUM> as at the integrated display <NUM>, e.g., as depicted in the scenario <NUM>.

Having discussed some example implementation scenarios, consider now a discussion of some example procedures in accordance with one or more embodiments. The example procedures may be employed in the environment <NUM> of <FIG>, the system <NUM> of <FIG>, and/or any other suitable environment. The procedures, for instance, represent example procedures for implementing the implementation scenarios described above. In at least some implementations, the steps described for the various procedures are implemented automatically and independent of user interaction. According to various implementations, the procedures may be performed locally (e.g., at the client device <NUM>), at a network-based service, and/or via cooperation between the client device <NUM> and a network-based service.

<FIG> is a flow diagram that describes steps in a method for dragging and dropping selected content to a content portal for presentation at an external display device in accordance with one or more implementations. In at least some implementations, the method can be performed at least in part at the client device <NUM>, e.g., by the portal module <NUM>.

Step <NUM> displays a content portal interface at an integrated display of a mobile computing device. The portal module <NUM>, for instance, displays the content portal <NUM> at the integrated display <NUM> of the client device <NUM>. In at least some implementations, the client device <NUM> includes multiple integrated display devices and the content portal <NUM> is displayed at the integrated display 402a or the integrated display 402b of the client device <NUM>.

Step <NUM> receives an input at the integrated display indicating a drag and drop gesture originating at selectable content and terminating at the content portal interface. For instance, the portal module <NUM> receives an input indicating a drag and drop gesture of content at the integrated display <NUM> to the content portal <NUM>. In at least some implementations, the selected content is an icon or other visual representation of an application that is selectable to cause a GUI for the application to be launched at the integrated display <NUM>. Alternatively or additionally, the selected content is the GUI for the application.

Step <NUM> causes display content representing the selectable content to be displayed at the external display device. The portal module <NUM>, for instance, determines content to be displayed based on the particular selected content and the portal policies <NUM>. For instance, the portal module <NUM> determines display settings for presenting display content at the external display device <NUM> in accordance with the portal policies <NUM>. According to various implementations, the portal module <NUM> transmits the display content to the external interface module <NUM> to cause display of the display content at the external display device <NUM>. In at least some implementations, the display content is presented as a GUI for one of the applications <NUM> based on the selected content and/or the portal policies <NUM>.

<FIG> is a flow diagram that describes steps in a method for further modification of content displayed at an external display device in accordance with one or more implementations. In at least some implementations, the method can be performed at least in part at the client device <NUM>, e.g., by the portal module <NUM>.

Step <NUM> receives, at a portion of an integrated display, an input to modify the display of content at an external display device. The portal module <NUM>, for instance, presents the input interface <NUM> at the integrated display <NUM> of the client device <NUM> to enable touch input to be received to control the display of content at the external display device <NUM>. For example, the portal module <NUM> receives touch input at the integrated display <NUM> to the input interface <NUM> to manipulate a GUI for an application presented at the external display device <NUM>. In at least some implementations, the client device <NUM> includes multiple integrated displays such as the integrated display 402a and the integrated display 402b connected via the hinge <NUM>. In such an implementation, a portion of the integrated display <NUM> configured to receive input for modification of content displayed at the external display device <NUM> is presented on only one of the integrated display devices 402a, 402b in a multiple integrated display device such as the hinged device described above.

Step <NUM> causes the display of the content to be modified at the external display device based on the input received at the integrated display. For instance, the portal module <NUM> causes a GUI of an application to be visually and/or functionally manipulated at the external display device <NUM> in response to the input received to the input interface <NUM> at the integrated display <NUM>.

<FIG> is a flow diagram that describes steps in a method for dragging and dropping selected content to a content portal for presentation as a different application at an external display device in accordance with one or more implementations. In at least some implementations, the method can be performed at least in part at the client device <NUM>, e.g., by the portal module <NUM>.

Step <NUM> displays, at an integrated display of a mobile computing device, a content portal interface configured to manage a content portal connection to an external display device. The portal module <NUM>, for instance, displays the content portal <NUM> at the integrated display <NUM> of the client device <NUM>. In at least some implementations, the client device <NUM> includes multiple integrated display devices and the content portal <NUM> is displayed at the integrated display 402a or the integrated display 402b of the client device <NUM>.

Step <NUM> receives input indicating a drag and drop gesture originating at content presented via a GUI for a first application and terminating at the content portal interface. For instance, the portal module <NUM> receives an input indicating a drag and drop gesture of content to the content portal <NUM>. According to various implementations, the selected content is presented via a GUI of an application displayed at the integrated display <NUM>.

Step <NUM> causes the content to be displayed via a GUI for a second application at the external display device. The portal module <NUM>, for instance, determines content to be displayed based on the selected content and the portal policies <NUM>. In at least some implementations, the portal policies <NUM> specify that the selected content, which is presented at the integrated display <NUM> in a GUI for the first application, is to be presented via a GUI for the second application at the external display device <NUM>. According to various implementations, the portal module <NUM> transmits the display content to the external interface module <NUM> to cause display of the display content at the external display device <NUM>. The portal module <NUM>, for instance, launches the second application at the client device <NUM> to display the display content. For example, the portal module <NUM> causes a GUI for the second application to be populated with selected content, and communicated to the external interface module <NUM> for display on the external display <NUM>.

Accordingly, techniques described herein provide simplified techniques for communicating content from a computing device to be displayed at an external display. The techniques also conserve display resources of a mobile device by enabling an external display to be leveraged for displaying content generated at the mobile device.

Having described some example procedures, consider now an example system and device on which the various implementation scenarios and procedures may be implemented.

<FIG> illustrates an example system generally at <NUM> that includes an example computing device <NUM> that is representative of one or more computing systems and/or devices that may implement various techniques described herein. For example, the client device <NUM> discussed above with reference to <FIG> can be embodied as the computing device <NUM>. The computing device <NUM> may be, for example, a server of a service provider, a device associated with the client (e.g., a client device), an on-chip system, and/or any other suitable computing device or computing system.

The example computing device <NUM> as illustrated includes a processing system <NUM>, one or more computer-readable media <NUM>, and one or more Input/Output (I/O) Interfaces <NUM> that are communicatively coupled, one to another. Although not shown, the computing device <NUM> may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines.

The processing system <NUM> is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system <NUM> is illustrated as including hardware element <NUM> that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements <NUM> are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions.

The computer-readable media <NUM> is illustrated as including memory/storage <NUM>. The memory/storage <NUM> represents memory/storage capacity associated with one or more computer-readable media. The memory/storage <NUM> may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). The memory/storage <NUM> may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth). The computer-readable media <NUM> may be configured in a variety of other ways as further described below.

Input/output interface(s) <NUM> are representative of functionality to allow a user to enter commands and information to computing device <NUM>, and also allow information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone (e.g., for voice recognition and/or spoken input), a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to detect movement that does not involve touch as gestures), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth. Thus, the computing device <NUM> may be configured in a variety of ways as further described below to support user interaction.

Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms "module," "functionality," "entity," and "component" as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.

"Computer-readable storage media" may refer to media and/or devices that enable persistent storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Computer-readable storage media do not include signals per se. The computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.

"Computer-readable signal media" may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device <NUM>, such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include any information delivery media. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.

As previously described, hardware elements <NUM> and computer-readable media <NUM> are representative of instructions, modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein. Hardware elements may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware devices. In this context, a hardware element may operate as a processing device that performs program tasks defined by instructions, modules, and/or logic embodied by the hardware element as well as a hardware device utilized to store instructions for execution, e.g., the computer-readable storage media described previously.

Combinations of the foregoing may also be employed to implement various techniques and modules described herein. Accordingly, software, hardware, or program modules and other program modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements <NUM>. The computing device <NUM> may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of modules that are executable by the computing device <NUM> as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements <NUM> of the processing system. The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices <NUM> and/or processing systems <NUM>) to implement techniques, modules, and examples described herein.

As further illustrated in <FIG>, the example system <NUM> enables ubiquitous environments for a seamless user experience when running applications on a personal computer (PC), a television device, and/or a mobile device. Services and applications run substantially similar in all three environments for a common user experience when transitioning from one device to the next while utilizing an application, playing a video game, watching a video, and so on.

In the example system <NUM>, multiple devices are interconnected through a central computing device. The central computing device may be local to the multiple devices or may be located remotely from the multiple devices. In one embodiment, the central computing device may be a cloud of one or more server computers that are connected to the multiple devices through a network, the Internet, or other data communication link.

In one embodiment, this interconnection architecture enables functionality to be delivered across multiple devices to provide a common and seamless experience to a user of the multiple devices. Each of the multiple devices may have different physical requirements and capabilities, and the central computing device uses a platform to enable the delivery of an experience to the device that is both tailored to the device and yet common to all devices. In one embodiment, a class of target devices is created and experiences are tailored to the generic class of devices. A class of devices may be defined by physical features, types of usage, or other common characteristics of the devices.

In various implementations, the computing device <NUM> may assume a variety of different configurations, such as for computer <NUM>, mobile <NUM>, and television <NUM> uses. Each of these configurations includes devices that may have generally different constructs and capabilities, and thus the computing device <NUM> may be configured according to one or more of the different device classes. For instance, the computing device <NUM> may be implemented as the computer <NUM> class of a device that includes a personal computer, desktop computer, a multi-screen computer, laptop computer, netbook, and so on.

The computing device <NUM> may also be implemented as the mobile <NUM> class of device that includes mobile devices, such as a mobile phone, portable music player, portable gaming device, a tablet computer, a wearable device, a multi-screen computer, and so on. The computing device <NUM> may also be implemented as the television <NUM> class of device that includes devices having or connected to generally larger screens in casual viewing environments. These devices include televisions, set-top boxes, gaming consoles, and so on.

The techniques described herein may be supported by these various configurations of the computing device <NUM> and are not limited to the specific examples of the techniques described herein. For example, functionalities discussed with reference to the client device <NUM> and/or the external display device <NUM> may be implemented all or in part through use of a distributed system, such as over a "cloud" <NUM> via a platform <NUM> as described below.

The platform <NUM> may abstract resources and functions to connect the computing device <NUM> with other computing devices. The platform <NUM> may also serve to abstract scaling of resources to provide a corresponding level of scale to encountered demand for the resources <NUM> that are implemented via the platform <NUM>. Accordingly, in an interconnected device embodiment, implementation of functionality described herein may be distributed throughout the system <NUM>. For example, the functionality may be implemented in part on the computing device <NUM> as well as via the platform <NUM> that abstracts the functionality of the cloud <NUM>.

Discussed herein are a number of methods that may be implemented to perform techniques discussed herein. Aspects of the methods may be implemented in hardware, firmware, or software, or a combination thereof. The methods are shown as a set of steps that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. Further, an operation shown with respect to a particular method may be combined and/or interchanged with an operation of a different method in accordance with one or more implementations. Aspects of the methods can be implemented via interaction between various entities discussed above with reference to the environment <NUM>.

In the discussions herein, various different embodiments are described. It is to be appreciated and understood that each embodiment described herein can be used on its own or in connection with one or more other embodiments described herein. Further aspects of the techniques discussed herein relate to one or more of the following embodiments.

A system for providing a content portal to an external display, the system comprising: at least one processor; one or more computer-readable storage media including instructions stored thereon that, responsive to execution by the at least one processor, cause the system to perform operations including: displaying a content portal interface at an integrated display of a mobile computing device; receiving an input at the integrated display indicating a drag and drop gesture originating at selectable content and terminating at the content portal interface; and causing display content representing the selectable content to be displayed at the external display device.

In addition to any of the above described systems, any one or combination of: wherein the integrated display is a touch-capable display and the input is touch input; wherein said causing the display content to be displayed includes causing a modification to a display of information at the external display device without modifying other content at the integrated display accordingly; wherein the operations further include: receiving at the integrated display a further input to control the display content at the external display device; and modifying the display content at the external display device based on the further input received at the integrated display; wherein the mobile computing device includes the integrated display and an additional display attached to the integrated display via a hinge, and wherein one of the integrated display or the additional display is configured to present the content portal interface; wherein the selectable content comprises a visual representation selectable from a menu interface to cause presentation of a graphical user interface (GUI) for an application as the display content on the integrated display; wherein the selectable content comprises a first GUI for an application presented at the integrated display, and wherein said displaying the display content includes displaying a second GUI for the application at the external display device in substantially a same state that the first GUI for the application is presented at the integrated display; wherein the selectable content comprises content presented by a GUI for an application at the integrated display, and wherein the operations further comprise causing display at the external display device of a second GUI for the application to present the display content; and wherein the selectable content comprises content presented by a GUI for a first application at the integrated display, and wherein the operations further comprise causing display at the external display device of a GUI for a second application to present the display content at the external display device.

A method for providing a content portal to an external display, the method comprising: displaying, at an integrated display of the mobile computing device, a content portal interface configured to manage a content portal connection to an external display device; receiving input indicating a drag and drop gesture originating at content presented via a graphical user interface (GUI) for a first application and terminating at the content portal interface; and causing the content to be displayed via a GUI for a second application at the external display device.

In addition to any of the above described methods, any one or combination of: wherein the second application is a native application for presenting the content; wherein the mobile computing device comprises multiple displays including the integrated display and an additional display attached to the integrated display via a hinge, and wherein the additional display includes the content portal interface such that the content is dragged from the integrated display to the content portal interface displayed on the portal display; further comprising: receiving at the integrated display a further input to control a display of the content at the external display device; and causing the display of the content to be modified at the external display device based on the further input received at the integrated display.

A method for providing a content portal to an external display, the method comprising: displaying, at an integrated display of the mobile computing device, a content portal interface configured to manage a connection to an external display device; receiving input indicating a drag and drop gesture originating from selectable content presented at the integrated display and terminating at the content portal interface; causing display content representing the selectable content be displayed at the external display device; receiving, at a portion of the integrated display, a further input to modify the display content at the external display device; and causing the display content to be modified at the external display device based on the further input received at the integrated display.

In addition to any of the above described methods, any one or combination of: wherein the mobile computing device comprises multiple displays including the integrated display and an additional display attached to the integrated display via a hinge, and wherein the additional display includes the content portal interface and the drag and drop gesture originates from the integrated display; wherein the integrated display is a touch-capable display and the further input is touch input; wherein the integrated display includes a first display and a second display connected via a hinge, and wherein the second display includes the portion for receiving input for modification of the display content at the external display device; wherein the selectable content comprises a visual representation selectable from a menu interface to cause presentation of a graphical user interface (GUI) for an application on the integrated display, and wherein said causing the display content to be displayed at the external display device comprises causing a GUI for the application to be displayed at the external display device; wherein the selectable content comprises a first GUI for an application presented at the integrated display, and wherein said causing the display content be displayed at the external display device comprises causing a second GUI for the application to be displayed at the external display device in substantially the same state that the first GUI for the application is presented at the integrated display; and wherein the selectable content comprises content presented by a first GUI for an application at the integrated display, and wherein said causing the display content be displayed at the external display device comprises causing a second GUI for the application to be displayed at the external display device to present the display content.

Claim 1:
A mobile computing device for providing a content portal to an external display (<NUM>), the mobile computing device comprising:
an integrated display;
at least one processor; and
one or more computer-readable storage media (<NUM>) including instructions stored thereon that, responsive to execution by the at least one processor, cause the mobile computing device to perform operations including:
displaying a content portal interface (<NUM>) at the integrated display (<NUM>) of the mobile computing device (<NUM>);
receiving an input at the integrated display indicating a drag and drop gesture (<NUM>) originating at selectable content (204a, 204b, 204c) and terminating at the content portal interface;
causing display content (<NUM>) representing the selectable content to be displayed at the external display device; and
characterized in that:
the display content includes a graphical user interface (<NUM>) for an application (208a);
the integrated display includes an input interface (<NUM>) representing functionality for using the integrated display for modifying the external display in a corresponding manner via input received at the integrated display; and the operations further include:
receiving at the input interface of the integrated display a further input to control the display content at the external display device; and
modifying the display content at the external display device based on the further input received at the input interface of the integrated display, the modifying comprising moving or resizing the graphical user interface.