Systems and methods for changing representations of applications based on application state

By using a permission check engine and an advanced icon manager, icons are automatically updated based on changes in the application's state, resolving the issue of the graphical user interface failing to reflect the application version and feature set, thus improving the user experience.

CN115004139BActive Publication Date: 2025-12-09APPLE INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180009509.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-17
Filing Date
2021-01-15
Publication Date
2025-12-09
Estimated Expiration
2041-01-15

AI Technical Summary

Technical Problem

In existing technologies, graphical user interfaces cannot effectively reflect different versions or feature sets of applications, resulting in a poor user experience.

Method used

Through a permission check engine and an advanced icon manager, the icon representation is automatically updated based on changes in the application's state, reflecting these changes.

Benefits of technology

It improves the user experience by dynamically updating icons, allowing users to intuitively understand the application's status and available feature set, and providing a more intuitive interface interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115004139B_ABST
    Figure CN115004139B_ABST
Patent Text Reader

Abstract

The technology includes systems and methods for indicating a state of an application on a graphical user interface. The systems and methods include displaying a plurality of application icons associated with a plurality of applications on a graphical user interface. A first application of the plurality of applications has a first application state represented by a first application icon. The first application is changeable from the first application state to a second application state. The second application state is different from the first application state. The second application state has a second application icon that reflects the second application state, wherein the second application icon is different from the first application icon.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of and priority to U.S. Nonprovisional Patent Application No. 16 / 746,551, filed January 17, 2020, the entire disclosure of which is hereby incorporated by reference in its entirety. TECHNICAL FIELD

[0003] The present technology relates to presenting representations of applications through a graphical user interface of a computing system, and more specifically, to presenting alternative representations of applications based on a state of the application and associated features. BACKGROUND

[0004] In recent years, user interaction with electronic devices has significantly increased. Electronic devices can include devices such as computers, tablets, televisions, multimedia devices, mobile devices, and the like. These devices can support applications or “apps.” Some apps can be downloaded through user interaction. In some examples, apps downloaded on a device can be displayed on a graphical user interface of the device using a representation such as an icon. The icon can be used to launch or access the app. Some apps can have various features that can be associated with in-app purchases, level progression, subscriptions, and the like. It is possible for different versions of an app to have different sets of features. However, current implementations use the same icon on the graphical user interface to represent various versions of an app. SUMMARY

[0005] A system and method for indicating a state of an application on a graphical user interface is disclosed. The system and method includes displaying a plurality of application icons associated with a plurality of applications on a graphical user interface. A first application of the plurality of applications has a first application state represented by a first application icon. The first application can change from the first application state to a second application state. The second application state is different from the first application state. The second application state has a second application icon that reflects the second application state, wherein the second application icon is different from the first application icon.

[0006] According to at least one example, a method of indicating a state of an application on a graphical user interface is provided. The method includes displaying, on a graphical user interface of a computing device, a plurality of application icons associated with a plurality of applications installed on the computing device, wherein a first application of the plurality of applications has a first application state represented by a first application icon, and wherein the first application state corresponds to a first set of features available for use with the first application. The method further includes receiving an input associated with changing the first application from the first application state to a second application state, wherein the second application state is different from the first application state, the second application state corresponds to a second set of features available for use with the first application, and the second set of features is different from the first set of features. The method further includes, in response to the input, replacing the first application icon with a second application icon that reflects the second application state, wherein the second application icon is different from the first application icon.

[0007] In another example, a computing device is provided. The computing device includes at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to display, on a graphical user interface, a plurality of application icons associated with a plurality of applications, wherein a first application of the plurality of applications has a first application state represented by a first application icon, and wherein the first application state corresponds to a first set of features available for use with the first application; receive an input associated with changing the first application from the first application state to a second application state, wherein: the second application state is different from the first application state, the second application state corresponds to a second set of features available for use with the first application, and the second set of features is different from the first set of features; and in response to the input, replace the first application icon with a second application icon that reflects the second application state, wherein the second application icon is different from the first application icon.

[0008] In another example, at least one non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to: display, on a graphical user interface, a plurality of application icons associated with a plurality of applications installed on a computing device, wherein a first application of the plurality of applications has a first application state represented by a first application icon, and wherein the first application state corresponds to a first set of features available for use with the first application; receive an input associated with changing the first application from the first application state to a second application state, wherein: the second application state is different from the first application state, the second application state corresponds to a second set of features available for use with the first application, and the second set of features is different from the first set of features; and in response to the input, replace the first application icon with a second application icon that reflects the second application state, wherein the second application icon is different from the first application icon.

[0009] In some aspects of the above-described methods, computing devices, and computer-readable media, the input is an in-app purchase.

[0010] In some aspects of the above-described methods, computing devices, and computer-readable media, the input is a cold start of the first application.

[0011] In some aspects of the above-described methods, computing devices, and computer-readable media, the input is a transition of the first application into a foreground of the graphical user interface.

[0012] In some aspects of the above-described methods, computing devices, and computer-readable media, the second application state is a demotion from the first application state.

