Recording and broadcasting application visual output

The present disclosure generally relates to sharing application visual output. In some examples, a user of a first electronic device selects a second electronic device with which to share visual out data of an application task. In some examples, a user selects a broadcast application from one or more broadcast applications identified by the electronic device for broadcasting the visual output of an application task.

FIELD

The present disclosure relates generally to computer user interfaces, and more specifically to techniques for sharing application visual output.

BACKGROUND

Broadcasting and replying of video games and other live output of applications is a growing form of entertainment. Numerous websites support ecosystems for video game players to post previously recorded outputs of video games or to broadcast the output of a video game live. The popularity of these websites have only increased with the rise of e-sports leagues that hold competitions and tournaments for various applications.

BRIEF SUMMARY

Some techniques for sharing application visual output using electronic devices, however, are generally cumbersome and inefficient. For example, some existing techniques use a complex and time-consuming user interface, which may include multiple key presses or keystrokes. Existing techniques require more time than necessary, wasting user time and device energy. This latter consideration is particularly important in battery-operated devices.

Accordingly, the present technique provides electronic devices with faster, more efficient methods and interfaces for sharing application visual output. Such methods and interfaces optionally complement or replace other methods for sharing application visual output. Such methods and interfaces reduce the cognitive burden on a user and produce a more efficient human-machine interface.

In accordance with an embodiment, at a first electronic device with one or more processors, a communication interface, and memory, and that is in communication with a display, a first input is received corresponding to an affordance to start a task in an application executing on the one or more processors. In response to receiving the first input, the task is started. While the task is ongoing, visual output of the application is recorded as application task data. After the task has ceased, an affordance for sharing the application task data with a second electronic device that is associated with the first electronic device is caused to be displayed. While the affordance for sharing is displayed on the display, a second input is received that corresponds to selection of the affordance for sharing the application task data. In response to receiving the second input, the application task data is transmitted to the second electronic device over the communication interface.

In accordance with an embodiment, at a first electronic device with one or more processors, a communication interface, and memory, and that is in communication with a display, causing to display on the display a first affordance in an application. The first affordance is for broadcasting visual output of a task of the application. In response to receiving a first user input corresponding to selection of the first affordance and in accordance with a determination that multiple broadcast applications on the electronic device are capable of broadcasting visual output of the application while the task is ongoing: (1) a second affordance is caused to be displayed on the display, the second affordance is for selecting a broadcast application of the plurality of broadcast applications capable of broadcasting the visual output of the application and (2) while the second affordance is displayed on the display, second user input is received corresponding to selection of the second affordance. After receiving the second user input, the task is started and the visual output of the application is sent to the broadcast application for transmitting the visual output over the communication interface to a remote server.

An embodiment of a transitory computer readable storage medium stores one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device with a display and one or more input devices, cause the device to: cause to display on the display a first affordance in an application, wherein the first affordance is for broadcasting visual output of a task of the application; in response to receiving a first user input corresponding to selection of the first affordance: in accordance with a determination that multiple broadcast applications on the electronic device are capable of broadcasting visual output of the application while the task is ongoing: cause to display on the display a second affordance for selecting a broadcast application of the plurality of broadcast applications capable of broadcasting the visual output of the application; and while the second affordance is displayed on the display, receive second user input corresponding to selection of the second affordance; after receiving the second user input, start the task and sending the visual output of the application to the broadcast application for transmitting the visual output over the communication interface to a remote server.

An embodiment of a transitory computer readable storage medium stores one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device with a display and one or more input devices, cause the device to: receive a first input corresponding to an affordance to start a task in an application executing on the one or more processors; in response to receiving the first input, start the task; while the task is ongoing, record visual output of the application as application task data; after the task has ceased, causing to be displayed on the display an affordance for sharing the application task data with a second electronic device that is associated with the first electronic device; and while the affordance for sharing is displayed on the display, receive a second input that corresponds to selection of the affordance for sharing the application task data; and in response to receiving the second input, transmit the application task data to the second electronic device over the communication interface.

Thus, devices are provided with faster, more efficient methods and interfaces for sharing application visual output, thereby increasing the effectiveness, efficiency, and user satisfaction with such devices. Such methods and interfaces may complement or replace other methods for sharing application visual output.

DESCRIPTION OF EMBODIMENTS

There is a need for electronic devices that provide efficient methods and interfaces for sharing application output. For example, video game broadcasts and replays are an increasingly popular form of entertainment. Such techniques can reduce the cognitive burden on a user who shares application visual output, thereby enhancing productivity. Further, such techniques can reduce processor and battery power otherwise wasted on redundant user inputs.

Below,FIGS. 1A-1B, 2, 3, 4A-4C, and 5A-5Bprovide a description of exemplary devices for performing the techniques for managing event notifications.FIGS. 6B-6Killustrate exemplary user interfaces for sharing application visual output.FIG. 7is a flow diagram illustrating methods of sharing application visual output in accordance with some embodiments. The user interfaces inFIGS. 6B-6Kare used to illustrate the processes described below, including the processes inFIG. 7.

FIGS. 9A-9Fillustrate exemplary user interfaces for sharing application visual output.FIGS. 10A-10Bis a flow diagram illustrating methods of sharing application visual output in accordance with some embodiments. The user interfaces inFIGS. 9A-9Fare used to illustrate the processes described below, including the processes inFIGS. 10A-10B.

FIG. 4Cillustrates exemplary electronic devices that are in communication with a display450and touch-sensitive surface452. For at least a subset of the computing devices, the display450and/or the touch-sensitive surface452is integrated into the computing device in accordance with some embodiments. While the examples described in greater detail below are described with reference to a touch-sensitive surface451and a display450that are in communication with a computing device (e.g., portable multifunction device100inFIGS. 1A-1Bor device300inFIG. 3), it should be understood that in accordance with some embodiments, the touch-sensitive surface and/or the display are integrated with the computing device, while in other embodiments one or more of the touch-sensitive surface and the display are separate from the computing device. Additionally, in some embodiments the computing device has an integrated display and/or an integrated touch-sensitive surface and is in communication with one or more additional displays and/or touch-sensitive surfaces that are separate from the computing device.

