Patent Description:
Electronic communication devices are increasingly used for many types of messaging and other communications, including email, voice/video messaging, phone calls, text messaging, instant messaging, social network messaging/posting, etc. Traditionally, such communication devices include one or more notification mechanisms such as visual, auditory, and haptic feedback mechanisms. While notification mechanisms can provide an indication of an incoming communication or other event, with the increasing number of communication types and ever larger social networks and contacts, the notification mechanisms can become ambiguous and even ineffective.

<CIT> describes a system for customized policy-based notifications in a computing system.

Embodiments will now be described by way of example with reference to the appended drawings wherein:.

For simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the examples described herein. However, it will be understood by those of ordinary skill in the art that the examples described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the examples described herein. Also, the description is not to be considered as limiting the scope of the examples described herein.

It will be appreciated that the examples and corresponding diagrams used herein are for illustrative purposes only. Different configurations and terminology can be used without departing from the principles expressed herein. For instance, components and modules can be added, deleted, modified, or arranged with differing connections without departing from these principles.

There is provided a method performed by an electronic device, the method comprising steps as set out in claim <NUM>, as well as in the claims dependent thereon.

There is also provided an electronic device comprising a processor, a display and a memory, the memory comprising computer executable instructions for causing the processor to operate the electronic device, computer executable instructions for performing the method as set out above.

There is also provided computer executable instructions stored on a non-transitory computer readable medium, the computer executable instructions comprising instructions for performing the method as set out above.

It has been recognized that usage data and other information concerning interactions and communications between a device and contacts, groups of contacts, other entities, and applications or services can be leveraged to intelligently determine an appropriate time to recommend to a user of the device that the user create (or have created) a custom notification for the contact, group, other entity, application or service. Moreover, to encourage usage of the customization features, the recommendation can either facilitate automatically generated customizations, navigate the user into the appropriate user interface(s) to manually create a customization, or both. It has also been recognized that intelligently determining an appropriate time to recommend usage of a feature that may not otherwise be known to a user or routinely used, discoverability and "stickiness" of the feature can be encouraged.

<FIG> illustrates an example of a communication system in which a first mobile device 10a communicates communication data <NUM> with a second mobile device 10b over a network <NUM> such as the internet, cellular network, etc. In the example shown in <FIG>, the first mobile device 10a is also configured to be able to communicate over a short-range communication connection <NUM> with other devices, in this example a desktop computer <NUM> is shown for illustrative purposes. Similarly, the mobile devices 10a, 10b may also be configured to communicate with other devices such as a desktop computer <NUM> via the network <NUM>. The short-range communication connection <NUM> can be any available communication link for which the devices 10a, <NUM> are configured, such as Bluetooth, WiFi, infrared, near field communications (NFC) and the like.

The communication data <NUM> and other data associated with the communication data <NUM> such as data logs, network traffic reports, etc. can be used to established usage data and/or other information that is indicative of a pattern of communication with a contact, group of contacts, or other entity. The usage data may also be associated with usage of particular applications. As discussed above, it has been found that such usage data can be leveraged to intelligently determine an appropriate time to recommend to a user that the user create (or have created) a custom notification for the contact, group, other entity, or application. For example, usage data indicative of frequent communications using several media with a particular contact can be used to determine that the contact is a "close" contact for which a custom notification should be made to allow the user to more easily distinguish communications with that contact from other communication traffic. Similarly, usage data indicative of frequent usage of a particular application can be used to determine that the application is "heavily used" and for which a custom notification should be made to allow the user to more easily distinguish communications associated with that application.

<FIG> illustrates a screen shot <NUM> of a mobile device user interface <NUM> and a recommendation prompt <NUM> that is displayed after detecting a pattern or one or more criteria with respect to communications between the mobile device <NUM> and Contact A. The recommendation prompt <NUM> in this example includes a message <NUM> identifying the recommendation as being directed towards creating customized notifications for Contact A, and inviting the user to create a customization. As discussed above, to encourage usage of the customization features, the recommendation prompt <NUM> can either facilitate the automatic generation of customizations, navigate the user into the appropriate user interface(s) to manually create a customization, or both. In the example shown in <FIG>, a navigation option <NUM> is provided ("Yes, Take Me There") to enable the user to navigate into the customization screen(s), an auto-customize option <NUM> is provided to enable the user to have a customized notification created for them, and an ignore option <NUM> is provided to enable the user to disregard the recommendation altogether.