[0013] In some aspects of the above-described methods, computing devices, and computer-readable media, the second application state is a promotion from the first application state.

[0014] In some aspects of the above-described methods, computing devices, and computer-readable media, the first application state is a first tier level of a plurality of tier levels, and the second application state is a second tier level of the plurality of tier levels.

[0015] This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter. The subject matter should be understood from readi ng the entire specification of the patent (including any drawings) and the claim together with the m ay apply any or all of the accompanying drawings and each of the claims.

[0016] The above, along with other features and advantages, will become more apparent by reference to the following Description, Claims, and Drawings. BRIEF DESCRIPTION OF DRAWINGS

[0017] The above and other advantages and features of the present technology will become more apparent by reference to specific embodiments thereof, which will be described with reference to the attached drawings. Those of ordinary skill in the art will appreciate that the drawings are not necessarily to scale of the embodiments, and are only meant to generally illustrate the nature of the technology. In the drawings:

[0018] Figures 1A-1C An electronic device having a graphical user interface is shown in accordance with some examples;

[0019] Figure 2 A permissions checking engine configured in accordance with some examples is shown;

[0020] Figure 3 An electronic device configured to manage icons on a graphical user interface is shown in accordance with some examples;

[0021] Figure 4 A flowchart of an example process for displaying icons on a graphical user interface is shown in accordance with some examples;

[0022] Figure 5 A flowchart of an example process for managing icons on a graphical user interface based on associated application state is shown in accordance with some examples;

[0023] Figure 6 A flowchart of an example process for installing icons on a graphical user interface is shown in accordance with some examples;

[0024] Figure 7 A flowchart of an example process for updating icons on a graphical user interface based on associated application state is shown in accordance with some examples; and

[0025] Figure 8 An example system for implementing certain aspects of the present technology is shown. DETAILED DESCRIPTION

[0026] Various examples of the present technology are discussed in detail below. While discussing specific embodiments, it should be understood that this is done for illustrative purposes only. One of ordinary skill in the relevant art will recognize that other components and configurations can be used without departing from the spirit and scope of the present technology.

[0027] The disclosed technology addresses a need in the art to provide a better user experience to users of apps that can have different versions or associated feature sets. In particular, the present technology can automatically update a representation of an app on a graphical user interface of a device to reflect a state of the app. For example, an icon on the graphical user interface can provide a representation of the app, where the icon can be changed to reflect a change in the state of the app. In various examples, the state of the app can vary based on features associated with the app, a version of the app, or other characteristics of the app. Changing the icon based on a change in the state of the app provides a clever solution for representing the change in the state of the app.

[0028] Figures 1A-1C is a schematic diagram of a user device 100 configured in accordance with example aspects of the present disclosure. The user device 100 can comprise an electronic device such as a mobile or stationary telephone handset (e.g., a smart phone, a cellular telephone, etc.), a desktop computer, a laptop or notebook computer, a tablet computer, a set-top box, a television, a camera, a display device, a digital media player, a video gaming console, a video streaming device, a smart watch, an Internet Protocol (IP) camera, or any other suitable electronic device.

[0029] The user device 100 can include a display 102, where the display 102 can be capable of providing a graphical user interface for user interaction with one or more applications. For example, the graphical user interface can include one or more icons, such as icons 104, 106, etc. (e.g., where the icon 106 can have different versions identified as 106A, 106B, and 106C in FIGS. 1A, IB, and 1C, respectively). The display 102 can include any of a variety of display devices, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or another type of display device. In some examples, the display 102 can support touch screen functionality for interaction with a plurality of applications that can be associated with the respective icons 104, 106, etc. Figure 1A Figure 1B and Figure 1C The display 102 can include any of a variety of display devices, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or another type of display device. In some examples, the display 102 can support touch screen functionality for interaction with a plurality of applications that can be associated with the respective icons 104, 106, etc.

[0030] Considering the various versions of the icon 106 in more detail, Figure 1A a first version 106A of the icon 106, Figure 1B a second version 106B of the icon 106, and Figure 1C ​The third version 106C of the icon 106 is depicted according to illustrative examples by different symbols or logos, respectively. In the illustrative examples, the different versions 106A, 106B, and 106C of the icon 106 are associated with respective versions of an app (e.g., a "news app" (with a corresponding symbol "N")). The different versions of the news app can be differentiated in various ways. For example, the different versions of the news app can be associated with different tiers, different subscription levels, different states, different feature sets, in-app purchases, or other distinguishing characteristics. Each tier, level, state, etc. can have a unique identifier.

[0031] For example, Figure 1A The first version 106A of the icon 106 shown can be associated with a first application state, a first tier level, a first feature set, no in-app purchases, or other characteristics of the news app. The first version 106A can have a logo, visual appearance, or other representation that can be distinguishable from the second version 106B and the third version 106C, respectively. In the illustrative examples, the first version 106A can correspond to a free version of the news app that is freely available to a user. Correspondingly, the first feature set can include a limited feature set. For example, the first feature set can have a large number of advertisements, limited or partially available content, limited multimedia content speed or resolution, fewer options for personalization, or any other restrictions that can be placed on the free version to distinguish the free version from one or more types of paid versions of the news app that are available to the user for a fee.

