EXERCISE LEADERBOARD

Abstract
A non-transitory computer-readable medium may contain instructions which, when executed by a processor, cause the processor to receive a user profile of a first user of an exercise device, receive user profiles of a plurality of users, assign weights to the user profiles of the plurality of users, and, using the assigned weights, rank the plurality of users based on similarity to the first user. The instructions may further cause the processor to select a subset of the ranked plurality of users, determine performance metrics of the ranked plurality of users for a workout program, determine performance metrics of the first user during execution of the workout program and cause to be displayed, on a display of the exercise device, during execution of the workout program, a comparison of the performance metrics of the first user and the performance metrics of the selected subset of the ranked plurality of users.
Description
BACKGROUND

Physical exercise has many salubrious benefits. However, many exercisers struggle to exercise consistently because they feel bored and unmotivated. Exercising with other people in a competitive environment can cause an exerciser to exercise harder and more consistently. However, the benefits of a competitive environment are lacking when an exerciser completes a workout routine on home equipment. What is needed is a mechanism for introducing competitive exercise elements into home workout routines.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is an example environment in accordance with one or more embodiments.



FIG. 2A is an example user interface including a leaderboard, in accordance with one or more embodiments.



FIG. 2B is a detail of the leaderboard of FIG. 2A, in accordance with one or more embodiments.



FIG. 3 is an example leaderboard, in accordance with one or more embodiments.



FIG. 4 is another example leaderboard, in accordance with one or more embodiments.



FIG. 5 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 6 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 7 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 8 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 9 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 10 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 11 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 12 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 13 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 14 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 15 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 16 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 17 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 18 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 19 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 20 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 21 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 22 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 23 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 24 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 25 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 26 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 27 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 28 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 29 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 30 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 31 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 32 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 33 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 34 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 35 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 36 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 37 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 38 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 39 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 40 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 41 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 42 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 43 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 44 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 45 is an example flowchart illustrating operations for selecting a subset of users for a leaderboard in accordance with one or more embodiments.





DETAILED DESCRIPTION

In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, and designed in a wide variety of different configurations, all of which are explicitly contemplated and made part of this disclosure.


Comparing performance of users of exercise equipment using a leaderboard can be an effective tool for motivating the users of the exercise equipment to exercise more intensely and more frequently. However, dynamically comparing performance metrics for many tens, hundreds, or thousands of users is computationally expensive. Additionally, many users may not be motivated by a comparison of their performance to the performance of a large number of other users. The present disclosure solves these problems by intelligently selecting a subset of users performing a workout for comparison on a leaderboard. Dynamically comparing the performance metrics of the subset of users is computationally less expensive than dynamically comparing performance metrics of all users performing the workout. The subset of users may be selected based on similar attributes. A first user performing a workout may be compared to all users who are performing or who have performed the workout to determine a subset of all the users which are similar to the first user. A leaderboard may compare performance metrics of the first user to performance metrics of the similar users of the subset of all the users. This leaderboard comparison is less computationally expensive than a leaderboard comparison of performance metrics of all the users to the performance metrics of the first user, and the first user may be more motivated by this leaderboard comparison of the subset of users than by a leaderboard comparison of all the users. The first user may find it more meaningful to compete against a group of similar users than against a crowd of users, many of which are dissimilar to the user. Thus, the present disclosure solves the technical problem of computationally expensive leaderboard comparisons and the technical problem of providing a meaningful leaderboard comparison.



FIG. 1 is an example environment 100 in accordance with one or more embodiments. The environment 100 may include a first exercise machine 101a, a second exercise machine 101b, a third exercise machine 101c, and an nth exercise machine 101n, referred to collectively as exercise machines 101. The exercise machines 101 may communicate with a server 103 via a network 102. The network 102 may be any wide area network (WAN), local area network (LAN), or any other type of network. For example, the network 102 may be the Internet. The exercise machines 101 may include movable or moving members which are associated with exercise parameters such as incline, resistance, cadence, speed, distance, pace, power, calories, and time elapsed. The exercise machines 101 may be treadmills, exercise bikes, rowers, ellipticals, or other exercise devices. The exercise machines 101 may transmit exercise parameters determined during a workout to the server 103 via the network 102. The server 103 may host a workout program and transmit the workout program to the exercise machines 101. The server 103 may compare the exercise parameters determined during the workout and rank them. The server 103 may generate a leaderboard using the exercise parameters and transmit the leaderboard to the exercise machines 101 via the network 102. The exercise parameters may be transmitted asynchronously or simultaneously. A first user of the first exercise machine 101a may perform the workout program at a first time and a second user of the second exercise machine 101b may perform the workout program at a second time different from the first time. The server may compare exercise parameters of the first exercise machine collected during the workout program at the first time to exercise parameters of the second exercise machine collected during the workout program at the second time. The server 103 may generate a leaderboard based on the comparison of exercise parameters of the first exercise machine collected during the workout program at the first time to exercise parameters of the second exercise machine collected during the workout program at the second time. The server 103 may convert the exercise parameters into performance metrics for a user of each respective exercise machine. Each user of any of the exercise machines 101 may view a leaderboard generated for the workout program using exercise parameters of each other user of the exercise machines 101 who performed the workout program previously.


The server may generate simulated performance metrics for simulated users. In some embodiments, the simulated performance metrics may be based on simulated user parameters of the simulated users. In other embodiments, the simulated performance metrics may be based on aggregated performance metrics from multiple users. The server may include the simulated performance metrics and simulated users in comparing performance metrics of all users who performed the workout and in generating the leaderboard. The simulated users may be identified as simulated users on the leaderboard, or they may not be identified as simulated users. In some embodiments, the simulated users will be used in generating the leaderboard for all users participating in the workout program. In other embodiments, the simulated users will be used in generating the leaderboard for a subset of users participating in the workout program. Different simulated users may be generated for different subsets of users participating in the workout program. Each user may have a corresponding personal simulated user which is included in the leaderboard of each user. The personal simulated user may be based on user parameters, workout history, or other characteristics of the user. The user parameters may be received by a single user that has previously used the exercise device. In some embodiments, the user parameters may be received by multiple users that have previously used the exercise device. For example, the personal simulated user may be based on an aggregation of friends of the user and/or an aggregation of other users similar to the user.