It can be appreciated from <FIG> that the recommendation prompt <NUM> can be triggered and displayed in conjunction with any user interface <NUM> under predetermined conditions. For example, the recommendation prompt <NUM> can be triggered based on analyzed usage data and displayed when the user is passively using the device (e.g., while viewing/scrolling versus composing a message or being engaged in a voice or video communication). It can also be appreciated that while the example shown in <FIG> is related to a contact-based customization, the principles discussed herein equally apply to application-based customizations.

<FIG> illustrates an example of a configuration for a mobile device <NUM>. The mobile device <NUM> includes one or more communication interfaces <NUM> to enable the mobile device <NUM> to communicate with other devices, services, and domains, e.g. to communicate via the wireless network <NUM>, and short-range communication connection <NUM> shown in <FIG>. The one or more communication interfaces <NUM> in this example generally represents any one or more short-range, wide-area, wired, or wireless communication connection utilizing a connection, radio, etc. The mobile device <NUM> also includes a display component <NUM>, which may be used by various applications <NUM> and services on the mobile device <NUM> including a recommendation engine <NUM> as illustrated in <FIG>. The recommendation engine <NUM> includes or otherwise has access to locally-stored usage data <NUM> for storing and/or caching data and information indicative of patterns or other characteristics associated with communications between the user of the mobile device <NUM> and contacts, groups of contacts, and/or entities, and/or usage of particular ones of the applications <NUM>. The recommendation engine <NUM> is also communicable with a notifications module <NUM>, which is configured to apply one or more notification mechanisms. For example, the notifications module <NUM> may be configured to selectively utilize different colored LEDs, various tones, and various vibration patterns. Other visual indicators can also be provided using the display <NUM> as shown in <FIG>, for example using instant previews (discussed below). It can be appreciated that the delineations shown in <FIG> are for illustrative purposes only. For example, the recommendation engine <NUM> may also be incorporated into functionality provided by the notifications module <NUM> and vice versa. Similarly, the usage data <NUM> may also be integrated into the notifications module <NUM> or recommendation engine <NUM>.

<FIG> illustrates example computer executable operations that may be performed by the recommendation engine <NUM> in generating a recommendation associated with customized notifications in one example. At <NUM> the recommendation engine <NUM> determines a recommendation trigger from the usage data, e.g., by detecting a pattern or other criterion indicative of frequent/repeatable/predictable usage of an application or frequent/repeatable/predictable communications with a contact, group, or other entity. The recommendation engine <NUM> determines at <NUM> whether or not the recommendation trigger is associated with a contact, group, other entity, or application for which a customization already exists. If so, any changes to be made to the existing customization, if any, are determined at <NUM>. For example, applications may be customized as being "heavy", "medium", and "light" for usage, with a different LED notification used depending on which designation. Upon determining that a particular application is used relatively more or less than the previous determination can trigger a change to be made to a previously recommended customized notification.

At <NUM> the recommendation engine <NUM> displays an indication of a recommendation, e.g., by using a prompt <NUM> as shown in <FIG> or using another visual indicator or cue as will be discussed in greater detail below. Some recommendation triggers can generate further recommendations. For example, a recommendation for customizing notifications for a particular contact that is within a group may cause a further recommendation to harmonize or apply similar customizations to the rest of the group. At <NUM> the recommendation engine <NUM> determines if such a further recommendation is appropriate. If not, the process returns to <NUM> to determine a further recommendation trigger. If a further recommendation is appropriate, the recommendation engine provides such an additional recommendation at <NUM>.

Turning now to <FIG>, various screen shots are illustrated to demonstrate user interfaces interacted with for creating customized notifications. <FIG> illustrates an options user interface <NUM>, which may be displayed upon detecting an input such as a swipe gesture. In this example, the options user interface <NUM> includes a settings option <NUM>, which when selected, causes a system settings user interface <NUM> to be displayed as shown in <FIG>. The system settings user interface <NUM> includes a notifications option <NUM>, which when selected, causes a notifications user interface <NUM> to be displayed as shown in <FIG>. The notifications user interface <NUM> includes a customization portion <NUM>, which in this example includes a contacts customization option <NUM>, and an applications customization option <NUM>. As can be appreciated from <FIG>, specialized options such as those enabling the customization of notifications may require several user interface interactions in order to navigate into the appropriate screen, thus impacting on the potential usage of the feature. As discussed above, it has been found that intelligently determining an appropriate time to recommend usage of a feature that may not otherwise be known to a user or routinely used, discoverability and "stickiness" of the feature can be encouraged.

