This application is based upon and claims the benefit of priority from British Application No. 1002554.2 filed 15 Feb. 2010, the entire contents of which are incorporated by reference.
(1) Field of the Invention
The present invention relates to customization of a computer apparatus.
(2) Description of Related Art
The development of software applications for a computer apparatus typically takes a considerable period of time, for example to write and test the software and to undergo approval processes. For example in the case of a computer apparatus that is a laptop being developed as a new commercial product, it might in practical terms take a period of several months for changes to a suite of software applications to be made. The significant work required increases costs thereby acting as a barrier to making such developments.
Furthermore, the lead-in time creates a lag in the commercialisation of new products that is not compatible with many commercial activities, particularly for products with a short commercial life cycle. For example in the case of computer apparatuses supplied as part of a package with a telecommunications provider for mobile internet services, the commercial life cycle products is typically very short, and may only a period of a few months. Being as this period is of the same order as the period required to develop software for the computer apparatus, this acts as a barrier to the software developments being made at all.
It would be desirable therefore to allow for customisation of aspects of a computer apparatus in a manner that may be implemented more simply and more quickly.
According to an aspect of the present invention, there is provided a method of customizing a notification system provided in a computer apparatus that comprises a storage medium interface to which a removable storage medium device that includes a storage medium is capable of connection,
the computer apparatus storing notification data representing notifications for periodic display,
the method being implemented by the computer apparatus and comprising:
periodically displaying on a display device notifications in accordance with the notification data; and
on connection of a removable storage medium device to said storage medium interface, detecting whether the storage medium of the removable storage medium device stores customisation data that includes notification data representing additional notifications, and, in response to detecting said customisation data, changing the notification data stored in the computer apparatus to include the notification data representing additional notifications.
Thus the present invention takes advantage of the fact that many computer apparatuses are supplied with a storage medium interface to which there is capable of connection a removable storage medium device that includes a storage medium. For example, a computer apparatus equipped for mobile telecommunications services might include a storage medium device that is a subscriber identity module card storing identification data that identifies a subscriber to a mobile telecommunications service.
That is to say, the present invention uses a storage medium device that is connected to the storage medium interface to perform the customisation. The storage medium of the storage medium device stores customisation data that specifies the nature of the customisation and the computer apparatus detects this customisation and changes the behaviour of the computer apparatus accordingly. In particular, the computer apparatus is customized by including notification data of additional notifications to be displayed to a user by a notification system provided by the computer apparatus. Such notifications may be, for example, text, an image, an icon that may be selected to perform an action, or a hyperlink
The customisation of the behaviour of the computer apparatus can therefore be changed simply by provision of the customisation data on the storage medium device. Thus the customisation can be implemented in a simple manner in a quick time scale. This provides the advantage that the customisation may be applied in many commercial circumstances where the development time for new software applications is in practice prohibitive. For example, in the case of computer apparatuses to be supplied with a storage medium device that is a subscriber identity module card storing identification data that identifies a subscriber to a mobile telecommunications service, this allows the software apparatus to be customised in a manner desired by the provider of the mobile telecommunications service.
According to further aspects of the present invention, there are provided a computer program capable of implementing a similar method, a computer apparatus on which a similar method is implemented and a storage medium device capable of use with such a method or computer apparatus.
Embodiments of the present invention will now be described by way of non-limitative example with reference to the accompanying drawings, in which:
There will now be described an embodiment of the present invention that may be implemented in a computer apparatus 1 as shown in
The invention may equally be applied to a computer apparatus 1 of any other type besides a personal computer. Non-limitative examples of other types of computer apparatus include a mobile telephone, or any network connected entertainment devices such as a personal media players for video and/or music or e-book devices.
Applications for the computer apparatus 1 may be stored on a storage medium, for example the memory 3, or the recording medium 5 for subsequent installation in the computer apparatus 1. Applications installed in the computer apparatus 1 and stored in the memory 3 are executed by the processor 2 thereby causing the computer apparatus 1 to operate in accordance with the application.
The computer apparatus 1 further comprises an MM-SIM card interface 10 to which an MM-SIM card 11 may be removably connected. SIM stands for “subscriber identity module”. The MM-SIM card stores identification data that identifies a subscriber to a mobile telecommunications service. This is used to allow the computer apparatus 1 access to the mobile telecommunications service over the network 7. MM stands for “multimedia”. An MM-SIM card 11 is a normal SIM card extended with a ROM 12 and RAM 13 that act as storage mediums, being USB mass-storage devices. Thus the MM-SIM card 11 is an example of a storage medium device. The invention may equally be applied to a storage medium device 11 of any other type that may be connected by any suitable storage medium device. Non-limitative examples of other types of storage medium device include USB memory devices connected by a USB interface, memory cards connected by a memory card interface, or memory units of portable devices such as mobile telephones. Another example is that the storage medium device 11 is itself a computer apparatus, for example a mobile telephone that connects to the computer apparatus 1 for example by a USB interface. In this case, the storage medium on which the customisation data is stored may be a memory (fixed or removable) of the mobile telephone that forms the storage medium device 11, and the customisation data may be transferred to the mobile phone by any conventional means, for example Bluetooth, a physical network connection, data connection via a telecommunication network, messaging service, or indeed by transfer of an MM-SIM card to the mobile telephone.
To perform customisation the MM-SIM card 11 stores customisation data that may be stored in a structured data format, for example in an XML file of a specific format, though any suitable data format could be used. The customisation data is stored at a predetermined location in the ROM 12 or RAM 13, that is at a specific path preferably in the root directory to facilitate detection thereof.
On connection of an MM-SIM card 11 to the MM-SIM card interface 10, one or more applications installed in the computer apparatus 1 may be automatically customised in accordance with customisation data stored on the MM-SIM card 11, as shown schematically in
If plural MM-SIM cards 11, for example both MM-SIM card 11A and MM-SIM card 11B are connected, then the computer apparatus may be customised by one of the MM-SIM cards 11, for example the first or more recently detected MM-SIM card 11.
As shown schematically in
The process performed by the application 21 or helper process 22 to perform the customisation is shown in
Optionally, the customisation may be reversed on removal of the MM-SIM card 11, again by either the application 21 or helper process 22. The process performed is shown in
In accordance with a general aspect of the invention, there may be provided a method of customizing an application in a computer apparatus that comprises a storage medium interface to which a removable storage medium device that includes a storage medium is capable of connection, the method comprising:
on connection of a removable storage medium device to said storage medium interface, detecting whether there is stored in the storage medium of the removable storage medium device customisation data that specifies a change in the behaviour of the application;
in response to detecting said customisation data, changing the behaviour of the application in accordance with the customisation data.
There will now be described a specific example of an application 21 and the customisation that may be effected.
In this example, the application 21 is called VAIO Gate and provides a user interface to the computer apparatus 1. In particular, VAIO Gate is an application launcher and notification system that operates under a Windows operating system, for example Windows 7, and is continuously present on the Windows desktop. For Windows 7, VAIO Gate implements a clean desktop policy to replace the set of icons that were pre-installed on the desktop in previous operating systems, and operates as follows.
In particular, as shown in
VAIO Gate stores user interface data that includes, in respect of each icon 30 in the set, target data, icon data and text data.
The target data specifies a target object at a target location.
The icon data identifies the icon 30 to be displayed in the container 30, for example by specifying the path of an image file for the icon 30. The icon data is optional. If icon data is not present in respect of an icon, a default icon is displayed, for example selected in accordance with the file type of the target object, or in accordance with the application used to launch the target object
The text data represents text to be displayed in association with the icon 30. In principle, the text data is optional and may be omitted. The text data includes caption data that represents text that is displayed in a caption below the icon 30 and tip data that represents text that is displayed in tooltip container when a pointer hovers over the icon 30.
VAIO Gate accepts user-input that selects any one of the displayed icons 30. In response to such selection of a displayed icon 30, VAIO Gate performs the action in accordance with the target data, in particular launching the target object specified by the target data. The target object may be of various different types, for example as follows.
The target object may be an executable file that contains an executable program. In this case, launching of the target object consists of executing the program.
The target object may be a document file containing a document that is rendered by an application. In this case, launching of the target object consists of opening the application and rendering the document.
The target object may be a web page at a location on a network. In this case, launching of the target object consists of launching a browser and opening the webpage. The web page, being for example in HTML format, may be considered as a special case of a document file.
The target object may be a folder in the file system of the computer apparatus 1. In this case, launching of the target object consists of opening the folder.
VAIO Gate also periodically displays notifications in the container 31, in place of the icons 31. The notifications are displayed at periodic intervals, even if the container 31 is previously hidden. The notifications may serve to provide advertisements, notifications from other applications or messages from RSS feeds. The notifications may be: text, an image, a video clip, an icon that may be selected to perform an action; or a hyperlink or indeed any other kind of media. The notifications can have function as a shortcut, so that when a user selects it, a target object is opened. Alternatively, the notification can feature UI controls such as buttons. In general, such notifications could equally be displayed on the display device 8 in pop-up windows. They could also be shown using a notification mechanism built into the operating system.
VAIO Gate performs a process for scheduling and displaying the notifications that is shown in
In addition, the notification data represents weightings in respect of the different notifications as follows.
The notification data partitions the notifications into different categories. There may be any number of notifications in a given category, including none. For example, typical categories might include RSS messages, advertisements, MM-SIM advertisements and notifications from applications. Each category has a category weighting. For example, four categories might have the category weightings 20, 30, 60, 30. The category weighting sets the likelihood of a category being selected when a notification is due to be displayed. For example a category with a category weighting of 60 is twice as likely to be selected as a category with a category weighting of 30.
Each notification has a notification weighting. For example, four notifications within a given category might have the notification weightings 100, 40, 50, 100. The notification weighting sets the likelihood of notifications within a given category being selected once that given category has been selected. For example a notification with a notification weighting of 100 is twice as likely to be selected as a notification with a notification weighting of 50.
Using this notification data, the process of
In step S21, the process waits for the next notification time. Notifications are scheduled periodically. The interval may be fixed or may have systematic or random variation. The user may set the interval.
In step S22, it is determined whether there remains any category that has not been considered. If so, in step S23 a category is selected and if that category has more than one notification that is ready for display then the category is added to a list of eligible categories. The process then reverts to step S22 until all the categories have been considered and the list of eligible categories contains all categories having at least one notification that is ready for display.
Then in step S24, it is determined whether there are any eligible categories. If not the process stops, but provided there is at least one eligible category the process proceeds to step S25.
In step S25, a category is selected from the list of eligible categories, at random taking into account the category weightings.
In step S26 a notification is selected from the selected category, at random taking into account the weights of the notifications in the selected category that are ready for display.
In step S27, the selected notification is displayed.
Other schemes for providing the notifications with weightings for controlling their selection may be used besides this scheme using categories. For example, there may be no categories and all the notifications may be available for selection.
VAIO Gate may store state information about the state of the notifications, particularly in a category of advertisements. For example, such state information may include any of: the number of times that the advertisement has been displayed; whether the advertisement was selected (e.g. clicked); the timing of display; or the time since the last display. The notification data may optionally include attributes such as conditional information that specifies conditions under which the notification may be displayed. Such attributes may include any of: begin and end dates; a requirement to show after being selected (e.g. clicked); a minimum period between displays; or a weight. In this case, the process of
To allow for easy bookkeeping, each notification has its own unique ID. The parameters of a given advertisement, such as the display text or the display conditions, ideally do not change over time. VAIO Gate's behaviour is undefined if they do.
In step S3, VAIO Gate is customised by including additional notifications. This is achieved by changing the notification data in accordance with the customisation data. In particular, notification data in respect of each of the additional notifications is added to the existing notification data. The inclusion of this additional data in the notification data causes VAIO Gate to display the additional notifications when the process of
In one embodiment, additional notifications are exclusively included in a dedicated category, for example called “Advertisements on MM-SIM”. However, this is not essential. Such a category may be omitted and additional notifications may be added to any category.
The customisation data may be arranged as an XML file, as follows.
The XML file is called VAIOGate.xml. The root element of the XML file is named “VAIOGate”. It must have an attribute “Operator” specifying the operator. It must also have an attribute “Version” that must have the value “1.0”.
In step S2, it is determined whether this file called VAIOGate.xml exists at the predetermined location in root directory of the ROM 12 or RAM 13 of an MM-SIM 11, and if so whether it includes the customisation data specified below.
The “VAIOGate” element also contains a single “Advertisements” element. This element can contain zero or more “Advertisement” elements.
The “Advertisement” element must have an attribute “Type” that must have the value “Application” or “Url”, depending on whether the target is an application or a URL respectively.
Each “Advertisement” element can contain the elements indicated in the following table.
In step S3, the user interface data is changed to include in the existing notification data these elements in respect of each additional notification.
Optionally, other types of customisation of an application 21 may additionally be performed on the basis of the customisation data.
Number | Date | Country | Kind |
---|---|---|---|
1002554.2 | Feb 2010 | GB | national |