FIG. 2A is an example user interface 200 including a leaderboard, in accordance with one or more embodiments. The user interface 200 may be a user interface 200 of an exercise machine 101a of FIG. 1. The user interface 200 may display (e.g., the computing device may cause to be displayed) user performance metrics including, but not limited to, incline, resistance, cadence, speed, heart rate, distance, pace, power, calories, time elapsed, and score. The performance metrics may be captured by an exercise device including a display for displaying the user interface 200. The user interface 200 may be used in conjunction with a workout program. The workout program may include video and audio of a trainer presenting the workout program. The user interface 200 may include a leaderboard 210. The leaderboard 210 may display (e.g., the computing device may cause to be displayed) a comparison of performance metrics of a plurality of users. A first user may use an exercise machine and generate performance metrics. The first user may view the user interface 200 including the performance metrics generated as the first user performs the workout program. The leaderboard 210 may include a first user indicator 220 including first user performance metrics. The leaderboard 210 may display a comparison of the first user performance metrics and performance metrics of a plurality of other users. The first user may view the leaderboard 210 on the user interface 200 as the first user performs the workout program.



FIG. 2B is a detail of the leaderboard 210 of FIG. 2A, in accordance with one or more embodiments. The leaderboard 210 may include the first user indicator 220, an up ahead user indicator 230, and a from behind user indicator 240. The first user indicator 220, the up ahead user indicator 230, and the from behind user indicator 240 may all display the same performance metrics of different users. For example, the indicators 220, 230, 240 may display a rank, a visual indicator, a speed, and a distance. The up ahead user indicator 230 may display performance metrics of a user ranked just above the first user and the from behind user indicator 240 may display performance metrics of a user just behind the first user. The up ahead user indicator 230 and the from behind user indicator 240 may or may not display user information of their respective users.


The leaderboard 210 may include indicators of performance metrics such as time, distance, watts, and elevation. The indicators may be interactive and, when selected, may cause the leaderboard 210 to display the selected performance metric in each of the user indicators 220, 230, 240. The leaderboard 210 may include an indication of which performance metric is currently displayed. The leaderboard 210 shows, for example, miles. The leaderboard may include a rank total, indicating a total number of users in the leaderboard.



FIG. 3 is an example leaderboard 310, in accordance with one or more embodiments. The leaderboard 310 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 310 may compare the first user's performance metrics to trainer performance metrics. The trainer performance metrics may correspond to the video of the trainer in the workout program. The leaderboard 310 may also display (e.g., the computing device may cause the leaderboard 310 to display) a rank of the first user based on comparing the first user's performance metrics to performance metrics of all users who have performed the workout routine.



FIG. 4 is another example leaderboard 410, in accordance with one or more embodiments. The leaderboard 410 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 410 may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout. The first user can compete against their past performance, with the trainer performance metrics as a benchmark. Indicators of the one or more past instances of the first user performing the workout may display the date on which the performance metrics were captured.



FIG. 5 is yet another example leaderboard 510, in accordance with one or more embodiments. The leaderboard 510 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 510 may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout. The leaderboard 510 may also include a linear indicator comparing the first user's performance metrics to performance metrics of users of similar rank to the first user. Icons on the linear indicator may represent other users who are currently executing or who have previously executed the workout program. The position of the icons may correspond to performance metrics. The relative position of the icons may indicate relative achievement along the performance metric currently displayed. The first user may be able to see how their performance metrics compare to performance metrics of other riders of similar rank. For example, when the performance metric current display is distance, the first user can see how close their distance metric is to the distance metrics of other users at a current time as the first user executes the workout program, and how a change in the first user's distance metric over time compares to a change in the previous users' distance metric over time.


In some embodiments, the linear indicator may include icons representing all other users who are currently executing or who have executed the workout program. In other embodiments, the linear indicator may include icons representing other users who are similar to the first user. The other users who are similar to the first user may be selected as discussed herein.



FIG. 6 is yet another example leaderboard, in accordance with one or more embodiments. The leaderboard 610 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 610 may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout as in FIG. 4. The leaderboard 610 may include the linear indicator of FIG. 5. The leaderboard 610 may include community statistics. The community statistics may include a number of participants as well as average performance metrics. The community statistics may depend upon one or more filters applied by the first user. Filters may be based on age, sex, location, athletic ability, and other user parameters. For example, the user may filter other users by age to include only other users older than thirty. The linear indicator will then only include icons corresponding to the other users over thirty and the community statistics will include a number of the other users over thirty and average performance metrics of the other users over thirty. The first user may apply multiple filters. For example, the first user may apply filters to only see performance metrics corresponding to other users who are male and over thirty.



FIG. 7 is yet another example leaderboard 710, in accordance with one or more embodiments. The leaderboard 710 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 710 may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout as in FIG. 4. The leaderboard 710 may include a linear indicator as in FIG. 5, but with the additional detail of number values associated with the icons representing the performance metrics of other users who are currently executing, or who have executed, the workout program. The number values may indicate the value of the performance metrics of the other users at a time in the workout program corresponding to a current time as the first user executes the workout program.



FIG. 8 is yet another example leaderboard, in accordance with one or more embodiments. The leaderboard 810 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 810 may compare the first user's current performance metrics to performance metrics of one or more past instances of the first user performing the workout. For example, the leaderboard 810 may compare a rank of the first user to a rank of a past instance of the first user performing the workout. The leaderboard 810 may include the linear indicator of FIG. 7.



FIGS. 9-15 are additional example leaderboards, in accordance with one or more embodiments.



FIG. 17 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 18 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 19 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 20 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 21 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 22 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 23 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 24 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 25 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 26 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 27 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 28 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 29 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 30 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 31 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 32 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 33 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 34 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 35 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 36 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 37 is yet another example leaderboard, in accordance with one or more embodiments.



FIG. 38 is yet another example leaderboard, in accordance with one or more embodiments. The leaderboard 3810 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 3810 may include a first user indicator 3820, a trainer indicator 3830, and comparative user indicators 3840. The indicators 3820-3840 may include performance metrics for their respective user or trainer associated with a time in the workout program corresponding to a current execution of the workout program by the first user. The indicators 3820-3840 may include a visual indication of the performance metrics for their respective user. The visual indication shows performance metrics or relative performance metrics using shape, size, color, texture, or other visual characteristics. For example, the indicators 3820-3840 may each include a bar showing relative distance traveled. The bars may have different colors based on the relative distance traveled.