[0032] For example, different tiers of the news app can be available for different purchase or payment upgrade options. In the illustrative examples, if a user of the free version of the news app makes an in-app purchase based on interactions with the news app, the user can be considered eligible for a higher tier (a second tier) of the news app. For example, the in-app purchase can include a purchase of a product or service advertised on the news app and purchased by clicking on a link available on the news app. The purchase can be for a product or service related to the news app (e.g., for paid content of the news app) or for a third-party product or service. Different price thresholds or other criteria (e.g., whether the purchase is for a news app product / service or a third-party product / service) can be used to determine whether the in-app purchase can be eligible for the second tier. For example, the eligible purchase can unlock additional features of the news app that can not be available in the free version. The second feature set including the additional features can involve different or additional content, fewer advertisements than the free version, higher media content quality or resolution, or other features that distinguish over the first feature set available in the free version of the news app. According to the illustrative examples, the eligible in-app purchase can result in an upgrade to the second tier of the news app providing the second feature set, where the second version 106B of the icon 106 can be associated with the second tier of the news app.

[0033] Further by way of illustrative example, a different higher tier (third tier) of the news app can be available for paid subscribers of the news app. For example, one or more types of periodic subscription options (e.g., monthly subscription) can be available for the news app. The third tier of the news app can provide a third set of features that can be different from the first set of features and the second set of features. In some examples, the third set of features can include an addition to the first set of features, the second set of features, or both. For example, the third set of features can relate to different content, a different level of advertising, different quality or resolution of media content, or other features that distinguish over the first set of features and the second set of features of the news app discussed above. While in the illustrative example, the second tier and the third tier are considered to be upgrades from the free version, the third tier can be an even higher tier than the second tier, where the third tier can also be reached by upgrading from the second tier. In some examples, the second tier can be a first subscription option and the third tier can be a second subscription option, the first subscription option and the second subscription option having different feature availability as explained above. In such examples, the third version 106C of the icon 106 can be associated with the third tier of the news app.

[0034] In various examples, there can be a greater or fewer number of tiers / statuses or versions associated with an app (such as the news app discussed above), where each tier / status or version can have a corresponding set of features available. The set of features available for an app can be based on permissions corresponding to the app, and more specifically, can be based on the tier / status or version of the app. Permissions can include rights granted to an app, tool, or other executable program based on the respective tier / status or version.

[0035] Figure 2 is a block diagram illustrating a system 200 for managing permissions associated with apps on an electronic device. For example, the system 200 can be configured to manage permissions for apps available on the device 100 of FIG. 1. The system 200 can include a permission checking engine 210, which can determine a status or level of one or more applications of a device. In some examples, the permission checking engine 210 can be linked with a user account of an app store. In some examples, the permission checking engine 210 can be integrated with the app store.

[0036] The permission check engine 210 can receive input 212 associated with one or more apps. A permission check can be performed based at least on the input 212 and one or more rules. For example, the permission check engine 210 can be configured with one or more rules for an app, where the one or more rules can be used to determine a permission of the app, whether there is any state update of the app, or other actions related to the app. In some examples, the permission check engine 210 can apply one or more rules based on receiving the input 212 to generate an output 214, where the output 214 can include an action or a status message.

[0037] In Figure 2 In the illustrated example, the input 212 can include different types of events, notifications, states, etc. of an app, such as the news app discussed above. For example, a cold start 212A, foreground 212B, and notification 212C are shown as example options for the input 212, among other options available.

[0038] In some examples, the input 212 can provide a trigger for the permission check engine 210 to perform a permission check of an app.

[0039] Considering the options of the input 212 in more detail, the cold start 212A can correspond to an event when the app is initiated, where the app can have been in an inactive or hibernating state prior to the cold start 212A.

[0040] In some examples, the cold start 212A can correspond to a first time the app is started or executed after the app has been downloaded to the device 100. In some examples, the cold start 212A can correspond to a subsequent start of the app after a previous use of the app is terminated and the app is placed in an inactive state.

[0041] The foreground 212B option of the input 212 can include a state / layer of the app when the app is in active use or in a foreground of the display 102 or a graphical user interface of the device 100. For example, after a cold start, the app can be brought into the foreground (e.g., from the background), where the app can remain until the app is terminated (e.g., an interaction with the app is closed or the app is moved to the background). In some examples where the device 100 can support multi-tasking functionality, it is possible for multiple applications to be on the foreground at the same time. In some examples, the input 212 corresponding to the foreground 212B can indicate a transition of the app into the foreground of the graphical user interface. In some cases, when in the foreground, the app (installed on the device 100) can poll for updates (permission check engine 210) for the currently installed app.

[0042] Notifications 212C can include any notification or trigger that can be received from the app or from a source external to the app, such as an app manager. For example, a common manager of multiple apps on device 102 (e.g., iTunes Store, iTunes, App Store, etc.) can generate notifications 212C regarding the app. In some cases, notifications 212C can be generated while the app is in the foreground or in active use, and possibly while the app is inactive.