In some embodiments, all of the operations described below with reference toFIGS. 6B-6K and 9A-9Fare performed on a single computing device with user interface navigation logic480(e.g., Computing Device A described below with reference toFIG. 4C). However, it should be understood that frequently multiple different computing devices are linked together to perform the operations described below with reference to6B-6K and9A-9F (e.g., a computing device with user interface navigation logic480communicates with a separate computing device with a display450and/or a separate computing device with a touch-sensitive surface451). In any of these embodiments, the computing device that is described below with reference to6B-6K and9A-9F is the computing device (or devices) that contain(s) the user interface navigation logic480. Additionally, it should be understood that the user interface navigation logic480could be divided between a plurality of distinct modules or computing devices in various embodiments; however, for the purposes of the description herein, the user interface navigation logic480will be primarily referred to as residing in a single computing device so as not to unnecessarily obscure other aspects of the embodiments.

In some embodiments, the user interface navigation logic480includes one or more modules (e.g., one or more event handlers190, including one or more object updaters177and one or more GUI updaters178as described in greater detail above with reference toFIG. 1B) that receive interpreted inputs and, in response to these interpreted inputs, generate instructions for updating a graphical user interface in accordance with the interpreted inputs which are subsequently used to update the graphical user interface on a display. In some embodiments, an interpreted input for an input that has been detected (e.g., by a contact motion module130inFIGS. 1A and 3), recognized (e.g., by an event recognizer180inFIG. 1B) and/or distributed (e.g., by event sorter170inFIG. 1B) is used to update the graphical user interface on the display. In some embodiments, the interpreted inputs are generated by modules at the computing device (e.g., the computing device receives raw contact input data so as to identify gestures from the raw contact input data). In some embodiments, some or all of the interpreted inputs are received by the computing device as interpreted inputs (e.g., a computing device that includes the touch-sensitive surface451processes raw contact input data so as to identify gestures from the raw contact input data and sends information indicative of the gestures to the computing device that includes the user interface navigation logic480).

In some embodiments, both the display450and the touch-sensitive surface451are integrated with the computing device (e.g., Computing Device A inFIG. 4C) that contains the user interface navigation logic480. For example, the computing device is optionally a desktop computer or laptop computer with an integrated display (e.g.,340inFIG. 3) and touchpad (e.g.,355inFIG. 3). In another example, the computing device is a portable multifunction device100(e.g., a smartphone, PDA, tablet computer, etc.) with a touch screen (e.g.,112inFIG. 2).

In some embodiments, the touch-sensitive surface451is integrated with the computing device while the display450is not integrated with the computing device (e.g., Computing Device B inFIG. 4C) that contains the user interface navigation logic480. For example, the computing device optionally is device300(e.g., a desktop computer or laptop computer) with an integrated touchpad (e.g.,355inFIG. 3) connected (via wired or wireless connection) to a separate display (e.g., a computer monitor, television, etc.). As another example, the computing device optionally is a portable multifunction device100(e.g., a smartphone, PDA, tablet computer, etc.) with a touch screen (e.g.,112inFIG. 2) connected (via wired or wireless connection) to a separate display (e.g., a computer monitor, television, etc.).

In some embodiments, the display450is integrated with the computing device while the touch-sensitive surface451is not integrated with the computing device (e.g., Computing Device C inFIG. 4C) that contains the user interface navigation logic480. For example, the computing device optionally is device300(e.g., a desktop computer, laptop computer, television with integrated set-top box) with an integrated display (e.g.,340inFIG. 3) connected (via wired or wireless connection) to a separate touch-sensitive surface (e.g., a remote touchpad, a portable multifunction device, etc.). In another example, the computing device is a portable multifunction device100(e.g., a smartphone, PDA, tablet computer, etc.) with a touch screen (e.g.,112in FIG.2) connected (via wired or wireless connection) to a separate touch-sensitive surface (e.g., a remote touchpad, another portable multifunction device with a touch screen serving as a remote touchpad, etc.).

In some embodiments, neither the display450nor the touch-sensitive surface451is integrated with the computing device (e.g., Computing Device D inFIG. 4C) that contains the user interface navigation logic480. For example, the computing device optionally is stand-alone computing device300(e.g., a desktop computer, laptop computer, console, set-top box, etc.) connected (via wired or wireless connection) to a separate touch-sensitive surface (e.g., a remote touchpad, a portable multifunction device, etc.) and a separate display (e.g., a computer monitor, television, etc.). Ins another example, the computing device is a portable multifunction device100(e.g., a smartphone, PDA, tablet computer, etc.) with a touch screen (e.g.,112inFIG. 2) connected (via wired or wireless connection) to a separate touch-sensitive surface (e.g., a remote touchpad, another portable multifunction device with a touch screen serving as a remote touchpad, etc.).

In some embodiments, the computing device has an integrated audio system. In some embodiments, the computing device is in communication with an audio system that is separate from the computing device. In some embodiments, the audio system (e.g., an audio system integrated in a television unit) is integrated with a separate display450. In some embodiments, the audio system (e.g., a stereo system) is a stand-alone system that is separate from the computing device and the display450.

Memory518of personal electronic device500can include one or more non-transitory computer-readable storage mediums, for storing computer-executable instructions, which, when executed by one or more computer processors516, for example, can cause the computer processors to perform the techniques described below, including processes700(FIG. 7) and process1000(FIGS. 10A-10B). Personal electronic device500is not limited to the components and configuration ofFIG. 5B, but can include other or additional components in multiple configurations.

As used here, the term “affordance” refers to a user-interactive graphical user interface object that is, optionally, displayed on the display screen of devices100,300, and/or500(FIGS. 1, 3, and 5). For example, an image (e.g., icon), a button, and text (e.g., hyperlink) each optionally constitute an affordance.

Attention is now directed towards embodiments of user interfaces (“UI”) and associated processes that optionally are implemented with an electronic device that communicates with and/or includes a display and a touch-sensitive surface, such as one of Computing Devices A-D inFIG. 4Cor an electronic device, such as portable multifunction device100, device300, or device500.