Comparative users corresponding to the comparative user indicators 3840 may be a selected subset of all of the users who are currently executing or who have executed the workout program. The comparative users may be selected based on similarity to the first user. Similarity to the first user may be determined by comparing user parameters of the comparative users to user parameters of the first user. The user parameters may include age, sex, weight, athletic ability, recent workout history, and other parameters. The user parameters may be collected by one or more sensors on the exercise device. For example, the user parameters may be collected by heart rate sensors, weight sensors, pulse oximeter sensors, camera sensors, infrared sensors, any other type of sensor, and combinations thereof. The user parameters may be weighted or have a weight assigned (e.g., an assigned weight) to the user parameters to determine similarity of each user to the first user. In some embodiments, a similarity score for each user of all of the users may be calculated based on the weighted user parameters of each user. A ranked list of all of the users may be generated based on the similarity score for each user. The comparative users may be selected from the ranked list based on their similarity scores. In other embodiments, an artificial intelligence may utilize machine learning to assign weights to and/or to prepare assigned weights of user parameters and select the comparative users based on historical selections of comparative users. The artificial intelligence may receive feedback to refine its selection of comparative users. In some embodiments, the artificial intelligence may determine a number of comparative users to be selected. The artificial intelligence may receive feedback to refine its determination of the number of comparative users to be selected. Feedback may be input by the first user or obtained by other means. The feedback (e.g., the received input) may be based on how motivated the first user felt, a change in the first user's performance metrics, a change in the frequency of the first user's exercise, a change in the consistency of the first user's exercise, or other data.


The leaderboard 3810 may include a ranking which shows a rank of the first user as compared to the comparative users. The leaderboard 3810 may include a performance metric selector which allows the first user to select a performance metric to display in the indicators 3820-3840. The ranking may depend upon the performance metric selected. For example, the first user may be ranked first by distance, be ranked second by output, and be ranked fourth by calories burned. The indicators 3820-3840 may include a leader icon showing which user is in the lead. For example, the first user indicator 3820 may include a gold medal showing that the first user is ranked first when compared against the comparative users.


The comparative users may depend upon one or more filters selected by the first user. For example, if the first user filters by age to only include participants over thirty, the comparative users are selected from the subset of users over thirty. Filters may be selected at any time during the workout program. The comparative users may be selected as the first user selects filters or and/or sets of comparative users corresponding to various filters may be selected before the user selects any filters. The sets of comparative users may be preselected based on a popularity of specific filters and/or a pattern of the first user selecting the specific filters. The leaderboard 3810 may include community statistics 3850. The community statistics 3850 may display a number of participants in the workout program as well as one or more average performance metrics. The number of participants as well as the average performance metrics may depend upon the filters selected by the first user.


An order of the first user indicator 3820, the trainer indicator 3830, and the other user indicators 3840 may be determined based on one or more metrics, one or more user parameters, or another parameter. In some embodiments, the trainer indicator 3830 and the first user indicator 3820 will be above the other user indicators 3840. In other embodiments, the order of the indicators 3820-3840 may be random. A new order of indicators 3820-3840 may be generated based on a new set of other user indicators 3840 being displayed due to selection of one or more filters by the first user, as discussed herein.


The leaderboard 3810 may include a toggle 3870. The toggle 3870 may include a myself position, a community position, and a friends position. The toggle 3870 may determine what is being compared on the leaderboard. Additional detail is in FIGS. 41 and 42.


The leaderboard 3810 may include simulated users having simulated performance metrics, as discussed herein. In some embodiments, the simulated performance metrics may be based on simulated user parameters of the simulated users. In other embodiments, the simulated performance metrics may be based on aggregated performance metrics from multiple users. The simulated users may be identified as simulated users on the leaderboard 3810, or they may not be identified as simulated users. In some embodiments, the simulated users will be used in generating the leaderboard 3810 for all users participating in the workout program. In other embodiments, the simulated users will be used in generating the leaderboard 3810 for a subset of users participating in the workout program. Different simulated users may be generated for different subsets of users participating in the workout program. The first user may have a corresponding personal simulated user which is included in the leaderboard 3810. The personal simulated user may be based on user parameters, workout history, or other characteristics of the first user. The personal simulated user may be generated so as to be ranked first in the ranked list of users ranked by similarity to the first user. The personal simulated user may be based on an aggregation of friends of the user and/or an aggregation of the comparative users. The first user may tune the personal simulated user. The first user may tune the personal simulated user to have scaled performance metrics. The first user may tune the personal simulated user to be based on an aggregation of specific users. The first user may tune which simulated users are included in the leaderboard 3810 and/or in the comparative users. The first user may filter out simulated users. The first user select a filter which removes some simulated users and retains other simulated users. For example, the first user may select one or more filters to include more competitive simulated users, less competitive simulated users, simulated users having greater variability of performance metrics, and/or simulated users having lower variability of performance metrics.



FIG. 39 is yet another example leaderboard 3910, in accordance with one or more embodiments. The leaderboard 3910 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 3910 may include an other user indicator 3940. The first user may tap or swipe the other user indicator 3940 to display a social callout button 3960. The social callout button 3960 may be used to generate a social callout to the user associated with the other user indicator 3940. The social callout may include encouragement, approval, disapproval, discouragement, or other social messages. The social callout may be visible to the user associated with the other user indicator 3940, the first user, and/or other users in the workout program.



FIG. 40 is yet another example leaderboard, in accordance with one or more embodiments. The leaderboard 4010 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 4010 may include an other user indicator 4040. The first user may tap or swipe the other user indicator 4040 to display an add friend button 4060. The add friend button 4060 may be used to add the user associated with the other user indicator 4040 to a friends list of the first user. The user associated with the other user indicator 4040 may have the option to accept or decline friend request of the first user before being added to the friends list of the first user.



FIG. 41 is yet another example leaderboard 4110, in accordance with one or more embodiments. The leaderboard 4110 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 4110 may include a toggle 4170. The toggle 4170 may include a myself position, a community position, and a friends position. The toggle 4170 may determine what is being compared on the leaderboard. The leaderboard 4110 may be the leaderboard 3810 with the toggle 4170 in the myself position. The leaderboard 4110 may compare the first user's current performance metrics to performance metrics of one or more past instances of the first user performing the workout. The leaderboard 4110 may include a current first user indicator 4120 and past first user indicators 4140. The current first user indicator 4120 may display current performance metrics of the first user executing the workout program. The past first user indicators 4140 may indicate past performance metrics of the first user executing the workout program at different times. The leaderboard 4110 may include aggregate performance statistics 4150 which display statistics of the first user's performance metrics aggregated from multiple instances of the first user executing the workout program. The aggregate performance statistics 4150 may include a frequency of workouts, an average speed, an average distance, an average elevation, and other parameters.



FIG. 42 is yet another example leaderboard 4210, in accordance with one or more embodiments. The leaderboard 4210 may replace the leaderboard 210 in the user interface 200 of FIG. 2A. The leaderboard 4210 may include a toggle 4270. The toggle 4270 may include a myself position, a community position, and a friends position. The toggle 4270 may determine what is being compared on the leaderboard. The leaderboard 4210 may be the leaderboard 3810 with the toggle 4270 in the friends position. The leaderboard 4210 may compare the first user's performance metrics with performance metrics of friends of the first user. Friends of the first user may be selected from the friends list of the first user. Comparative users may be selected from the friends list of the first user as discussed herein. The leaderboard 4210 may include friends statistics 4250 including aggregate performance metrics of the friends displayed on the leaderboard 4210.