[0043] In some examples, an app that is available for interaction through a graphical user interface of device 100 can also be available on one or more other devices. For example, a user can have access to several electronic devices, such as a mobile phone, a laptop, and a tablet, where respective versions of the news app are available on all of these electronic devices (e.g., through a common user account connection). A common manager of multiple apps can include a central platform, such as a cloud infrastructure (e.g., iTunes Store, iTunes, App Store, etc.). The common manager can synchronize operations and data regarding the news app on the electronic devices associated with the user account. Thus, for example, if an in-app purchase is made while interacting with the news app on the mobile phone, a notification responsive to the in-app purchase can be generated by the common manager. Such a notification of the news app can be provided by the common manager to the other electronic devices (such as the laptop and the tablet on the user account), even if the news app is not in the foreground of the laptop or the tablet. Thus, in various examples, notifications 212C of the app can be external to the app on the device or independent of use of the app on the device. In other examples, the notifications can be from an app store or a third-party app connected with the user account of device 102 (e.g., iTunes Store, iTunes, etc.). For example, a user can purchase a subscription to an app running on device 102 from a second device at an app store. Notifications 212C can be sent from the common manager, the app store, the third-party app, or the second user device.

[0044] As previously described, permission check engine 210 can receive input 212 and determine a status / layer of the app. The output 214 of this determination can include one or more status messages. For example, output 214 can include status messages such as new 214A, expired 214B, upgraded 214C, downgraded 214D, and other possible messages. The status messages can also include a specific layer or status level and an app identity.

[0045] Accordingly, in the illustrative example, when the input 212 indicates a cold start 212A for the news app, then the entitlement check engine 210 can apply one or more rules for determining a state / layer to assign to the news app. For example, the one or more rules can include determining whether any notification 212C indicating an eligible purchase was received prior to the cold start 212A. In some examples, an eligible purchase can include an in-app purchase (e.g., having a value greater than a predetermined threshold), a subscription (e.g., for a predetermined minimum term), or other payment related to the news app. After the cold start 212A, the entitlement check engine 210 can determine whether the news app is to remain in its state / layer prior to the cold start 212A, or whether a change in the state / layer of the news app can be in order.

[0046] In an example including an output 214 of a status message new 214A, a free version of the news app can have been active for a first time, and the new 214A message can correspond to the free version of the news app. For example, referring back to Figure 1A , the first launch of the news app can involve the first time that the icon 106 is added to the graphical user interface of the device 100, and the version 106A thereof can be the appropriate version.

[0047] In another illustrative example of a cold start 212A, the entitlement check engine 210 can determine that an eligible payment (e.g., an in-app purchase or a subscription) has been made, which can result in the news app being upgraded to a higher layer / state (such as the second layer or the third layer previously mentioned). In such an example, the output 214 can indicate an upgrade 214C state, which can involve a version 106B or a version 106C of the icon 106 as shown in Figure 1B or Figure 1C , respectively.

[0048] In yet another illustrative example of a cold start 212A, the entitlement check engine 210 can determine that the news app has lost its higher tier / status (e.g., second tier, third tier, etc.) for any reason, such as a time period of a subscription has ended, an in-app purchase for a duration of higher tier eligibility has passed, or any other rule that can indicate a loss of status for the news app. In the example where a subscription can have expired, an expired 214B status can be generated. In another example where a higher tier / status can be deemed to have been lost, a demoted 214D status can be generated. In some examples, both expired 214B and demoted 214D can be potential status updates (e.g., in a case such as a subscription expiring, which can result in a status demotion or membership expiration), and a preconfigured rule can be used to determine which of the two statuses will be a valid option for the output 214. While only three versions 106A-C were previously mentioned, a fourth version of the icon 106 can also be an option for display on the graphical user interface to indicate an expired status for the news app.

[0049] In other illustrative examples, the entitlement check engine 210 can be configured to implement one or more rules corresponding to the input 212 of the news app’s foreground 212B status or notification 212C corresponding to the news app. For example, one or more of the above considerations for a cold start 212A can apply in a case where the news app is in the foreground. For example, when the news app has a foreground 212B status (e.g., brought into the foreground), the default new 214A status of the output 214 (corresponding to version 106A of the icon 106) can be maintained. Based on one or more rules that can be satisfied when the news app has a foreground 212B status (e.g., qualifying payment, subscription, expiration, etc.), the output 214 can be set to an expired 214B, upgraded 214C, or demoted 214C status as needed.

[0050] Similarly, the output 214 can be set to a new 214A, expired 214B, upgraded 214C, or demoted 214C status based on the notification 212C (e.g., corresponding to qualifying payment, subscription, expiration, etc.) as needed, independent of a cold start of the news app or whether the news app is in the foreground of the graphical user interface of the device 100. One of versions 106A-C (or other versions) can be used to display or present the icon 106 of the news app based on the output 214. In some examples, the output 214 from the entitlement check engine 210 can be provided to an icon management system configured to display the appropriate version of the icon 106 based on the output 214.