By selecting the contacts customization option <NUM> as shown in <FIG>, a contacts notification user interface <NUM> may be displayed as shown in <FIG>. The contacts notification user interface <NUM> can be used to itemize previously created customizations for particular contacts, e.g., to enable editing or removal of such customizations. In the example shown in <FIG> no existing contact customizations have been made. By selecting a customize option <NUM> as illustrated, a contact selection or contact search mechanism (not shown) can be provided to enable the contact to be identified. In this example, "Contact A" has been selected, as shown in <FIG>. For a particular contact, various applications can be individually customized as shown in <FIG>. A list of customizable applications <NUM> is provided, which in this example includes, among others, email messages listing <NUM>, BBM (instant messaging) listing <NUM>, and text messages listing <NUM>. Selecting the BBM listing <NUM> causes an instant messaging for Contact A user interface <NUM> to be displayed as shown in <FIG>. In the example shown in <FIG>, audible and visual notification mechanisms can be customized. Audible notifications mechanisms include a tone option <NUM>, and a vibrate option <NUM>, and visual options include an LED option <NUM>. As illustrated in <FIG>, each mechanism can be selected to enable the selection of one of a plurality of options. For example, selection of the vibrate option <NUM> can display a drop-down menu (not shown) providing options to select "Off", "Default", "<NUM> time", "<NUM> times", etc..

An instant previews option <NUM> is also shown in <FIG>, which when selected causes an instant messaging user interface for Contact A to be displayed as shown in <FIG>, with a selectable instant previews option <NUM>. The instant previews option <NUM> can be used to further customize visual alerts that provide a message preview or notification of a new message for particular messaging applications <NUM> such as instant messaging. For example, upon reviewing a new incoming message, an instant preview of the message is displayed in any user interface that the user is currently viewing. <FIG> illustrates a text messages for Contact A user interface <NUM> which includes a pull-down mechanism for the instant previews option <NUM>, which when selected displays a list <NUM> of instant preview options. As shown in <FIG>, the text messaging customization options include an all alerts option <NUM>, a tone option <NUM>, a vibrate option <NUM>, and an LED option <NUM>, similar to that for instant messaging.

Turning now to <FIG>, a message composition user interface <NUM> is shown for communicating with Contact A. In this example it is assumed that after composing a message in the user interface <NUM> and selecting a send option <NUM>, the recommendation engine <NUM> determines that Contact A is being frequently communicated with and a recommendation is warranted. <FIG> illustrates a generic user interface <NUM> to exemplify that the recommendation prompt <NUM> can be displayed in any user interface at any time, e.g., a messaging application or message hub after a message to Contact A has been sent. The recommendation prompt <NUM> could also be triggered upon receiving a reply to the message composed in <FIG> and be displayed in a message inbox user interface or elsewhere.

By selecting the navigation option <NUM> as shown in <FIG>, an email messages customization for Contact A user interface <NUM> is displayed as shown in <FIG>. In this way, not only is a customization recommendation made, but the user is also brought directly to the relevant user interface, thus increasing discoverability of the customization features and minimizing the user effort to navigate into the user interface therefor.

By selecting the auto-customize option <NUM>, a further confirmation prompt <NUM> is displayed as shown in <FIG>. The confirmation prompt <NUM> indicates to the user a suggested combination <NUM> of customization options, in this example a default LED settings, a "Sparkle" tone, and vibrate <NUM> times. The confirmation prompt <NUM> enables the user to preview the automatically generated customization and provides an apply option <NUM> to enable acceptance of the suggestion. A navigation option <NUM> is also provided in this example to enable the user to opt to navigate to the relevant customization user interface to make their own selections (or to edit the suggested combination). A cancel option <NUM> is also provided to enable the user to decline the recommendation.