FIGS. 43 and 44 are example leaderboards, in accordance with one or more embodiments.



FIG. 45 is an example flowchart 4500 illustrating operations for selecting a subset of users for a leaderboard in accordance with one or more embodiments. Additional, fewer, or different operations may be performed in the method, depending on the embodiment. Further, the operations may be performed in the order shown, concurrently, or in a different order. The operations may be performed by elements of the environment 100 of FIG. 1. For example, the operations of the flowchart 4500 may be performed by the server 103 of FIG. 1.


At 4510, the server may receive user parameters of a first user of an exercise device. At 4520, the server receives user parameters of a plurality of users. User parameters may include age, sex, weight, athletic ability, workout history, and other parameters. At 4530, the server assigns weights to or prepares assigned weights of the parameters of each user of the plurality of users. The assigned weights may be assigned by an artificial intelligence executing a first machine learning algorithm on the server based on historic assignments of weights and/or historic assigned weights. At 4540, the server, using the assigned weights, ranks the plurality of users based on similarity to the first user. The users may be ranked by the artificial intelligence executing a second machine learning algorithm on the server based on historic rankings of users. At 4550, the server selects a subset of the ranked plurality of users. In some embodiments, the subset is selected based on the subset satisfying a similarity threshold. In other embodiments, the subset is selected based on the most similar users in the ranked plurality of users. In yet other embodiments, the subset is selected by the artificial intelligence executing a third machine learning algorithm based on historic selections of the subset. At 4560, the server determines performance metrics of the selected subset of users for a workout program. Performance metrics may be collected by sensors of exercise devices and stored at the server. At 4570, the server determines performance metrics of the first user for the workout program during execution of the workout program by the first user. At 4580, the server causes to be displayed, on a display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metrics of the first user and the performance metrics of the selected subset of users. The comparison may include a leaderboard displaying a ranking of the performance metrics of the first user and the performance metrics of the selected subset of users.


Certain components may be included within a computer system. One or more computer systems may be used to implement the various devices, components, and systems described herein. The computer system may include a computer-readable medium that includes stored retrievable stored instructions that cause a processor to perform the acts of the systems and methods described herein.


The computer system includes a processor. The processor may be a general-purpose single or multi-chip microprocessor (e.g., an Advanced RISC (Reduced Instruction Set Computer) Machine (ARM)), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. The processor may be referred to as a central processing unit (CPU). Although just a single processor is discussed, in an alternative configuration, a combination of processors (e.g., an ARM and DSP) could be used.


The computer system also includes memory in electronic communication with the processor. The memory may be any electronic component capable of storing electronic information. For example, the memory may be embodied as random access memory (RAM), read-only memory (ROM), magnetic disk storage media, optical storage media, flash memory devices in RAM, on-board memory included with the processor, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) memory, registers, and so forth, including combinations thereof.


Instructions and data may be stored in the memory. The instructions may be executable by the processor to implement some or all of the functionality disclosed herein. Executing the instructions may involve the use of the data that is stored in the memory. Any of the various examples of modules and components described herein may be implemented, partially or wholly, as instructions stored in memory and executed by the processor. Any of the various examples of data described herein may be among the data that is stored in memory and used during execution of the instructions by the processor.


A computer system may also include one or more communication interfaces for communicating with other electronic devices. The communication interface(s) may be based on wired communication technology, wireless communication technology, or both. Some examples of communication interfaces include a Universal Serial Bus (USB), an Ethernet adapter, a wireless adapter that operates in accordance with an Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol, a Bluetooth® wireless communication adapter, and an infrared (IR) communication port.


A computer system may also include one or more input devices and one or more output devices. Some examples of input devices include a keyboard, mouse, microphone, remote control device, button, joystick, trackball, touchpad, and lightpen. Some examples of output devices include a speaker and a printer. One specific type of output device that is typically included in a computer system is a display device. Display devices used with embodiments disclosed herein may utilize any suitable image projection technology, such as liquid crystal display (LCD), light-emitting diode (LED), gas plasma, electroluminescence, or the like. A display controller may also be provided, for converting data stored in the memory into text, graphics, and/or moving images (as appropriate) shown on the display device.


The various components of the computer system may be coupled together by one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For the sake of clarity, the various buses are discussed as a bus system.


INDUSTRIAL APPLICABILITY

Comparing performance of users of exercise equipment using a leaderboard can be an effective tool for motivating the users of the exercise equipment to exercise more intensely and more frequently. However, dynamically comparing performance metrics for many tens, hundreds, or thousands of users is computationally expensive. Additionally, many users may not be motivated by a comparison of their performance to the performance of a large number of other users. The present disclosure solves these problems by intelligently selecting a subset of users performing a workout for comparison on a leaderboard. Dynamically comparing the performance metrics of the subset of users is computationally less expensive than dynamically comparing performance metrics of all users performing the workout. The subset of users may be selected based on similar attributes. A first user performing a workout may be compared to all users who are performing or who have performed the workout to determine a subset of all the users which are similar to the first user. A leaderboard may compare performance metrics of the first user to performance metrics of the similar users of the subset of all the users. This leaderboard comparison is less computationally expensive than a leaderboard comparison of performance metrics of all the users to the performance metrics of the first user, and the first user may be more motivated by this leaderboard comparison of the subset of users than by a leaderboard comparison of all the users. The first user may find it more meaningful to compete against a group of similar users than against a crowd of users, many of which are dissimilar to the user. Thus, the present disclosure solves the technical problem of computationally expensive leaderboard comparisons and the technical problem of providing a meaningful leaderboard comparison.


An exercise environment may include a first exercise machine, a second exercise machine, a third exercise machine, and an nth exercise machine, referred to collectively as exercise machines. The exercise machines may communicate with a server via a network. The network may be any wide area network (WAN), local area network (LAN), or any other type of network. For example, the network may be the Internet. The exercise machines may include movable or moving members which are associated with exercise parameters such as incline, resistance, cadence, speed, distance, pace, power, calories, and time elapsed. The exercise machines may be treadmills, exercise bikes, rowers, ellipticals, or other exercise devices. The exercise machines may transmit exercise parameters determined during a workout to the server via the network. The server may host a workout program and transmit the workout program to the exercise machines. The server may compare the exercise parameters determined during the workout and rank them. The server may generate a leaderboard using the exercise parameters and transmit the leaderboard to the exercise machines via the network. The exercise parameters may be transmitted asynchronously or simultaneously. A first user of the first exercise machine may perform the workout program at a first time and a second user of the second exercise machine may perform the workout program at a second time different from the first time. The server may compare exercise parameters of the first exercise machine collected during the workout program at the first time to exercise parameters of the second exercise machine collected during the workout program at the second time. The server may generate a leaderboard based on the comparison of exercise parameters of the first exercise machine collected during the workout program at the first time to exercise parameters of the second exercise machine collected during the workout program at the second time. The server may convert the exercise parameters into performance metrics for a user of each respective exercise machine. Each user of any of the exercise machines may view a leaderboard generated for the workout program using exercise parameters of each other user of the exercise machines who performed the workout program previously.