FIG. 6Aillustrates exemplary devices connected via one or more communication channels to share application visual output in accordance with some embodiments. Electronic device600, in some cases, corresponds to any of Computing Devices A-D described with respect toFIG. 4C. Electronic device600includes user interface and navigation logic600A, which, in some cases, corresponds to user interface navigation logic480ofFIG. 4C. Electronic device600also optionally includes display600B, which, in some cases, corresponds to display450ofFIG. 4C. If electronic device600does not include display600B, then display600B is external to electronic device600and in communication with electronic device600via communications channel604A. Electronic device600also optionally includes user input device600C, which, in some cases, corresponds to touch-sensitive surface452ofFIG. 4C. If electronic device600does not include input devices600C, then input device600C is external to electronic device600and in communication with electronic device600via communications channel604B. Electronic device600can also include some or all of features of devices100,300, or500.

In some cases electronic device600connects to network device601via communications channel604C, which allows for connections to external devices603A-C via communications channels604D-F, respectively. In some cases electronic device600also directly connects to external device603C via communications channel604G. In some cases electronic device600also connects to remote server603via communications channel604H, the Internet and communications channel604I. Communications channels604A-I are any form of communications channels, such as wired (e.g., Ethernet, USB, Lightning, Fiber) or wireless (e.g., WiFi, Bluetooth, IR) connections.

FIGS. 6B-6Killustrate exemplary user interfaces for navigating through media content in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes inFIGS. 7 and 10A-10B. Although some of the examples which follow will be given with reference to inputs on a touch-sensitive surface451that is separate from the display450, in some embodiments, the device detects inputs on a touch-screen display (where the touch-sensitive surface and the display are combined), as shown inFIG. 4A. Although some of the examples which will follow will be given with reference to inputs on a remote user input device (e.g., a remote control) that is separate from the device (e.g., device600), in some embodiments, the device includes an integrated user input device (e.g., a trackpad).

FIG. 6Billustrates display600B ofFIG. 6A, which is, in some embodiments, display450(FIG. 4C) or the display of device100,300, or500. Electronic device600causes display600B to show visual output604of an application running on electronic device600in communication with display600B. The application is a game application. Although some of the embodiments are described with respect to a gaming application, other types of applications could also be used. Visual output604includes health meter605for player610and health meter606for player612. Visual output604also includes timer608and background image614. Menu618is displayed and includes affordance622for starting the game, which can be considered starting a task of the gaming application. Menu618also includes affordance624for exiting the application. Indicator620, which is not displayed in some embodiments, aids the user in selecting either of affordances622and624. Menu618is an application user interface element as opposed to a system user interface element.

In response to receiving user input selecting affordance622, electronic device600begins the gaming session and updates the visual output of the application to show the progress of the game, as depicted inFIG. 6C. In some embodiments, visual output604of the application task is recorded. In some cases, visual output604is record for every application task regardless of whether the user requested such a recording. In other cases, visual output604is only recorded in response to an express request (e.g., via user input) to do so from the user, as will be descried below.

FIG. 6Ddepicts the game ending based on the time running out as indicated by timer608. Because health meter605has more health than health meter606, player610has won (as indicated by banner626) and player612has lost. Once these results are shown, the application task ends in that an active session of the game is not on going. In some embodiments, in response to the end of the application task, the recording of visual output604is stopped.

After the application task has ended,FIG. 6Edepicts menu628being displayed, which includes three affordances. Affordance630allows the user to continue the games (for example, returning to the start screen inFIG. 6B). Affordance632starts a replay of the recorded visual output of the application task. The replay could be either with the active application or another application could be executed to play the recorded visual output. In some embodiments, the recorded visual output takes various forms (e.g., a video file, commands to recreate the application visual output, or other data sufficient to reproduce the visual output of the application task). Affordance634allows the recorded visual output to be shared with another electronic device that is associated with electronic device600in communication with display600B. Indicator636, which is not present in some embodiments, aides a user to select any of affordances6630,632, and634.

In response to receiving user input selecting affordance634, electronic device600causes menu638to be displayed, as depicted inFIG. 6F. Menu638includes prompt640to selecting a sharing mechanism. Affordance644selects AirDrop to share the recorded visual output. Affordance646selects AllShare to share the recorded visual output. In some cases, there is only one mechanism to share the recorded visual output data. In this case, menu638is skipped. In other cases, there is not an available method for the recorded visual output to be shared. In this case, a menu is displayed prompting the user whether they would like to download/install an application that can share the recorded visual output. The menu can also include an affordance for opening an application store to search for such an application. An example of a similar type of menu is menu916ofFIG. 9C, described below.

In some cases, menu638is displayed by the application based on data it received from the operating system of electronic device600. In other cases, menu638is displayed by the operating system or other system components in response to a request from the application.

In response to user input selecting affordance642(or in the case where AirDrop is the only available way to share), device600causes menu648to be displayed, as depicted inFIG. 6G. Prompt650instructs the user to select affordances652,654, or656representing externals devices (e.g., external devices603A-603C ofFIG. 6A) with which the users wishes to share the recorded visual output. Affordance652represents a smartphone. Affordance654represents a laptop computer. Affordance656represents another electronics device, such as a tablet computer. In some embodiments, menu648is a system user interface element, as opposed to an application user interface element.

External devices603A-603C corresponding to affordances652,654, and656are associated with electronic device600in some manner. In some embodiments, external devices603A-603C are all within a threshold proximity of electronic device600(e.g., as indicated by Bluetooth communications); external devices603A-603C are all associated with the user of electronic device600(e.g., the user has a common username on electronic device600and external devices603A-603C or the user is signed on to electronic device600and external devices603A-603C); or the devices are all only associated with the user of electronic device600. In some cases electronic device600is associated with multiple users (e.g., electronic device600is a shared device such as a set top box that controls a user interface on a television which is a device that individual users do not typically sign on to using their personal communication or social accounts). In some cases external devices603A-603C listed in menu648are used only with a single user (e.g., a device on which the user is signed on to one or more personal communication and social accounts so that the user can share the recorded visual output using the personal communication and/or social accounts).