[0051] Figure 3is a block diagram illustrating a system 300 for managing icons on a graphical user interface of an electronic device. For example, the system 300 can be configured for managing one or more icons on a graphical user interface corresponding to the device 100. In the illustrative example as shown, the device 100 can utilize output 214 from the entitlement check engine 210 of Figure 2 Although shown external to the device 100, in some examples, the entitlement check engine 210 can be implemented within the device 100.

[0052] In example implementations, an app-specific subscription manager can be assigned to each app available on the device 100. For example, an app-specific subscription manager 320 can be associated with the news app. Various other app-specific subscription managers can be associated with other apps available on the device 100 for user interaction. In an example, the app-specific subscription manager 320 can manage the subscription or tier / status associated with the news app. For example, the app-specific subscription manager 320 can determine whether any modifications can be guaranteed as the status of the news app based on qualifying actions or payments.

[0053] In some examples, the app-specific subscription manager 320 can work in conjunction with the entitlement check engine 210. For example, if the output 214 of the entitlement check engine indicates a new 214A status of the news app, the app-specific subscription manager 320 can associate a default feature set with the news app (e.g., for a free version). If the output 214 of the entitlement check engine indicates an expired 214B status of the news app, the app-specific subscription manager 320 can disassociate features from the news app. If the output 214 of the entitlement check engine indicates an upgrade 214C status of the news app, the app-specific subscription manager 320 can associate features corresponding to one of the higher tiers (e.g., the second tier or the third tier) based on predetermined rules implemented by the app-specific subscription manager 320 (e.g., an upgrade from the first tier can be the second tier or the third tier; an upgrade from the second tier can be the third tier, etc.). Similarly, if the output 214 of the entitlement check engine indicates a downgrade 214D status of the news app, the app-specific subscription manager 320 can associate features corresponding to a lower tier of the current tier (e.g., the second tier or the first tier) based on predetermined rules implemented by the app-specific subscription manager 320 (e.g., a downgrade from the second tier can be the first tier; a downgrade from the third tier can be the second tier or the first tier, etc.). The output 214 can also include a unique identifier that identifies the tier or status level of the app based on the determination of the entitlement check engine.

[0054] In some examples, the feature set associated with the news app via the app-specific subscription manager 320 may differ from the feature set previously associated with the news app. For example, if output 214 indicates a state different from a previous state associated with the news app, the app-specific subscription manager 320 can change the feature set association of the news app. However, in some examples, even if output 214 indicates a change, the app-specific subscription manager 320 may not be able to effectively change the feature set association of the news app. For example, if output 214 indicates an upgrade (upgrade state 214C), but the news app's state is already at the highest level, no upgrade or change can be implemented. Similarly, if output 214 indicates a downgrade (downgrade state 214D), but the news app's state is already at the lowest level, no downgrade or change can be implemented. Therefore, the version of icon 106 displayed on the graphical user interface of device 100 can be modified based on whether there is a change in the state of the news app.

[0055] like Figure 3 As shown, the advanced app icon manager 322 can be configured to manage the representation of icons on the graphical user interface displayed on the display 102. In some examples, the advanced app icon manager 322 can communicate with the app-specific subscription manager 320 to determine whether to modify the icon representation. In an illustrative example, if a free version of the news app is initially downloaded to device 100, the advanced app icon manager can be configured to provide a default version 106A of icon 106 to be displayed on the graphical user interface of display 102. Upon any state update, event, or notification that could cause a sudden change, the permission check engine 210 can provide the app-specific subscription manager 320 with a corresponding output 214 indicating the version status of the news app. The app-specific subscription manager 320 can implement changes to the feature set associated with the news app or maintain the previous version as needed. For example, when the permission check engine 210 indicates a change to the second layer, the output 214 can indicate an upgrade 214C status to the app-specific subscription manager 320. By associating the second feature set with the second layer of the news app, the app-specific subscription manager 320 can notify the advanced app icon manager 322 to update icon 106 to the second version 106B corresponding to the second layer of the news app. The advanced app icon manager 322 can then provide the updated second version 106B of icon 106 to be displayed on the monitor 102, such as... Figure 3 As shown.

[0056] The advanced app icon manager 322 can be configured to change the icon of any other app as needed based on a change in the status of the app represented by the icon. For example, if the status of the news app changes to degraded, expired, or new in the other examples discussed above, the advanced app icon manager 322 can be configured to update / replace the icon 106 on the display 102 corresponding to the status change of the news app.

[0057] Figure 4 is a flowchart illustrating an example of a process 400 of associating an icon with an app. In some examples, the process 400 can be implemented by the advanced app icon manager 322 of the system 200. Figure 3 Figure 2 In some examples, the advanced app icon manager 322 can obtain information regarding the management of icons on the display 102 of the device 100 from the permission checking engine 210, the app-specific subscription manager 320, or other systems for managing the layer association of one or more apps on the device 100.

