Automatic start of an application at start up for a media player appliance

A media player appliance including a controller configured to receive an indication from a remote control device that designates a selected application to automatically start when the media player appliance is starting up, update a configuration file to designate the selected application for automatic start, and automatically start an application designated in the configuration file when the media player appliance is starting up.

BACKGROUND

In a conventional media player appliance, various applications are displayed on a display screen. Given the boom in digital video, music, and other content a large number of applications may be displayed. However, the user may only use a limited number of applications most of the time. This may be problematic if there are a large number of applications. In such a case, the user may be unable to easily locate and start a desired application.

DETAILED DESCRIPTION

In an embodiment, a media player appliance102comprises, for example, a streaming media player, a cable box, a network access storage (“NAS”) device, a direct access storage (“DAS”) device, or other electronic device which may store and run an application. The media player appliance102can be connected, for example, to a display unit104such as a television, a monitor, or other device which may display the application run by the media player appliance102. Furthermore, the application may be stored locally in the media player appliance102, or remotely, on a remote storage site. In an embodiment, the media player appliance may run the application from the remote storage site. In an embodiment, when the media player appliance102comprises the streaming media player, the streaming media player is configured to stream media from an external source and to display the streamed media on the display unit104. In an embodiment, the media player appliance102is configured to be an application specific media player appliance102. For example, the media player appliance102can be configured to automatically start an application during startup of the media player appliance102. In an embodiment, the media player appliance102may also utilize other applications in addition to the application which is automatically started when the media player appliance102starts up.

In an embodiment, the media player appliance102can receive inputs from the remote control device110. Furthermore, in an embodiment, the remote control device110may be wirelessly connected to the media player appliance102. However, in an embodiment, the remote control device110may also be connected to the media player appliance102through a cable. In an embodiment, the media player appliance102comprises the remote control device110.

In an embodiment, the remote control device110comprises a limited-input control device. For example, the remote control device110may not comprise a separate button for each of the letters of the alphabet and may require for example one or more depressions of a button within a predetermined period of time to provide an input for a letter of the alphabet. In an embodiment, the limited-input control device lacks a QWERTY keyboard. In an embodiment, the remote control device110comprises a mobile device comprising an application installed on the mobile device, which allows the mobile device to provide inputs to the media player appliance102.

In some embodiments, the remote control device110is shown inFIGS. 2 and 3. In the embodiment shown inFIG. 2, the remote control device110comprises a transmitter802, a power button804, a home button806, navigation buttons808, an enter button810, media buttons812, a back button814, an option button816, a search button818, and an eject button820.

In an embodiment, the transmitter802is configured to transmit signals from the remote control device110to the media player appliance102. In an embodiment, the transmitter802comprises an infrared transmitter. In an embodiment, the power button804is configured to indicate to the media player appliance102to start up or shut down. In an embodiment, the home button806is configured to indicate to the media player appliance102that a home screen in a user interface should be displayed on the display unit104. In an embodiment, the navigation buttons808is configured to indicate to the media player appliance102how to navigate through various items or options presented by the media player appliance102. In an embodiment, the enter button810is configured to indicate to the media player appliance102that an item or option is selected.

In an embodiment, the media buttons812are configured to indicated to the media player appliance102how to play a media. In an embodiment, the back button814is configured to indicate to the media player appliance102that the media player appliance102should go back to a previous option or screen. In an embodiment, the option button816is configured to indicate to the media player appliance102that available options should be displayed on the display unit104. In an embodiment, the search button818is configured to indicate to the media player appliance102that a search mode should be displayed on the display unit104. In an embodiment, the eject button820is configured to indicate to the media player appliance102that the media player appliance102should be configured for safe removal of an attached storage device.

In an embodiment shown inFIG. 3, the remote control device110contains additional buttons in addition to the remote control device110shown inFIG. 2. In the embodiment shown inFIG. 3, the remote control device110also comprises a next page button822a, a previous page button822b, a mute button824, a setup button826, assignable buttons828, and number buttons830.