Various other mechanisms can be used to provide a customization recommendation. For example, as shown in <FIG>, a visual cue such as a tab <NUM> can be displayed, which when interacted with can be used to trigger a prompt as shown in <FIG> or <FIG> or a direct navigation to the associated customization user interface as illustrated in <FIG>, in this example by applying a swipe gesture to the tab <NUM> to reveal the email messages customization user interface for Contact A <NUM>. In another example, shown in <FIG>, an instant preview <NUM> or other displayed notification or indication provided in a user interface <NUM> may be used to provide a recommendation <NUM> (e.g., to customize notifications for Contact A in this example). Selecting the instant preview <NUM> as shown in <FIG> can trigger a prompt as shown in <FIG> or <FIG> or a direct navigation to the associated customization user interface.

As discussed above, additional recommendations can also be triggered in association with a recommendation to customize notifications for a contact or application. For example, as shown in <FIG>, a group recommendation prompt <NUM> may be displayed in a user interface <NUM> providing a further recommendation <NUM>. In this example, the recommendation engine <NUM> determines that Contact A is associated with a frequently used group and suggests applying the custom notification selected for Contact A to the rest of the group. An apply option <NUM> is provided to enable the user to accept this further recommendation, a navigation option <NUM> is provided to enable the user to navigate into the associated customization user interface, and a cancel option <NUM> is provided to enable the further recommendation to be declined. It can be appreciated that any other suitable display mechanism can be used to indicate the further recommendation, for example, an instant preview, tab, etc..

As also discussed above, the recommendation engine <NUM> can be configured to periodically re-evaluate custom notification settings, e.g., to make recommendations to revise or remove particular customizations, or to automatically apply such changes or deletions. For example, if a contact is associated with a group and custom notifications applied to another member of the group have been recommended for the previously customized contact, the recommendation engine <NUM> can be triggered to revise the previously applied settings. <FIG> illustrates a revised customization prompt <NUM>, which includes a revised list of customization options <NUM> that have been applied. An apply option <NUM> is provided to enable the user to accept this revised customization, a navigation option <NUM> is provided to enable the user to navigate into the associated customization user interface, and a cancel option <NUM> is provided to enable the revised customization to be declined. It can be appreciated that any other suitable display mechanism can be used to indicate the further recommendation, for example, an instant preview, tab, etc..

<FIG> illustrates example operations that may be executed by the recommendation engine <NUM> in determining when to trigger a recommendation output such as a prompt, tab, instant preview, etc. At <NUM>, the mobile device <NUM> obtains usage data <NUM>, which is stored at <NUM>. The recommendation engine <NUM> analyzes the usage data at <NUM> to determine if a pattern or other criterion has been met triggering a recommendation at <NUM>. For example, a predetermined frequency or volume of communications with a contact/group or interactions with an application can be used to trigger a recommendation. If no such triggers are detected, further usage data can be obtained until a trigger is detected at <NUM>. When a recommendation trigger is detected, the recommendation engine <NUM> determines at <NUM> and <NUM> if a customization for the contact/group/entity/application already exists. If so, the recommendation engine <NUM> determines at <NUM> and <NUM> whether or not a different recommendation would be made, e.g., by comparing a new set of recommended notification features to previously applied features. A customization output is generated at <NUM> and the process may proceed to operation <NUM> in <FIG> as shown in <FIG>, e.g., to display a prompt, tab, instant preview, etc..

It will also be appreciated that although the above examples were illustrated using mobile devices <NUM>, the principles discussed herein are equally applicable to any electronic device capable of sending and/or receiving communications with other devices and/or entities or correspondents.

While the principles discussed herein may be applied to any electronic device, referring now to <FIG>, and to further aid in the understanding of the example in which mobile devices <NUM> are utilized, as described above, shown therein is a block diagram of an example configuration of a device configured as a "mobile device". The mobile device <NUM> includes a number of components such as a main processor <NUM> that controls the overall operation of the mobile device <NUM>. Communication functions, including data and voice communications, are performed through at least one communication interface <NUM>. The communication interface <NUM> receives messages from and sends messages to a wireless network <NUM>'. In this example of the mobile device <NUM>, the communication interface <NUM> is configured in accordance with the Global System for Mobile Communication (GSM) and General Packet Radio Services (GPRS) standards, which is used worldwide. Other communication configurations that are equally applicable are the <NUM> and <NUM> networks such as Enhanced Data-rates for Global Evolution (EDGE), Universal Mobile Telecommunications System (UMTS) and High-Speed Downlink Packet Access (HSDPA), Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (Wi-Max), etc. New standards are still being defined, but it is believed that they will have similarities to the network behavior described herein, and it will also be understood by persons skilled in the art that the examples described herein are intended to use any other suitable standards that are developed in the future. The wireless link connecting the communication interface <NUM> with the wireless network <NUM> represents one or more different Radio Frequency (RF) channels, operating according to defined protocols specified for GSM/GPRS communications.