[0058] At step 405, the process 400 can include downloading an app. For example, a news app can be downloaded on the device 100. Various versions or tiers of the news app can be available for download from an app repository, store, database, or the like. Some versions of the news app can be downloaded for free, while other versions can be available for download based on an eligible payment or subscription. The news app can be advertised for download through a graphical user interface or other interface of the device 100. In some examples, if the news app is downloaded on a different device that is generally accessible to the user of the device 100, the news app can be automatically downloaded on the device 100 based on a preconfigured user setting. Various techniques for downloading apps, such as the news app, on an electronic device are known in the art and are considered to be within the scope of the present disclosure.

[0059] At step 410, the process 400 can include determining an app tier associated with the app. The subscription status of the downloaded news app can be determined (e.g., based on a status identifier received from the app, metadata, or the like). The news app can have been downloaded on the device 100 at an associated tier level, which can include a first tier, a second tier, or a third tier, or the like. Each tier of the news app can have an associated set of features, such as a first set of features, a second set of features, or a third set of features, respectively.

[0060] ​At step 415, process 400 can include registering the app with the manager. For example, app-specific subscription manager 320 and / or advanced app icon manager 322 can register the news app and associate its appropriate tier with the registration. The tier of the app can be obtained from information such as metadata associated with the app. In some examples, tier information can be provided by entitlement check engine 210. Registering the news app and its appropriate tier can include storing the news app, the tier level, the available feature set for the tier level, and any other user-specific or app-specific information typically used to interact with the news app and / or specific to the tier level.

[0061] At step 420, process 400 can include installing an icon associated with the app. For example, advanced app icon manager 322 can obtain information about the tier of the news app from app-specific subscription manager 320 and provide a corresponding version of icon 106 to be displayed on the graphical user interface of device 100. For example, depending on the tier level of the downloaded news app, version 106A, 106B, or 106C can be installed on display 102. In some examples, the graphical user interface can display a plurality of application (app) icons associated with a plurality of applications installed on device 100. A first application of the plurality of applications, such as the news app, can have a first application state represented by a first application icon, such as version 106A of icon 106. The first application state can correspond to a first feature set available for use with the first application.

[0062] Figure 5 is a flowchart illustrating an example of a process 500 to update an icon associated with an app. In some examples, process 500 can be implemented by Figure 3 advanced app icon manager 322 of FIG. 1. In some examples, advanced app icon manager 322 can obtain information about the management of icons on display 102 of device 100 from Figure 2 entitlement check engine 210, app-specific subscription manager 320, or other systems for managing tier associations of one or more apps on device 100.

[0063] At step 505, process 500 can include receiving (at app-specific subscription manager 320) a notification associated with the app indicating a tier / state level. In some examples, the notification can be an output (e.g., from entitlement check engine 210) associated with a change in state of the app, such as from a first application state to a second application state. For example, the notification (e.g., output 214) can correspond to a new 214A, an expiration 214B, an upgrade 212C, or a downgrade 214D of the news app along with the associated tier / state level, as referenced with respect to FIG. 2. Figure 2The notification can indicate an in-app purchase that can result in the layer of the news app being upgraded. Thus, the notification can include an indication of a qualifying payment, a cold start, or a foreground transition that can result in a determination that the state of the news app changes.

[0064] At step 510, process 500 can include determining a current layer / state associated with the app. For example, app-specific subscription manager 320 can determine a current level of hierarchy associated with the news app. The news app in a first layer or first application state can have a first set of features, which can be different from a second layer or second application state of the news app associated with a second set of features, for example.

[0065] At step 515, process 500 can include determining whether the new layer / state (received at step 505) is different from the current layer (determined at step 510). In some examples, the new layer can be the same as the current layer, in which case process 500 can end at step 520. In some examples, for example, the new layer can be associated with a second application state, where the second application state is different from a first application state corresponding to the current layer. The second application state can correspond to a second set of features available for use with the news app, where the second set of features is different from the first set of features.

[0066] According to examples discussed herein, a first application icon (such as version 106A of the news app installed in step 420) can be replaced with a second application icon (such as version 106B) that reflects a second application state, where the second application icon is different from the first application icon. Figure 4 According to examples discussed herein, a first application icon (such as version 106A of the news app installed in step 420) can be replaced with a second application icon (such as version 106B) that reflects a second application state, where the second application icon is different from the first application icon.

[0067] For example, when at step 515, it is determined that the new level / state is different than the current level / state, then at step 525, the process 500 can include obtaining a new icon for the new level / state. For example, the app-specific subscription manager 322 can obtain the new level (from step 505) and provide an indication to the advanced app icon manager 322 to obtain a new version of the icon for the news app as needed. The app-specific subscription manager 322 can obtain the appropriate replacement icon based on the received indication. In some cases, the replacement icon can be stored locally on the device 100. In other cases, the replacement icon can be downloaded on the device 100. In a non-limiting example, when the second application state is an upgrade from the first application state, the advanced app icon manager 322 can obtain a version 106B of the icon 106 corresponding to the upgrade 214C indication. If the current version is version 106B of the icon 106, then in another non-limiting example, when the second application state is a downgrade from the first application state, the advanced app icon manager 322 can obtain a version 106A of the icon 106 corresponding to the downgrade 214D indication.