In an embodiment, the next page button822ais configured to indicate to the media player appliance102that a next page should be displayed. In an embodiment, the previous page button822bis configured to indicate to the media player appliance102that a previous page should be displayed. In an embodiment, the mute button824is configured to indicate to the media player appliance102to switch between muting and unmuting the sounds. In an embodiment, the setup button826is configured to indicate to the media player appliance102that a setup screen should be displayed.

In an embodiment, the assignable buttons828are configured to be assigned by the user to indicate to the media player appliance102that a function should be utilized or an application should be started. In an embodiment, the number buttons830are configured to indicate to the media player appliance102numerical values. However, in an embodiment, the number buttons830are also configured to indicate to the media player alphanumerical values. In an embodiment, the number buttons830may indicate to the media player102alphabetical values by depressing the number buttons830one or more times to achieve a desired alphabetical value.

Referring back toFIG. 1, in an embodiment, the media player appliance102comprises a communications interface112, a controller114, memory116, and a video output118. In an embodiment, the communications interface112is configured to communicate with the application provider108directly or through another device. For example, the communications interface112can communicate with the application provider108bdirectly, such as when the application provider108bis plugged into the media player appliance102.

In addition, the communications interface112can communicate with the application provider108aindirectly, such as when the application provider108ais connected to a network106. The network106can comprise, for example, a local area network (“LAN”), a wide area network (“WAN”), wireless networks, cellular networks, the Internet, a cable network, or other types of networks which can provide access to the application providers108. In such a case, the communications interface112can connect to the network106to communicate with the application provider108a.

In an embodiment, the communications interface112allows for the media player appliance102to access the one or more application providers108. In an embodiment, the communications interface112is also configured to receive input from the remote control device110. In an embodiment, the communications interface112comprises a network interface controller, Wi-Fi interface, a universal serial bus (“USB”) port, a coaxial cable port, or other ports which may allow the media player appliance102to access the one or more application providers108. In an embodiment, the communications interface112also allows the media player appliance102to access one or more content providers which can provide content for the media player appliance.

In an embodiment, the video output118is configured to connect to the display unit104and provide images or video to the display unit104so that the video or images can be displayed on the display unit104. In an embodiment, the display unit104comprises a television, a monitor, or other device which may display the applications stored and run by the media player appliance102. In an embodiment, the display unit104may also display content stored and played by the media player appliance102.

In an embodiment, the memory116comprises at least one of a solid state memory or a magnetic rotating disk. Furthermore, the memory116comprises a volatile or a non-volatile memory. In an embodiment, the memory116is configured to store data on the media player appliance102.

While the description herein refers to solid state memory generally, it is understood that solid state memory may comprise one or more of various types of solid state non-volatile memory devices such as flash integrated circuits, Chalcogenide RAM (C-RAM), Phase Change Memory (PC-RAM or PRAM), Programmable Metallization Cell RAM (PMC-RAM or PMCm), Ovonic Unified Memory (OUM), Resistance RAM (RRAM), NAND memory (e.g., single-level cell (SLC) memory, multi-level cell (MLC) memory, or any combination thereof), NOR memory, EEPROM, Ferroelectric Memory (FeRAM), Magnetoresistive RAM (MRAM), other discrete NVM (non-volatile memory) chips, or any combination thereof.

In the embodiment shown inFIG. 4, some of the data stored in the memory116are shown. For example, the memory116can store an operating system202, applications204, data folders206, a user interface definition216, and shortcuts218. In an embodiment, the operating system202comprises procedures for handling various basic system services and for performing hardware dependent tasks. In an embodiment, the applications204can be executed by a processor in the media player appliance102to cause the media player appliance102to perform certain operations. In an embodiment, the applications204comprise, for example, applications for media playing, TV channels, websites, games, e-mail, widgets, and/or search widgets.

In the embodiment shown inFIG. 4, the data folders206comprise a music folder208, a photo folder210, a video folder212, and other folders214. The music folder208comprises, for example, content such as music files. The photo folder210comprises, for example, content such as photo files. The video folder212comprises, for example, content such as video files. The other folders214comprises, for example, other content which may be displayed on the display unit104, such as e-mail files, word processing documents, text files, or other types of files.