The server may generate simulated performance metrics for simulated users. In some embodiments, the simulated performance metrics may be based on simulated user parameters of the simulated users. In other embodiments, the simulated performance metrics may be based on aggregated performance metrics from multiple users. The server may include the simulated performance metrics and simulated users in comparing performance metrics of all users who performed the workout and in generating the leaderboard. The simulated users may be identified as simulated users on the leaderboard, or they may not be identified as simulated users. In some embodiments, the simulated users will be used in generating the leaderboard for all users participating in the workout program. In other embodiments, the simulated users will be used in generating the leaderboard for a subset of users participating in the workout program. Different simulated users may be generated for different subsets of users participating in the workout program. Each user may have a corresponding personal simulated user which is included in the leaderboard of each user. The personal simulated user may be based on user parameters, workout history, or other characteristics of the user. The user parameters may be received by a single user that has previously used the exercise device. In some embodiments, the user parameters may be received by multiple users that have previously used the exercise device. For example, the personal simulated user may be based on an aggregation of friends of the user and/or an aggregation of other users similar to the user.


A user interface may display (e.g., the computing device may cause to be displayed) user performance metrics including, but not limited to, incline, resistance, cadence, speed, heart rate, distance, pace, power, calories, time elapsed, and score. The performance metrics may be captured by an exercise device including a display for displaying the user interface. The user interface may be used in conjunction with a workout program. The workout program may include video and audio of a trainer presenting the workout program. The user interface may include a leaderboard. The leaderboard may display (e.g., the computing device may cause to be displayed) a comparison of performance metrics of a plurality of users. A first user may use an exercise machine and generate performance metrics. The first user may view the user interface including the performance metrics generated as the first user performs the workout program. The leaderboard may include a first user indicator including first user performance metrics. The leaderboard may display a comparison of the first user performance metrics and performance metrics of a plurality of other users. The first user may view the leaderboard on the user interface as the first user performs the workout program.


The leaderboard may include the first user indicator, an up ahead user indicator, and a from behind user indicator. The first user indicator, the up ahead user indicator, and the from behind user indicator may all display the same performance metrics of different users. For example, the indicators may display a rank, a visual indicator, a speed, and a distance. The up ahead user indicator may display performance metrics of a user ranked just above the first user and the from behind user indicator may display performance metrics of a user just behind the first user. The up ahead user indicator and the from behind user indicator may or may not display user information of their respective users.


The leaderboard may include indicators of performance metrics such as time, distance, watts, and elevation. The indicators may be interactive and, when selected, may cause the leaderboard to display the selected performance metric in each of the user indicators. The leaderboard may include an indication of which performance metric is currently displayed. The leaderboard shows, for example, miles. The leaderboard may include a rank total, indicating a total number of users in the leaderboard. As discussed herein, subsequent leaderboards may replace preceding leaderboards. Put another way preceding leaderboards may be updated with the content of subsequent leaderboards. In some embodiments, the entire leaderboard may be replaced or updated. In some embodiments, a portion of the leaderboard may be replaced or updated.


The leaderboard may compare the first user's performance metrics to trainer performance metrics. The trainer performance metrics may correspond to the video of the trainer in the workout program. The leaderboard may also display (e.g., the computing device may cause the leaderboard to display) a rank of the first user based on comparing the first user's performance metrics to performance metrics of all users who have performed the workout routine.


The leaderboard may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout. The first user can compete against their past performance, with the trainer performance metrics as a benchmark. Indicators of the one or more past instances of the first user performing the workout may display the date on which the performance metrics were captured.


The leaderboard may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout. The leaderboard may also include a linear indicator comparing the first user's performance metrics to performance metrics of users of similar rank to the first user. Icons on the linear indicator may represent other users who are currently executing or who have previously executed the workout program. The position of the icons may correspond to performance metrics. The relative position of the icons may indicate relative achievement along the performance metric currently displayed. The first user may be able to see how their performance metrics compare to performance metrics of other riders of similar rank. For example, when the performance metric current display is distance, the first user can see how close their distance metric is to the distance metrics of other users at a current time as the first user executes the workout program, and how a change in the first user's distance metric over time compares to a change in the previous users' distance metric over time.


In some embodiments, the linear indicator may include icons representing all other users who are currently executing or who have executed the workout program. In other embodiments, the linear indicator may include icons representing other users who are similar to the first user. The other users who are similar to the first user may be selected as discussed herein.


The leaderboard may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout. The leaderboard may include the previous indicator. The leaderboard may include community statistics. The community statistics may include a number of participants as well as average performance metrics. The community statistics may depend upon one or more filters applied by the first user. Filters may be based on age, sex, location, athletic ability, and other user parameters. For example, the user may filter other users by age to include only other users older than thirty. The linear indicator will then only include icons corresponding to the other users over thirty and the community statistics will include a number of the other users over thirty and average performance metrics of the other users over thirty. The first user may apply multiple filters. For example, the first user may apply filters to only see performance metrics corresponding to other users who are male and over thirty.


The leaderboard may compare the first user's current performance metrics to trainer performance metrics and performance metrics of one or more past instances of the first user performing the workout. The leaderboard may include a linear indicator, but with the additional detail of number values associated with the icons representing the performance metrics of other users who are currently executing, or who have executed, the workout program. The number values may indicate the value of the performance metrics of the other users at a time in the workout program corresponding to a current time as the first user executes the workout program.


The leaderboard may compare the first user's current performance metrics to performance metrics of one or more past instances of the first user performing the workout. For example, the leaderboard may compare a rank of the first user to a rank of a past instance of the first user performing the workout. The leaderboard may include the linear indicator.


The leaderboard may include a first user indicator, a trainer indicator, and comparative user indicators. The indicators may include performance metrics for their respective user or trainer associated with a time in the workout program corresponding to a current execution of the workout program by the first user. The indicators may include a visual indication of the performance metrics for their respective user. The visual indication show performance metrics or relative performance metrics using shape, size, color, texture, or other visual characteristics. For example, the indicators may each include a bar showing relative distance traveled. The bars may have different colors based on the relative distance traveled.


