The software 140 may be updated by downloading and installing a software update image 145. The software update image 145 may be downloaded from an update server 140. The software update image 145 may include content 155 for output on the display 135 during download and installation of the software update 145. The content 155 may be images (e.g., pictures), audio (e.g., music), video, graphics, and/or the like. For example, the content 155 may be software version information, such as an introduction to new features contained in the software update. In another example, the content 155 may be a product offering (e.g., advertisement). In yet another example, the content 155 may be entertainment information.
Typically, the content 155 included in the software update image 145 may change while the software update itself may not change. As a result, the entire software update image 145 needs to be changed if any portion of the content 155 is changed. In other instances, only a given portion of the content may be displayed, but the software update image 145 includes all the content 155. For example, the content 155 may include English, Spanish, French, German, Japanese and Chinese versions. However, only the content in a given version may be output on the display 135 based upon a configuration parameter (e.g., user setting or preference) for the device 110. As a result, the software update image 145 will be a bigger image than if the image did not include the content 155. Accordingly, there is a continued need for improved techniques for delivering and display content along with downloading and updating software.
Embodiments of the present technology are directed toward techniques for outputting content, such as pictures, video and/or audio, associated with a software update. In one embodiment, a system includes an update server, a content server and a network device. The update server stores one or more software update images, wherein at least one of the software update images includes one or more content identifiers. The content server stores one or more content items associated with one or more of the software update images. The network device may download a given software update image that includes one or more content identifiers from the update server. The network device may then download at least one of the content items from the content server based on the one or more content identifiers included in the given software update image and outputting the item on one or more input/output interfaces of the device.
In another embodiment, a method includes downloading a software update image. One or more uniform resource identifiers and a timetable are received with the software update image. Content at the one or more uniform resource identifiers is then downloaded. Thereafter, the method determines if a next progress point has been reached according to the timetable. If the next progress point has been reached, a next portion of the content is output.
Embodiments of the present invention are illustrated by way of example and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Reference will now be made in detail to the embodiments of the present technology, examples of which are illustrated in the accompanying drawings. While the present technology will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present technology, numerous specific details are set forth in order to provide a thorough understanding of the present technology. However, it is understood that the present technology may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present technology.
Referring now to
The device 210 includes a network interface 235, a processing unit 240, an audio/video (A/V) output 245 and memory 250. The memory 250 may include one or more computing device readable media, such as non-volatile read-only memory (ROM), flash memory, volatile random access memory (RAM), optical storage (e.g., CD/DVD disk and drive), magnetic storage (e.g., hard disk drive (HDD)), and/or the like. The memory 250 stores computing device executable commands and data (e.g., one or more software applications) 255. The processing unit 240 implements one or more functions of the device 210 by executing one or more of the software application 255 stored in the memory 250. The device 210 may be communicatively coupled to a display 260 through the A/V output 245. Although the display 260 is shown as an external peripheral of the device 210, it is appreciated that the display may be an integral component of the device 210. The device 210 may also include one or more input/output (I/O) interface 265. The additional I/O interfaces 265 may include a control panel, remote control, keyboard, pointing device (e.g., mouse), game controller, speaker, microphone, printer and/or the like. The additional I/O interfaces 265 may be integral to the device 210 and/or external peripherals communicatively coupled to the device 210.
The software 255 may be updated by downloading and installing a given software update image 225. The download process may be initiated by a user through use of one or more I/O device 265 such as the keyboard and/or mouse and a graphical user interface (GUI) on the display 260. Alternatively, the download process may be automatically initiated by an update routine or application. Operation of the system will be further described with reference to
The content 230 may be downloaded from the content server 220 and/or output by the networked device 210 during the download and/or installation of the software update, as illustrated in
Referring now to
The progress point may specify a point within the download and/or installation of the software update image, a period of time, or similar event.
At 420, the content at the one or more content identifiers is downloaded. A given content item may be downloaded when a corresponding progress point is reached. Alternatively, the content item may be been downloaded prior to when its corresponding progress point is reached. At 430, it is determined whether a next process point according to the timetable has been reached. If a next progress point has not been reached, the process continues 440 to determine whether a next progress point has been reached. If a next progress point has been reached, a next content item is output, at 450. The next progress point maybe associated with one or more URLs by the timetable. If the next progress point is associated with a plurality of URLs, a condition may be used to determine which content at the given plurality of URLs is displayed. For example, an operating parameter (e.g., user setting or preference) may indicate a given country. The content item to be display is output based upon the URL associated with the condition that matches the operating parameter. The content item may be a picture, a graphic, an audio, a video, and/or the like.
At 460, it is determined if a last progress point according to the timetable has been reached. If a last progress point has not been reached, the process continues 470 to determine whether a next progress point has been reached. If the last progress point has been reached, the process for displaying content ends.
Embodiments advantageously provide improved techniques for delivering and displaying content along with downloading and updating software. By including a small identifier of the content associated with the software update in the software update image, it is easier to show different images depending on user settings or preferences while reducing the software update image size. In addition, the content may be changed without having to change the software update image. Similarly, the software update may be changed without having to change the associated content.
The foregoing descriptions of specific embodiments of the present technology have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the present technology and its practical application, to thereby enable others skilled in the art to best utilize the present technology and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.