In some embodiments, it is beneficial to share the recorded visual output with another device because electronic device600has limited applications or other means to share the recorded visual output (e.g., limited to sharing data to devices that are in close proximity and associated with the same user that is using electronic device600) while one or more of external devices603A-603C, in some embodiments, has many more applications or other means to share the recorded visual output (e.g., email, social networking, websites). In other words, in some cases, external devices603A-603C in menu648have more ways to share the application task data than electronic device600that executed the application task. In addition to being able to use the additional resources of external devices603A-603C listed in menu648to further share the recorded visual output, in some embodiments, it is be beneficial to share the recorded visual output with one or more of these devices because electronic device600has limited memory (e.g., non-volatile memory), such as 64 GB or less.

In response receiving user input selecting one of the affordances of menu648, electronic device600will transmit the recorded visual output to the selected external device using any number of communications channels, such a WiFi, Bluetooth, or other communications protocols. In some cases, the transmission from electronic device600to the selected device (e.g., external device603C) is direct in that the transmission does not pass through any intermediate servers or networking devices (e.g., via communications channel604G ofFIG. 6A).

Instead of recording visual output of the application automatically in response to the application starting, electronic device600can also record visual output of the application in response to a request form the user. For example, with reference toFIG. 6H, menu658depicts a pause menu as indicated by label660. Menu658includes affordances662,664,666, and668. Indicator670, which is not present in some embodiments, is used to aid the user in selecting an affordance. Affordance662causes the current game session to exit and the user to be returned to the home screen (e.g.,FIG. 6B). Affordance674allows the user to request that the visual output of the game session be recorded. Affordance666allows the user to restart the current game session (e.g., from the start of the level). Affordance668allows the user to resume the current game session.

In some embodiments, in response to receiving user input selecting affordance664, electronic device600starts (e.g., immediately) to record visual output. In some embodiments, electronic device600waits until the current game session is resumed (e.g, unpaused). In some embodiments, the game session resumes automatically in response to the selection of affordance664. In some embodiments, the game session resumes only in response to the user subsequently providing user input selecting affordance668. In any of these cases, the visual output of the game session is recorded in accordance with the user input selecting affordance664.

After the game session starts again (i.e., resumes), as depicted inFIG. 6I, indicator672is displayed, indicating that the visual output of the game session is being recorded. In some embodiments, the visual output is recorded until the game session is paused again, the game session is paused and the user provided input indicating the recording should be stopped, or the game session terminates (e.g., the level ends, the game is over, or the player dies in a single player game).

FIG. 6Jdepicts pause menu674after the visual output for the current game session has been set to record. Menu674indicates that the game is paused via label676. Affordances678,684, and686present similar options as described previously with respect to affordances662,666, and668, respectively, ofFIG. 6H. Affordance680allows the user to request that the visual output no longer be recorded. Indicator682aids in the user's selection of one of the affordances. In response to receiving user input selecting affordance680, pause menu688is displayed, as depicted in6K. In some embodiments, further in response to receiving user input selecting affordance680, previously recorded visual output is deleted. Menu688is similar to menu674. Label690indicates that the current game session is paused and indicator696aids the user in selecting one of the displayed affordances. Affordances692,697, and698perform similar functions as described previously with respect to affordances662,666, and668, respectively, ofFIG. 6H. Affordances694and696provide for the same functionality as affordances632and634ofFIG. 6E.

FIG. 7is a flow diagram illustrating a method for sharing application visual output using an electronic device in accordance with some embodiments. Method700is performed, for example at electronic device600. Some operations in method700are, optionally, combined, the order of some operations is, optionally, changed, and some operations are, optionally, omitted.

As described below, method700provides an intuitive way for sharing application visual output. The method reduces the cognitive burden on a user for sharing application visual output, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share application visual output faster and more efficiently conserves power and increases the time between battery charges.

The first electronic device receives a first input (e.g., affordance selection via remote control or other device connected to the first electronic device) corresponding to an affordance to start a task (e.g.,622,664,668) (e.g., starting a game session or resuming a game session from the pause screen) in an application (e.g., a game application depicted inFIGS. 6B-6K) executing on the one or more processors. In response to the electronic device receiving the first input, the electronic device starts the task (e.g., a session of the game). While the task is ongoing, the first electronic device records visual output of the application as application task data (e.g., a video file). After the task has ceased, the first electronic device causes to be displayed on the display an affordance for sharing (e.g.,634,644,646,695) (e.g., AirDrop sharing or a sharing application) the application task data with a second electronic device (e.g., a phone, tablet, or computer) that is associated with the first electronic device (e.g., the second electronic device has the same user or is in close proximity to the first electronic device). While the affordance for sharing (e.g.,634,644,646,695) is displayed on the display, the first electronic device receives a second input that corresponds to selection of the affordance for sharing the application task data. In response to the first electronic device receiving the second input, the first electronic device transmits the application task data to the second electronic device (e.g., one of603A-603C) over the communication interface. The above permits a user to control when application visual output is shared form within the application that is generating the output. This makes it more efficient and easier for the user to share content. By integrating the recording and sharing controls into the application, the user does not need to access or switch other applications.

In accordance with some embodiments, the third user input is received before the task starts (e.g., an affordance to turn on recording is displayed at a start screen of the task).

In accordance with some embodiments, the third user input is received after the task has started and while the task is paused (e.g.,FIG. 6H).

In accordance with some embodiments, the application is a game application (e.g., the game application depicted inFIGS. 6B-6K).

In accordance with some embodiments, the application task is a game session (e.g., the game session depicted inFIGS. 6B-6E).

In accordance with some embodiments, prior to the first electronic device starting to record the visual output of the task, the first electronic device receives a third user input that corresponds to an indication to record the visual output of the task (e.g.,664), wherein the first electronic device recording the visual output of the application as the application task data is based on (e.g., in response to) receiving the third user input.