Comparative users corresponding to the comparative user indicators may be a selected subset of all of the users who are currently executing or who have executed the workout program. The comparative users may be selected based on similarity to the first user. Similarity to the first user may be determined by comparing user parameters of the comparative users to user parameters of the first user. The user parameters may include age, sex, weight, athletic ability, recent workout history, and other parameters. The user parameters may be collected by one or more sensors on the exercise device. For example, the user parameters may be collected by heart rate sensors, weight sensors, pulse oximeter sensors, camera sensors, infrared sensors, any other type of sensor, and combinations thereof. The user parameters may be weighted or have a weight assigned (e.g., an assigned weight) to the user parameters to determine similarity of each user to the first user. In some embodiments, a similarity score for each user of all of the users may be calculated based on the weighted user parameters of each user. A ranked list of all of the users may be generated based on the similarity score for each user. The comparative users may be selected from the ranked list based on their similarity scores. In other embodiments, an artificial intelligence may utilize machine learning to assign weights to and/or to prepare assigned weights of user parameters and select the comparative users based on historical selections of comparative users. The artificial intelligence may receive feedback to refine its selection of comparative users. In some embodiments, the artificial intelligence may determine a number of comparative users to be selected. The artificial intelligence may receive feedback to refine its determination of the number of comparative users to be selected. Feedback may be input by the first user or obtained by other means. The feedback (e.g., the received input) may be based on how motivated the first user felt, a change in the first user's performance metrics, a change in the frequency of the first user's exercise, a change in the consistency of the first user's exercise, or other data.


The leaderboard may include a ranking which shows a rank of the first user as compared to the comparative users. The leaderboard may include a performance metric selector which allows the first user to select a performance metric to display in the indicators. The ranking may depend upon the performance metric selected. For example, the first user may be ranked first by distance, be ranked second by output, and be ranked fourth by calories burned. The indicators may include a leader icon showing which user is in the lead. For example, the first user indicator may include a gold medal showing that the first user is ranked first when compared against the comparative users.


The comparative users may depend upon one or more filters selected by the first user. For example, if the first user filters by age to only include participants over thirty, the comparative users are selected from the subset of users over thirty. Filters may be selected at any time during the workout program. The comparative users may be selected as the first user selects filters or and/or sets of comparative users corresponding to various filters may be selected before the user selects any filters. The sets of comparative users may be preselected based on a popularity of specific filters and/or a pattern of the first user selecting the specific filters. The leaderboard may include community statistics. The community statistics may display a number of participants in the workout program as well as one or more average performance metrics. The number of participants as well as the average performance metrics may depend upon the filters selected by the first user.


An order of the first user indicator, the trainer indicator, and the other user indicators may be determined based on one or more metrics, one or more user parameters, or another parameter. In some embodiments, the trainer indicator and the first user indicator will be above the other user indicators. In other embodiments, the order of the indicators may be random. A new order of indicators may be generated based on a new set of other user indicators being displayed due to selection of one or more filters by the first user, as discussed herein.


The leaderboard may include a toggle. The toggle may include a myself position, a community position, and a friends position. The toggle may determine what is being compared on the leaderboard.


The leaderboard may include simulated users having simulated performance metrics, as discussed herein. In some embodiments, the simulated performance metrics may be based on simulated user parameters of the simulated users. In other embodiments, the simulated performance metrics may be based on aggregated performance metrics from multiple users. The simulated users may be identified as simulated users on the leaderboard, or they may not be identified as simulated users. In some embodiments, the simulated users will be used in generating the leaderboard for all users participating in the workout program. In other embodiments, the simulated users will be used in generating the leaderboard for a subset of users participating in the workout program. Different simulated users may be generated for different subsets of users participating in the workout program. The first user may have a corresponding personal simulated user which is included in the leaderboard. The personal simulated user may be based on user parameters, workout history, or other characteristics of the first user. The personal simulated user may be generated so as to be ranked first in the ranked list of users ranked by similarity to the first user. The personal simulated user may be based on an aggregation of friends of the user and/or an aggregation of the comparative users. The first user may tune the personal simulated user. The first user may tune the personal simulated user to have scaled performance metrics. The first user may tune the personal simulated user to be based on an aggregation of specific users. The first user may tune which simulated users are included in the leaderboard and/or in the comparative users. The first user may filter out simulated users. The first user select a filter which removes some simulated users and retains other simulated users. For example, the first user may select one or more filters to include more competitive simulated users, less competitive simulated users, simulated users having greater variability of performance metrics, and/or simulated users having lower variability of performance metrics.


The leaderboard may include another user indicator. The first user may tap or swipe the other user indicator to display a social callout button. The social callout button may be used to generate a social callout to the user associated with the other user indicator. The social callout may include encouragement, approval, disapproval, discouragement, or other social messages. The social callout may be visible to the user associated with the other user indicator, the first user, and/or other users in the workout program.


The leaderboard may include another user indicator. The first user may tap or swipe the other user indicator to display an add friend button. The add friend button may be used to add the user associated with the other user indicator to a friends list of the first user. The user associated with the other user indicator may have the option to accept or decline friend request of the first user before being added to the friends list of the first user.


The leaderboard may include a toggle. The toggle may include a myself position, a community position, and a friends position. The toggle may determine what is being compared on the leaderboard. The leaderboard may be the leaderboard with the toggle in the myself position. The leaderboard may compare the first user's current performance metrics to performance metrics of one or more past instances of the first user performing the workout. The leaderboard may include a current first user indicator and past first user indicators. The current first user indicator may display current performance metrics of the first user executing the workout program. The past first user indicators may indicate past performance metrics of the first user executing the workout program at different times. The leaderboard may include aggregate performance statistics which display statistics of the first user's performance metrics aggregated from multiple instances of the first user executing the workout program. The aggregate performance statistics may include a frequency of workouts, an average speed, an average distance, an average elevation, and other parameters.


The leaderboard may include a toggle. The toggle may include a myself position, a community position, and a friends position. The toggle may determine what is being compared on the leaderboard. The leaderboard may be the leaderboard with the toggle in the friends position. The leaderboard may compare the first user's performance metrics with performance metrics of friends of the first user. Friends of the first user may be selected from the friends list of the first user. Comparative users may be selected from the friends list of the first user as discussed herein. The leaderboard may include friends statistics including aggregate performance metrics of the friends displayed on the leaderboard.


