Not applicable
This invention relates generally to skins and themes, and more particularly to a method and system for creating customized skins and themes on a display of a communication.
More and more customizations are being enabled for newer generations of mobile handsets. End users can now customize ring tones, wallpapers, and other functions. Currently, end users are not able to customize device behaviors based on a one-to-one relationship between the parties communicating or upon particular events occurring in relation to the mobile handset. For example, the call interfaces and helper functionality for a call to a business associate is the same as the call interfaces and helper functionality for a call to a family member. Currently, who contacts you, how they contact you or where they contact you does not have a visible effect on the screen or interface provided to a user on a display of a communication device.
Current user interfaces and screens are either fixed or not flexible enough to be dynamically user configurable. As users demand the ability to have more and more different ergonomics (such as the took and feet and functionality of their user interfaces), the greater the need for a dynamically tailored user interface. Additionally, current mobile handsets do not have interfaces or other functionality that dynamically changes based on internal or external triggers related to the mobile handsets.
Although Microsoft supports XML based home screen layouts for smartphones and User Interface skins exists for applications such as Realplayer, such applications do not have a way to specify different themes in a theme pack. Nor do they contemplate all the environmental variables that can trigger the dynamic change of skins and themes.
A method, system and apparatus for providing customized skins and themes on a portable communication that can be dynamically configurable is provided. Embodiments in accordance with the present invention can offer users the ability to have tailored user interfaces or a tailored look and feel through various screens on a portable communication product such as a mobile phone. Moreover, a carrier can also tailor the subscriber screens having carrier's own themes in subscriber's handsets.
In a first aspect of the present invention, a portable communication device having a customizable skin and theme on a display of the communication device can include a transceiver, a display coupled to the transceiver, a memory having stored therein at least two skin and theme types and at least one encapsulated data entry associated with each of the skin and theme types, and a processor coupled to the transceiver and the display. The processor can be programmed to dynamically update the display in the communication device based upon a selection of at least one among the skin and theme types and based upon at least one encapsulated data entry associated with a selected skin and theme type.
In a second aspect of the present invention, a system of customizing a skin and theme on a display of a portable communication device, comprises a memory in the portable communication device for receiving and storing therein a theme pack having multiple theme types, a theme property table in the memory having information necessary for rendering a screen in accordance with a selected theme type, and a theme manager for extracting theme information associated with the selected theme type among the multiple theme types and updating the theme property table with the theme information.
In a third aspect of the present invention, a system of customizing a screen on a portable communication device can include a resource editor for generating a theme pack having multimedia data, a pack manager for loading the theme pack during a power up of the portable communication device, and a processor in the portable communication device. The processor can be programmed to register the theme pack with a theme manager within the portable communication device and create a theme formatter if a dialog type has a theme associated with the dialog type, wherein the theme formatter updates a display. The system can further include an image manager coupled to the theme formatter that invokes an appropriate decoder for image decoding of at least a portion of the multimedia data.
In a fourth aspect of the present invention, a method of customizing a skin and theme on a display of a portable communication device upon an event can include the steps at the portable communication device of determining if the event has occurred and if the event has an associated skin and theme, and if the associated skin and theme exists, updating the display with the associated skin and theme.
In a fifth aspect of the present invention, a method of customizing a screen on a portable communication device can include the steps of initializing a theme manager, determining if a valid theme pack exists and drawing a generic user interface for all screen types if a valid theme pack does not exist, extracting screen related information and updating a theme property table using the theme manager. Upon an event requiring the rendering of the screen, the method can determine if the theme property table has sufficient information to render the screen and subsequently rendering the screen with a selected theme using information from the theme property table if the theme property table has sufficient information to render the screen and otherwise rendering the screen with a default theme.
In yet another aspect of the present invention, a machine readable storage can include a computer program executable by a machine for causing the machine to perform the step of specifying a layout of multiple screen elements using a instance of XML scripting language and generating a plurality of themes in a single theme pack using an XML parser and a theme pack dynamic linked list by autocode generating binary files representative of the plurality of themes.
Referring to
Multiple skin and theme types 24 can form a part of a theme pack 20. A theme pack can comprise a binary file including at least one among a video file, an audio file, or an image file which has the information for various screen types in a portable communication product. For example, a screen type “A” can have a Harry Potter theme, and a screen type “B” can have the Disney theme. Theme packs can be downloaded over the air and the screen can be updated live. A theme manager 16 can update a theme table 18 using information from at least one selected skin and theme type (24) from a single theme pack 20. The theme manager can extract theme information associated with selected theme type or types. The theme table 18 can have the information necessary for rendering a screen or display using a renderer 28 in accordance with the selected theme type or types and can be updated using pointers 22 or other means known to those skilled in the art. The device 10 can also include a theme formatter 19 for formatting and updating the display 30 with theme image data derived from the theme table or theme property table 18. The theme manager is a software component, which can be embedded in subscriber software. This component knows to decipher the theme packs and separate all the screen related information. The screen related information can be stored in the theme property table or theme table. Whenever a new screen is drawn to the display, the theme manager looks in the theme table and draws the various screens with the associated theme. For example, when the application draws the screen type “A”, then the user will see the Harry Potter theme and when the application draws the screen type “B” then the user will see the Disney theme.
The selection of at least one among the skin and theme types 24 can occur upon an event recognizable by the portable communication device 10. Although not by any means an exhaustive list, such events can include receipt of a message or call from a recognized caller, detection of a particular user input or user mode such as a call to a particular person, detection of a change in location using GPS or other means (triangulation, base station identifiers, etc.), detection of a particular image by the camera, and a detection of device attachment to the portable communication device.
Referring to
Operationally, the theme generator 53 can create instructions used to specify a layout of screen elements using an XML based scripting language such as iDEN Markup Language or iIML. The theme generator can be a PC based application that interprets the iML script and can be used by a user to view and edit the iML script. Once a new or edited version of iML script is provided by the theme generator 53 to the reseditor 57, the reseditor 57 can then generate the appropriate files (such as .c and .h files) with appropriate formatter and image data. The reseditor 57 in conjunction with the pack generator 58 and DLL portions 56 and 57 essentially create a theme pack that is typically down-loaded using a pack manager 63 to a downloadable area 62 in the subscriber unit during power up of the portable communication device or subscriber. The downloadable area 62 can be part of a digital rights management (DRM) unit for appropriately controlling the use of licensed data. The processor in the portable communication device can be programmed to register the theme pack with the theme manager 66 and to create a theme formatter 67 if a dialog type has a theme associate with it. In the portable communication device, phone dialogs of primary importance can include an iconic main menu, an idle screen, a status manager, an iconic picker application dialog, and a splash screen for example. Note that embodiments in accordance with the present invention can be use to enhance all User Interfaces in the portable communication device.
In a more detailed view of the operation of managing skins and themes in accordance with the present invention, a flow diagram illustrates the interaction between an application 72, a user interface and a digital rights management unit 75 in a system 70 as shown in
Referring to
In a more specific embodiment a radio can receive an event (102, 104, 106, or 108) at step 110 where a skins and themes status list is updated at step 112. At decision block 114, the method can determine if the updated skin and theme is of a higher priority than a current skin and theme. If not, then the current skin and theme is displayed at step 116. If the updated or new skin and theme is of a higher priority, then it is determined is an associated skin and theme is available at decision block 118. If available, the display is updated with the new skin and theme at step 124. Alternatively, if the associated skin and theme is unavailable at decision block 118, then it can be determined at decision block 120 whether the new skin and theme should be automatically downloaded based on user settings. If the automatic downloading is desired at decision block 120, then the new skin and theme is downloaded at step 126 and the display is updated at step 124. If the automatic downloading is not desired at decision block 120, then the user can alternatively be prompted on whether they want a download at decision block 122. If the user does not want to download the new skin and theme, then the current skin and theme will be displayed at step 116. If the user does want to download the new skin and theme at decision block 122, then the new skin and them is downloaded at step 126 and the display is updated at step 124.
A few concrete illustrative examples of events that can trigger customization can include the attachment of a car kit to a mobile phone which could cause a particular skin and theme having a race car wallpaper or background with larger fonts and midi tones to allow for better user functionality while in a vehicle. In another example, a radio in a idle mode can have a radio palette on a display that is slightly visible and uses less energy to display. Another screen during power up of the radio or during a particular time of day can display a weather forecast with a given skin and theme. In yet another example, a theme park or various vendors at a mall can trigger different skins and themes based on location information (such as GPS data) available to a mobile radio. In another example, a public service phone can have a backsplash based on a broadcast which can indicate a particular security level status (for example, Red, Orange, Yellow, Blue, Green).
In another aspect of the present invention, a user can personalize various screens on a portable communication product using a single theme pack. Referring to
One of the events that can trigger a customized user interface or skin and theme on a display can include receiving a call at a portable communication device. Referring to
If a java-based applet is available at decision block 204, then such java-based applet is used to create a customized user interface, application logic, and data while the call associated with the java-based applet is active at step 206. The java-based applet can create a customized ergonomic functionality for the mobile phone device such as a customized graphical user interface having a specified wallpaper associated with the java-based applet or a particular ring tone or background music. Each applet can provide a unique environment specified by the user. The method continues by monitoring if the call is terminated at decision block 208. If the call is not terminated at decision block 208, then it is determined if another applet is called or accessed at decision block 209. If no other applet is called or accessed at decision block 209, then the method 200 returns to decision block 208. If another applet or is accessed or called at decision block 209, then the method 200 returns to decision block 204 as shown. If the call is terminated at decision block 206, then the mobile phone device can be returned to a default normal operation at step 210.
Thus, by use of applets, a user can customize the functionality of their communication device and possibly the functionality of the communication device being communicated with based upon who the communicating parties are, how the parties are communicating, and where the communicating parties are communicating from. Generally, a user can program a particular applet to make the communication device function in a manner indicative of the partying calling. For example, if a girlfriend calls, the user can program a particular applet associated with the girlfriend to display hearts and flowers on the communication device and play a love song in the background if desired. Alternatively, if a boss is calling, a pointy-haired character from the Dilbert cartoon series can be displayed with programmed static added in the background.
In another aspect of the invention, if a calling party has a GPS device and they are in Florida, then a receiving party in Chicago might be able to see an Miami Dolphins insignia on their wallpaper backsplash while speaking to the calling party. If the receiving party in Chicago also has a GPS device, then the calling party in Florida might be able to see a picture of a Chicago Bear insignia on their backsplash. As the party in Chicago travels through the campus of a particular university in the Chicago area, the calling party might be able to see another picture, possibly of a corresponding college mascot on the backsplash.
In light of the foregoing description of the invention, it should be recognized that the present invention can be realized in hardware, software, or a combination of hardware and software. A method and system for modifying a skin and theme screen in a communication device according to the present invention can be realized in a centralized fashion in one computer system or processor, or in a distributed fashion where different elements are spread across several interconnected computer systems or processors (such as a microprocessor and a DSP). Any kind of computer system, or other apparatus adapted for carrying out the methods described herein, is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computer system, is able to carry out these methods. A computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form.
Additionally, the description above is intended by way of example only and is not intended to limit the present invention in any way, except as set forth in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5905492 | Straub et al. | May 1999 | A |
6091411 | Straub et al. | Jul 2000 | A |
6392671 | Glaser | May 2002 | B1 |
6496979 | Chen et al. | Dec 2002 | B1 |
20010040590 | Abbott et al. | Nov 2001 | A1 |
20020054046 | Evans et al. | May 2002 | A1 |
20020149618 | Estrada et al. | Oct 2002 | A1 |
20030052921 | Ulrich et al. | Mar 2003 | A1 |
20030056026 | Anuff et al. | Mar 2003 | A1 |
20040054627 | Rutledge | Mar 2004 | A1 |
20060062094 | Nathan et al. | Mar 2006 | A1 |
20070033254 | AlHusseini et al. | Feb 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20040216054 A1 | Oct 2004 | US |