In accordance with some embodiments, the first electronic device receives a fourth user input that corresponds to selection of an affordance to request the recording of the visual output of the task to stop (e.g.,680). After the first electronic device receives the fourth user input, the first electronic device ceases the recording of the visual output of the task while the task is executing (and, optionally deleting previously recorded visual output of the task).

In accordance with some embodiments, the first electronic device receives the fourth user input while the task is paused (e.g.,FIG. 6J).

In accordance with some embodiments, the first electronic device causing display of the affordance for sharing occurs in response to the cessation of the task (e.g., when the user has requested an end of the task by pausing or quitting a game, or when the task has ended automatically such as when the user loses a game or successfully completes a level). This simplifies the man-machine interface by automatically presenting an option to share the application task data in response to the task ending instead of having to switch applications to share the application task data.

In accordance with some embodiments, after the task has ceased, the first electronic device causes display of an affordance (e.g.,634) for providing an option to share the application task data on the display. The first electronic device receives fifth user input selecting the affordance for providing an option to share the application task data, wherein the display of the affordance for sharing (e.g.,644,646,652,654,656) occurs in response to receiving the fifth user input.

In accordance with some embodiments, the first electronic device detects the cessation of the task (e.g., the task is paused or terminated). In response to detecting the cessation of the task, the first electronic device ceases to record the visual output.

In accordance with some embodiments, the first electronic device detects the cessation of the task (e.g., the task is paused or terminated). In response to detecting the cessation of the task, the first electronic device causes display of an affordance (e.g.,632,694) for viewing the application task data (e.g., providing the user with an option to review the video recording of the game when the game is paused, after successful completion of a level, and/or after losing the game). In response to the first electronic device receiving user input selecting the affordance for playing the application task data (e.g.,632,694), the first electronic device causes display of the application task data.

In accordance with some embodiments, the second electronic device is a first external device (e.g., one of603A-603C) of a plurality of external devices (e.g.,603A-603C). After the first electronic device receives the second user input selecting the affordance for sharing, the first electronic device causes display of one or more affordances (e.g.,652,654,656) associated the plurality of external devices (e.g.,603A-603C). The first electronic device receives sixth user input selecting an affordance corresponding to the first external device (e.g., one of603A-603C). In response to the first electronic device receiving the sixth user input, the first electronic device designates the first external device as recipient of the transmission of the application task data.

In accordance with some embodiments, the one or more external devices (e.g.,603A-603C) are determined based on a proximity to the first electronic device.

In accordance with some embodiments, the second electronic device is associated with a user of the first electronic device (e.g., the first electronic device and the second electronic device are both associated or signed on with a same user account of a content synchronization or purchase sharing service such as a personal or family iCloud account).

In accordance with some embodiments, wherein the second electronic device is associated with only a user (e.g., an iPhone that only has a single user) of the first electronic device.

In accordance with some embodiments, the first electronic device is associated with multiple users (e.g., the first electronic device is a shared device such as a set top box that controls a user interface on a television which is a device that individual users do not typically sign on to their personal communication and social accounts) and the second electronic device is associated with a single user (e.g., a device on which the user is signed on to one or more personal communication and social accounts so that the user can share the recorded video using the personal communication and/or social accounts).

In accordance with some embodiments, the second electronic device is a smartphone or a tablet computer.

In accordance with some embodiments, the memory has a size of 64 GB or less.

In accordance with some embodiments, the application task data is a multimedia file.

In accordance with some embodiments, the application task data is transmitted directly (e.g., without going through intermediate servers or networking devices) to the second electronic device (e.g.,603C via604G).

In accordance with some embodiments, the first electronic device includes a first set of one or more ways to share the application task data (e.g.,FIG. 6F) (e.g., AirDrop, direct transfers) and wherein the second electronic device includes a second set of one or more ways to share the application task data (e.g., web, email, posting) different from the first set of one or more ways. In some examples, the second electronic device has more ways to share the application task data than the first electronic device.

In accordance with some embodiments, the affordance for sharing the application task data (e.g.,644,646,652,654,656) is a system user interface element and wherein the affordance to start the task (e.g.,622,664,668) and the affordance to stop the recording of the visual output (e.g.,680) are application user interface elements (e.g., user interface elements controlled by the application that invoke system protocols for recording the application task data).

In accordance with some embodiments, the second electronic device is configured to enable sharing via a plurality of different sharing services (e.g., email, social networks, video archives).

Note that details of the processes described above with respect to method700(e.g.,FIG. 7) are also applicable in an analogous manner to the methods described below/above. For example, method900optionally includes one or more of the characteristics of the various methods described above with reference to method700. For example, the use of a combination of system user interface objects and application interface objects to enable applications to rely on system capabilities described with respect to method700is also applicable to method1000. For brevity, these details are not repeated below.

In accordance with some embodiments,FIG. 8shows an exemplary functional block diagram of an electronic device800configured in accordance with the principles of the various described embodiments. In accordance with some embodiments, the functional blocks of electronic device800are configured to perform the techniques described above. The functional blocks of the device800are, optionally, implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described examples. It is understood by persons of skill in the art that the functional blocks described inFIG. 8are, optionally, combined or separated into sub-blocks to implement the principles of the various described examples. Therefore, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 8, an electronic device800is in communication with a display unit802configured to display a graphic user interface and a touch-sensitive surface unit804configured to receive contacts and includes a processing unit806. In some embodiments, the processing unit806includes a display causing unit810, a receiving unit812, a starting unit814, a recording unit816, and a transmitting unit818, and, optionally, a designating unit820and a detecting unit822.

The processing unit806is configured to: receive (e.g., with receiving unit812) a first input corresponding to an affordance to start a task in an application executing on the one or more processors; in response to receiving the first input, start (e.g., with starting unit814) the task; while the task is ongoing, record (e.g., with recording unit816) visual output of the application as application task data; after the task has ceased, cause to be displayed (e.g., with display causing unit810) on the display an affordance for sharing the application task data with a second electronic device that is associated with the first electronic device; and while the affordance for sharing is displayed on the display, receive (e.g., with receiving unit812) a second input that corresponds to selection of the affordance for sharing the application task data; and in response to receiving the second input, transmit (e.g., with transmitting unit818) the application task data to the second electronic device over the communication interface.

