Many user interfaces (UIs) can have their appearance customized by a user. Some web applications allow a user to specify a visual theme that governs the appearance of content delivered by the web application. For example, a user might have an account with a web-mail service, and that account could be associated with the user's choice of a visual theme. Thus, the underlying content to be served to the user (e.g., an inbox, a message, a composition screen, etc.) could be delivered along with visual elements that are based on a “theme” chosen by the user. For example, one user might choose a theme that provides a blue background, and another user might choose a theme that has a red background. Thus, in the web-mail example, an inbox could be presented against different color backgrounds. Other types of web applications (e.g., search engines, blogs, on-line music stores, etc.) might allow for similar theme selection.
UI customization generally offers the user certain discrete, tightly-bound combinations of choices. The user might choose a particular theme for a web application, where the choice of theme determines a specific combination of graphics and color—e.g., light blue flowers, dark red cars, etc. Thus, the content is provided based on the combination of graphics and color set by the theme, and the user is limited to those combinations of graphics and color that are offered.
Colors of certain UI elements can be automatically tinted, in some circumstances, according to a user's choice of theme. For example, the border (or “chrome”) that surrounds an application window in certain operating systems may be tinted, so that the specific elements that make up the border may be displayed in a user-chosen color. The tint is applied to the border surrounding the window, but does not affect the content within the window.
Content may be presented with a visual theme that may be chosen by a user. A theme may have a graphic and a color, and the user may choose the graphic and color separately. The chosen theme may be applied to the content displayed by a web application, such as a web-mail system, a search engine, music store, an on-line word processor, or any other type of application. Thus, when a user interacts with the web application, the server that provides content to the user may provide content with the user's chosen visual theme. While a web application is one possible use of a theme, a theme could also be used with any type of application, such as a standalone or client-side application.
A system that allows user-specified themes may present, to a user, a control panel that allows the user to choose graphics and colors separately. For example, the control panel could have one control that allows the user to select a graphic, and another control that allows the user to select a color. The chosen combination of color and graphic may be stored as a theme, and the theme could then be applied to the content to affect the visual appearance of the content.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Many types of software allow users to customize the experience of using the software. Some applications give users a choice of “skins”. Some applications give users a choice of toolbars to be displayed. Certain web sites allow a user to create an account, and let the user customize what he or she wants to appear on the welcome page when logging into the site (e.g., particular stock quotes, weather for a particular zip code, etc.). While customization may be allowed to some degree, in many cases the customization is from a fixed menu. For example, a media player or music web site might allow a user to apply a guitar theme to the web site, but the guitar theme may be based on specific graphics that come in a specific color. A user might want to combine aspects of different themes. For example, the user might like the theme's guitar graphics, but might want to apply a different color than the theme offers.
The subject matter described herein may be used to create a theme by combining different visual aspects, such as: color, graphics, and/or motion (or even non-visual aspects such as geographic location, the progression of time, randomness, holidays or special events, and/or changes in weather). A system that employs the subject matter herein might present to the user a UI that offers, for example, a choice of graphics and color. The user might select a particular graphic and a particular color. The chosen graphic and color could be combined to create a theme. This theme could be applied to content. For example, if the subject matter herein is used as part of a web-mail application, the theme created from the user's chosen combination could be applied to the user's inbox, message-composition screen, etc.
Turning now to the drawings,
While the user might choose a theme from among themes 106-110, the user could also use space 104 to create a theme by separately selecting different elements. Thus, space 104 offers a choice of graphics 112, 114, and 116 (referred to, in this example, as “tattoos”), and also offers a mechanism 118 to choose a color. For example, a user might choose the cat image of graphic 112, the flower image of graphic 114, or the lightning bolt image of graphic 116. The user could then choose a color, using mechanism 118. In the example of
An “apply theme” button 120 could be provided by user interface 100. After the user chooses the various elements of the theme, such as a graphic and a color, the user could click button 120 in order to confirm the selection of those elements.
A system that allows customization of a user experience may present a user interface, such as that shown in
At 202, a selection UI may be presented to a user. For example, user interface 100 (shown in
At 204, a selection of a graphic may be received. For example, with reference to example user interface 100 (shown in
At 210, a selection of a value for a color parameter may be received. The selection could be received through a variety of mechanisms. For example, one or more slider(s) 212 (an example of which is shown by mechanism 118 in
At 216, a graphic and color combination is set in accordance with the selections that were received at 204 and 210. Thus, if a user selects a combination such as an image of a flower (e.g., graphic 114, shown in
The stages shown and described at 204, 210, and 216 refer to an example in which the theme selected by the user is a combination of a color and a graphic. However the color and graphic are examples of two particular elements. In general, any type or number of elements could be combined to create a theme.
At 218, content may be provided in accordance with the theme represented by the chosen combination of elements. Thus, the content provided may, in some manner, be based on the theme or may incorporate elements of the theme. For example, if the content takes the form of pages provided by a web site, the pages may use the background color set by the theme. Or the content to be provided on the page (e.g., a web-mail inbox, an on-line music store, a search engine, a welcome page for a portal, etc.), may be adorned in some manner with the chosen graphic (which may or may not be tinted with the chosen color). There may be any amount or type of integration between the content and the color and/or graphic. For example, instances of the graphic could be integrated in individual icons. Thus, in such an example, if the graphic chosen for the theme is a flower and the chosen color is red, then envelope icons used in a web-mail application could be watermarked with instances of the flower, and/or the envelope could be tinted red. (Watermarking an image with a graphic is one example of how a graphic could be added to the image, although the graphic could be added in any manner.) As another example, the background of the page could be tinted in the chosen color, and the background could be watermarked with the chosen graphic. As further examples, a search box could be tinted in a user's chosen color, or selection highlighting could be done in a user's chosen color. The foregoing are some examples, although a particular graphic and/or color could be integrated with content in various ways. Additionally, when thematic elements other than color and graphic are used, these other elements could be integrated with content as well.
When content is provided in accordance with a user's chosen theme at 218, one example is to provide that content to the user. For example, the user's chosen theme might be used to affect the appearance of content displayed to that user on a web site. However, the user's chosen theme could be applied to content in other contexts. For example, the user's chosen theme might be applied to content created by, or belonging to, that user which is viewed by other users. Thus, a user might create a blog or a photo album and apply his or her chosen theme, and when other users view the blog or photo album they may see that theme. As a further example, the parameters of the user's chosen theme could be stored in a file, and the file could be stored for later user, or could be sent to other users as a way of sharing a theme.
As noted above, when content is provided, an aspect of user's chosen theme could be modified based on an external fact, such as the time of day or the weather. For example, the user might choose a particular shade of blue for the color, but a modification to the shade could be made such that the color would be darker at night or on rainy days. The modification could be used in applying the theme to the content.
As discussed above, when color is an element to be selected as part of a theme, the color could be selected in various ways.
Mechanism 300 comprises three sliders, 302, 304, and 306. Each slider represents a different component of a color's appearance. In the example of
When a theme is selected, the theme may be applied to content in any manner.
One way in which a theme could be applied to content is to affect the background of the content (block 402). For example, various types of content (e.g., a web-mail inbox, an on-line music store, a welcome page for a portal, a word-processing application, etc.) may be presented against a background. The background could be presented in a particular color, or could have a particular graphic. The graphic could be applied in various ways, such as by displaying the graphic in solid, opaque lines against a background, or by using the graphic to watermark the background at various levels of transparency. (The actual level of transparency could be pre-determined, or could be chosen by the user as one of the elements of the theme selection.)
Another way in which a theme could be applied to content is to integrate the theme into the content (block 404). For example, as previously described, the content may use certain types of images (e.g., an envelope icon for a mail application, an optical disc icon for an on-line music store, etc.), and the user's chosen color and/or graphic could be integrated into these images. For example, the images could be tinted with the user's chosen color, and/or the user's chosen graphic could be watermarked (or otherwise applied) to the images.
Another way in which a theme could be applied to content is to use the theme with the borders surrounding the content (block 406). For example, the borders could be tinted in a user's chosen color, and/or adorned with a user's chosen graphic.
Another way in which a theme could be applied to content is to apply the theme to text in the content (block 408). For example, the text could be displayed in a user's chosen color or colors. Moreover, other aspects of text could be chosen with a theme (e.g., a particular font).
The foregoing are some examples of ways in which a theme could be applied to content. However, other visual elements (block 410) could be affected by the user's chosen theme.
Content generator 502 provides content 504 to theme applier 506. Theme applier 506 applies a chosen them to content in some manner. Some example ways in which content could be applied are shown in
Theme applier 506 communicates with, or otherwise makes use of, a communication component 508. Theme applier 506 provides theme-applied content 510 (content to which a theme has been applied) to communication component 508. Communication component 508 then communicates the theme-applied content to a user interface 512. The delivery of theme-applied content 510 to user interface 512 could take any form. For example, if theme-applied content 510 is generated by a web application that runs on a server, then delivering theme applied content 510 to user interface 512 may involve sending theme-applied content 510 over the internet to a machine remote from the server (e.g., a user's desktop machine, wireless handheld computer, etc.), in order to be displayed on a browser. On the other hand, if theme-applied content is being generated by a standalone application that runs on a desktop computer (or laptop or handheld computer, or wireless telephone, etc.), then delivering content to user interface 512 may involve sending the content to a window (or other display element) on that machine.
It is noted that
In addition to displaying theme applied content 510, user interface 512 may also be used to receive a user's selection of a theme. For example, user interface 100 (shown in
Computer 600 includes one or more processors 602 and one or more data remembrance components 604. Processor(s) 602 are typically microprocessors, such as those found in a personal desktop or laptop computer, a server, a handheld computer, or another kind of computing device. Data remembrance component(s) 604 are components that are capable of storing data for either the short or long term. Examples of data remembrance component(s) 604 include hard disks, removable disks (including optical and magnetic disks), volatile and non-volatile random-access memory (RAM), read-only memory (ROM), flash memory, magnetic tape, etc. Data remembrance component(s) are examples of computer-readable storage media. Computer 600 may comprise, or be associated with, display 612, which may be a cathode ray tube (CRT) monitor, a liquid crystal display (LCD) monitor, or any other type of monitor.
Software may be stored in the data remembrance component(s) 604, and may execute on the one or more processor(s) 602. An example of such software is theme-element mixing software 606, which may implement some or all of the functionality described above in connection with
The subject matter described herein can be implemented as software that is stored in one or more of the data remembrance component(s) 604 and that executes on one or more of the processor(s) 602. As another example, the subject matter can be implemented as software having instructions to perform one or more acts of a method, where the instructions are stored on one or more computer-readable storage media. The instructions to perform the acts could be stored on one medium, or could be spread out across plural media, so that the instructions might appear collectively on the one or more computer-readable storage media, regardless of whether all of the instructions happen to be on the same medium.
In one example environment, computer 600 may be communicatively connected to one or more other devices through network 608. Computer 610, which may be similar in structure to computer 600, is an example of a device that can be connected to computer 600, although other types of devices may also be so connected.
It is noted that sometimes stages of a process in the appended claims are described with ordinal labels (e.g., “first receiving a color,” “second receiving a graphic”, etc.). The use of labels such as “first” and “second” is used to linguistically distinguish two uses of the same word (two uses of the word “receiving,” in the foregoing example), and does not imply that one stage is necessarily performed before the other.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.