A server may receive user parameters of a first user of an exercise device. The server receives user parameters of a plurality of users. User parameters may include age, sex, weight, athletic ability, workout history, and other parameters. The server assigns weights to or prepares assigned weights of the parameters of each user of the plurality of users. The assigned weights may be assigned by an artificial intelligence executing a first machine learning algorithm on the server based on historic assignments of weights and/or historic assigned weights. The server, using the assigned weights, ranks the plurality of users based on similarity to the first user. The users may be ranked by the artificial intelligence executing a second machine learning algorithm on the server based on historic rankings of users. The server selects a subset of the ranked plurality of users. In some embodiments, the subset is selected based on the subset satisfying a similarity threshold. In other embodiments, the subset is selected based on the most similar users in the ranked plurality of users. In yet other embodiments, the subset is selected by the artificial intelligence executing a third machine learning algorithm based on historic selections of the subset. The server determines performance metrics of the selected subset of users for a workout program. Performance metrics may be collected by sensors of exercise devices and stored at the server. The server determines performance metrics of the first user for the workout program during execution of the workout program by the first user. The server causes to be displayed, on a display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metrics of the first user and the performance metrics of the selected subset of users. The comparison may include a leaderboard displaying a ranking of the performance metrics of the first user and the performance metrics of the selected subset of users.


A processor may be a general-purpose single or multi-chip microprocessor (e.g., an Advanced RISC (Reduced Instruction Set Computer) Machine (ARM)), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, a computer-readable medium, etc. The processor may be referred to as a central processing unit (CPU). Although just a single processor is discussed, in an alternative configuration, a combination of processors (e.g., an ARM and DSP) could be used.


The computer system also includes memory in electronic communication with the processor. The memory may be any electronic component capable of storing electronic information. For example, the memory may be embodied as random access memory (RAM), read-only memory (ROM), magnetic disk storage media, optical storage media, flash memory devices in RAM, on-board memory included with the processor, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) memory, registers, and so forth, including combinations thereof.


Instructions and data may be stored in the memory. The instructions may be executable by the processor to implement some or all of the functionality disclosed herein. Executing the instructions may involve the use of the data that is stored in the memory. Any of the various examples of modules and components described herein may be implemented, partially or wholly, as instructions stored in memory and executed by the processor. Any of the various examples of data described herein may be among the data that is stored in memory and used during execution of the instructions by the processor.


A computer system may also include one or more communication interfaces for communicating with other electronic devices. The communication interface(s) may be based on wired communication technology, wireless communication technology, or both. Some examples of communication interfaces include a Universal Serial Bus (USB), an Ethernet adapter, a wireless adapter that operates in accordance with an Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol, a Bluetooth® wireless communication adapter, and an infrared (IR) communication port.


A computer system may also include one or more input devices and one or more output devices. Some examples of input devices include a keyboard, mouse, microphone, remote control device, button, joystick, trackball, touchpad, and lightpen. Some examples of output devices include a speaker and a printer. One specific type of output device that is typically included in a computer system is a display device. Display devices used with embodiments disclosed herein may utilize any suitable image projection technology, such as liquid crystal display (LCD), light-emitting diode (LED), gas plasma, electroluminescence, or the like. A display controller may also be provided, for converting data stored in the memory into text, graphics, and/or moving images (as appropriate) shown on the display device.


The various components of the computer system may be coupled together by one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc.


The example leaderboards discussed herein are provided for example only and are not limiting. Additionally, elements from example leaderboards may be incorporated into other example leaderboards.


It is to be understood that any examples used herein are simply for purposes of explanation and are not intended to be limiting in any way. It is also to be understood that any examples used herein are simply for purposes of explanation and are not intended to be limiting in any way. Further, although the present disclosure has been discussed with respect to memory usage, in other embodiments, the teachings of the present disclosure may be applied to adjust other resources, such as power, processing capacity, etc.


The herein described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable,” to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.


Following are sections in accordance with at least one embodiment of the present disclosure:

    • A1. A computer-readable medium containing instructions which, when executed by a processor, cause the processor to:
      • receive user parameters of a first user of an exercise device;
      • receive user parameters of a plurality of users;
      • assign weights to the user parameters of the plurality of users;
      • using the assigned weights, rank the plurality of users based on similarity to the first user;
      • select a subset of the ranked plurality of users based on similarity to the first user;
      • determine a performance metric of the selected subset of users for a workout program;
      • determine a performance metric of the first user for the workout program during execution of the workout program by the first user; and
      • cause to be displayed, on a display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metric of the first user and the performance metric of the selected subset of users.
    • A2. The medium of claim A1, wherein displaying the comparison of the performance metric of the first user and the performance metric of the selected subset of users comprises displaying a leaderboard including a ranking of the first user and the selected subset of users.
    • A3. The medium of claim A2, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on the performance metric of the first user and the performance metric of the selected subset of users.
    • A4. The medium of claim A2, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on one or more user parameters of the first user and the selected subset of users.
    • A5. The medium of claim A2, further comprising instructions which, when executed by a processor, cause the processor to:
      • based on receiving input from the first user selecting a performance metric, display, on the display of the exercise device, a comparison of the selected performance metric of the first user and the selected performance metric of the selected subset of users.
    • A6. The medium of claim A5, wherein an order of the first user and the selected subset of users on the leaderboard is modified based on the received input from the first user selecting a performance metric.
    • A7. The medium of claim A2, wherein selecting the subset of the ranked plurality of users comprises applying a filter selected by the first user.
    • B1. A system comprising:
      • an exercise device comprising a display and one or more sensors; and
      • a server configured to:
        • receive user parameters of a first user of the exercise device;
        • receive user parameters of a plurality of users;
        • assign weights to the user parameters of the plurality of users;
        • using the assigned weights, rank the plurality of users based on similarity to the first user;
        • select a subset of the ranked plurality of users based on similarity to the first user;
        • determine a performance metric of the selected subset of users for a workout program;
        • determine a performance metric of the first user for the workout program during execution of the workout program by the first user; and
        • cause to be displayed, on the display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metric of the first user and the performance metric of the selected subset of users.
    • B2. The system of claim B1, wherein the server is configured to display the comparison of the performance metric of the first user and the performance metric of the selected subset of users by displaying a leaderboard including a ranking of the first user and the selected subset of users.
    • B3. The system of claim B2, wherein the server is configured to determine an order of the first user and the selected subset of users on the leaderboard based on the performance metric of the first user and the performance metric of the selected subset of users.
    • B4. The system of claim B2, wherein the server is configured to determine an order of the first user and the selected subset of users on the leaderboard based on one or more user parameters of the first user and the selected subset of users.
    • B5. The system of claim B2, wherein the server is further configured to:
      • based on receiving input from the first user selecting a performance metric, cause to be displayed, on the display of the exercise device, a comparison of the selected performance metric of the first user and the selected performance metric of the selected subset of users.
    • B6. The system of claim B5, wherein the server is configured to modify an order of the first user and the selected subset of users on the leaderboard based on the received input from the first user selecting a performance metric.
    • B7. The system of claim B2, wherein the server is configured to select the subset of the ranked plurality of users by applying a filter selected by the first user.
    • C1. A method comprising:
      • receiving user parameters of a first user of an exercise device;
      • receiving user parameters of a plurality of users;
      • assigning weights to the user parameters of the plurality of users;
      • using the assigned weights, ranking the plurality of users based on similarity to the first user;
      • selecting a subset of the ranked plurality of users based on similarity to the first user;
      • determining a performance metric of the selected subset of users for a workout program;
      • determining a performance metric of the first user for the workout program during execution of the workout program by the first user; and
      • causing to be displayed, on a display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metric of the first user and the performance metric of the selected subset of users.
    • C2. The method of claim C1, wherein displaying the comparison of the performance metric of the first user and the performance metric of the selected subset of users comprises displaying a leaderboard including a ranking of the first user and the selected subset of users.
    • C3. The method of claim C2, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on the performance metric of the first user and the performance metric of the selected subset of users.
    • C4. The method of claim C2, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on one or more user parameters of the first user and the selected subset of users.
    • C5. The method of claim C2, further comprising:
      • in response to receiving input from the first user selecting a performance metric, display, on the display of the exercise device, a comparison of the selected performance metric of the first user and the selected performance metric of the selected subset of users.
    • C6. The method of claim C2, wherein selecting the subset of the ranked plurality of users comprises applying a filter selected by the first user.