[0068] At step 530, the process 500 can include installing the icon on the graphical user interface of the electronic device. For example, if the new level is different than the current level determined in step 515, the advanced app icon manager 322 can install the version 106B of the icon 106 on the graphical user interface of the device 100 for the new level obtained in step 525. For example, the first application state can correspond to a first level of the plurality of levels (the current level), and the second application state can correspond to a second level of the plurality of levels (the new level). If the new level is not different than the current level, the process 500 can end in step 520 with the version 106A of the icon 106 for the current level remaining installed on the graphical user interface of the device 100, for example, in Figure 4 step 420 of FIG. 4.

[0069] Figure 6 is a flowchart illustrating an example of a process 600 for displaying an icon on a graphical user interface. At step 605, the process 600 can include displaying a plurality of icons, such as the icon 104 and one of the versions 106A-C of the icon 106, on a graphical user interface of the display 102 as discussed with reference to Figures 1A-1C FIG. 1.

[0070] At step 610, the process 600 can include receiving an input. For example, the input 212 including a cold start 212A, a foreground 212B transition, a notification 212C, or other can be received by the permission check engine 210.

[0071] At step 615, process 600 can include replacing an icon of the plurality of icons on the graphical user interface. For example, if based on the input, entitlement checking engine 210 provides output 214 indicating a change in status of the app, advanced app icon manager 322 can replace the previous icon of the app with the new icon. For example, if output 214 indicates an upgrade 214C status, the new version 106B of the news app can be replaced from the current version 106A of the news app.

[0072] Figure 7 is a flowchart illustrating an example of a process 700 for updating an icon associated with an app. At step 705, process 700 can include detecting a change in status / tier of an app. For example, app-specific subscription manager 320 can detect a change in status of the news app based on output 214 from entitlement checking engine 210. In some examples, the change can be indicated in the new status provided in output 214, such as new 214A, expired 214B, upgrade 214C, downgrade 214D, or other status.

[0073] At step 710, process 700 can include determining whether the changed status / tier of the app has a new icon. For example, app-specific subscription manager 320 can determine whether a new feature set is to be associated with the news app based on output 214. Correspondingly, advanced icon manager 322 can determine whether the version of the icon currently displayed on the graphical user interface of display 102 is to be replaced based on the detected change in status of the app (step 705). When advanced icon manager 322 determines that the current version of icon 106 does not have to be updated, then process 700 can end in step 715. When advanced icon manager 322 determines that the current version of icon 106 is to be replaced (e.g., when the new status has a different icon than the currently presented icon), then process 700 proceeds to step 720. For example, output 214 can indicate an upgrade 214C status, which advanced icon manager 322 can determine based on the status that the representation of icon 106 is to be changed from version 106A to version 106B. Figure 3 The illustrative example discussed replaces from version 106A to version 106B.

[0074] At step 720, process 700 can include replacing the current icon of the app with the new icon. For example, based on the determination that the representation of icon 106 is to be changed from version 106A to version 106B, advanced icon manager 322 can cause version 106B of icon 106 to be displayed on the graphical user interface of device 100.

[0075] Figure 8An example of a computing system 800 is shown, which can be, for example, the electronic device 100, in which the components of the system communicate with one another using connections 805. The connections 805 can be physical connections via buses or direct connections into the processor 810, such as in a chipset architecture. The connections 805 can also be virtual connections, networking connections, or logical connections.

[0076] In some examples, the computing system 800 is a distributed system in which the functionality described in this disclosure can be distributed within a data center, multiple data centers, a peer-to-peer network, etc. In some examples, one or more of the described system components represent many such components each performing some or all of the functionality the component is described to perform. In some examples, these components can be physical devices or virtual devices.

[0077] The computing system 800 can include at least one processing unit (CPU or processor), such as a processor 810, and connections 805 that couple various system components including the system memory 815, such as read-only memory (ROM) or random access memory (RAM), to the processor 810. The computing system 800 can also include cache memory in the processor 810 directly, as part of the processor 810, or otherwise, as well as graphics processing unit (GPU) and physics processing unit (PPU) to, in conjunction with the processor 810, manipulate the computer graphics and physics of the virtual world.

[0078] The processor 810 can include any general purpose processor and a hardware service or software service, such as services 832, 834, and 836 stored in storage device 830, configured to control the processor 810, as well as a specific purpose processor where software instruction is incorporated into the actual processor design. The processor 810 can essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, and cache, etc. Multi-core processors can be symmetric or asymmetric.

[0079] To enable user interaction, the computing system 800 can include an input device 845, which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and the like. The computing system 800 can also include output device 835, which can be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multi modal systems enable a user to provide multiple types of input to communicate with the computing device 800. The computing system 800 can include communication interface 840, which can generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here can easily be substituted for improved hardware or firmware arrangements as they are developed.

[0080] The storage device 830 can be a non-transitory memory device, and can be a hard disk or other type of computer readable media which can store data that can be accessed by a computer, such as a magnetic cassette, flash memory card, solid-state memory device, digital versatile disc, cartridge, random access memory (RAM), read only memory (ROM), and / or some combination of these, for example.