The main processor <NUM> also interacts with additional subsystems such as a Random Access Memory (RAM) <NUM>, a flash memory <NUM>, a touch-sensitive display <NUM>, an auxiliary input/output (I/O) subsystem <NUM>, a data port <NUM>, a keyboard <NUM> (physical, virtual, or both), a speaker <NUM>, a microphone <NUM>, a GPS receiver <NUM>, a front camera <NUM>, a rear camera <NUM>, short-range communications subsystem <NUM>, and other device subsystems <NUM>. Some of the subsystems of the mobile device <NUM> perform communication-related functions, whereas other subsystems may provide "resident" or on-device functions. By way of example, the touch-sensitive display <NUM> and the keyboard <NUM> may be used for both communication-related functions, such as entering a text message for transmission over the wireless network <NUM>, and device-resident functions such as a calculator or task list. In one example, the mobile device <NUM> can include a non-touch-sensitive display in place of, or in addition to the touch-sensitive display <NUM>. For example the touch-sensitive display <NUM> can be replaced by a display <NUM> that may not have touch-sensitive capabilities.

The mobile device <NUM> can send and receive communication signals over the wireless network <NUM> after required network registration or activation procedures have been completed. Network access is associated with a subscriber or user of the mobile device <NUM>. To identify a subscriber, the mobile device <NUM> may use a subscriber module component or "smart card" <NUM>, such as a Subscriber Identity Module (SIM), a Removable User Identity Module (RUIM) and a Universal Subscriber Identity Module (USIM). In the example shown, a SIM/RUIM/USIM <NUM> is to be inserted into a SIM/RUIM/USIM interface <NUM> in order to communicate with a network.

The mobile device <NUM> is typically a battery-powered device and includes a battery interface <NUM> for receiving one or more rechargeable batteries <NUM>. In at least some examples, the battery <NUM> can be a smart battery with an embedded microprocessor. The battery interface <NUM> is coupled to a regulator (not shown), which assists the battery <NUM> in providing power to the mobile device <NUM>. Although current technology makes use of a battery, future technologies such as micro fuel cells may provide the power to the mobile device <NUM>.

The mobile device <NUM> also includes an operating system <NUM> and software components <NUM> to <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>. The operating system <NUM> and the software components <NUM> to <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, that are executed by the main processor <NUM> are typically stored in a persistent store such as the flash memory <NUM>, which may alternatively be a read-only memory (ROM) or similar storage element (not shown). Those skilled in the art will appreciate that portions of the operating system <NUM> and the software components <NUM> to <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, such as specific device applications, or parts thereof, may be temporarily loaded into a volatile store such as the RAM <NUM>. Other software components can also be included, as is well known to those skilled in the art.

The subset of software applications <NUM> that control basic device operations, including data and voice communication applications, may be installed on the mobile device <NUM> during its manufacture. Software applications may include a message application <NUM>, a device state module <NUM>, a Personal Information Manager (PIM) <NUM>, an application <NUM>, a recommendation engine <NUM>, a notifications module <NUM>, and usage data <NUM>. A message application <NUM> can be any suitable software program that allows a user of the mobile device <NUM> to send and receive electronic messages, wherein messages are typically stored in the flash memory <NUM> of the mobile device <NUM>. A device state module <NUM> provides persistence, i.e. the device state module <NUM> ensures that important device data is stored in persistent memory, such as the flash memory <NUM>, so that the data is not lost when the mobile device <NUM> is turned off or loses power. A PIM <NUM> includes functionality for organizing and managing data items of interest to the user, such as, but not limited to, e-mail, contacts, calendar events, and voice mails, and may interact with the wireless network <NUM>.

Other types of software applications or components <NUM> can also be installed on the mobile device <NUM>. These software applications <NUM> can be pre-installed applications (i.e. other than message application <NUM>) or third party applications, which are added after the manufacture of the mobile device <NUM>. Examples of third party applications include games, calculators, utilities, etc..

The additional applications <NUM> can be loaded onto the mobile device <NUM> through at least one of the wireless network <NUM>', the auxiliary I/O subsystem <NUM>, the data port <NUM>, the short-range communications subsystem <NUM>, or any other suitable device subsystem <NUM>.