In some embodiments, the application is a game application.

In some embodiments, the application task is a game session.

In some embodiments, the processing unit806is further configured to, prior to starting to record the visual output of the task, receive (e.g., with receiving unit812) a third user input that corresponds to an indication to record the visual output of the task, wherein the recording the visual output of the application as the application task data is based on receiving the third user input.

In some embodiments, the third user input is received before the task starts.

In some embodiments, the third user input is received after the task has started and while the task is paused.

In some embodiments, the processing unit806is further configured to receive (e.g., with receiving unit812) a fourth user input that corresponds to selection of an affordance to request the recording of the visual output of the task to stop; and after receiving the fourth user input, cease the recording (e.g., with recording unit816) of the visual output of the task while the task is executing.

In some embodiments, receiving the fourth user input is received while the task is paused.

In some embodiments, cause display (e.g., with display causing unit810) of the affordance for sharing occurs in response to the cessation of the task.

In some embodiments, the processing unit806is further configured to, after the task has ceased, cause display (e.g., with display causing unit810) of an affordance for providing an option to share the application task data on the display; and receive (e.g., with the receiving unit812) fifth user input selecting the affordance for providing an option to share the application task data, wherein the display of the affordance for sharing occurs in response to receiving the fifth user input.

In some embodiments, the processing unit806is further configured to detect (e.g., with detecting unit822) the cessation of the task; and in response to detecting the cessation of the task, cease recording (e.g., with recording unit816) the visual output.

In some embodiments, the processing unit806is further configured to detect (e.g., with detecting unit822) the cessation of the task; in response to detecting the cessation of the task, cause display (e.g., with display causing unit810) of an affordance for viewing the application task data; and in response to receiving user input selecting the affordance for playing the application task data, cause display (e.g., with display causing unit810) of the application task data.

In some embodiments, the second electronic device is a first external device of a plurality of external devices and the processing unit806is further configured to after receiving the second user input selecting the affordance for sharing, cause display (e.g., with display causing unit812) of one or more affordances associating the plurality of external devices; receive (e.g., with receiving unit812) sixth user input selecting an affordance corresponding to the first external device; and in response to receiving the sixth user input, designate (e.g., with designating unit820) the first external device as recipient of the transmission of the application task data.

In some embodiments, the one or more external devices are determined based on a proximity to the first electronic device.

In some embodiments, wherein the second electronic device is associated with a user of the first electronic device.

In some embodiments, wherein the second electronic device is associated with only a user of the first electronic device.

In some embodiments, the first electronic device is associated with multiple users and the second electronic device is associated with a single user.

In some embodiments, the second electronic device is a smartphone or a tablet computer.

In some embodiments, the memory has a size of 64 GB or less.

In some embodiments, the application task data is a multimedia file.

In some embodiments, the application task data is transmitted directly to the second electronic device.

In some embodiments, the first electronic device includes a first set of one or more ways to share the application task data and the second electronic includes a second set of one or more ways to share the application task data different from the first set of one or more ways.

In some embodiments, the affordance for sharing the application task data is a system user interface element and the affordance to start the task and the affordance to stop the recording of the visual output are application user interface elements.

In some embodiments, the second electronic device is configured to enable sharing via a plurality of different sharing services.

FIGS. 9A-9Fdepict user interfaces and menus similar to those ofFIGS. 6B-6K, except that the user interfaces and menus ofFIGS. 9A-9Fenable a user to broadcast the visual output of an application task, such as a game session, instead of recording the visual output. Referring toFIG. 9A, menu900includes affordances904and906and indicator902that aids the user in selecting one of the affordances. In response electronic device600receiving user input selecting affordance904, the game session would start without broadcasting or recording the visual output. In response to electronic device600receiving user input selecting affordance906, menu908ofFIG. 9Bis displayed. Menu908includes affordance910,912, and914for three different broadcast applications installed on electronic device600. By selecting one of the affordances, electronic device600will send the visual output of the application task (when the task starts) to the selected broadcast application for broadcasting.

In some embodiments, the list of broadcast applications in menu908is determined using various techniques, including an API call for the operating system of electronic device600, querying a database, checking configuration data, or other sources data about installed applications. In some embodiments, broadcast applications are applications that receive or generate a live stream of the visual output of an application (e.g., video game output) and send the visual output for broadcasting and viewing by remote users. In some embodiments, in accordance with a determination that multiple broadcast applications are available, menu908is displayed to allow the user to select one of the broadcast applications. In some embodiments, in accordance with a determination that only one broadcast application is available, electronic device600skips causing display of menu908.

In some embodiments, in accordance with a determination that no broadcast applications are available on electronic device600, electronic device600causes display of menu916ofFIG. 9C, which includes prompt918for the user the download/install a broadcast application. In some embodiments, the a displayed menu includes a selectable option to display an app store user interface that is, optionally, linked to the display of a section of the app store that is reserved for applications that are capable of broadcasting the visual output of the application. In some embodiments, a displayed menu also provides one or more selectable affordances for purchasing and/or downloading applications that are capable of broadcasting the visual output without displaying the app store user interface.

Menu916includes indicator922that aids the user in selecting affordance924or926. In some cases, in response to user input selecting affordance924, electronic device causes to be display an application store interface displaying one or more broadcast applications that be downloaded and installed on electronic device600. In other cases, in response to user input selecting affordance924, electronic device600causes to be displayed one or more links to broadcast applications that can be downloaded and installed on electronic device.

In some embodiments, in response to user input selecting affordance926, electronic device600returns display600B to the initial display, as depicted inFIG. 9A, except that affordance906in menu900is removed based on a determination that no broadcast applications being installed. A user would have to restart the application or install a broadcast application independently in order for the affordance to reappear.

