A display of a user device may display a user interface (e.g., a graphical user interface). A user interface may permit interactions between a user of the user device and the user device. In some cases, the user may interact with the user interface to operate and/or control the user device to produce a desired result. For example, the user may interact with the user interface of the user device to cause the user device to perform an action. Additionally, the user interface may provide information to the user.
Some implementations described herein relate to a system for providing data for presentation of a user interface element. The system may include one or more memories and one or more processors communicatively coupled to the one or more memories. The one or more processors may be configured to identify a first user identifier, associated with a first user, and a second user identifier associated with a second user. The one or more processors may be configured to determine a first total corresponding to the first user identifier, and a second total corresponding to the second user identifier. The one or more processors may be configured to determine a ratio of the first total to the second total or a proportion of the first total or the second total relative to a joint total that is a sum of the first total and the second total. The one or more processors may be configured to transmit, to a user device, user interface data associated with the user interface element to be displayed on a display of the user device, wherein the user interface data indicates a first user portion, of the user interface element, corresponding to the first user, and a second user portion, of the user interface element, corresponding to the second user, wherein the user interface data indicates a connecting portion, of the user interface element, that connects the first user portion and the second user portion, and wherein a size of the first user portion and a size of the second user portion are based on the ratio, of the first total to the second total, or the proportion of the first total or the second total relative to the joint total.
Some implementations described herein relate to a method of providing data for presentation of a user interface element. The method may include receiving, by a system and from a user device, data indicating a request for information related to a user account, wherein the user account is associated with a first user and a second user. The method may include obtaining, by the system, a set of first user data indicating a set of first user values, of a plurality of first user values, over a time frame and associated with the first user. The method may include obtaining, by the system, a set of second user data indicating a set of second user values, of a plurality of second user values, over the time frame and associated with the second user. The method may include determining, by the system, a relationship between the set of first user values and the set of second user values. The method may include transmitting, by the system and to the user device, user interface data indicating the user interface element, where the user interface data indicates a first user portion of the user interface element, a second user portion of the user interface element, and a connecting portion, of the user interface element, that connects the first user portion and the second user portion, where the first user portion corresponds to the set of first user values, and the second user portion corresponds to the set of second user values, and where a size of the first user portion and a size of the second user portion are based on the relationship between the set of first user values and the set of second user values.
Some implementations described herein relate to a user device for presenting a user interface element. The user device may include one or more memories and one or more processors communicatively coupled to the one or more memories. The one or more processors may be configured to present, on a user interface associated with a user account, an interaction element. The one or more processors may be configured to detect a user interaction, with the user device, that indicates the interaction element. The one or more processors may be configured to present, on the user interface and based on the user interaction, the user interface element, wherein the user interface element includes a first user portion, a second user portion, and a connecting portion that connects the first user portion and the second user portion, wherein the first user portion corresponds to a first total associated with a first user account, and the second user portion corresponds to a second total associated with a second user account, and wherein a size of the first user portion and a size of the second user portion are based on a total ratio of the first total to the second total or a proportion of the first total or the second total relative to a joint total that is a sum of the first total and the second total.
The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Two or more users may share an account by which the users may participate in various activities (e.g., engaging in interactions with one or more third parties). The users may be joint account holders, or one user may be a primary account holder and user, while the other user(s) may be secondary users (e.g., dependents). Alternatively, each user may have separate individual accounts by which each user separately may participate in the various activities. The individual accounts may be linked to one another such that information and/or benefits (e.g., rewards points) related to the use of the accounts may be shared.
An institution operating the account(s) may maintain records of data corresponding to each activity. In some instances, one of the users may want to derive certain insights about the particular user's participation or the participation by the other user(s) in the various activities in a quick and efficient manner. For example, the user may want to compare relative contributions by one or more of the users to the shared benefits. Accordingly, a user interface (UI) that allows the user to view the data in an aggregated format may be beneficial. However, techniques frequently involve presenting the data on multiple UIs for each user. As a result, the user has to inefficiently determine any insights by navigating through UIs for different sets of data (e.g., for each user) presented on the UIs and manually combining and/or processing the data. Furthermore, requiring the user to navigate through different UIs inefficiently utilizes computing resources. Thus, it is desirable for a UI to provide a user-friendly and efficient way for a user to visualize and gain insights from the data.
Some implementations described herein enable a system to provide data for presentation of a UI element on a user device that visually indicates a comparison of a first set of data (e.g., corresponding to a first user) with a second set of data (e.g., corresponding to a second user), for example, the relative contribution of each user (e.g., a first user total and a second user total) to a joint total. The UI element may include multiple portions (e.g., a first user portion and a second user portion) corresponding to the users. The respective sizes of the multiple portions may be based on a relationship between the user contributions to the joint total. In some implementations, the relationship may be a ratio of one user's contribution (e.g., the first user total) to another user's contribution (e.g., the second user total). Alternatively, the relationship may be a proportion of one user's contribution (e.g., the first user total or the second user total) relative to the joint total. Accordingly, by using the UI element to aggregate data and visually depict one or more comparisons of data sets, rather than providing and presenting the data in multiple UIs and/or UI elements, computing resources can be conserved. For example, by the respective sizes of the first user portion and the second user portion, the processing system is able to illustrate to the user the relative contribution by each user to the joint total. Additionally, the UI element efficiently utilizes the display real estate of the user device without the need of multiple UIs to convey the requested information, thereby conserving computing resources.
As shown in
The interaction data associated with the first user interaction and with the second user interaction may indicate respective times of the interactions and respective interaction amounts. Additionally, the interaction data may be accompanied by a first user identifier (e.g., a first user identifier or a second user identifier), by which the processing system may identify the user involved in the particular interaction, and/or an account identifier (e.g., an account ID number, a primary account number (PAN), or a virtual card number).
As shown by reference number 115, the processing system may store the interaction data (e.g., in a user profile database) for each interaction under one or more user accounts associated with the first user identifier and/or the second user identifier. For example, the first user and the second user may share a single user account (e.g., the first user and the second user are joint account holders, or the first user is a primary account holder and user, and the second user is a secondary user). In such a scenario, the first user identifier and the second user identifier may be associated with the single user account of the first user and the second user. The processing system may store interaction data associated with the first user interaction as first user interaction data under the first user identifier in the single user account, based on the first user identifier received with the interaction data from the first user interaction. Similarly, the processing system may store interaction data associated with the second user interaction as second user interaction data under the second use identifier in the single user account, based on the second user identifier received with the interaction data from the second user interaction.
Alternatively, the first user and the second user may each have a separate account (e.g., a first user account associated with the first user and having a first account identifier, and a second user account associated with the second user and having a second account identifier). In such a scenario, the first user identifier may be associated with the first user account of the first user, and the second user identifier may be associated with the second user account of the second user. The processing system may store the interaction data associated with the first user interaction as first user interaction data under the first user account based on the first user identifier and/or the first account identifier, and the interaction data associated with the second user interaction may be stored as second user interaction data under the second user account based on the second user identifier and/or the second account identifier.
Additionally, or alternatively, the first user and/or the second user may have one or more accounts of different account types (e.g., a checking account type, a savings account type, a credit account type, or a rewards account type). Each account identifier corresponding to a particular account may be associated with the account type in the user profile database.
In either scenario, the first user interaction data may include first user historical interaction data for a plurality of first user interactions associated with the first user. The first user historical interaction data may indicate a plurality of first user interaction amounts corresponding to the plurality of first user interactions. Similarly, the second user interaction data may include second user historical interaction data for a plurality of second user interactions associated with the second user. The second user historical interaction data may indicate a plurality of second user interaction amounts corresponding to the plurality of second user interactions.
As further shown by
As shown in
As shown by reference number 130, the processing system may determine user totals (e.g., a first total corresponding to the first user identifier, and a second total corresponding to the second user identifier) for a particular time frame. To determine the first total and the second total, the processing system may identify the first user identifier and the second user identifier. For example, the processing system may receive the user identifier of the user requesting the information together with the request. Alternatively, the processing system may already have the user identifier (e.g., when the user logged into the user account). From the received user identifier, the processing system may access the user account associated with the user requesting the information. In scenarios in which the first user and the second user share a single user account, the processing system may identify the user identifier of the other user from the single user account. In scenarios in which the first user and the second user have separate user accounts, the first user account and the second user account may be linked in the user profile database. As a result, when the user access the user account associated with the user requesting the information, the processing system may identify the user identifier of the other user based on this link.
In some implementations, the first total may be a sum of a subset of first user interaction amounts corresponding to a subset of first user interactions that occurred within the time frame, and the second total may be a sum of a subset of second user interaction amounts corresponding to a subset of second user interactions that occurred within the time frame. For the first total, the processing system may obtain, from the user profile database and based on the first user identifier, a subset of the first user interaction data (e.g., a set of first user values) indicating the subset of first user interaction amounts, and determine the sum of the subset of first user interaction amounts. Similarly, for the second total, the processing system may obtain, from the user profile database and based on the second user identifier, a subset of the second user interaction data (e.g., a set of second user values) indicating the subset of second user interaction amounts, and the processing system may determine the sum of the subset of the second user interaction amounts.
Additionally, or alternatively, the first total may be a sum of a subset of first user point values corresponding to the subset of first user interactions that occurred within the time frame, and the second total may be a sum of a subset of second user point values corresponding to the subset of second user interactions that occurred within the time frame. For the first total, the processing system may obtain, from the user profile database and based on the first user identifier, a subset of the first user interaction data (e.g., a set of first user data) indicating the subset of first user point values, and the processing system may determine the sum of the subset of first user point values. Similarly, for the second total, the processing system may obtain, from the user profile database and based on the second user identifier, a subset of the second user interaction data (e.g., a set of second user data) indicating the subset of second user point values, and the processing system may determine the sum of the subset of the second user point values.
As shown by reference number 135, the processing system may determine a relationship between the first total and the second total (e.g., the set of first user data and the set of second user data). In some implementations, the processing system may determine a total ratio of the first total to the second total. For example, if the first total is 3,000 point values and the second total is 1,000 point values, as shown in
As shown in
A size of the first user portion 145 and a size of the second user portion 150 may be based on the relationship between the first total (or set of first user values) and the second total (or set of second user values). For example, in some implementations, an area ratio of the first area of the first user portion 145 to the second area of the second user portion 150 may be the same as or similar to the total ratio. As an example, for a total ratio of 3:1, the area ratio may be similarly 3:1, and the first area is three times the second area. Alternatively, a first area proportion of the first area relative to a total area may be the same as or similar to the proportion of the first total relative to the joint total, where the total area is a sum of the first area and the second area. For example, for a proportion of 0.75 of the first total relative to the joint total, the first area proportion similarly may be 0.75, and a second area proportion of the second area relative to the joint total may be 0.25. As another example, in implementations in which the first user portion 145 and the second user portion 150 have arcuate shapes with radii (e.g., a first radius for the first user portion 145 and a second radius for the second user portion 150), a radius ratio of the first radius to the second radius may be the same as or similar to the total ratio. For example, for a total ratio of 3:1, the radius ratio may be similarly 3:1.
The UI element also may include a connecting portion 155 that connects the first user portion 145 and the second user portion 150. The connecting portion 155 may be concave (e.g., have concave profiles) on two opposing sides, providing a visual of the first user portion 145 and the second user portion 150 blending in with each other. Additionally, the UI element may include the joint total 160 across the first user portion 145, the second user portion 150, and/or the connecting portion 155. The UI element may also include each user contribution 165 to the joint total (e.g., the first total and the second total). Alternatively, each user contribution 165 may be provided and/or displayed separate from the UI element. For example, as shown in
By way of the UI element, the processing system provides the requested information (e.g., insights) to the user (the first user or the second user) about the joint total contributed by the users in a compact and efficient manner. For example, by the respective sizes of the first user portion and the second user portion, the processing system is able to illustrate to the user the relative contribution by each user to the joint total. Additionally, the UI element efficiently utilizes the display real estate of the user device without the need of multiple UIs to convey the requested information, thereby conserving computing resources.
As shown in
Although implementations are described herein in connection with joint totals of two users, techniques described herein may be used for joint totals of any number of users. Additionally, although implementations described herein refer to the first user account and the second user account as being associated with the first user and the second user, respectively, techniques described herein may be used for scenarios in which the first user account and the second user account are both associated with a single user (e.g., the first user). Using the techniques described herein, a user device may present, on a UI, a UI element that provides user-friendly visualization that aggregates comparative information to enable a user to efficiently gain insights about the user's account (e.g., shared interaction data with one or more other users or shared interaction data across multiple accounts of the user).
As indicated above,
The processing system 210 includes one or more devices capable of receiving, generating, storing, processing, providing, and/or routing information associated with presentation and control of user interaction with a user interface element, as described elsewhere herein. The processing system 210 may include a communication device and/or a computing device. For example, the processing system 210 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), or a server in a cloud computing system. In some implementations, the processing system 210 includes computing hardware used in a cloud computing environment.
The user profile database 220 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with presentation and control of user interaction with a user interface element, as described elsewhere herein. The user profile database 220 may include a communication device and/or a computing device. For example, the user profile database 220 may include a data structure, a database, a data source, a server, a database server, an application server, a client server, a web server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), a server in a cloud computing system, a device that includes computing hardware used in a cloud computing environment, or a similar type of device. As an example, the user profile database 220 may store information associated with an account of a user, such as interaction data associated with interactions between the user and a third party, as described elsewhere herein.
The user devices 230 each includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with presentation and control of user interaction with a user interface element, as described elsewhere herein. Each user device 230 may include a communication device and/or a computing device. For example, each user device 230 may include a wireless communication device, a mobile phone, a user equipment, a laptop computer, a tablet computer, a desktop computer, a gaming console, a set-top box, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, a head mounted display, or a virtual reality headset), or a similar type of device.
The network 240 includes one or more wired and/or wireless networks. For example, the network 240 may include a wireless wide area network (e.g., a cellular network or a public land mobile network), a local area network (e.g., a wired local area network or a wireless local area network (WLAN), such as a Wi-Fi network), a personal area network (e.g., a Bluetooth network), a near-field communication network, a telephone network, a private network, the Internet, and/or a combination of these or other types of networks. The network 240 enables communication among the devices of environment 200.
The number and arrangement of devices and networks shown in
Bus 310 includes one or more components that enable wired and/or wireless communication among the components of device 300. Bus 310 may couple together two or more components of
Memory 330 includes volatile and/or nonvolatile memory. For example, memory 330 may include random access memory (RAM), read only memory (ROM), a hard disk drive, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory). Memory 330 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and/or removable memory (e.g., removable via a universal serial bus connection). Memory 330 may be a non-transitory computer-readable medium. Memory 330 stores information, instructions, and/or software (e.g., one or more software applications) related to the operation of device 300. In some implementations, memory 330 includes one or more memories that are coupled to one or more processors (e.g., processor 320), such as via bus 310.
Input component 340 enables device 300 to receive input, such as user input and/or sensed input. For example, input component 340 may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system sensor, an accelerometer, a gyroscope, and/or an actuator. Output component 350 enables device 300 to provide output, such as via a display, a speaker, and/or a light-emitting diode. Communication component 360 enables device 300 to communicate with other devices via a wired connection and/or a wireless connection. For example, communication component 360 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.
Device 300 may perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) may store a set of instructions (e.g., one or more instructions or code) for execution by processor 320. Processor 320 may execute the set of instructions to perform one or more operations or processes described herein. In some implementations, execution of the set of instructions, by one or more processors 320, causes the one or more processors 320 and/or the device 300 to perform one or more operations or processes described herein. In some implementations, hardwired circuitry is used instead of or in combination with the instructions to perform one or more operations or processes described herein. Additionally, or alternatively, processor 320 may be configured to perform one or more operations or processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in
As shown in
Although
As shown in
Although
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications may be made in light of the above disclosure or may be acquired from practice of the implementations.
As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. It will be apparent that systems and/or methods described herein may be implemented in different forms of hardware, firmware, and/or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods are described herein without reference to specific software code—it being understood that software and hardware can be used to implement the systems and/or methods based on the description herein.
Although particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set. As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiple of the same item.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and/or,” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of”).