The data port <NUM> can be any suitable port that enables data communication between the mobile device <NUM> and another computing device. The data port <NUM> can be a serial or a parallel port. In some instances, the data port <NUM> can be a Universal Serial Bus (USB) port that includes data lines for data transfer and a supply line that can provide a charging current to charge the battery <NUM> of the mobile device <NUM>.

For voice communications, received signals are output to the speaker <NUM>, and signals for transmission are generated by the microphone <NUM>. Although voice or audio signal output is accomplished primarily through the speaker <NUM>, the display <NUM> can also be used to provide additional information such as the identity of a calling party, duration of a voice call, or other voice call related information.

The touch-sensitive display <NUM> may be any suitable touch-sensitive display, such as a capacitive, resistive, infrared, surface acoustic wave (SAW) touch-sensitive display, strain gauge, optical imaging, dispersive signal technology, acoustic pulse recognition, and so forth, as known in the art. In the presently described example, the touch-sensitive display <NUM> is a capacitive touch-sensitive display which includes a capacitive touch-sensitive overlay <NUM>. The overlay <NUM> may be an assembly of multiple layers in a stack which may include, for example, a substrate, a ground shield layer, a barrier layer, one or more capacitive touch sensor layers separated by a substrate or other barrier, and a cover. The capacitive touch sensor layers may be any suitable material, such as patterned indium tin oxide (ITO).

The display <NUM> of the touch-sensitive display <NUM> may include a display area in which information may be displayed, and a non-display area extending around the periphery of the display area. Information is not displayed in the non-display area, which is utilized to accommodate, for example, one or more of electronic traces or electrical connections, adhesives or other sealants, and protective coatings, around the edges of the display area.

One or more touches, also known as touch contacts or touch events, may be detected by the touch-sensitive display <NUM>. The processor <NUM> may determine attributes of the touch, including a location of a touch. Touch location data may include an area of contact or a single point of contact, such as a point at or near a center of the area of contact, known as the centroid. A signal is provided to the controller <NUM> in response to detection of a touch. A touch may be detected from any suitable object, such as a finger, thumb, appendage, or other items, for example, a stylus, pen, or other pointer, depending on the nature of the touch-sensitive display <NUM>. The location of the touch moves as the detected object moves during a touch. One or both of the controller <NUM> and the processor <NUM> may detect a touch by any suitable contact member on the touch-sensitive display <NUM>. Similarly, multiple simultaneous touches, are detected.

In some examples, an optional force sensor <NUM> or force sensors is disposed in any suitable location, for example, between the touch-sensitive display <NUM> and a back of the mobile device <NUM> to detect a force imparted by a touch on the touch-sensitive display <NUM>. The force sensor <NUM> may be a force-sensitive resistor, strain gauge, piezoelectric or piezoresistive device, pressure sensor, or other suitable device.

It will be appreciated that any module or component exemplified herein that executes instructions may include or otherwise have access to computer readable media (including non-transitory computer readable media) such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the mobile device <NUM>, cloud storage <NUM>, any component of or related to these entities, etc., or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media.

The steps or operations in the flow charts and diagrams described herein are just for example. There may be many variations to these steps or operations without departing from the principles discussed above. For instance, the steps may be performed in a differing order, or steps may be added, deleted, or modified.

Claim 1:
A method performed by an electronic device (<NUM>), the method comprising:
displaying a recommendation (<NUM>) on the electronic device (<NUM>) to create a custom notification for at least one communication type;
enabling the custom notification to be created for the at least one communication type,
wherein the recommendation (<NUM>) is determined using usage data (<NUM>) associated with the at least one communication type; and
i: wherein the at least one communication type comprises communications with a contact or group of contacts, and the usage data indicative of frequent communications using several media with a particular contact that is within a particular group of contacts is used to determine that the contact is a contact for which a custom notification is made to allow a user to distinguish communications with that contact, and
generating a second recommendation to harmonize or apply customizations to the rest of the particular group of contacts; and/or
ii: wherein the at least one communication type comprises communications for an application (<NUM>), the usage data indicative of frequent usage of a particular application is used to determine that the application is designated as "heavily used" and for which the custom notification is made to allow a user to distinguish communications associated with that application, and
generating a second recommendation to harmonize or apply customizations to the rest of a particular group of contacts.