In some embodiments, if user input is received selecting affordance912(corresponding to the BroadAll application) or if only one broadcast application is installed, a determination is made as to whether electronic device600has access to broadcast services through the corresponding application. In some embodiments, electronic device600determines whether a user is logged into or needs to log into the broadcast application or the service associated with the broadcast application. If either the application or the service requires the user to login and the user has not logged in yet, menu928is displayed to prompt the user to enter their login information for the application indicated by instructions930. Affordance932allows for the user to input a username. Affordance934allows for the user to input a password. Once a username and password are entered, user input selecting affordance935results in the username and password being passed to the broadcast application for authentication. In some embodiments, the broadcast application authenticates the login information either locally or sends it to a remote server for authentication. As opposed to a user interface of the gaming application, menu928could instead be a menu of the broadcast application so that the login information is being directly entered into the broadcast application. As another option, instead of menu928, electronic device600could switch to the broadcast application to enable the user to enter login information directly into the broadcast application.

In some embodiments, in response to the login information being successfully authenticated, or the user already being logged, or a login not being necessary, the application task (e.g., a session of a game application) begins. While the application task is executing, the visual output of the application task is sent to the broadcast application. The broadcast application then sends the visual output to a remote server (e.g., remote server603ofFIG. 6A) for broadcast. After the application task has ended, as depicted inFIG. 9E, menu926is displayed. Menu936includes indicator942that aids the user selecting affordance938or940. Selection of affordance938causes electronic device600to return the user to the start screen for the application, as depicted, for example, inFIG. 9A. Affordance940causes electronic device600to switch to the broadcast application interface.

In some embodiments, pause menu944is displayed in response to electronic device600receiving user input requesting the game session to be paused. Pause menu includes affordance946for resuming the game session, affordance948for stopping the broadcast of the games session, and affordance950for restarting the game session. Indicator952, which is not present in some embodiments, is used to aid the user in selecting an affordance.

FIGS. 10A-10Bdepict a flow diagram illustrating a method for sharing application visual output using an electronic device in accordance with some embodiments. Method1000is performed at an electronic device, such as electronic device600, that is in communication with a display. Some operations in method1000are, optionally, combined, the order of some operations is, optionally, changed, and some operations are, optionally, omitted.

As described below, method1000provides an intuitive way for sharing application visual output. The method reduces the cognitive burden on a user for sharing application visual output, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share application visual output faster and more efficiently conserves power and increases the time between battery charges.

The first electronic device causes to display (1002) on the display a first affordance (e.g.,906) (e.g., on the start screen of the application) in an application (e.g., a game application) for broadcasting (e.g., sending for near-live distribution to an audience) visual output of a task (e.g., a game session) of the application.

In response to the first electronic device receiving a first user input (e.g., using a remote control or other input device in communication with the first electronic device) corresponding to selection of the first affordance (e.g.,906) and in accordance with the first electronic device determining that multiple broadcast applications on the first electronic device are capable of broadcasting visual output of the application while the task is ongoing: [a] the first electronic device causes to display (1006) on the display a second affordance (e.g., one of910,912,914) for selecting a broadcast application of the plurality of broadcast applications (e.g., Pinch, BroadAll, BScreen) capable of broadcasting the visual output of the application; and [b] while the second affordance (e.g., one of910,912,914) is displayed on the display, the first electronic device receives (1012) second user input corresponding to selection of the second affordance (e.g., one of910,912,914). After (e.g., in response to or later in time) the first electronic device receives the second user input (e.g., after the user has selected an application and after potentially selected the type of game to start), the first electronic device starts (1014) the task and sends the visual output of the application to the broadcast application for transmitting the visual output over the communication interface (e.g., over communication channel604C and604H) to a remote server (e.g.,603) (e.g., the broadcasting server).

In accordance with some embodiments, prior to the first electronic device causing the second affordance to be displayed on the display, the first electronic device determines (1006) whether multiple broadcast applications (e.g., Twitch, YouTube, XBox) on the electronic device are capable of broadcasting (e.g., sending for near-live distribution to an audience) the visual output of the application.

In accordance with some embodiments, further in response to the first electronic device receiving the first user input (e.g., using remote control or other user input device) corresponding to a selection of the first affordance (e.g.,904) and in accordance with the first electronic device determining that there is only one broadcast application capable of broadcasting the visual output of the application, the first electronic device starts (1016) the task and sends the visual output of the task to the broadcast application (e.g., the installed broadcast application) for transmitting the visual output over the communication interface to a remote server (e.g.,603) (e.g., the broadcasting server) without causing display of the second affordance (e.g., any of910,921,914).

In accordance with some embodiments, further in response to the first electronic device receiving the first user input (e.g., using remote control) corresponding to a selection of the first affordance. In accordance with the first electronic device determining that there are no applications capable of broadcasting the visual output of the application, the first electronic device prompts (1018) the user to install a broadcast application (e.g.,FIG. 9C) (e.g., providing a selectable option to display an app store user interface that is, optionally, linked to the display of a section of the app store that is reserved for applications that are capable of broadcasting the visual output of the application, or providing one or more selectable affordances for purchasing and/or downloading applications that are capable of broadcasting the visual output without displaying the app store user interface). The above permits a user to control when application visual output is broadcast from within the application that is generating the visual output. This makes it more efficient and easier for the user to broadcast content. By integrating the broadcasting controls into the application, the user does not need to access or switch other applications.

In accordance with some embodiments, the application is a game application and the task is a session of the game application.

In accordance with some embodiments, the first electronic device causes to display on the display a third affordance (e.g.,906) with the first affordance (e.g.,904), wherein the third affordance corresponds to a request to start the task without broadcasting the visual output of the application. In response to receiving the user input selecting the third affordance, the first electronic device starts the task without sending the visual output of the application (e.g., to a broadcast application) for broadcasting.

In accordance with some embodiments, in accordance with the first electronic device determining that there are no applications capable of broadcasting the visual output of the application, the first electronic device forgoes the display of the first affordance (e.g.,906).

In accordance with some embodiments, the first electronic device receives a third user input (e.g., user input selecting affordance948via menu944) indicating that sending the visual output of the application to the broadcast application should be ceased (e.g., selecting an affordance on a pause screen to stop broadcasting). In response to the first electronic device receiving the third user input, the first electronic device ceases to send the visual output of the task to the broadcast application.