[0081] The storage device 830 can include software services, servers, services, and the like that, when code defining such software is executed by the processor 810, cause the system to perform a function. In some examples, a hardware service that performs a particular function can include the software component stored in the computer readable medium which, in operation, combines with the necessary hardware components, such as the processor 810, the connection 805, the output device 835, and the like, to execute the function.

[0082] For clarity of explanation, in some instances the present technology can be presented in terms of algorithms, functional blocks, procedures, steps, and the like. These algorithmic descriptions and representations are typically based upon the abstraction and ilustration of one or more technologies. The steps in such algorithmic descriptions represent one or more software applications, hardware components, and / or the like.

[0083] Any of the steps, operations, functions, or processes described herein can be performed or implemented with a combination of hardware and software services, or services alone or in combination with other devices. In some examples, a service can be software that resides in the memory of a customer-end device and / or one or more servers of a content management system and performs one or more functions when a processor executes software associated with the service. In some examples, a service is a program or set of programs that performs a particular function. In some examples, a service can be considered a server. The memory can be a non-transitory computer readable medium.

[0084] In some examples, computer readable storage devices, media, and memory can include cables or wireless signals containing a bit stream, and the like. However, when referred to, non-transitory computer readable storage media expressly excludes media such as energy, carrier signals, electromagnetic waves, and signals per se.

[0085] The methods described in the examples above can be implemented using computer-executable instructions stored in or otherwise obtainable from a computer-readable medium. Such instructions may include, for example, instructions and data that cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device, or otherwise configure such device to perform a function or a set of functions. The portion of the computer resources used may be accessible via a network. The computer-executable instructions may be, for example, binary, intermediate format instructions such as assembly language, firmware, or source code. Examples of computer-readable media that can be used to store instructions, information used, and / or information generated during the methods according to the examples include disks or optical discs, solid-state storage devices, flash memory, USB devices with non-volatile memory, networked storage devices, etc.

[0086] Devices implementing the methods disclosed herein may include hardware, firmware, and / or software, and may take any of a variety of form factors. Typical examples of such form factors include servers, laptops, smartphones, small form factor personal computers, personal digital assistants, etc. The functionality described herein may also be embodied in peripheral devices or expansion cards. As another example, this functionality may also be implemented in different processes executed between different chips on a circuit board or in a single device.

[0087] The instructions, the medium for transmitting such instructions, the computing resources for executing such instructions, and other structures for supporting such computing resources are means for providing the functions described in these disclosures.

[0088] While various examples and other information are used to interpret aspects within the scope of the appended claims, the claims should not be construed as limiting based on specific features or arrangements in such examples, as those skilled in the art will be able to extend these examples to various specific embodiments. Although the subject matter has been described in language specific to structural features and / or method steps, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or behaviors described. For example, such functionality may be distributed or performed differently in components other than those identified herein. Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims.

Claims

1. A method of indicating a state of an application on a graphical user interface, the method comprising: detecting, by an application subscription manager, a trigger to check an application state of a first application installed on a first customer-end device operating in a first permission state, wherein on a graphical user interface of the first customer-end device, a plurality of application icons represent a plurality of applications installed on the first customer-end device, wherein the first application is one of the plurality of applications, and the first application installed operating in the first permission state is represented by a first icon, wherein the trigger is a cold start of the first application or a transition of the first application into a foreground of the graphical user interface; after detecting the trigger, requesting, by the application subscription manager, a current permission state of the first application from a permission check engine, the permission check engine being a network-based service associated with an app store that provisioned the first application to the first customer-end device; receiving, by the application subscription manager, a response from the permission check engine for the current permission state of the first application, the response indicating the current permission state of the first application; determining, by the application subscription manager, that the current permission state is different from the first permission state; and in response to the response from the permission check engine, installing, by an application icon manager, a second icon reflecting the first application operating in the current permission state.

2. The method of claim 1, further comprising: displaying, on the graphical user interface of the first customer-end device, the plurality of application icons associated with the plurality of applications installed on the first customer-end device, wherein the first application of the plurality of applications has a first permission state represented by a first application icon.

3. The method of claim 1, wherein: the current permission state is different from the first permission state, the current permission state corresponds to a feature associated with the current permission state, the feature associated with the current permission state is different from a feature associated with the first permission state.

4. The method of claim 1, wherein the current permission state is changed from the first permission state as a result of an in-app purchase; wherein the method further comprises registering, to the application subscription manager on the first customer-end device, the first application installed on the first customer-end device; wherein the permission check engine is configured to determine permissions of a plurality of applications available from the app store, wherein the first application is one of the plurality of applications.

5. A first customer-end device comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to implement the method of any one of claims 1 to 4.

6. At least one non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to implement a method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Information updating method and user equipment

    CN107220073A

  • System, method, and computer program for visually altering user interface based on application program runtime information

    CN107835977A

  • Method, system, and program product for visual display of a license status for a software program

    US20060106725A1