In an embodiment, the memory116also stores a user interface definition216. The user interface definition216comprises information for displaying a user interface302as shown in the embodiment inFIG. 5. In the user interface302, shortcuts204a-204ofor Applications 1-15 are shown. In addition, the user interface302can display additional menus such as the menu304shown in an embodiment inFIG. 6. In an embodiment, the user interface definition216can also comprise information regarding a home screen, when the home screen is displayed as the user interface.

In an embodiment, the memory optionally stores shortcut definitions218. The shortcut definitions218correspond to shortcuts which may be displayed on the user interface302. In an embodiment, the shortcuts correspond to applications or content. When a shortcut is clicked on by a user, such as through the remote control device110, the media player appliance102can start the application or play the content corresponding to the shortcut.

For example, to select an application to start, a user can move around a cursor in the user interface302by utilizing for example, the navigation buttons808(FIGS. 2 and 3) in the remote control device110. The cursor can indicate which application will be started if the user indicates that an application should be started. In an embodiment, the cursor comprises a bolded rectangle and is on the shortcut204jfor the Application10as shown inFIG. 6. In an embodiment, the user can indicate that the Application10should be started by activating the enter button810(FIGS. 2 and 3) in the remote control device110while the cursor is over the shortcut204jfor the Application10.

In an embodiment, the memory116can also store a configuration file220. In an embodiment, the configuration file220need not be stored in the memory116, but instead, can be stored remotely such as on a server or other memory location which is accessible by the controller114. In an embodiment, the configuration file220designates which application should be automatically started when the media player appliance102is starting up. In an embodiment, the configuration file comprises a startup file which can be automatically loaded when the media player appliance102starts up. In an embodiment the startup file comprises a database, script, or any combination thereof.

In an embodiment, to designate the application to automatically start, a user can activate a button such as the option button816(FIGS. 2 and 3) in the remote control device110. The controller114can receive the indication from the remote control device110that options should be displayed on the display unit104. In an embodiment, the options comprise, for example, a selection interface as shown inFIG. 7. In an embodiment, the selection interface includes an option306entitled “Auto-Run App at Start Up”. In an embodiment the user can selection the option306, such as through the navigation buttons808and the enter button810in the remote control device110(FIGS. 2 and 3). When the user selects the option306, the remote control device110indicates to the controller114that the selected application is designated to automatically start when the media player appliance102is starting up. In an embodiment, the indication can be transmitted through the transmitter802(FIGS. 2 and 3) in the remote control device110.

In an embodiment, an application can be automatically started based on a process shown inFIG. 8. In block S802, the controller114receives the indication from the remote control device110that designates the selected application to automatically start when the media player appliance102is starting up. In block S804, the controller114updates the configuration file220(FIG. 4) stored in a memory accessible by the controller114to designate the selected application for automatic start when the media player appliance is starting up. In an embodiment, the controller114can then provide a confirmation to the user on the display unit104as shown in an embodiment inFIG. 9.

In an embodiment, the confirmation can include a graphical indication on an application icon that the selected application is set to auto run in the configuration file. In the embodiment shown inFIG. 9, the application icon is framed and also has a start up icon overlaid on top of the application icon. However, other graphical indications may be used to indicate to the user that the application is set to automatically start in the configuration file. Furthermore, the controller can provide a reminder to the user to reboot the media player appliance. In block5806, the controller114automatically starts the application designated in the configuration file220when the media player appliance102starts up.

Optionally, the controller114can also perform a process shown inFIG. 10to limit an automatic start of an application. In block S1002, the controller114receives the indication from the remote control device110that designates the selected application to automatically start when the media player appliance102is starting up, the controller114determines when a second application is already designated in the configuration file220. In block S1004, the controller114prevents the configuration file220from being updated to include the selected application when a second application is already designated in the configuration file220. Optionally, in block S1006, the controller114displays a warning indicating that the configuration file220has not been updated when the second application is already designated in the configuration file220. In an embodiment, the user can override the prevention of updating of the configuration file220, and replace the second application with the selected application in the configuration file220, by utilizing the remote control device110. For example, the controller114may display an option for the user to replace the second application with the selected application in the configuration file220. The user can then confirm that the configuration file220should be updated to replace the second application with the selected application by utilizing the remote control device110.