In accordance with some embodiments, the electronic device sends the visual output of the application to the broadcast application occurs while the task is executing on the electronic device (e.g., a live stream of the visual output of the video game is being sent to the broadcast application, which is then broadcasting the content for viewing by remote users).

In accordance with some embodiments, the visual output of the application is a video recording of the application output (e.g., the output of the video game ofFIGS. 9A-9F).

In accordance with some embodiments, the first electronic device transmits, via the broadcast application, the visual output over the communication interface to the remote server (e.g.,603) (e.g., for retransmission to remote users who are watching the live stream of the video game). By using the broadcast application, the design of the application producing the visual output can be simplified because instead of the application having to integrate broadcast functionality, the application need only pass on its visual out to the a different application.

In accordance with some embodiments, in response to the first electronic device receiving the second user input the first electronic device determines whether a user is logged into the broadcast application. In accordance with the first electronic device determining that the user is logged into the broadcast application, the first electronic device starts the task and sending the visual output of the application to the broadcast application. In accordance with the first electronic device determining that the user is not logged into the broadcast application, the first electronic device causes to display, on the display, a login window (e.g.,928) of the broadcast application.

In accordance with some embodiment, the login window (e.g.,928) is generated by the broadcast application user interface and is concurrently displayed with at least a portion of the application user interface (e.g., so that the application does not get access to the login credentials of the broadcast application).

In accordance with some embodiments, the first affordance (e.g.,904) is associated with the application user interface and wherein the second affordance (e.g.,910,921, or914) for selecting the broadcast application is associated with a system user interface.

In accordance with some embodiments,FIG. 11shows an exemplary functional block diagram of an electronic device1100configured in accordance with the principles of the various described embodiments. In accordance with some embodiments, the functional blocks of electronic device1100are configured to perform the techniques described above. The functional blocks of the device1100are, optionally, implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described examples. It is understood by persons of skill in the art that the functional blocks described inFIG. 11are, optionally, combined or separated into sub-blocks to implement the principles of the various described examples. Therefore, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 11, an electronic device1100is in communication with a display unit1102configured to display a graphic user interface and a touch-sensitive surface unit1104configured to receive contacts and includes a processing unit1106. In some embodiments, the processing unit806includes a display causing unit1110, a receiving unit1112, a starting unit1114, and a sending unit1116, and, optionally, a determining unit1118, a transmitting unit1120and a prompting unit1122.

The processing unit1106is configured to: cause to display (e.g. with display causing unit1110) on the display a first affordance in an application for broadcasting visual output of a task of the application; in response to receiving a first user input corresponding to selection of the first affordance and in accordance with a determination that multiple broadcast applications on the electronic device are capable of broadcasting visual output of the application while the task is ongoing: cause to display (e.g. with display causing unit1110) on the display a second affordance for selecting a broadcast application of the plurality of broadcast applications capable of broadcasting the visual output of the application; and while the second affordance is displayed on the display, receive (e.g., with receiving unit1112) second user input corresponding to selection of the second affordance; and after receiving the second user input, start (e.g., with starting unit1114) the task and send (e.g., with sending unit1116) the visual output of the application to the broadcast application for transmitting the visual output over the communication interface to a remote server.

In some embodiments, the processing unit1106is further configured to, prior to causing the second affordance to be displayed on the display, determine (e.g., with determining unit1118) whether multiple broadcast applications on the electronic device are capable of broadcasting the visual output of the application.

In some embodiments, the application is a game application and the task is a session of the game application.

In some embodiments, the processing unit1106is further configured to: cause to display (e.g. with display causing unit1110) on the display a third affordance with the first affordance, wherein the third affordance corresponds to a request to start the task without broadcasting the visual output of the application; and in response to receiving the user input selecting the third affordance, start (e.g., with starting unit1114) the task without sending the visual output of the application for broadcasting.

In some embodiments, the processing unit1106is further configured to, further in response to receiving the first user input corresponding to a selection of the first affordance and in accordance with a determination that there is only one broadcast application capable of broadcasting the visual output of the application, start (e.g., with starting unit1114) the task and send (e.g., with sending unit1116) the visual output of the task to the broadcast application for transmitting the visual output over the communication interface to a remote server without causing display of the second affordance.

In some embodiments, the processing unit1106is further configured to, further in response to receiving the first user input corresponding to a selection of the first affordance and in accordance with a determination that there are no applications capable of broadcasting the visual output of the application, prompt (e.g., with prompting unit1122) the user to install a broadcast application.

In some embodiments, the processing unit1106is further configured to in accordance with a determination that there are no applications capable of broadcasting the visual output of the application, forgo the causing of display (e.g., with display causing unit1110) of the first affordance.

In some embodiments, the processing unit1106is further configured to receive (e.g., with receiving unit1112) a third user input indicating that send (e.g., with sending unit1116) the visual output of the application to the broadcast application should be ceased; and in response to receiving the third user input, ceasing to send the visual output of the task to the broadcast application.

In some embodiments, sending the visual output of the application to the broadcast application occurs while the task is executing.

In some embodiments, the visual output of the application is a video recording of the application output.

In some embodiments, the processing unit1106is further configured to, transmit (e.g., with transmitting unit1120), by the broadcast application, the visual output over the communication interface to the remote server.

In some embodiments, the processing unit1106is further configured to, in response to receiving the second user input, determine (e.g., using determining unit118) whether a user is logged into the broadcast application; in accordance with a determination that the user is logged into the broadcast application, start (e.g., with starting unit1114) the task and send (e.g., with sending unit1116) the visual output of the application to the broadcast application; and in accordance with a determination that the user is not logged into the broadcast application, cause to display (e.g. with display causing unit1110), on the display, a login window of the broadcast application.

In some embodiments, the login window is generated by the broadcast application user interface and is concurrently displayed with at least a portion of the application user interface.

In some embodiments, the first affordance is associated with the application user interface and wherein the second affordance for selecting the broadcast application is associated with a system user interface.