With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.


It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to inventions containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should typically be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” Further, unless otherwise noted, the use of the words “approximate,” “about,” “around,” “substantially,” etc., mean plus or minus ten percent.


The foregoing description of illustrative embodiments has been presented for purposes of illustration and of description. It is not intended to be exhaustive or limiting with respect to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the disclosed embodiments. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.

Claims
  • 1. A computer-readable medium containing instructions which, when executed by a processor, cause the processor to: receive user parameters of a first user of an exercise device;receive user parameters of a plurality of users;assign weights to the user parameters of the plurality of users;using the assigned weights, rank the plurality of users based on similarity to the first user;select a subset of the ranked plurality of users based on similarity to the first user;determine a performance metric of the selected subset of users for a workout program;determine a performance metric of the first user for the workout program during execution of the workout program by the first user; andcause to be displayed, on a display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metric of the first user and the performance metric of the selected subset of users.
  • 2. The medium of claim 1, wherein displaying the comparison of the performance metric of the first user and the performance metric of the selected subset of users comprises displaying a leaderboard including a ranking of the first user and the selected subset of users.
  • 3. The medium of claim 2, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on the performance metric of the first user and the performance metric of the selected subset of users.
  • 4. The medium of claim 2, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on one or more user parameters of the first user and the selected subset of users.
  • 5. The medium of claim 2, further comprising instructions which, when executed by a processor, cause the processor to: based on receiving input from the first user selecting a performance metric, display, on the display of the exercise device, a comparison of the selected performance metric of the first user and the selected performance metric of the selected subset of users.
  • 6. The medium of claim 5, wherein an order of the first user and the selected subset of users on the leaderboard is modified based on the received input from the first user selecting a performance metric.
  • 7. The medium of claim 2, wherein selecting the subset of the ranked plurality of users comprises applying a filter selected by the first user.
  • 8. A system comprising: an exercise device comprising a display and one or more sensors; anda server configured to: receive user parameters of a first user of the exercise device;receive user parameters of a plurality of users;assign weights to the user parameters of the plurality of users;using the assigned weights, rank the plurality of users based on similarity to the first user;select a subset of the ranked plurality of users based on similarity to the first user;determine a performance metric of the selected subset of users for a workout program;determine a performance metric of the first user for the workout program during execution of the workout program by the first user; andcause to be displayed, on the display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metric of the first user and the performance metric of the selected subset of users.
  • 9. The system of claim 8, wherein the server is configured to display the comparison of the performance metric of the first user and the performance metric of the selected subset of users by displaying a leaderboard including a ranking of the first user and the selected subset of users.
  • 10. The system of claim 9, wherein the server is configured to determine an order of the first user and the selected subset of users on the leaderboard based on the performance metric of the first user and the performance metric of the selected subset of users.
  • 11. The system of claim 9, wherein the server is configured to determine an order of the first user and the selected subset of users on the leaderboard based on one or more user parameters of the first user and the selected subset of users.
  • 12. The system of claim 9, wherein the server is further configured to: based on receiving input from the first user selecting a performance metric, cause to be displayed, on the display of the exercise device, a comparison of the selected performance metric of the first user and the selected performance metric of the selected subset of users.
  • 13. The system of claim 12, wherein the server is configured to modify an order of the first user and the selected subset of users on the leaderboard based on the received input from the first user selecting a performance metric.
  • 14. The system of claim 9, wherein the server is configured to select the subset of the ranked plurality of users by applying a filter selected by the first user.
  • 15. A method comprising: receiving user parameters of a first user of an exercise device;receiving user parameters of a plurality of users;assigning weights to the user parameters of the plurality of users;using the assigned weights, ranking the plurality of users based on similarity to the first user;selecting a subset of the ranked plurality of users based on similarity to the first user;determining a performance metric of the selected subset of users for a workout program;determining a performance metric of the first user for the workout program during execution of the workout program by the first user; andcausing to be displayed, on a display of the exercise device, during execution of the workout program by the first user, a comparison of the performance metric of the first user and the performance metric of the selected subset of users.
  • 16. The method of claim 15, wherein displaying the comparison of the performance metric of the first user and the performance metric of the selected subset of users comprises displaying a leaderboard including a ranking of the first user and the selected subset of users.
  • 17. The method of claim 16, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on the performance metric of the first user and the performance metric of the selected subset of users.
  • 18. The method of claim 16, wherein an order of the first user and the selected subset of users on the leaderboard is determined based on one or more user parameters of the first user and the selected subset of users.
  • 19. The method of claim 16, further comprising: in response to receiving input from the first user selecting a performance metric, display, on the display of the exercise device, a comparison of the selected performance metric of the first user and the selected performance metric of the selected subset of users.
  • 20. The method of claim 16, wherein selecting the subset of the ranked plurality of users comprises applying a filter selected by the first user.
Parent Case Info

This application claims the benefit and priority to U.S. Provisional Patent Application No. 63/352,539 filed Jun. 15, 2022, which application is incorporated herein by reference in its entirety for all it discloses.

Provisional Applications (1)
Number Date Country
63352539 Jun 2022 US