In block S1008, the controller114receives an indication from the remote control device110that the selected application is not designated to automatically start when the media player appliance102is starting up. For example, to designate the application to not automatically start, a user can activate a button such as the option button816(FIGS. 2 and 3) in the remote control device110. The controller114can receive the indication from the remote control device110that options should be displayed on the display unit104. In an embodiment, the options comprise, for example, a selection interface as shown inFIG. 11, which is similar to the selection interface shown inFIG. 7. In an embodiment, the selection interface includes an option308entitled “Remove Auto_Run” instead of the option306.

In an embodiment the user can select the option308, such as through the navigation buttons808and the enter button810in the remote control device110(FIGS. 2 and 3). When the user selects the option308, the remote control device110indicates to the controller114that the selected application is not designated to automatically start when the media player appliance102is starting up. In an embodiment, the indication can be transmitted through the transmitter802(FIGS. 2 and 3) in the remote control device110.

In block S1010, the controller114updates the configuration file220to remove the selected application from the configuration file220.

In an embodiment, an application can be started based on a process disclosed inFIG. 12. In block S1202, the controller114receives an indication that a selected application is assigned to an assigned button on the remote control device110. For example, as shown inFIG. 3, a button from the assignable buttons828may be assigned to the selected application. In block S1204, the controller114receives an indication from the remote control device110that the assigned button has been activated. In block S1206, the controller114starts the selected application when the indication that the assigned button has been activated is received. In an embodiment, this can reduce an amount of time it takes for the user to run an application.

In an embodiment, the configuration file220corresponds to user account information for a user account. Thus, different user accounts may have different configuration files220. The user accounts may comprise a variety of user account information such as the identity of the user account, authentication information, or other types of information. Therefore, when the media player appliance102is started, it may request that the user log into the media player appliance102with user account information. In an embodiment, logging into the media player appliance with the user account information may require that the user authenticate the user account through a username, password, biometrics, other means of identification, or any combination thereof. In an embodiment, the biometrics comprises fingerprint information, facial recognition information, retina information, or other types of biological information.

In an embodiment, when the user has logged into the media player appliance102with the user account information, the controller can retrieve the configuration file220corresponding to the user account information and automatically start the application designated in the configuration file220which corresponds to the user account information. In an embodiment, user account information may be stored in the memory116in the media player appliance102or in a remote memory that is accessible by the media player appliance102.

In an embodiment, the user account information may also comprise information for a user interface configuration. In an embodiment, the user interface configuration may be part of the user interface definition216(FIG. 4). Thus, when the user logs in with a particular user account information, the user interface configuration may indicate the configuration of the user interface302. For example, when the user logs in with a first user account information, a first user interface configuration corresponding to the first user account information may be utilized by the controller114to determine the configuration of the user interface. However, when the user logs in with a second user account information, a second user interface configuration corresponding to the second user account information may be utilized by the controller114to determine the configuration of the user interface. In an embodiment, the user interface configuration can be altered and saved. In an embodiment, the user interface configuration may be stored in the memory116in the media player appliance102or in a remote memory that is accessible by the media player appliance102.

For example, the user interface configuration may indicate the order in which applications are displayed. Thus, more popular or desirable applications may be displayed before less popular or less desirable applications. In an embodiment, the user interface configuration may indicate that certain applications should always be displayed on a first page of the user interface302. For example, certain applications may be pinned to the first page of the user interface302.

Those of ordinary skill would appreciate that the various illustrative logical blocks, modules, and algorithm parts described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Furthermore, the embodiments can also be embodied on a non-transitory machine readable medium causing a processor or computer to perform or execute certain functions.

The parts of a method or algorithm described in connection with the examples disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The parts of the method or algorithm may also be performed in an alternate order from those provided in the examples. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, an optical disk, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an Application Specific Integrated Circuit (ASIC).

The previous description of the disclosed examples is provided to enable any person of ordinary skill in the art to make or use the disclosed methods and apparatus. Various modifications to these examples will be readily apparent to those skilled in the art, and the principles defined herein may be applied to other examples without departing from the spirit or scope of the disclosed method and apparatus. The described embodiments are to be considered in all respects only as illustrative and not restrictive and the scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.