# Patent

## Title
Training program and music playlist generation for athletic training

## Abstract

Systems and techniques for generating an athletic training program and selecting music for playing during the training program are described. Based on specified parameters, a training program module may generate a customized training program intended to help an athlete reach a goal. In conjunction therewith or independently thereof, a music selection module may generate a music playlist for playing during a training program. Music selection parameters may include training intensity, user speed, user location, user mood, a user's currently performance (e.g., as compared to an expected performance) and the like. The music selection module may select songs from a personal library or a public database of music. Music selection may be made to maximize user motivation/inspiration.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is a divisional application of and claims the benefit of priority from U.S. Non-Provisional patent application Ser. No. 12/768,168 filed Apr. 27, 2010, which claims priority from U.S. Provisional Patent Application No. 61/172,990, filed Apr. 27, 2009 and entitled “Training Program and Music Playlist Generation for Athletic Training,” and U.S. Provisional Patent Application No. 61/183,172, filed Jun. 2, 2009 and entitled “Training Program and Music Playlist Generation for Athletic Training” The content of the aforementioned applications are hereby incorporated by reference in their entirety.


FIELD OF ART
The present invention relates to generating a training schedule and the selection of music in association therewith.
BACKGROUND
While most people appreciate the importance of physical fitness, many have difficulty determining an appropriate exercise program for reaching their desired goal. Further, some people find it difficult to maintain an exercise regimen without some entertainment such as music to keep them motivated through the exercise program.
Athletes have found that listening to music while running may improve the athlete's endurance and enjoyment of the physical activity. In particular, some types of music may be more beneficial to increasing the athletic activity of an individual than others. For example, music with fast tempos may encourage an athlete to run faster or farther. The use of music may help distract athletes from what might otherwise be viewed as tedious and repetitive physical activity.
BRIEF SUMMARY
Various aspects of the invention relate to the collection and display of athletic information. With some implementations of the invention, athletic data relating to a single person is collected and displayed so that the person can fully critique his or her performance. For example, a set of athletic data corresponding to athletic activity performed by a person over a first time period may be displayed as a graph. If the set of athletic data is generated from, e.g., a person running or walking, then the person's speed may be plotted against his or her distance over the time period for the activity. With some implementations, the set of athletic data can be analyzed, and the analysis results can be displayed simultaneously with the graph. For example, with a set of athletic data obtained from a person running, the data can be analyzed to determine the change in speed (i.e., acceleration or deceleration) between fixed distances (first mile, second mile, etc.). This information can then be displayed with the graph, so that the person can review when and how much he or she changed speed during the run.
With still other implementations of the invention, a person can compare a set of athletic data with another set of athletic data having a desired characteristic. For example, if a selected set of athletic data is generated from, e.g., a person running over a particular time period, then the person may wish to compare his or her performance for that “run” with his or her best speed for a similar previous run. Thus, if the run covered a distance of, e.g., 4 miles, earlier sets of athletic data will be analyzed to determine which data sets correspond to runs of approximately 4 miles. The data set having, e.g., the highest mean speed can then be identified, and data from that previously data set displayed simultaneously with data from the selected data set. For example, data from each athletic data set may be plotted as graph and rendered on a display. The person can then compare the selected set of athletic data with the set of athletic data representing his or her “best” speed in detail.
Still further, some implementations may collect sets of athletic data obtained over different time periods, and concurrently display data from these sets. Thus, if a person has multiple runs over a period of days, data from each run may be simultaneously displayed. For example, an icon, such as a bar or line, can be displayed for each data set. A dimension of the icon, such as, e.g., its height, can then correspond to some data in that data set, such as the median speed of the run or the total distance traveled over the run. With some implementations, data from multiple sets may be aggregated and displayed. For examples, runs falling within a specified category (e.g., occurring during the same week or month) can be grouped together, and the total distance data (or, alternatively, the total time data) for each data set in a group can be added together. An icon, such as a bar or line, then can be displayed to represent the sum of the data from each group. A dimension of the icon, such as, e.g., its height, may correspond to the data added together from its corresponding group of data sets.
In addition, some examples of the invention may allow a person to specify a goal related to an athletic activity. A person may, e.g., set a goal of running a specified total distance within a specified period of time. With these implementations of the invention, data from multiple sets of a person's athletic data may be aggregated and displayed in contrast with the person's specified goal. The goal may be displayed, for example, as an empty shape, like an oval. The aggregated data may then be displayed as fill within the empty shape. Thus, if the aggregated data shows that the person is within 80% of his or her goal, then the shape representing the goal will be displayed as 80% filled.
With some implementations, sets of athletic data may be obtained from a plurality of different persons and displayed. For example, one or more sets of data from each of a plurality of different persons may be collected. Data from each person's data sets can then be aggregated and displayed to each person. For example, a set of athletic data can be generated for each run a person makes. For each person, data from his or her data sets, such as distance data, can be added up. An icon, such as a bar or line, can then be displayed for each person to represent the sum of the data from his or her data sets. A dimension of the icon, such as, e.g., its height, may correspond to the sum of the data added from each of a person's data sets.
Still further, some examples of the invention may allow a person to “invite” one or more other persons to share athletic data corresponding to their athletic activities. With some implementations of the invention, for example, a user may send an invitation via electronic mail or a similar electronic medium to one or more other persons. Athletic data from only those invited persons may then be displayed simultaneously as noted above. This arrangement allows each invited person (including the inviting host, who inherently invites himself or herself and thus is considered an invitee as well) to compare his or her current athletic data with the other invitees.
With still other implementations of the invention, a person may alternately or additional specify a common goal for the invitees. For example, the inviting host may specify a total combined distance that the invitees (including the host) are to run within a specified amount of time. Data from multiple sets of athletic data for each invitee may be aggregated and displayed in contrast with the person's specified goal. Again, the goal may be represented by the display of, for example, an empty shape, like an oval. The data aggregated from each invitee may then be displayed as fill within the empty shape. Thus, if the aggregated data shows that the collective athletic activity of the invitees is within 60% of the specified goal, then the shape representing the goal will be displayed as 60% filled.
According to yet another aspect, a training schedule may be automatically generated based on a user's desired goal, desired length of run, preference between speed and endurance, amount of time, intensity level and/or calories to be burned. A training regimen such as a running schedule may be developed to achieve the specified parameters. The training regimen may be varied to reduce the tediousness or repetitiveness of exercising. For example, a running schedule may vary speed, heart rate and the like. Training programs may also be created to mimic those of popular or celebrity athletes such as Lance Armstrong.
To increase the enjoyability of running and other athletic activity, a music playlist generator may be used to automatically select music for a training program. Music selection may be based on factors such as an intensity of a particular segment of the training, training duration, a training trend (e.g., if intensity increases or decreases), user location (elevation, latitude, longitude), user speed, a time, user music preferences (e.g., artist, genre, era, album) and the like. In one example, music with a faster beat or tempo may be automatically selected for a high intensity segment of a running schedule. In another example, slower music may be selected for a cool down period of the schedule. Music may be selected from a public database or, alternatively or additionally, from a private collection of the athlete. Length of music may be taken into account to insure that music is provided during an entirety of the duration of the training program.
According to another aspect, the music playlist generator might also recommend music to add to a music library so that such new music may be added to a training regimen. Music may be recommended in a variety of ways including based on tempo, beat, artist name, length and genre. For example, new dance music may be identified and recommended to an athlete for high intensity runs.
These and other features of the invention will become apparent from the following detailed description.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a computing device that may be used to implement various examples of the invention.
FIGS. 2 and 3 illustrate an example of an athletic information monitoring device that may be employed according to various examples of the invention.
FIG. 4 illustrates one environment in which an athletic parameter measurement device according to various examples of the invention may be employed.
FIG. 5 illustrates an example of an athletic information collection and display device that may be employed to collect and/or display athletic data according to various implementations of the invention.
FIG. 6 illustrates an example of an athletic data display configuration device that may be employed according to various examples of the invention.
FIG. 7 illustrates a network including an athletic data display configuration device and a plurality of client devices of the type that may be employed according to various examples of the invention.
FIGS. 8A-8F, 9A and 9B illustrate examples of user interfaces that may be provided to display athletic data for a user according to various implementations of the invention.
FIGS. 10 and 11A-11E illustrate examples of user interfaces that may be provided to select goals for a user according to various implementations of the invention.
FIG. 12 illustrates an example of a user interface that may be provided to indicate a user's progress toward achieving an athletic activity goal according to various implementations of the invention.
FIGS. 13A-13F illustrate examples of user interfaces that may be provided to create a challenge to other users according to various implementations of the invention.
FIGS. 14A-14F illustrate examples of user interfaces that may be provided to compare a user's athletic data with the athletic data of other participating users according to various implementations of the invention.
FIG. 15 illustrates an example of a user interface that may be provided to memorialize a user's athletic achievements according to various implementations of the invention.
FIG. 16 illustrates an example of a user interface that may be provided to create a resolution to perform an athletic achievement according to various implementations of the invention.
FIG. 17 illustrates another example of a user interface of an embodiment.
FIG. 18 illustrates an example of a user interface including a mapping utility for an athlete to generate or find a route.
FIG. 19 illustrates an example of a user interface including a mapping utility and a selected route.
FIG. 20 illustrates an example of a user interface including a mapping utility and the details of a selected route.
FIG. 21 illustrates an example of a user interface including a reward to an athlete for achieving a goal or milestone.
FIGS. 22 and 23 illustrate an example of a user interface including a club of multiple athletes who have achieved a goal or milestone.
FIG. 24 illustrates an example of a user interface including a challenge among multiple athletes.
FIG. 25 illustrates an example of a user interface including a challenge issued by an athlete.
FIG. 26 illustrates an example of a user interface including group challenges and organization challenges.
FIG. 27 illustrates an example of a user interface including details of a challenge.
FIG. 28 illustrates an example of a user interface including the progress of athletes participating in a challenge.
FIG. 29 illustrates an example of a user interface that may be included as part of an individual athlete's web page.
FIG. 30 illustrates an example of a user interface including a resolution.
FIG. 31 illustrates an example of another user interface of the present invention.
FIG. 32 illustrates an example of a user interface including a mapping utility and a user annotation.
FIG. 33 illustrates an example of a user interface including a mapping utility and a weather annotation.
FIG. 34 illustrates an example training regimen and music playlist generator interface according to one or more aspects described herein.
FIG. 35 illustrates another example training regimen and music playlist generator interface according to one or more aspects described herein.
FIG. 36 illustrates an example training regimen and music playlist generator interface in which a pop-up window displays song details according to one or more aspects described herein.
FIG. 37 illustrates another example training regiment and music playlist generator interface according to one or more aspects described herein.
FIG. 38 illustrates another example training regimen and music playlist generator interface in which a music source has been selected.
FIG. 39 illustrates another example training regimen and music playlist generator interface.
FIG. 40 illustrates another example training regimen and music playlist generator interface having mood and music type parameter selection options according to one or more aspects described herein.
FIG. 41 illustrates another example training regimen and music playlist generator interface having coaching, training focus and music genre selection options according to one or more aspects described herein.
FIG. 42 illustrate a recommended run summary displaying various attributes of the recommended workout according to one or more aspects described herein.
FIG. 43 illustrates a workout summary report indicating portions of the workout that may be improved and improvement suggestions according to one or more aspects described herein.
FIG. 44 illustrates a run curve with songs of a music playlist mapped thereto according to one or more aspects described herein.
FIG. 45 illustrates an example workout and music playlist generation interface in which a song edit box is displayed for a selected song according to one or more aspects described herein.



DETAILED DESCRIPTION
Operating Environment
Overview
Aspects of the invention relate to the measurement, collection and display of athletic information. As will be appreciated by those of ordinary skill in the art, athletic information must first be obtained from an individual person. With various implementations of the invention, one or more different athletic information monitoring devices may be used to measure and record athletic data corresponding to athletic activity performed by a person. Typically, an athletic information monitoring device will incorporate a sensor for measuring parameters relating to the person being monitored, and a computing device for processing the parameters measured by the sensor.
Once an athletic information monitoring device has recorded athletic information for a person's athletic activity, the person may then transfer the recorded athletic information to one or more separate devices, in order to view the recorded athletic data. A user may, for example, download the recorded athletic information from an athletic information monitoring device to a separate collection device. The collection device may, in turn, transfer the athletic information collected from the athletic information monitoring device to a separate display configuration device, where the athletic information can be organized and configured for subsequent viewing with, e.g., still another device. As will be discussed in more detail below, various implementations of the invention will allow a person to record, collect and display athletic information using a group of computing devices communicating over a network, such as the Internet.
For example, some implementations of the invention may allow a person to measure and record athletic information using a special-purpose computing device. The user can then transfer the recorded athletic information to a local computing device, such as a personal desktop or laptop computer. More particularly, a user can download recorded athletic information from the athletic information monitoring device to a collection software tool on a local computer that acts as a “client” in a computer network. The collection software tool will then transfer the downloaded athletic information through the network to a remote “server” computer. A display configuration software tool on the remote server computer will then save the transferred athletic information. Later, a person can use the client computer or another local computer to retrieve the stored athletic information from the server computer. In response to a display request from a local computer, the display configuration software tool will configure the requested athletic information for display on the local computer, and then transmit the configured athletic information to the local computer for display.
Computing Device
Various examples of the invention may be implemented using electronic circuitry configured to perform one or more functions. For example, with some embodiments of the invention, the athletic information monitoring device, the collection device, the display device or any combination thereof may be implemented using one or more application-specific integrated circuits (ASICs). More typically, however, components of various examples of the invention will be implemented using a programmable computing device executing firmware or software instructions, or by some combination of purpose-specific electronic circuitry and firmware or software instructions executing on a programmable computing device.
Accordingly, FIG. 1 shows one illustrative example of a computer 101 that can be used to implement various embodiments of the invention. As seen in this figure, the computer 101 has a computing unit 103. The computing unit 103 typically includes a processing unit 105 and a system memory 107. The processing unit 105 may be any type of processing device for executing software instructions, but will conventionally be a microprocessor device. The system memory 107 may include both a read-only memory (ROM) 109 and a random access memory (RAM) 111. As will be appreciated by those of ordinary skill in the art, both the read-only memory (ROM) 109 and the random access memory (RAM) 111 may store software instructions for execution by the processing unit 105.
The processing unit 105 and the system memory 107 are connected, either directly or indirectly, through a bus 113 or alternate communication structure to one or more peripheral devices. For example, the processing unit 105 or the system memory 107 may be directly or indirectly connected to additional memory storage, such as the hard disk drive 117, a removable magnetic disk drive (not shown), removable optical disk drive 119, and a flash memory card (not shown). The processing unit 105 and the system memory 107 also may be directly or indirectly connected to one or more input devices 121 and one or more output devices 123. The input devices 121 may include, for example, a keyboard, touch screen, a remote control pad, a pointing device (such as a mouse, touchpad, stylus, trackball, or joystick), a scanner, a camera or a microphone. The output devices 123 may include, for example, a monitor display, television, printer, stereo, or speakers.
Still further, the computing unit 103 will be directly or indirectly connected to one or more network interfaces 115 for communicating with a network. This type of network interface 115, also sometimes referred to as a network adapter or network interface card (NIC), translates data and control signals from the computing unit 103 into network messages according to one or more communication protocols, such as the Transmission Control Protocol (TCP), the Internet Protocol (IP), and the User Datagram Protocol (UDP). These protocols are well known in the art, and thus will not be discussed here in more detail. An interface 115 may employ any suitable connection agent for connecting to a network, including, for example, a wireless transceiver, a power line adapter, a modem, or an Ethernet connection.
It should be appreciated that, in addition to the input, output and storage peripheral devices specifically listed above, the computing device may be connected to a variety of other peripheral devices, including some that may perform input, output and storage functions, or some combination thereof. For example, the computer 101 may be connected to a digital music player, such as an IPOD® brand digital music player available from Apple, Inc. of Cupertino, Calif. As known in the art, this type of digital music player can server as both an output device for a computer (e.g., outputting music from a sound file or pictures from an image file) and a storage device. In addition, this type of digital music play also can serve as an input device for inputting recorded athletic information, as will be discussed in more detail below.
In addition to a digital music player, the computer 101 may be connected to or otherwise include one or more other peripheral devices, such as a telephone. The telephone may be, for example, a wireless “smart phone.” As known in the art, this type of telephone communicates through a wireless network using radio frequency transmissions. In addition to simple communication functionality, a “smart phone” may also provide a user with one or more data management functions, such as sending, receiving and viewing electronic messages (e.g., electronic mail messages, SMS text messages, etc.), recording or playing back sound files, recording or playing back image files (e.g., still picture or moving video image files), viewing and editing files with text (e.g., Microsoft Word or Excel files, or Adobe Acrobat files), etc. Because of the data management capability of this type of telephone, a user may connect the telephone with the computer 101 so that their data maintained may be synchronized.
Of course, still other peripheral devices may be included with our otherwise connected to a computer 101 of the type illustrated in FIG. 1, as is well known in the art. In some cases, a peripheral device may be permanently or semi-permanently connected to the computing unit 103. For example, with many computers, the computing unit 103, the hard disk drive 117, the removable optical disk drive 119 and a display are semi-permanently encased in a single housing. Still other peripheral devices may be removably connected to the computer 101, however. The computer 101 may include, for example, one or more communication ports through which a peripheral device can be connected to the computing unit 103 (either directly or indirectly through the bus 113). These communication ports may thus include a parallel bus port or a serial bus port, such as a serial bus port using the Universal Serial Bus (USB) standard or the IEEE 1394 High Speed Serial Bus standard (e.g., a Firewire port). Alternately or additionally, the computer 101 may include a wireless data “port,” such as a Bluetooth interface, a Wi-Fi interface, an infrared data port, or the like.
It should be appreciated that a computing device employed according various examples of the invention may include more components than the computer 101 illustrated in FIG. 1, fewer components than the computer 101, or a different combination of components than the computer 101. Some implementations of the invention, for example, may employ one or more computing devices that are intended to have a very specific functionality, such as a digital music player or server computer. These computing devices may thus omit unnecessary peripherals, such as the network interface 115, removable optical disk drive 119, printers, scanners, external hard drives, etc. Some implementations of the invention may alternately or additionally employ computing devices that are intended to be capable of a wide variety of functions, such as a desktop or laptop personal computer. These computing devices may have any combination of peripheral devices or additional components as desired.
Athletic Information Monitoring Device
FIG. 2 illustrates one example of an athletic information monitoring device 201 that may be employed according to various examples of the invention to measure athletic information corresponding a user's athletic activity. As shown in this figure, the athletic information monitoring device 201 includes a digital music player 203, an electronic interface device 205, and an athletic parameter measurement device 207. As will be described in more detail, the digital music player 203 is (releasably) connected to the electronic interface device 205, and the combination is worn or otherwise carried by the user while he or she is performing an athletic activity, such as running or walking The athletic parameter measurement device 207 also is worn or carried by the user while he or she is performing an athletic activity, and measures one or more athletic parameters relating to the athletic performance being performed by the user. The athletic parameter measurement device 207 transmits signals to the electronic interface device 205 that correspond to the measured athletic parameter. The electronic interface device 205 receives the signals from the athletic parameter measurement device 207, and provides the received information to the digital music player 203.
As shown in more detail in FIG. 3, the athletic parameter measurement device 207 includes one or more sensors 301 for measuring an athletic parameter associated with a person wearing or otherwise using the athletic parameter measurement device 207. With the illustrated implementations, for example, the sensors 301A and 301B may be accelerometers (such as piezoelectric accelerometers) for measuring the acceleration of the athletic parameter measurement device 207 in two orthogonal directions. The athletic parameter measurement device 207 is carried or otherwise worn by a user to measure the desired athletic parameter while the user exercises. For example, as shown in FIG. 4, the athletic parameter measurement device 207 may be located the sole of a user's shoe 401 while the user walks or runs. With this arrangement, the sensors 301 will produce electrical signals corresponding to the movement of the user's foot. As known in the art, these signals can then be used to generate athletic data representative of the athletic activity performed by the user.
The athletic parameter measurement device 207 also includes a processor 303 for processing the electrical signals output by the sensors 301. With some implementations of the invention, the processor 303 may be a programmable microprocessor. For still other implementations of the invention, however, the processor 303 may be a purpose-specific circuit device, such as an ASIC. The processor 303 may perform any desired operation on the signals output from the sensors 301, such as curve smoothing, noise filtering, outlier removal, amplification, summation, integration, or the like. The processor 303 provides the processed signals to a transmitter 307. The athletic parameter measurement device 207 also includes a power supply 307, for providing power to the sensors 301, the processor 303, and the transmitter 305 as needed. The power supply 307 may be, for example, a battery.
The athletic parameter measurement device 207 transmits the processed signals to the electronic interface device 205, as seen in FIG. 4. Returning now to FIG. 3, the electronic interface device 205 includes a receiver 309 which receives the processed signals transmitted by the transmitter 305 in the athletic parameter measurement device 207. The receiver 309 relays the processed signals to a second processor 311, which processes the signals further. Like the processor 303, the processor 311 may perform any desired operation on the processed signals, such as curve smoothing, noise filtering, outlier removal, amplification, summation, integration, or the like.
The processor 303 provides the processed signals to the digital music player 203. Referring back now to FIG. 2, the electronic interface device 205 includes a connector system 209 that physically plugs into and connects with a conventional input port 211 provided on digital music player 203. The input port 211 into which the connector system 209 of the electronic interface device 205 connects may be any desired type of input port for transferring data, such as a parallel data port, a serial data port, an earphone or microphone jack, etc.) The connector system 209 may include any suitable connecting devices, such as wires, pins, electrical connectors, and the like, so as to make an electrical connection or other suitable connection with corresponding elements provided in the input port 211 of the digital music player 203 (e.g., to allow electronic and/or data communications between the interface device 205 and the electronic interface device 205). If necessary or desired, additional securing elements may be provided to securely connect the interface device 205 to the digital music player 203, such as straps, hooks, buckles, clips, clamps, clasps, retaining elements, mechanical connectors, and the like.
Returning now to FIG. 3, the processor 311 provides the processed signals to the computing unit 313. The computing unit 313 may initially store the processed signals in the memory 315. Further, with some implementations of the invention, the computing unit 313 may operate on the processed signals provided by the athletic information monitoring device 201 to generate a set of athletic data corresponding to the athletic activity performed by the user. For example, if the athletic information monitoring device 201 includes accelerometers for measuring the movement of the user's foot, the computing unit 313 may analyze the processed signals from the athletic information monitoring device 201 to generate a set of athletic data describing the user's speed at specific instances during the user's athletic activity and the total distance traveled by the user at each of those specific instances. Various techniques for determining a user's speed from accelerometer signals are described in, for example, U.S. Pat. No. 6,898,550 to Blackadar et al., entitled “Monitoring Activity Of A User In Locomotion On Foot,” and issued on May 24, 2005, U.S. Pat. No. 6,882,955 to Ohlenbusch et al., entitled “Monitoring Activity Of A User In Locomotion On Foot,” and issued on Apr. 19, 2005, U.S. Pat. No. 6,876,947 to Darley et al., entitled “Monitoring Activity Of A User In Locomotion On Foot,” and issued on Apr. 5, 2005, U.S. Pat. No. 6,493,652 to Ohlenbusch et al., entitled “Monitoring Activity Of A User In Locomotion On Foot,” and issued on Dec. 10, 2002, U.S. Pat. No. 6,298,314 to Blackadar et al., entitled “Detecting The Starting And Stopping Of Movement Of A Person On Foot,” and issued on Oct. 2, 2001, U.S. Pat. No. 6,052,654 to Gaudet et al., entitled “Measuring Foot Contact Time And Foot Loft Time Of A Person In Locomotion,” and issued on Apr. 18, 2000, U.S. Pat. No. 6,018,705 to Gaudet et al., entitled “Measuring Foot Contact Time And Foot Loft Time Of A Person In Locomotion,” and issued on Jan. 25, 2000, each of which are incorporated entirely herein by reference.
The athletic data set may also include a time value associated with each speed value and/or each distance value. If the athletic information monitoring device 201 can be employed to collect athletic information from different users, then the athletic data computing unit 313 may additionally prompt the user to identify himself or herself in some way. This identification information may then be included with the athletic data set generated from the information provided by the athletic information monitoring device 201. Once the computing unit 313 has generated a set of athletic data from the information provided by the athletic information monitoring device 201, the computing unit 313 may store the athletic data set in the memory 315. As will be discussed in more detail below, when the digital music player 203 subsequently is connected to a computing device implementing an athletic information collection tool, the computing unit 313 will download the athletic data to a display configuration tool hosted on a remote computing device.
While wireless communication between the between the athletic parameter measurement device 207 and the interface device 205 is described for the embodiments illustrated in FIGS. 2-4, any desired manner of communicating between the athletic parameter measurement device 207 and the interface device 205 may be used without departing from the invention, including wired connections. Also, any desired way of placing data derived from the physical or physiological data from the athletic parameter measurement device 207 in the proper form or format for display on or output from electronic device 210 may be provided without departing from the invention. For example, if desired, the athletic parameter measurement device 207 may be specially designed and/or programmed for use with one or more specific electronic devices, e.g., pre-programmed and/or wired to operate with a specific device or devices and to provide output data in a form and format suitable for those devices. In this situation, the interface devices 205 may be marketed and sold to specifically target certain electronic devices, such as specific models of digital music players and even other electronic devices, such as telephones, watches, personal digital assistants, etc. As another alternative, if desired, the interface devices 205 may be programmed at a later time to operate with a wide variety of different electronic devices, e.g., by downloading display or device driver and/or format data for specific electronic devices from the Internet, from disk, or from another source, etc.
If desired, in accordance with at least some examples of this invention, the electronic interface device 205 may further include a display 220 and/or a user input system 222, such as one or more rotary input devices, switches, buttons (as shown in the illustrated example in FIG. 2), mouse or trackball elements, touch screens, or the like, or some combination thereof. The display 220 may be employed to show, for example, information relating to music being played by the digital music player 203, information relating to the athletic information signals being received by the digital music player 203, athletic data being generated by the digital music player 203 from the received athletic information signals, etc. The user input system 222 may be employed, for example: to control one or more aspects of the processing of the input data received via interface device 205, to control input data receipt (e.g., timing, types of information received, on-demand data requests, etc.), to control data output to or by the electronic device 203, to control the athletic parameter measurement device 207, etc. Alternatively or additionally, if desired, the input system on the digital music player 203 (e.g., buttons 222, a touch screen, a digitizer/stylus based input, a rotary input device, a trackball or roller ball, a mouse, etc.), may be used to provide user input data to the interface device 205 and/or to the athletic parameter measurement device 207. As still another example, if desired, a voice input system may be provided with the interface device 205 and/or the digital music player 203, e.g., to enable user input via voice commands. Any other desired type of user input system, for control of any system elements and/or for any purpose, may be provided without departing from the invention.
The digital music player 203 may include additional input and/or output elements, e.g., such as ports 224 and 226 shown in FIG. 2, e.g., for headphones (or other audio output), power supplies, wireless communications, infrared input, microphone input, or other devices. If desired, and if these ports 224 and/or 226 would be covered when the interface device 205 is attached to the electronic device 203, the interface device 205 may be equipped with similar external ports to ports 224 and/or 226, and internal circuitry may be provided in the interface device 205 to enable the user to plug the same additional devices into the interface device 205 as they might plug into the digital music player 203 and still take advantage of the same functions (e.g., to thereby allow the necessary data, signals, power, and/or information to pass through the interface device 205 to the user, to another output, and/or to the digital music player 203).
It should be appreciated that, while some specific embodiments of the invention described above relate to a digital music player 203, alternate examples of the invention may be implemented using any portable electronic device. For example, with some implementations of the invention, the athletic parameter measurement device 207 may be used in conjunction with a mobile telephone, a watch, a personal digital assistant, anther type of music player (such as a compact disc or satellite radio music player), a portable computer, or any other desired electronic device. Still further, some implementations of the invention may alternately or additionally omit the use of the interface device 205. For example, the athletic parameter measurement device 207 may be configured to communicate using the Bluetooth wireless communication protocol, so that it can be employed with Bluetooth-capable mobile telephones, personal digital assistants, watches or personal computers. Of course, still other wireless or wired communication techniques could be employed while omitting the interface device 205.
It also should be appreciated that, while a specific example of an athletic parameter measurement device 207 has been described above for ease of understanding, any type of desired athletic parameter measurement device 207 can be employed with various embodiments of the invention. For example, with some implementations of the invention, the athletic parameter measurement device 207 may be a heart rate monitor, a blood oxygen monitor, a satellite positioning device (e.g., a Global Positioning Satellite (GPS) navigation device), a device for measuring the electrical activity of the user (e.g., an EKG monitor), or any other device that measures one or more physical parameters of the user. Still further, the athletic parameter measurement device 207 may measure one or more operational parameters of some device being manipulated by the user, such as the speed and/or distance of a bicycle, the speed and/or work performed by a treadmill, rowing machine, elliptical machine, stationary bicycle, the speed and/or distance traveled by skis (water or snow), skates (roller or ice), or snowshoes or the like worn by the user, etc.
Also, while the athletic parameter measurement device 207 has been described as being separate for the digital music player 203 or other portable electronic device that receives the signals from the athletic parameter measurement device 207, with some implementations of the invention the athletic parameter measurement device 207 may be incorporated into the digital music player 203 or other portable electronic device. For example, some implementations of the invention may employ a music player, mobile telephone, watch or personal digital assistant that incorporates accelerometers, a satellite positioning device, or any other desired device for measuring athletic activity. Still further, it should be appreciated that various implementations of the invention may employ a plurality of athletic parameter measurement devices 207, incorporated into the digital music player 203 or other portable electronic device, separate from the digital music player 203 or other portable electronic device, or some combination thereof.
Athletic Collection and Display Tools
FIG. 5 illustrates an example of an athletic information collection and display device 501 that may be employed to collect and/or display athletic data according to various implementations of the invention. As will be discussed in more detail below, the athletic information collection and display device 501 may both collect and display athletic data. The athletic information collection and display device 501 may be implemented using any suitable variation of the computing device 101 previously described. In some situations, however, the information collection and display device 501 may be commercially implemented using a desktop or laptop personal computer using, e.g., a version of the Microsoft Windows operating system available from Microsoft Corporation of Redmond, Wash., a version of the Apple Macintosh operating system available for Apple Corporation of Cupertino, Calif., or a version of the Unix or Linux operating systems available from a plurality of vendors.
As shown FIG. 5, the athletic information collection and display device 501 includes an interface 503 for receiving data from the athletic information monitoring device 201. The interface 503 may be implemented using, e.g., electrical components, software components (such as application program interfaces (APIs)), or some combination thereof. The athletic information collection and display device 501 also has an athletic data collection module 505. With various examples of the invention, the athletic data collection module 505 may detect when the digital music player 203 or other portable electronic device storing one or more athletic data sets is connected to the athletic information collection and display device 501 through the interface 503, establish a communication session with the digital music player 203 or other portable electronic device to retrieve the athletic data set or sets. In some implementations of the invention, the athletic data collection module 505 may delete athletic data sets from the digital music player 203 or other portable electronic device after the athletic data sets have been retrieved.
With some examples of the invention, the athletic data collection module 505 may perform some further operations on the athletic data sets retrieved from the digital music player 203 or other portable electronic device. For example, if the athletic information monitoring device 201 can be employed to collect athletic information from different users, then the athletic data collection module 505 may additionally prompt the user to identify himself or herself (if this information was not previously obtained by the athletic information collection and display device 501). This identification information may then be included with the retrieved athletic data sets.
As previously noted, the athletic information collection and display device 501 typically will generate sets of athletic data from information measured by one or more athletic parameter measurement devices 207. With some embodiments of the invention, however, the athletic information collection and display device 501 may instead store the raw information provided by the athletic parameter measurement devices 207. With these embodiments, the athletic data collection module 505 may retrieve the raw information from the digital music player 203 or other portable electronic device, and then generate athletic data sets from the raw information itself. Of course, still other examples of the invention may divide functions relating to the generation of athletic data from the raw information measured by athletic parameter measurement devices 207 between the athletic data collection module 505 and the digital music player 203 or other portable electronic device as desired.
The athletic data collection module 505 may be implemented by, for example, software instructions executed by a computing unit 113 of a computing device 101. With some examples of the invention the athletic data collection module 505 may be implemented by a conventional software tool, such as a browser. Alternately, athletic data collection module 505 may be implemented by a purpose-specific software tool or by a conventional software tool enhanced to perform athletic data collection functions. For example, the athletic data collection module 505 may be implemented by a software tool that incorporates a conventional browser to perform a variety of functions. These functions may include, e.g., selecting, purchasing, and downloading music and video content in addition to collecting athletic data from a digital music player 203 or other portable electronic device.
Once the athletic data collection module 505 has collected the processed signals provided by the athletic information monitoring device 201, the athletic data collection module 505 transmits the athletic data set to an athletic data display configuration device 601 through an interface module 507. The athletic information collection and display device 501 may communicate with the athletic data display configuration device 601 through a conventional network, such as the Internet. With these configurations, the interface module 507 may be implemented using any conventional type of network interface, such as a network interface card. Of course, any type of desired hardware or software combination alternately may be used to allow the athletic data collection module 505 to send the collected athletic data to the athletic data display configuration device 601. With some implementations of the invention, the athletic data collection module 505 may automatically forward collected athletic data to the athletic data display configuration device 601. For example, the athletic data collection module 505 may attempt to forward collected athletic data to the athletic data display configuration device 601 immediately after collection, at a prescheduled interval, upon the detection of a network connection to the athletic data display configuration device 601, or some combination thereof. Alternately or additionally, the athletic data collection module 505 may prompt a user to specify when collected athletic data is sent to the athletic data display configuration device 601.
FIG. 6 illustrates an example of an athletic data display configuration device 601 that may be employed according to various examples of the invention. As seen in this figure, the athletic data display configuration device 601 includes an interface module 603 for communicating with the athletic information collection and display device 501. As previously noted, the athletic information collection and display device 501 may communicate with the athletic data display configuration device 601 through a conventional network, such as the Internet. With these configurations, the interface module 603 may be implemented using any conventional type of network interface, such as a network interface card. Of course, any type of desired hardware or software combination alternately may be used to allow the athletic data display configuration device 601 to communicate with the athletic information collection and display device 501.
The athletic data display configuration device 601 also includes an athletic data display configuration module 605, and an athletic data storage 607. When the interface 603 of the athletic data display configuration device 601 receives athletic data from the athletic information collection and display device 501, it provides the received athletic data to the athletic data display configuration module 605. The athletic data display configuration module 603 may then store the athletic data in the athletic data storage 607 for future use. As will be discussed in more detail below, the athletic data display configuration module 605 also will retrieve athletic data from the athletic data storage 607, and configure the retrieved athletic data for display through one or more user interfaces in a manner that is meaningful to a user.
Returning now to FIG. 5, when a user wishes to view information relating to his or her athletic activities (or the athletic activities of another, as will be discussed in more detail below), the user submits this request to the athletic information collection and display device 501. More particularly, the user can employ conventional input and output devices, such as a keyboard, mouse, display and the like. The display request is then provided to an athletic data display module 509 through a conventional interface input/output interface 511. As well known in the art, the interface input/output interface 511 may be implemented using any desired combination of hardware and software components, such as conventional application programming interfaces (APIs) used to detect and process input from input devices, and to send data to and otherwise control output devices.
With some examples of the invention, the athletic data display module 509 may be implemented using any conventional tool for receiving input to request and control the display of data, and then subsequently displaying the data in the manner requested. For example, the athletic data display module 509 may be implemented using a conventional browser program, such as Microsoft Internet Explorer, Mozilla Firefox, or Opera executing on a computing unit 113. With still other embodiments of the invention, the athletic data display module 509 may be implemented using a conventional browser program that has been enhanced by one or more display tools, such as an ActiveX plug-in, a Java script or a version of the Macromedia Flash Player or Adobe Flash Player, available from Adobe Systems Incorporated of San Jose, Calif. In still other embodiments of the invention, the athletic data display module 509 may be implemented by, for example, a purpose-specific software tool for displaying athletic data.
As will be discussed in more detail below, when a user activates the athletic data display module 509, he or she is provided with a user interface prompting the use to select what collected athletic data he or she wishes to view, the format in which the user wishes to view the collected athletic data, etc. This user interface may be generated by the athletic data display module 509, the athletic data display configuration module 605, or some combination thereof. When a user employs the provided user interface to submit a request to view athletic data, the athletic data display module 509 relays the request to the athletic data display configuration module 605. In response, the athletic data display configuration module 605 configures the requested athletic data for display by the athletic data display module 509. For example, as will be discussed in more detail below, a user may request to view the total distance run by a user for each day in a one week period. In response, the athletic data display configuration module 605 will retrieve the relevant distance data from the athletic data storage 607. It will then configure the retrieved distance data to be displayed through a desired image (e.g., a bar graph), and provide the configured athletic data to the athletic data display module 509 for display to the user.
It should be noted that, with some embodiments of the invention, the data display configuration functions may be divided between the athletic data display module 509 and the athletic data display configuration module 605. For example, if the athletic data display module 509 is implemented by a simple browser, then the athletic data display module 509 may serve as a “thin client” for the athletic data display configuration module 605. That is, all of the data display configuration functions may be performed by the athletic data display configuration module 605. The athletic data display module 509 will then only display the information provided to it. Alternately, if the athletic data display module 509 is implemented by a purpose-specific software tool, then most or all of the data display configuration functions may be performed by the athletic data display module 509. With these examples, the athletic data display configuration module 605 may be used only to store and retrieve athletic data from the athletic data storage 607.
Typically, the athletic data display configuration device 601 will be implemented at a remote location from the athletic information collection and display device 501. The athletic information collection and display device 501 then may be connected to the athletic data display configuration device 601 through an electronic communication network, as previously noted. The electronic communication network may be a public network, such as the Internet, a private network, or include some combination of both. For example, FIG. 7 illustrates a network 701 including an athletic data display configuration device 601 and a plurality of client devices 705 for collecting and/or displaying athletic data. These client devices 705 may include personal computers 705A using some version of the Microsoft Windows operating systems available from Microsoft Corporation of Redmond, Wash., personal computers 705B using some version of the Apple operating system, personal digital assistants 705C and telephones 705D. Of course, various examples of the invention may alternately or additionally include any other desired electronic device that can be configured to collect and/or display athletic data as discussed above.
It should be appreciated that a client device 705 may perform an athletic data collection function, an athletic data display function, or both. That is, while the example of the athletic information collection and display device 501 described above is capable of both collecting and displaying athletic data, some client devices 705 may only collect athletic data. Further, some client devices may only display athletic data. For example, a user may employ a GPS-equipped smart telephone to collect athletic data and transmit the collected athletic data to the athletic data display configuration device 601. The user may then employ a personal computer equipped with only a conventional browser to subsequently download and display the collected athletic data.
Display of a User's Athletic Information
Display of Athletic Activity Values
In response to receiving a request to review athletic information from a user via the athletic data display module 509, the athletic data display configuration module 605 will determine the user's identity. The athletic data display configuration module 605 will then retrieve the athletic data associated with the user from the athletic data storage 607. Next, the athletic data display configuration module 605 will prepare a user interface for displaying the requested athletic data, and transmit the user interface with the athletic data to the athletic data display module 509 for display to the user.
FIG. 8A illustrates an example of an initial user interface that may be provided to a user according to various implementations of the invention. As seen in this figure, the user interface 801 includes a plurality of icons 803. Each icon 803 represents an athletic data value corresponding to an athletic activity performed by the user over a specified time period. More particularly, each icon 803 represents a distance value corresponding to athletic activity performed by a user. A calendar date field 805 associated with each icon 803 is shown at the bottom of each icon 803 to indicate the date on which the corresponding athletic activity was performed, as illustrated in FIG. 8. The user interface 801 also displays a number of control buttons 807-819 that allow the user to select what athletic data values will be displayed in the user interface as well as the time periods for which the athletic data values will be displayed. In addition, the interface 801 includes tabs 821-825, which will be discussed in more detail below.
As shown in FIG. 8A, the user has activated the “Distance” button 809 and the “Run” button 813. In response, the display 801 initially shows an icon 803 for the each of the most recent, e.g., twelve sets of athletic data collected by the server that corresponds to the user. As previously noted, each data set includes athletic data values generated from athletic information measured during a single, discrete athletic activity performed by a person over a particular time period. Further, the height of each icon 803 will correspond to the total distance value included in the set of athletic data represented by the icon 803. For example, on October 22, the user traveled a total distance of 4.05 miles during a run, whereas the user traveled a total distance of only 1.59 miles during a first run on December 23. Accordingly, the icon 803A corresponding to the athletic activity on October 22 will be proportionally larger than the icon 803B representing the athletic data collected for the user's first run on December 23, as shown in this figure. If the user wishes to view icons 803 for athletic activities performed before or after the athletic activities corresponding to the displayed icons 803, the user can view those additional icons 803 by activating the desired arrow buttons 807.
If a user subsequently selects the “Time” button 811, the athletic data display configuration module 605 will reconfigure the user interface 801 to display new icons 827 so that each icon 827 represents a total time value for each of the data sets. For example, as shown in FIG. 8B, the height of each icon 827 will correspond to the total time value in each represented data set. For example, if the length of the user's run on October 22 was 54 minutes, 2 seconds, whereas the duration of the user's first run on December 23 was only 18 minutes, 11 seconds, then the icon 827A corresponding to the athletic data set for October 22 will be proportionally taller than the icon 827B representing the athletic data set collected for the user's run on December 23.
In addition to displaying only distance and time information, the user interface 801 may optionally display additional information. For example, with some implementations of the invention, a user may employ a pointing device to select a specific icon 803 or 827. In response to the selection by, e.g. positioning a cursor over the icon, the user interface 801 may display additional information from the athletic data set represented by the selected icon. For example, the user interface 801 may use, e.g., a pop-up display (not shown) to display data values for the total distance, time, speed, and calories burned for the athletic activity represented by the selected icon 803 or 827. Still further, the user interface may use, e.g., color information to distinguish between the most-recently collected sets of athletic data and athletic data sets that were collected at an earlier time. Thus, the icons 803 or 827 representing data sets collected during the most recent download from an athletic information monitoring device 201 may be illustrated using, e.g., a light green color, while icons 803 or 827 representing previously-collected athletic data sets may be displayed with a dark green color.
With some implementations of the invention, a user may obtain still more detailed information regarding an athletic data set by “activating” the icon 803 or 827 representing the athletic data set. For example, a user may position a cursor over a desired icon 803 or 827 using a pointing device, and then depress a selection button to activate the icon 803 or 827. In response, the athletic data display configuration module 605 will configure and provide a user interface graphically illustrating the data values in the corresponding athletic data set in more detail. For example, as illustrated in FIG. 9A, various implementations of the inventions may display a user interface 901 plotting a first type of data in the data set against a second type of data in the data set to provide a visual graph 903. More particularly, as illustrated in this figure, the athletic data display configuration module 605 will plot speed values in the athletic data set against distance values data in the athletic data set, providing the graph 903. In this manner, a user can view what his or her instantaneous speed was at various points during the run. In addition, the graph 903 may include other relevant information such as, for example, an icon showing the type of athletic activity (e.g., running) and an indication on of the total distance traveled.
With some implementations of the invention, the graph 903 also may include specific distance waypoints 905, which will show the particular speed value measured at the distance during the athletic activity represented by the position of the waypoint 905. For example, if the user employs a pointing device to move a cursor over waypoint 905A, the user interface 901 will display a pop-up window (not shown) indicating that the user had an average speed of 12 minutes, 12 seconds at the first mile. Similarly, if the user employs a pointing device to move a cursor over the waypoint 905B, the user interface 901 will display a pop-up window (not shown) indicating that the user had an average speed of 12 minutes, 17 seconds at the second mile. If the user then employs a pointing device to move a cursor over the waypoint 905C, the user interface 901 will display a pop-up window (not shown) indicating that the user had an average speed of 12 minutes, 3 seconds at the third mile.
The user interface 901 also may include a value field 907 indicating the total distance value, total time value, total average pace value, total calories burned value, and athletic activity type value corresponding to the represented athletic activity. It also may include an “Options” button 909. If the user activates the “Options” button 909, the interface 901 may display additional command buttons (not shown) that allow the user to name the selected athletic data set or delete the athletic data set. Still further, the interface may include a “Comparison” button 911.
If the user selects the “Comparison” button 911, the athletic data display configuration module 605 will determine a time or distance classification for the selected athletic activity. For example, if the total distance value collected for the selected athletic activity is approximately 6 kilometers, then the athletic data display configuration module 605 will classify the athletic data set corresponding to the selected athletic activity as a “6 kilometer” athletic data set. Similarly, if the total distance value collected for the selected athletic activity is proximal to another specified distance category (e.g., 1 mile, 10 kilometers, 15 kilometers, 10 miles, 26 miles, etc.), then the athletic data display configuration module 605 will classify the athletic data set based upon the relevant category.
After the athletic data display configuration module 605 has classified the athletic data set, it examines the other athletic data sets in that classification to determine which athletic data set has the highest total distance value (or, if the classification is based upon time or speed, the lowest total time value or the highest average speed value). Once the athletic data display configuration module 605 identifies the “best” set of athletic data for the determined classification, it will then reconfigure the user interface 901 to include a graph of this “best” athletic data set as shown in FIG. 9B. As seen in this figure, the graph 915 may have the same characteristics and features as the graph 905 representing the selected athletic activity session.
If the user selects the “See My Runs” button 913, the athletic data display configuration module 605 will configure and provide the interface 801 for display, as shown in FIGS. 8A and 8B. Returning now to those figures, if the user selects the “Week” button 815 or the “Month” button 817, the athletic data display configuration module 605 will modify the user interface 801 to display one or more icons representing an aggregation of multiple sets of athletic data. More particularly, the athletic data display configuration module 605 will aggregate data values from each athletic data set based upon the designated time period.
For example, if the user has selected the “Distance” button 809 in addition to the “Week” button 815, then the athletic data display configuration module 605 will add up the total distance data values for each set of athletic data corresponding to an athletic activity session occurring within a particular calendar week. The athletic data display configuration module 605 will then modify the user interface 801 to include icons 829, where each icon 829 graphically represents the sum of total distance values in the athletic data sets generated during a particular week. The athletic data display configuration module 605 may also modify the user interface 801 to include a calendar week field 831 specifying the calendar week to which each icon 829 is associated. As shown in FIG. 8C, the height of each icon represents the sum of the total distance values for each athletic data set for the specified week period. For example, the user may have run a total of 4.05 miles during the weekly period from October 22 to October 28. On the other hand, the user may have run a total distance of 20.25 miles during the week period of December 3 to December 9. Accordingly, the icon 829B representing the aggregated athletic data for the week of December 3 to December 9 will be proportionally larger than the icon 829A representing the athletic data aggregated from the athletic data sets obtained for the week of October 22 to October 28.
Similarly, if the user selects the “Time” button 811, the athletic data display configuration module 605 will modify the user interface 801 to display icons 833 that represent the sum of total time values for aggregated sets of athletic data. More particularly, as shown in FIG. 8D, a height of each icon 833 will represent the sum of the total time values for each athletic data set obtained during the corresponding weekly period. For example, if a user ran for a total time of 54 minutes 2 seconds during the week from October 22 to October 28, but ran for a total time of 4 hours 7 minutes and 24 seconds during the week of December 3 to December 9, then the icon 833B representing the aggregation of athletic data for the week of December 3 to December 9 will be proportionally larger than the icon 833A representing the aggregation of athletic data for the weekly period of October 22 to October 28.
Similarly, if the user selects the “Month” button 817, the athletic data display configuration module 605 will modify the user interface 801 to display icons representing the aggregations of data values from athletic data sets obtained over each monthly time period. For example, if the user has selected the “Distance” button 809 as well, the user interface 801 may display an icon 835 representing the aggregation of total distance values from data sets obtained for athletic activity sessions performed during each calendar month, as illustrated in FIG. 8E. The user interface 801 also may include a calendar month field 837 specifying the calendar month to which each icon 835 is associated. As shown in this figure, the user interface 801 thus includes an icon 835A representing the aggregation of total distance values from data sets obtained for athletic activity sessions performed during the month of August, and another icon 835B representing the aggregation of total distance values from data sets obtained for athletic activity sessions performed during the month of January. The height of the icon 835A represents the sum of the total distance values for each athletic data set obtained for athletic activity sessions performed in August (i.e., 18.84 miles), while the height of the icon 835B correspond to the sum of each of the total distance data values for each athletic data set obtained for athletic activity sessions performed in January (i.e., 58.84 miles).
If, on the other hand, the user has selected the “Time” button 811, the user interface 801 may display an icon 839 representing the aggregation of total time values from data sets obtained for athletic activity sessions performed during each calendar month, as illustrated in FIG. 8F. As shown in this figure, the user interface 801 thus includes an icon 839A representing the aggregation of total distance values from data sets obtained for athletic activity sessions performed during the month of August, and another icon 839B representing the aggregation of total time values from data sets obtained for athletic activity sessions performed during the month of January. The height of the icon 839A represents the sum of the total time values for each athletic data set obtained for athletic activity sessions performed in August (i.e., 4 hours, 6 minutes, 1 second), while the height of the icon 839B correspond to the sum of each of the total time data values for each athletic data set obtained for athletic activity sessions performed in January (i.e., 10 hours, 47 minutes, 27 seconds).
In addition to displaying only distance and time information, the user interface 801 may optionally display additional information aggregated from multiple sets of athletic data. For example, with some implementations of the invention, a user may employ a pointing device to select a specific icon 829, 833, 835 or 839. In response to the selection by, e.g. positioning a cursor over the icon, the user interface 801 may display additional information from the aggregation of athletic data sets represented by the selected icon. For example, the user interface 801 may provide, e.g., a pop-up display (not shown) to display sum of total distance data values corresponding to the aggregation of athletic activity information represented by the selected icon, the some of the total time data values corresponding to the aggregation of athletic activity information represented by the selected icon, the average of the average speed data values corresponding to the aggregation of athletic activity information represented by the selected icon speed, and the sum of the calories burned data values data values corresponding to the aggregation of athletic activity information represented by the selected icon.
It should be noted that the athletic data display configuration module 605 (or, with some implementations of the invention, the athletic data display module 509) may aggregate data from multiple athletic data sets in advance of receiving a request to display aggregated athletic data from a user. Alternately, the athletic data display configuration module 605 (or, with some implementations of the invention, the athletic data display module 509) may aggregate data from multiple athletic data sets only in response to a specific request from a user to view the aggregated data.
Display Of Goals
In addition to displaying specific athletic data values or aggregates of athletic data values, various embodiments of the invention may alternately or additionally permit a user to set a goal relating to his or her athletic activities, and then view one or more images graphically illustrating the user's progress toward accomplishing those goals. For example, with the embodiments illustrated in FIGS. 8A-9B, a user can select the “Goals” tab 823 shown in these figures. In response, the athletic data display configuration module 605 may configure and provide the user interface 1001 illustrated in FIG. 10. As seen in this figure, the user interface 1001 includes a “Set A Goal” button 1003 prompting the user to select a desired goal relating to his or her athletic activities.
When the user activates the “Set A Goal” button 1003, the athletic data display configuration module 605 will configure and provide the user interface 1101 shown in FIG. 11. As seen in this figure, the user interface 1101 includes a “More Often” button 1103, a “Distance” button 1105, a “Burn More Calories” button 1107, a “Faster” button 1109, and a “Back” button 1111. As known in the art, activating the “Back” button 1111 will cause the athletic data display configuration module 605 (or, with some examples of the invention, the athletic data display module 509) to configure and display the previously displayed configuration of the user interface 1101, or if the currently displayed configuration of the user interface 1101 is its initial configuration, a previously shown user interface.
If a user wishes to perform the athletic activity more often, then the user activates the “More Often” button 1103. In response, the athletic data display configuration module 605 reconfigures the user interface 1101 to include a sub-interface 1113. As seen in FIG. 11B, the sub-interface 1113 includes a “Number Of Runs” control 1115, a “Number Of Weeks” control 1117, and a “Set Goal” button 1119. By employing the “Number Of Runs” control 1115, a user can specify the number of runs (or the number of times to perform some other athletic activity, if appropriate) he or she wishes to make within a desired time period. Similarly, by employing the “Number Of Weeks” control 1117, a user can specify the number of weeks making up the desired time period allowed to reach the desired goal. In the illustrated example, the “Number Of Runs” control 1115 is a field control (i.e., having a field in which a value can be typed in) while the “Number Of Weeks” control 1117 is a radio control, but various examples of the invention may employ alternate types of controls as desired. Once a user has specified the number of runs that must be made and specified the time period in which they must be made to meet a desired goal, the user can finalize the goal parameters by activating the “Set Goal” button 1119.
Similarly, if a user wishes to run a longer distance in a given time period, then the user activates the “Distance” button 1105. In response, the athletic data display configuration module 605 reconfigures the user interface 1101 to include a sub-interface 1121. As seen in FIG. 11C, the sub-interface 1121 includes a “Total Distance” control 1123, a “Number Of Weeks” control 1125, and a “Set Goal” button 1127. By employing the “Total Distance” control 1123, a user can specify the total distance he or she wishes to run within a desired time period. Similarly, by employing the “Number Of Weeks” control 1125, a user can specify the number of weeks making up the desired time period allowed to reach the desired goal. In the illustrated example, the “Total Distance” control 1123 is a combination control, with both a field control (i.e., a field in which a value can be typed) and a drop down menu control (i.e., to allow the user to select the units in which the distance would be measure). The “Number Of Weeks” control 1125 illustrated in FIG. 11C then is a radio control. Various examples of the invention, however, may employ alternate types of controls as desired. Once a user has specified the number of runs that must be made and specified the time period in which they must be made to meet a desired goal, the user can finalize the goal parameters by activating the “Set Goal” button 1127.
If a user wishes to burn more calories during a particular time period, then the user activates the “Burn More Calories” button 1107. In response, the athletic data display configuration module 605 reconfigures the user interface 1101 to include a sub-interface 1129. As seen in FIG. 11D, the sub-interface 1129 includes a “Number Of Calories” control 1131, a “Number Of Weeks” control 1133, and a “Set Goal” button 1135. By employing the “Number Of Calories” control 1131, a user can specify the number of calories he or she wishes to burn within a desired time period. Similarly, by employing the “Number Of Weeks” control 1133, a user can specify the number of weeks making up the desired time period allowed to burn the desired number of calories. In the illustrated example, the “Number Of Calories” control 1131 is a field control (i.e., having a field in which a value can be typed in) while the “Number Of Weeks” control 1133 is a radio control, but various examples of the invention may employ alternate types of controls as desired. Once a user has specified the number of runs that must be made and specified the time period in which they must be made to meet a desired goal, the user can finalize the goal parameters by activating the “Set Goal” button 1135.
Lastly, if a user wishes to run faster for a desired number of runs, then the user activates the “Faster” button 1109. In response, the athletic data display configuration module 605 reconfigures the user interface 1101 to include a sub-interface 1137. As seen in FIG. 11E, the sub-interface 1137 includes an “Average Pace” control 1139, a “Number Of Runs” control 1141, and a “Set Goal” button 1143. By employing the “Average Pace” control 1139, a user can specify the minimum pace at which he or she wishes to travel for the desired number of runs. Similarly, by employing the “Number Of Runs” control 1141, a user can specify the number of runs for which the user wishes to run faster in order to reach the desired goal. In the illustrated example, the “Average Pace” control 1139 is a field control (i.e., having fields in which values can be typed) while the “Number Of Runs” control 1141 is a radio control, but various examples of the invention may employ alternate types of controls as desired. Once a user has specified the average pace and the number of runs for which he or she must run at or faster than the specified average pace to meet a desired goal, the user can finalize the goal parameters by activating the “Set Goal” button 1143.
After the user has specified a desired goal, the athletic data display configuration module 605 will monitor the athletic data collected by the athletic data collection module 505. When the user subsequently wishes to view his or her progress toward accomplishing the specified goals (by, e.g., selecting the “Goals” tab), then the athletic data display configuration module 605 will aggregate the relevant data from the collected athletic data set and configure a user interface graphically displaying the user's progress toward the specified goals. For example, with some implementations of the invention, the athletic data display configuration module 605 may configure a user interface displaying bar graph, such as the bar graph 1201 shown in FIG. 12. A portion of the bar graph corresponding to the user's progress is marked with fill 1203. Thus, in the illustrated example, the fill 1203 in the bar graph 1203 indicates that the user has accomplished more than 50% of the athletic activity required to complete his or her goal. Some implementations may simultaneously display a bar graph or other progress indicator for each goal set by the user. Still other implementations of the invention may provide controls to allow a user to select a single bar graph or other progress indicator for display in the user interface.
Display of Other User's Athletic Data
Challenges
Various examples of the invention may allow a user to “challenge” one or more other users (i.e., athletes employing embodiments of the invention) to a competition regarding athletic activities. With some implementations of the invention, for example, a user may issue a challenge to one or more other athletes by requesting the user interface 1301 shown in FIG. 13A. As seen in this figure, the interface 1301 includes a “Distance Race” button 1303, a “Most Miles” button 1305, a “Fastest Run” button 1307, a “Distance Goal” button 1309, and a “Back” button 1311. As known in the art, activating the “Back” button 1311 will cause the athletic data display configuration module 605 (or, with some examples of the invention, the athletic data display module 509) to configure and display the previously displayed configuration of the user interface 1301, or if the currently displayed configuration of the user interface 1301 is its initial configuration, a previously-shown user interface.
If a user wishes to establish a challenge regarding who can run a specified distance first, then the user activates the “Distance Race” button 1303. In response, the athletic data display configuration module 605 reconfigures the user interface 1301 to include a sub-interface 1313. As seen in FIG. 13B, the sub-interface 1313 includes a “Total Distance” control 1315, a “Challenge Name” control 1317, a “Start Date” control 1319, and a “Next Step” button 1321. By employing the “Total Distance” control 1315, a user can specify the total distance that a challenge participant must be the first to run in order to win the challenge. Next, the user can provide a specific name for the challenge using the “Challenge Name” control 1317. Naming each challenge allows an athlete to identify and keep track of a plurality of different challenges in which he or she may be concurrently participating. The user can then specify the starting date for the challenge using the “Start Date” control 1319. In the illustrated example, the “Total Distance” control 1315 and the “Challenge Name” control 1317 are each field controls (i.e., controls having a field in which a value can be typed), while the “Start Date” control 1319 is made up of a number of drop-down menus. It should be appreciated, however, that various examples of the invention may employ alternate types of controls as desired. Once a user has specified the parameters of the challenge, the user can begin the process of inviting specific athletes to participate in the challenge by activating the “Next Step” button 1321.
When the user activates the “Next Step” button 1321, the athletic data display configuration module 605 reconfigures the user interface 1301 to include a sub-interface 1323 in place of the “Distance Race” button 1303, as shown in FIG. 13C. As seen in this figure, the sub-interface 1323 includes a “Personal Message” control 1325, an “Email Address” control 1327, and a “Set Challenge” button 1329. The user can employ the “Personal Message” control 1325 to create a personal message to each athlete the user wishes to invite to participate in the challenge. Using the “Email Address” control 1327, the user can then specify the email address for each person he or she wishes to invite to participate in the challenge. In the illustrated example, the “Personal Message” control 1325 and the “Challenge Name” control 1317 are each field controls (i.e., controls having a field in which a value can be typed), but various examples of the invention may employ alternate types of controls as desired.
Once the user has provided the email address for each desired participant, the user can initiate the challenge by activating the “Set Challenge” button 1329. In response to the user activating the “Set Challenge” button 1329, the athletic data display configuration device 601 (or, with some implementations of the invention, the user's athletic information collection and display device 501) sends an email to each of the specified invitees. The email will contain the personal message and, e.g., an interactive prompt to join the challenge. If an invitee agrees to join the challenge by responding to the prompt, then the athletic data display configuration device 601 will be notified that the invitee has agreed to join the challenge. These types of email interactive prompts (such as the “voting” buttons provided in versions of the Outlook software tool available from Microsoft Corporation of Redmond, Wash.) are well known in the art, and will not be discussed here in detail.
After the athletic data display configuration device 601 has identified the participants in a challenge, it monitors the collected athletic data for each of the participants, and aggregates the relevant data values in the collected athletic data. For example, if the challenge is a race to determine who can be the first to run 100 miles, for each participant the athletic data display configuration device 601 will sum the total distance value in each athletic data set collected for that participant after the start date. When a participant has a sum of his or her total distance values that matches or exceeds the specified challenge distance (and is the first invitee to do so), then the athletic data display configuration device 601 will identify that participant as the winner of the challenge. In response, the athletic data display configuration device 601 will notify each participant of the winner. The athletic data display configuration device 601 may notify the participants using any desired technique, such as by sending an electronic mail message, by displaying a special-purpose interface when each participant connects to the athletic data display configuration device 601, etc. A variety of such notification techniques are well known in the art, and thus will not be discussed in detail.
With various examples of the invention, the athletic data display configuration device 601 may additionally provide updates regarding the status of a participant relative to the other participants. These updates also can be provided using any desired technique, such as by sending an electronic mail message, by displaying a special-purpose interface when each participant connects to the athletic data display configuration device 601, etc. For example, the athletic data display configuration device 601 may configure and provide a user interface showing each participant's progress toward the goal of the challenge using, e.g., bar graphs for each participant of the type previously described with regard to monitoring individual goals.
Returning now to FIG. 13A, if a user wishes to establish a challenge regarding who can run the most miles in a given period of time, then the user activates the “Most Miles” button 1305. In response, the athletic data display configuration module 605 reconfigures the user interface 1301 to include a sub-interface 1331, as seen in FIG. 13D. The sub-interface 1331 includes a “Challenge Duration” control 1333, a “Challenge Name” control 1335, a “Start Date” control 1337, and a “Next Step” button 1339. By employing the “Challenge Duration” control 1333, a user can specify the total amount of time for which a challenge participant has to run the greatest total distance in order to win the challenge. Next, the user can provide a specific name for the challenge using the “Challenge Name” control 1335. The user can then specify the starting date for the challenge using the “Start Date” control 1337. In the illustrated example, the “Challenge Duration” control 1333 and the “Challenge Name” control 1335 are each field controls (i.e., controls having a field in which a value can be typed), while the “Start Date” control 1337 is made up of a number of drop-down menus. It should be appreciated, however, that various examples of the invention may employ alternate types of controls as desired.
Once a user has specified the parameters of the challenge, the user can begin the process of inviting specific athletes to participate in the challenge by activating the “Next Step” button 1339. In response, the athletic data display configuration module 605 reconfigures the user interface 1301 to include the sub-interface 1323 in place of the “Most Miles” button 1305. (An example of sub-interface 1323 is illustrated in FIG. 13C.) As discussed in detail above, the user can employ the sub-interface 1323 to invite others to participate in the challenge, and ensure that the athletic data display configuration device 601 is informed of the participants in the challenge. As also previously discussed, the athletic data display configuration device 601 will monitor the collected athletic data for each participant, and aggregate the relevant data values from the collected athletic data to determine who wins the challenge. Still further, the athletic data display configuration device 601 can notify the participants of the winner of the challenge, and, with various examples of the invention, of the status of each participant during the challenge as described above.
If a user wishes to establish a challenge regarding who can make the fastest run in a given period of time, then the user activates the “Fastest Run” button 1307. In response, the athletic data display configuration module 605 reconfigures the user interface 1301 to include a sub-interface 1341 as seen in FIG. 13E. The sub-interface 1341 includes a “Total Distance” control 1343, a “Challenge Name” control 1345, a “Start Date” control 1347, and a “Next Step” button 1349. By employing the “Total Distance” control 1343, a user can specify the total distance a user must run in order to have his or her run time eligible to win the challenge. Next, the user can provide a specific name for the challenge using the “Challenge Name” control 1345. The user can then specify the starting date for the challenge using the “Start Date” control 1347. In the illustrated example, the “Total Distance” control 1343 and the “Challenge Name” control 1345 are each field controls (i.e., controls having a field in which a value can be typed), while the “Start Date” control 1347 is made up of a number of drop-down menus, but various examples of the invention may employ alternate types of controls as desired.
Once a user has specified the parameters of the challenge, the user can begin the process of inviting specific athletes to participate in the challenge by activating the “Next Step” button 1349. In response, the athletic data display configuration module 605 reconfigures the user interface 1301 to include a sub-interface 1323 in place of the “Fastest Run” button 1307. (An example of sub-interface 1323 is illustrated in FIG. 13C.) As discussed in detail above, the user can employ the sub-interface 1323 to invite others to participate in the challenge, and ensure that the athletic data display configuration device 601 is informed of the participants in the challenge. As also previously discussed, the athletic data display configuration device 601 will monitor the collected athletic data for each participant, and aggregate the relevant data values from the collected athletic data to determine who wins the challenge. Still further, the athletic data display configuration device 601 can notify the participants of the winner of the challenge, and, with various examples of the invention, of the status of each participant during the challenge as described above.
Lastly, if a user wishes to establish a challenge regarding who can run a specified distance in a given period of time, then the user activates the “Distance Goal” button 1309. In response, the athletic data display configuration module 605 reconfigures the user interface 1301 to include a sub-interface 1351. As seen in FIG. 13F, the sub-interface 1351 includes a “Total Distance” control 1353, a “Challenge Name” control 1355, a “Start Date” control 1357, and a “Next Step” button 1359. By employing the “Total Distance” control 1353, a user can specify the total distance a user must run over the specified time period in order to meet the challenge. Next, the user can provide a specific name for the challenge using the “Challenge Name” control 1355. The user can then specify the starting date for the challenge using the “Start Date” control 1357. In the illustrated example, the “Total Distance” control 1353 and the “Challenge Name” control 1355 are each field controls (i.e., controls having a field in which a value can be typed), while the “Start Date” control 1357 is made up of a number of drop-down menus, but various examples of the invention may employ alternate types of controls as desired.
Once a user has specified the parameters of the challenge, the user can begin the process of inviting specific athletes to participate in the challenge by activating the “Next Step” button 1359. In response, the athletic data display configuration module 605 reconfigures the user interface 1301 to include the sub-interface 1323 in place of the “Distance Goal” button 1309. (An example of sub-interface 1323 is illustrated in FIG. 13C.) As discussed in detail above, the user can employ the sub-interface 1323 to invite others to participate in the challenge, and ensure that the athletic data display configuration device 601 is informed of the participants in the challenge. As also previously discussed, the athletic data display configuration device 601 will monitor the collected athletic data for each participant, and aggregate the relevant data values from the collected athletic data to determine who wins the challenge. Still further, the athletic data display configuration device 601 can notify the participants of the winner of the challenge, and, with various examples of the invention, of the status of each participant during the challenge as described above.
Lists
As well as interactive comparisons of a user's athletic data with other users, such as the goals and challenges described in detail above, some implementations of the invention may alternately or additionally allow a user to passively compare his or her athletic data with other users. For example, some implementations of the invention may provide a ranking of where a user stands with respect to other users. The ranking may be based upon a simple comparison, or it may be limited to a specific demographic group, a particular geographic region, or some combination therefore.
For example, with some implementations of the invention, a user may request that the athletic data display configuration module 605 generate and display the user interface 1401 illustrated in FIG. 14A. As seen in this figure, the user interface 1401 includes a comparison criteria region 1403, a filter region 1405, and display region 1407. The comparison criteria region 1403 includes a plurality of “radio” style controls 1409, while the filter region 1405 includes a plurality of “drop-down” controls 1411-1413. The display region 1407 then displays user information based upon athletic data selected using the comparison and filter information selected using the controls 1409-1413.
More particularly, a user employs the “radio” style controls 1409 to specify the basic criteria according to which the athletic data display configuration module 605 will compare athletic data for a plurality of users. These controls 1409 are referred to herein as “radio” style controls because the selection of one of the controls (e.g., control 1409C) will automatically deselect a previously selected control, and only one control may be selected at any given time. Of course, it should be appreciated that other type of selection tools, including other types of controls, may be alternately or additionally employed with other implementations of the invention. Each control 1409 is associated with both a sorting criterion for sorting measured athletic data and a time criterion specifying a time period during which the athletic data being compared must have been measured. For example, each of controls 1409A-1409C is associated with total distance as a sorting criterion, while control 1409A is associated with a week time period, control 1409B is associated with a month time period, and control 1409C is associated with an unlimited time period. Control 1409D is then associated with a duration sorting criterion and a week time period.
With the example of the interface 1401 shown in FIG. 14A, each of the filter controls 1411-1415 are selected to “ALL,” as will be discussed in more detail below. Further, the control 1409A is selected. Because the control 1409A is associated with the “distance” sorting criterion and the “week” time criterion, the athletic data display configuration module 605 will sort the aggregated distance data for participating users that was measured during the preceding week. It then lists the names of the participating users having the ten highest aggregated distance data values in the filter region 1405. In addition, the athletic data display configuration module 605 will display in the aggregated distance data values measured during the preceding week for each of the identified participating users. Still further, the athletic data display configuration module 605 will display the user's corresponding aggregated distance measured for the preceding week. With some implementations of the invention, the athletic data display configuration module 605 also may display the ranking of the user's corresponding aggregated distance information measured for the preceding week relative to those participating users having a greater aggregated distance measured for the preceding week. Thus, in the illustrated example, the user “Rauchholz” has a ranking of 2932 relative to other participating users.
With some implementations of the invention, the participating users will be any user who provides athletic data to the athletic data storage 607 (or to an affiliated athletic data storage). For still other implementations of the invention, however, the participating users may be a subset of the all of the users who provide athletic data to the athletic data storage 607 or to an affiliated athletic data storage. For example, the participating users may be only those users who agree in advance to have their data shared with other users, or those users who do not specifically indicate that they wish for their athletic data to be private. Of course, still other criteria may be used to determine which users will be treated as participating users.
FIG. 14B illustrates another example of the interface 1401. Again, each of the filter controls 1411-1415 are selected to “ALL.” Further, the control 1409E is selected, which is associated with the “duration” sorting criterion and the “month” time criterion. Accordingly, the athletic data display configuration module 605 will sort the aggregated running (or walking) duration data for participating users that was measured during the preceding month. It then lists the names of the participating users having the ten highest aggregated duration data values in the filter region 1405. In addition, the athletic data display configuration module 605 will display in the aggregated duration data values measured during the preceding month for each of the identified participating users. Still further, the athletic data display configuration module 605 will display the user's corresponding aggregated duration data measured for the preceding month. Again, the athletic data display configuration module 605 also displays the ranking of the user's corresponding aggregated duration data measured for the preceding month relative to those participating users having a greater aggregated duration value measured for the preceding month. Thus, in the illustrated example, the user “Rauchholz” has a ranking of 28636 relative to other participating users.
FIG. 14C illustrates yet another example of the interface 1401. Again, each of the filter controls 1411-1415 are selected to “ALL.” Further, the control 14091 is selected, which is associated with the “fastest 5 k” sorting criterion and the “ever” time criterion. Accordingly, the athletic data display configuration module 605 will identify and display the participating users with the ten fastest travel times for a 5 k run that was measured at any time preceding the user's selection of the control 14091. In addition, the athletic data display configuration module 605 will display in the fastest 5 k time value for each of the identified participating users. Still further, the athletic data display configuration module 605 will display the user's fastest measured time for a 5 k run, together with a ranking of that time relative to those participating users having a faster measured time for a 5 k run. Thus, in the illustrated example, the user “Rauchholz” has a ranking of 40822 relative to other participating users.
In some situations, a user may wish to limit the pool of participating users to whom the user will be compared. As previously noted, the filter region 1405 includes filter controls 1411-1415. These filter controls may be employed to limit the participating users that will be considered for a desired comparison. For example, as illustrated in FIG. 14D, a user can employ the filter control 1411 to select between including all participating users for comparison, only male participating users for comparison, or only female participating users for comparison. Similarly, as shown in FIG. 14E, a user can employ filter control 1413 to limit the comparison to only those participating users within a desired age group. Still further, as shown in FIG. 14F, a user can employ the filter control 1415 to limit the comparison to participating users within a geographic region.
It should be appreciated that, with some implementations of the invention, a user can employ each of the filters 1411-1415 simultaneously. For example, a user may employ the filter controls 1411-1415 to limit the participating users considered for comparison with the users's athletic data to only men between the ages of 40-44 residing in the United States. The information required to filter the participating users may be obtained from any available source. Conveniently, however, the information may be obtained by requesting the users to submit this information for a user profile during an initial registration process. Of course, while three specific filtering criteria have been disclosed, it should be appreciated that any desired type and/or combination of characteristics be employed as filters.
Other Features
Record of Achievements
As discussed in detail above, various implementations of the invention may provide positive reinforcement to an athlete. For example, as discussed above, a user can employ various embodiments of the invention to set goals for himself or herself, and then track his or her progress toward attaining those goals. Similarly, a user may employ various embodiments of the invention to participate in a challenge. Once the goal is completed or the challenge is won, however, these achievements may be forgotten and thus not provide the user with any further positive reinforcement.
Accordingly, some implementations of the invention may provide a feature for memorializing a user's various athletic achievements. For example, with some embodiments of the invention, the athletic data display configuration module 605 may provide a user interface, such as the user interface 1501 shown in FIG. 15, for displaying athletic achievements recorded for a user. As seen in this figure, the user interface 1501 includes a “goal” region 1503, a “challenges” region 1505, an “events” region 1507, and a “milestones” region 1509. Each of these regions can be used to display an icon representing a user's previous achievement.
For example, if a user sets and then subsequently meets a goal, the achievement of this goal will be recorded by the athletic data display configuration module 605. In response, the athletic data display configuration module 605 will display an icon, such as a representation of a medal, graphically commemorating that achievement. Similarly, if the user wins a challenge, that achievement will be recorded by the athletic data display configuration module 605. In response, the athletic data display configuration module 605 will display an icon, such as a representation of a trophy, graphically commemorating that achievement.
Still further, a user may participate in an event associated with one or more implementations of the invention. For example, a race sponsor, such as a marathon race sponsor, may affiliate itself with embodiments of the invention. If a user runs in the race, completes the race, or places in the race, then the athletic data display configuration module 605 may record that achievement. In response, the athletic data display configuration module 605 will display an icon, such as a representation of a racing bib, graphically commemorating that achievement. The athletic data display configuration module 605 may employ any desired technique to record the user's participation in the race. For example, the race sponsor may physically monitor the user's participation, and subsequently update the athletic data storage 607 directly. Alternately, the user may update the athletic data storage 607 on an honor system basis.
Of course, still more sophisticated techniques can be used to have the athletic data display configuration module 605 record the user's achievement. For example, the race sponsor or a third party may provide the user with an electronic recording device that records the user's progress through the race. The user can then download the data from the electronic recording device to the athletic data storage 607 or to the athletic data display configuration module 605. With some implementations of the invention, the electronic interface device 205 or the athletic parameter measurement device 207 may even be used to record the user's progress through the race, and to subsequently download the data from the electronic recording device to the athletic data storage 607 or to the athletic data display configuration module 605.
Still further, a user may have still other milestones associated with his or her athletic performance. For example, a user may run achieve a relatively large total distance, such as 100 kilometers, 100 miles, 250 kilometers, 250 miles, etc., run at a particularly fast speed, such as a mile in less than five minutes, or run for a relatively large total duration, such as 1000 hours. In response, the athletic data display configuration module 605 may record that milestone achievement, and then display an icon, such as a representation of an award ribbon, graphically commemorating that achievement.
In this manner, various implementations of the invention can memorialize a user's past achievements to provide the user with positive feedback to inspire future athletic performance. Of course, some implementations of the invention may memorialize alternate or additional achievements.
Resolutions
Some implementations of the invention may assist a user in resolving to achieve a specific athletic achievement, and then keep that resolution. For example, various embodiments of the invention may provide a user interface like the user interface 1601 illustrated in FIG. 16. As seen in this figure, the interface 1601 provides a resolution statement 1603 with an achievement field 1605 and a consequence field 1607. The user interface also includes a submission button 1609. When a user wishes to make a resolution, he or she can insert the desired achievement goal (such as a distance) into the achievement field 1605, and some task or other action that will occur if the user does not meet the stated achievement in the consequence field 1607. Once the user has completed the information in the achievement field 1605 and the consequence field 1607, then the user actives the submission button 1609 to submit the resolution information to the athletic data display configuration module 605.
After receiving the resolution information, the athletic data display configuration module 605 will monitor the user's athletic activity to determine whether the user has complied with his or her resolution. If the athletic data display configuration module 605 determines that the user has met the stated resolution, then the athletic data display configuration module 605 may provide some type of positive feedback to the user. For example, the athletic data display configuration module 605 may send the user an electronic mail message congratulating the user on keeping his or her resolution. Alternately or additionally, the athletic data display configuration module 605 may memorialize the achievement as described above. If, however, the user does not meet the stated resolution, then the athletic data display configuration module 605 may encourage the user to perform the specified task or action. The athletic data display configuration module 605 may, for example, send an electronic mail message to the user to remind the user of his or her resolution. Of course, various implementations of the invention may perform alternate or additional actions to encourage the user to perform the specified task or action.
FIG. 30 illustrates an alternate user interface to assist a user or athlete in achieving goals based on making an official resolution as described with reference to FIG. 16. For example, a user or athlete may further be able to post a resolution video 3010 personally setting forth their resolution. The resolution video 3010 may be accompanied by a resolution statement 3020. After providing either the resolution video 3010, the resolution statement, or both, the user or athlete may submit their resolution, and any details related thereto as described above with reference to FIG. 16.
Mapping
As users or athletes such as runners utilize the systems of embodiments of the present invention to collect information, a user interface of an embodiment may provide additional features and functionality for athletes to use and share information relating to their physical activity. In one exemplary form of the invention, athletic information is displayed on a user interface 1700 as described in greater detail below with reference to FIGS. 18-33
For example, FIGS. 17-21 generally illustrate a mapping utility 1800 feature of the user interface 1700 of an embodiment. An athlete such as a runner can plan and create a running route according to a certain geographic area and a desired distance. For example, in FIG. 18, route prompt 1810 may allow a user to input a particular location for planning a route. The location may be, for example, a zip code, a city, state, country, or combination thereof. Based on the location inputted, the mapping utility 1800 may then display a map of the general location. The mapping utility may provide zoom and/or pan capability within the map, for example with zoom bar 1840.
The route prompt 1810 may allow the athlete to search for existing or previously submitted routes, for example, by other mapping utility 1800 users or athletes. The map may display route bubbles or labels, such as route bubble 1850 indicating a 5.35 mile run, in response to the search. Additional route bubble or label 1860, for example, indicates that multiple routes are available in the area. An athlete may select route bubble or label 1860 to view additional details about the individual routes it represents. An athlete may further utilize the route prompt 1810 to draw their own route, for example by selecting or drawing a route on the map with mouse or keyboard inputs. The mapping utility may also display the total distance of the route as the athlete draws and/or at the conclusion of the route drawing so that the athlete may generate a route representing their desired location and length.
In particular for geographic locations, such as within a large metropolitan area, there may be a substantial number of available routes. To help an athlete select routes with particular lengths, the mapping utility may include a distance filter 1820. In an embodiment, an athlete may select routes greater than a selected distance, shorter than a selected distance, or within a range of two selected distances. Further, an athlete may search for routes with keyword or username filter 1830. In particular for routes posted by individual users, as will be discussed more fully below, an athlete may search for routes submitted or posted by one or more individual users as identified by their username.
FIG. 19 illustrates the detail of route 1900 once it has been drawn or selected by the athlete. The route 1900 may be illustrated as one or more highlighted portions of streets, roads, paths, and the like. Distance bubble or label 1910 displays the total distance of the route, in an embodiment with a resolution of 0.01 miles so that an athlete knows the distance of their route with substantial certainty. The athlete may also select details 1940 to display details of the selected or current route and may view a rating 1930 for the run. To select an alternate route, the athlete may select show all routes 1920 to display additional routes, for example as illustrated by FIG. 18.
FIG. 20 illustrates the details of a selected or drawn route 1900. Route details 2000, may, for example, display a name for the route, the distance of the route, the general shape of the route, a narrative description of the route, and the username of the athlete who provided the route. Further information may include the rating of the route (i.e., the same as displayed by rating 1930). The rating of an embodiment may be a cumulative rating calculated as an average rating of those provided by athletes who have provided a rating or comment on the route. The details window of an embodiment may further provide the username and time for the athlete who has completed the route the fastest.
In an embodiment, options selection 2010 is displayed within the route details 2000. In particular for routes that have been specified by an individual athlete, the athlete may utilize option selection 2010 to assign the run, to share the run with one or more athletes (including making the route public for all mapping utility 1800 users to view), to create and/or edit details for the route, to create a challenge for the route, and to remove the route from a list of routes associated with the individual athlete.
FIGS. 31-33 illustrate additional features provided by the mapping utility 1800 of user interface 1700. For example, users can post icons representing their favorite places, routes, or challenges on map 3100. Further, a user may associate photos (e.g., as illustrated by FIG. 32), videos, or other information such as weather (e.g., as illustrated by FIG. 33) with their favorite places, routes, or challenges. The icon design may be controlled by the users.
Rewards and Clubs
FIGS. 21-25 illustrate additional features of the invention relating a user profile displayed on the user interface 1700. It is understood that a runner can become a registered user with the user interface 1700 wherein athletic data associated with the registered user is regularly uploaded and maintained on the user interface 1700. For example, the user interface 1700 may be designed to provide certain rewards upon the registered user achieving certain milestones programmed into the user interface 1700 or provided by the user themselves. For example, when a runner runs a total of a predetermined number of miles, the runner may be entered into a club or association with other users or athletes who have achieved the same goal of running the predetermined number of miles. For example, a runner or athlete may run 500 miles at which point they become a member of the 500 Mile Club and are given certain recognition such as shown by reward 2100 of FIG. 21. The runner may further be able print a certificate representing their achievement from the user interface 1700, brag to friends about their achievement, or visit exclusive areas of the user interface 1700 based on their achievement. The printed certificate may in an embodiment include a signature of a famous celebrity or athlete, further contributing to the motivation a runner or athlete may have to reach one or more milestones. Additional rewards 2100 may include emails containing video or audio messages by a famous celebrity or athlete and sent to the runner or athlete.
In an embodiment, additional clubs and/or rewards may be provided for increasing distances, such as the 1000 Mile Club and the 1500 Mile Club etc. FIG. 22 for example illustrates mile club 2200. Mile club 2200 will allow members of that club to review other members of the club and new members as admitted. For example, new members 2210 may be listed by their usernames, avatars, total distance run, and date that they became members of the mile club 2200. In an alternate screen, mile club 2300 may display the entire group of existing mile club members 2310 including their usernames, avatars, mile club of which they are a member (e.g., 100 miles, 200 miles, 500 miles, 1000 miles, and the like), and the date they became mile club 2300.
In an embodiment, exclusive challenges may be issued to and among mile club members for further fitness motivation. The exclusive challenges may be issued by individual group members (e.g., a challenge issued by a 500 mile club member to existing members who have already run 450 miles or more to encourage their progression to another mile club status or category) or globally by the user interface 1700 to one, multiple, or all group members based on one or more selection criteria. For example, challenge 2400 illustrates a challenge among multiple users. Challenge details 2410 may display details for a particular challenge participant, such as their home town, distance of their last run, total distance run, comments, and the ability to invite additional participants to the challenge. Further, dialogue prompt 2420 may allow participants to “trash talk” or otherwise submit motivational or encouraging text to the challenge participants. FIG. 25 illustrates challenge 2500 in which a user may provide a picture, video, text, or other content to offer a challenge to additional participants.
Further, special merchandise such as apparel and digital music downloads may also be exclusively provided to those athletes reaching set milestones and becoming mile club members. The user interface 1700 may also provide a forum for discussion among members. In addition, a member of the club can view the hierarchy of the mile club members based on, for example, total distance ran. This may provide additional motivation to members to log additional running miles to climb in the rankings while at the same time improving fitness levels.
Also, certain colors or color schemes can be associated with each milestone or club membership wherein only a person in the club has the particular color or color scheme associated with the user's personal page of the user interface 1700. The color could be included in the background of the particular webpage or some other color indicia indicating a milestone being met by the user.
Organizations
FIGS. 26-28 disclose additional features of the user interface 1700 of an embodiment of the present invention. As shown in FIG. 26, the user interface 1700 may provide an organization interface 2600. For example, corporate entities, schools, and other organizations 2620 may collect and post information regarding individual runners associated with those entities. The entities 2620 could vary but could also include gyms, fitness clubs, and colleges. An entity 2620 can issue a public challenge 2610 such as participation in a marathon event for which the user interface 1700 may facilitate or promote the public challenge 2610. Further, user interface 1700 may facilitate the creation and moderation of leagues and tournaments between and among the entities 2620.
FIG. 27 illustrates details and tools associated with a challenge, league, or tournament between or among entities 2620. For example, the organization interface 2600 embodiment of user interface 1700 may provide a pledge tool 2700 to allow members of the organizations or entities 2620 to donate to charity based on total miles run. As further illustrated by FIG. 27, the user interface 1700 may provide additional information to users regarding running and fitness activity, for example frequently asked questions (“FAQ”) 2710 and user forum 2720. Further, athlete showcase 2740 may showcase or highlight certain users of the user interface 1700. Similarly, challenge showcase 2760 may showcase or highlight recent or particularly interesting challenges. Tips 2750 may provide and training advice, tips, and hints to users as well. Finally, headlines 2730 may provide additional global information of any variety to the users.
FIG. 28 illustrates that the user interface 1700 may also be provided with functionality related to personal trainers, coaches, team leaders and the like to their respective entities 2620 (e.g., students, players, teammates, organizational coworkers, and the like). For example, user interface 1700 may collect, compile, and display athletic data 2810 for a plurality of students, players, teammates, or organizational coworkers. A personal trainer, coach, or team leader may provide a comment 2830 to one or more students, players, teammates, or organizational coworkers. For example, the personal trainer, coach, or team leader can review the athletic data 2810 and offer encouragement to those students, players, teammates, or organizational coworkers who are lagging behind the others. Forums can also be set up for additional discussions.
Personal Web Page
FIG. 29 illustrates that any information described above with reference to a user, athlete, runner, and the like, may be provided to that user, athlete, or runner to include on or post within their own web page. For example, a user, athlete, or runner may include a blog 2900 in their web page or social networking page. Blog 2900 may include the user's location or hometown, details of their most recent run, comments, pictures, videos, and the ability for blog 2900 viewers to post feedback. Though described with reference blog 2900, it is to be understood that any athletic information described herein may be provided to the user, athlete, or runner as part of their personal web page or social network page.
Training Regimen Generator
FIG. 34 illustrates a running regimen generator interface 3400 through which an athlete may specify training parameters and request an automatically generated schedule in accordance with those parameters. For example, interface 3400 provides an athlete with the ability to define factors such as distance 3405, attribute to be developed 3410 and intensity level 3415. Each of factors 3405, 3410 and 3415 may be adjusted or defined using a slider bar, for example. Other control elements that may be used to define these parameters 3405, 3410 and 3415 include drop down menus, radio buttons and/or combinations thereof. The current setting of each of parameters 3405, 3410 and 3415 may be displayed next to position indicators 3420, 3425 and 3430. For example, distance parameters 3405 may indicate that the athlete has selected a 34 minute run while skill parameter 3410 indicates the workout focus near indicator 3425. The workout focus may specify endurance, interval (i.e., a mix of endurance and speed) and speed. Further, a 75% intensity level is indicated near position indicator 3430. Other parameters may also be used for automatic creation and customization of a workout including age, weight, types of athletic activity (to create combination workouts involving multiple types of athletic activity), resting heart rate, time of day and intended workout goal (e.g., fat burn vs. cardio). Aspects of the running regimen generator interface 3400 may similarly be used to generate other types of athletic activity training programs and schedules.
In addition to the parameters 3405, 3410 and 3415 described above, a user may further select a particular coach or athlete with which to train using drop-down menu 3430. For example, if a user selects a well known athlete (e.g., a celebrity) as the coach or training athlete, the training generator module may create a training regimen that simulates one which the well known athlete would perform or has performed. Training information for the selected athlete and other celebrities or athletes may be accessed from a remote database, for example. The selected athlete's training program may be modified based on parameters 3405, 3410 and 3415 specified by the user. If a user has selected 50% intensity, for instance, a selected athlete's training program may be decreased by 50% run speed or other corresponding intensity activity attribute (e.g., weight if the training includes weightlifting or steps per minute if the training includes an elliptical machine). Additionally, if the athlete has indicated he or she would like to concentrate on endurance, the selected athlete's training program may be lowered in intensity while increased in duration. Once the one or more of parameters 3405, 3410, 3415 and 3430 have been defined, the user may select the create workout option 3445 to have the training generator module automatically create a customized workout in accordance with the defined parameters.
Interface 3400 may include a training schedule graph 3435 to illustrate the user's customized workout in addition to an estimate of a number of calories that will be burned through the customized workout in display area 3440. In one or more arrangements the estimated number of calories burned provided in display area 3440 may be determined or generated based on the training parameters 3405, 3410, 3415 and 3430 defined. For example, the system may calculate an estimated number of calories that will be burned for a 30 minute interval run at 75% intensity. In another example, the system may calculate the estimated calorie burn based on a music parameter, song or music playlist selection. For example, the system may determine, based on previous workouts, that the user typically exceeds a specific goal or target number of calories (e.g., an expected number of calories burned determined based on only the non-music training parameters specified) whenever a particular song, type of song, artist, genre, etc. is played. Accordingly, the system may increase the estimated number of calories burned for that segment of the workout based on an average number of calories burned during the song (e.g., based on a workout history), an average percentage by which a target number of calories is exceeded and the like and the like.
Additionally or alternatively, Training schedule graph 3435 is presented as a chart of time vs. speed and thus provides a visual representation of the athletes created workout. If the user wishes to change the workout, the user may do so by modifying parameters 3405, 3410 and 3415. Alternatively or additionally, a user may manually adjust specific portions of the workout by adjusting the speed levels, for example, for a specific interval of time. Graph 3435 may be illustrated in terms of other or additional parameters. For example, a chart of speed vs. time vs. calories may be displayed in a three dimensional graph. Colors of the graph may be indicative of intensity. Accordingly, higher speeds may be indicated by red or bright colors while lower speeds may be represented by black or darker colors. In one or more arrangements, hovering or otherwise interacting with one of the bars in graph 3435 may result in the generation of a pop-up window displaying details about that segment of the workout.
Allowing an athlete to customize their workout may increase the investment and dedication the athlete feels towards exercising. Additionally, giving the athlete such control over their workout allows the athlete to generate a workout that is commensurate with their own estimation of the athlete's athletic ability. Oftentimes, an athlete may be overwhelmed by generic workouts that are directed to moderately fit or athletic individuals. In one or more configurations, a user may be able to specify an amount of calories that he or she wishes to burn by entering the value in calories burned display area 3440. Other parameters 3405, 3410 and 3415 may be automatically adjusted to reach the burned calories goal. For example, the duration of the workout may be increased or decreased.
FIG. 35 illustrates a workout interface 3500 displaying a generated workout created based on user specified parameters such as those displayed in interface 3400 (FIG. 34). For example, interface 3500 may display a 40 minute workout of moderate intensity (55%) that is focused on endurance rather than speed. Interface 3500 further indicates that the workout is based on a selection of a particular athlete such as a famous or well-known athlete or coach with which the user would like to train.
FIG. 36 illustrates the same workout as FIG. 35; however, in FIG. 36, the training program graph 3535 includes a pop-up window 3650 displaying details of a song that will be played during a particular segment of the workout. Music incorporation via a music selection module will be described in greater detail below.
FIG. 37 illustrates a workout interface 3700 according to another embodiment. Workout interface 3700 shows workout regimen 3705 along with selected songs 3710 to be played during the workout.
FIG. 38 illustrates a workout that is shorter in distance (22 minutes vs. the 40 minutes shown in FIGS. 35-37). The workout is also more focused on speed and at a higher intensity. As compared to the workout illustrated in FIG. 35, the workout of FIG. 38 is estimated to burn less calories.
FIG. 39 illustrates an interface 3900 in which different options may be provided (in contrast to interface 3400 of FIG. 34 and interface 3500 of FIG. 35). For example, interface 3900 might not include a parameter for selecting speed vs. endurance, but may include an option 3905 to add coaching. In one example of coaching, several voice recordings may be downloaded to a workout device (e.g., a music player, workout machine) and played during the user's workout to provide additional motivation. If the athlete is slowing down, the device may play a voice recording that says “Don't slow down now! You are almost there!” or similar encouraging/motivational remarks. Alternatively, the voice recordings may provide remarks of congratulations or positive reinforcement such as “Great job!” or “You are really moving!” In addition or as an alternative to voice recordings, the device may have speech generation hardware, software and/or firmware to produce speech based on text. Coaching may also be used to modify or recommend a training regimen based on a user's current or past performance.
FIG. 40 illustrates another embodiment of a workout regimen generation interface 4000 that may be used to specify workout preferences. Interface 4000 may include parameters for specifying a desired workout length 4003a, number of calories burned 4003b, pace 4003c, pace fluctuations 4003d, mood/level of energy 4003e and type of music 4003f. Specifically, pace 4003c may define the speed of the workout while pace fluctuations 4003d may be used to define whether the pace will fluctuate (e.g., intervals) over the workout. Fluctuations may require further endurance or strength and thus may help burn more calories. Mood/level of energy 4003e may be used to help the regimen generation system determine a difficulty of the workout to create. For example, if an athlete is not feeling as motivated, the workout may be less strenuous. If, on the other hand, the athlete is upbeat and has a lot of energy, the workout regiment generation system may take advantage of the energy by creating a more difficult workout for the user. Additionally or alternatively, the mood/level of energy 4003e may be used to determine the type of music to be associated with the workout, as described in further detail herein.
FIG. 41 illustrates yet another embodiment of an interface 4100 that may be used to define workout preferences. For example, regimen creation parameters 4105 may include workout intensity 4105a, speed vs. distance option 4105b, calories vs. relaxation option 4105c, strength vs. recovery option 4105d and a music selection manner option 4105e. Each of options 4105 may be controlled via a slider bar that may be moved to various positions between each extreme. In one example, a user may specify that he or she would like a workout that focuses 50% on distance and 50% on speed. Similarly, if a user would like to focus on calorie burning, a slider may be positioned closer to the calorie burning side of option 4105c. Additionally or alternatively, a user may select a type of coach with which to generate the workout. Coaching types may include a strict coach such as a taskmaster 4110a or a coach with a more relaxed attitude such as zen master 4110b. If a user does not wish to have coaching, the user may select option 4110c. 
In interface 4100, an athlete may further select a training focus. For example, a user may focus his or her training on beginning athletic activity 4115a, running a 5K 4115b, running a 10K 4115c, running a half-marathon 4115d, running a marathon 4115e and/or maintaining a current fitness level 4115f. A current fitness level may be determined from stored workout data. Training regimens for running a specified distance may include running workout of progressively increasing distance and/or speed. If a user would like to choose a pre-made workout, he or she may select featured workout option 4120 and select one of pre-generated workouts 4125. Option 4105e for choosing a manner of selecting music to accompany the workout may be provided, as discussed in further detail with respect to music playlist generation. Once the desired options have been selected, a recommended or proposed workout 4130 may be displayed in chart form.
Additionally, in each of the interfaces illustrated in FIGS. 35-40, a user may choose to name and save their workout by entering a desired name in a text box such as text box 3510 of FIG. 35. Interfaces may further include various music selection parameters as is discussed in greater detail below.
FIG. 42 illustrates a recommended workout summary 4200 displaying a planned workout graph 4205 charting time versus speed. Workout information 4210 may be displayed in textual form to provide a summary of various workout attributes such as duration, calories, pace, workout type, mood, genre of music and the like. The workout may be structured to provide coaching segments and music selections at various parts of the workout. The coaching segments and music selections may alternate, be in combined form, be in random order or any other arrangement. The workout may be named using option 4215 and/or saved using option 4220. Once saved, the workout may further be streamed to an athletic workout device such as a music player or a performance monitoring device (e.g., a pedometer, etc.)
FIG. 43 illustrates an interface 4300 after a user has performed a workout. Various portions 4305 of workout 4301 may be highlighted (e.g., by a different color) to indicate portions of the workout that the user may improve. Coaching or recommendation tips 4310 may be displayed to help the user achieve better results. Different recommendations or suggestions 4310 may be provided for the different highlighted portions 4305. The user may further be provided options 4320 and 4325 to program a workout (e.g., a new workout) or to post comments or a report about the completed workout, respectively.
FIG. 44 illustrates a graph of a customized workout graph charting pace versus time. Music bar 4405 may display a plurality of demarcations indicating the beginning of songs in a music playlist generated for the customized workout. Accordingly, songs may be mapped to various portions of workout 4401. The mapping may be performed randomly or may be determined according to various rules, as described herein.
Music Playlist Selection and Generation
The training schedule produced by the training generator module described herein may be accompanied by a music selection module that generates a playlist of music to be played during the customized workout. FIG. 34 illustrates interface 3400 wherein a user may select various music selection parameters including song or artist entry form 3460, station selection menu 3465, music source option 3470 and recommend music option 3475. Song/artist entry block 3460 provides a way for an athlete to identify a particular song or artist that the athlete likes. Upon entry of a song in form 3460, for example, the music generator module may add the selected song and music thereto to a playlist for playing during the corresponding workout. Alternatively, if an artist is entered in form 3460, the music generator may identify and select songs by that artist and/or songs by similar artists.
Similarity of songs or artists may be determined based on music purchase and selection activity of other users. Thus, if users who purchase songs by a first artist also generally purchase songs by a second artist, an athlete who specifies the first artist as a desired artist or a song by the first artist as a desired song, the second artist's songs might also be identified and selected by the music selection module due to a presumed similarity. Similarity might also be determined using other methods such as by comparing tempo (e.g., beats per minute), melody, tone and the like. Song selections may also be determined by the module that may be motivating in nature or motivating in particular for the particular athlete. Additionally, song selection may be performed on the fly (e.g., during the workout in which the songs are to be played) or prior to a workout. For example, songs may be selected on the fly by selecting a song from a user's library (or a remote library) 30 seconds prior to the end of a currently playing song.
Station selection menu 3465 allows a user to select a live music station as a music source for his or her workout. The live music station may be an over-the-air (OTA) broadcast or, alternatively or additionally, a streaming music station provided over a network such as the Internet. Music source option 3470, on the other hand, may be used to identify a specific source for selecting music. For example, the athlete may indicate that he wishes to have music pulled (i.e., selected) from his or her personal library by selection option 3470. The personal library or other music source may be housed in a local database (e.g., a local hard drive) or on a remote network site or both. In one arrangement, a local music library may interface with a workout and music playlist generation system by using application protocols to notify the system of available music in the library. The application protocols may be provided by the workout regimen and playlist generation system to an application managing the music library.
As discussed, interface 3400 may also include coach selection option 3430. In addition or as an alternative to creating a workout similar to the selected coach, coach selection option 3430 may also be used to generate a music playlist that is the same as or similar to a playlist the selected coach would use for training. For example, the music selection module may identify songs that the selected coach would listen to for generating a training playlist. Music recommendation option 3475 may be used to identify songs that the system believes the user would like based on his or her music library, selected songs, frequently played song list and the like. A frequently played song list may include songs that are most frequently played during workouts (rather than in general). The system may recommend music based on similarity (as discussed herein), similar purchases, cost, tempo, genre, time period, country of origin among other factors. Once the above options for music playlist generation have been configured, the user may select create workout option 3445.
After a workout has been created and an associated music playlist has been generated, interface 3500 of FIG. 35 may include a training schedule graph 3535 that illustrates the user's workout. In conjunction with graph 3535, interface 3500 may include a music schedule timeline 3575 that is configured to display the beginning of each song in the playlist. For example, timeline 3575 displays each song as a tick mark 3580 that is aligned with the corresponding portion of the training regimen during which the song will be played. Hovering over or otherwise interacting with one of tick marks 3580 may cause a pop-up window such as pop-up window 3650 of FIG. 36 and/or window 4505 of FIG. 45 to be generated and displayed. The pop-up window 3650 may provide details for the song corresponding to that particular tick mark. In some arrangements, pop-up window 3650 may be editable, allowing a user to change the song associated with that tick mark and portion of the training regimen.
FIG. 45 illustrates a workout and music playlist generation interface 4500 in which a song edit box 4505 is displayed for a selected song. The user may specify whether the user likes or dislikes the song, whether to recommend a new song for this slot or whether the song should be replaced with a user-selected song. A read my mind option 4510 may be included to allow the music playlist system to make a best guess at the user's feelings (e.g., degree of like or dislike) about the song. The guess may be made based on previous user actions such as a user replacement of a particular type of song, user indication that he or she dislikes a particular genre of music, user addition of music having a particular tempo and the like. In one or more arrangements, the generation interface 4500 may include an option to replace with a preselected song (or a song from a user's library) and/or a recommend option that asks the system to recommend another song. The recommendation may be based on music or other audio content to which the user has historically performed well (e.g., met or exceeded expectations) or other parameters as discussed herein.
The music schedule and the music playlist may also be modified in view of the change in songs. For example, if the new song is shorter than the replaced song, songs that were scheduled to be played after the replaced song may be shifted forward in time to insure that there are no gaps. Alternatively or additionally, other songs in the original playlist may be changed to maximize coverage of the training regimen. That is, songs may be chosen to substantially fill up the duration of the training regimen if the new song modifies duration of the playlist.
FIG. 40 illustrates options 4003e and 4003f for defining song selection parameters. The music playlist generation system may use the mood 4003e of the user and the genre of music 4003f to select songs from a library or from other sources. If the user is feeling mellow, the system may select slower paced songs. If, on the other hand, the user is feeling upbeat, the system may select faster paced (e.g., more beats per minute) songs. Interface 4000 also allows the user to select a single source or multiple sources for music. For example, a user may select option 4010a to have the playlist generation system pull music from a library and/or option 4010b to have songs pulled from a radio source or playlist.
Referring to FIG. 41, a user may further select a pre-generated workout such as one of workouts 4125. The pre-generated workouts 4125 may have pre-selected/generated playlist associated with the workout regimen. The pre-generated workouts 4125 and corresponding playlists may be generated by other users, celebrity trainers/athletes, and/or coaches. The pre-generated workouts 4125 and/or playlists may be retrieved from a database of workouts stored in a network server or may be obtained from a local storage. Additionally or alternatively, a user may select one or more genres 4130 of music that the user wishes to hear during his or her workout. One of genre options 4130 may include a singer/songwriter option that allows a user to pick a particular singer or songwriter rather than or in addition to a genre of music.
Alternatively or additionally, a type of coach selected may affect the type of music selected for a workout playlist. For example, if a user selects a taskmaster type 4110a of coach, the music may have faster beats and louder in volume. If a user selects a zenmaster (i.e., calmer) type 4110b of coach, the music playlist generation system may select songs that are slower and softer.
A selected or generated workout regimen may be displayed immediately in portion 4135 to allow the user to preview the generated workout and music playlist prior to accepting the workout. A user may further modify specific portions of the workout independently of other portions of the workout as described herein. For example, a user may hover over or otherwise interact with a portion of the displayed workout, where upon an edit box (not shown) may appear.
Referring to FIG. 42, a recommended workout summary 4200 may provide identification of segments of the workout in which coaching will be provided. For example, the segments may be labeled with “Coach 1” or other indicators to specify that coaching is scheduled to be provided during that portion of the workout.
FIG. 44 illustrates a proposed pace versus time workout curve 4401 in which various songs in a playlist (as demarcated in music bar 4405) have been selected and mapped to portions of the workout. One method of selecting and mapping songs to the workout may include determining songs that will help motivate or calm the athlete. Thus, for segments of a workout where the athlete is to slow down, a calmer or less motivating song 4403a may be selected and played. Alternatively, for a segment of the workout where the user is to increase his or her pace, a more motivational song such as song 4403b may be played. Songs may also be selected and mapped based on length among other factors. When the workout curve 4401 is mapped against the generated playlist, the user can also more easily determine which songs were playing when performance increased or decreased. For example, a particularly motivating song for the user may have translated to the user significantly increasing the pace of the run. If the user's pace unexpectedly decreased, the user can determine which song was playing and decide if the song factored into the performance wherein the user could revise the playlist omitting such song in future workouts. It is further understood that a user may determine that a particular song(s) translated in the user being able to maintain a constant pace for an extended period of time wherein the workout curve would have a lengthy horizontal segment. Accordingly, incorporating these features of the graphical user interface allows the user to further enhance athletic performance monitoring.
According to one or more aspects, a user may be given advice regarding whether to change a song. A music selection system may advise against changing a song, for example, if the user has performed favorably during the song in the past. Other reasons for advising against changing a song may include beats per minute being below a certain threshold, genre not being conducive to exercising, length is either too short or too long and the like. The system may also make recommendations for replacement songs. Additionally or alternatively, the user may specifically identify songs that are not to be included. Accordingly, songs may be filtered out of selection contention based on a user's explicit instructions. The user may also specify a genre, era, artist and the like to filter out of a selection database.
A training regimen may also be divided into various phases such as pre-workout or pre-run (e.g., warm up), workout or run and post-workout or post-run (e.g., cool down). Different music playlists may be automatically generated for each of these phases. The music selection for each of these phases may also be different in view of the different purposes of the phases. For example, a pre-run music playlist may include songs that gradually get faster in tempo while a run music playlist may include consistently high beat/tempo songs. A post-run music playlist, on the other hand, may include songs that gradually slow down in tempo to transition the user to a calmer state. Phases and the music selection parameters associated therewith may be automatically defined or manually specified by a user. In one or more examples, a post-run music playlist may be created on the fly at the end of the user's run. The post-run music playlist may be automatically generated based on the songs that appeared to motivate the user more so than other songs. The post-run music playlist may also include live music feeds.
According to one or more aspects, music selection may also be performed based on a separate or integrated GPS device or other location determination system. For example, location information may be used to select a song that is most suited to that location. For example, if a system determines that a user is running in a more rural environment, a slower (e.g., less beats per minute) or softer song may be selected to match the environment. If, on the other hand, the user is running in a city, a more upbeat and/or louder song may be selected. In other arrangements, a song may be selected by determining a user's current or projected elevation. Songs played during previous athletic activity at a similar elevation may then be selected for a current workout or athletic activity, particularly if the user performed at or above a target or expected level (e.g., a pace, a number of calories burned, a distance, etc.). Other song selection parameters may include time of day and speed, both of which may be determined using a GPS or other location determination device.
The created workout and/or associated music playlist may be distributed to various athletic performance devices such as a music player, a workout apparatus such as an elliptical machine or treadmill, a cell phone, laptop computer, desktop computer, home media server and the like. For example, if an athlete is set to begin his or her workout on a treadmill machine, the athlete may upload his or her customized workout to the treadmill to track progress and adherence to the regimen. The data recorded by the treadmill or other workout apparatus or sensor device may further be transmitted to an athletic training site (e.g., a website or database), the athlete's personal music player or other computing device and the like. The information may be stored so that an athlete may review how well they followed the workout regimen and whether they met their goals. The transmission of data may be wired, wireless or any combination thereof. Additionally or alternatively, a music playlist generation system may create a music file by combining multiple music files. The combination of the music files may, in one or more example, include transcoding of the music from one format to another.
Additionally or alternatively, a music selection system may track a user's athletic performance in association with music information. For example, a user's ability to maintain the recommended pace during a running regimen may be tracked based on the music that is being played at the time. Accordingly, the music selection system may be able to identify songs that tend to motivate the athlete to meet or exceed various goals (e.g., expected or estimated workout statistics determined based on user statistics and workout parameters) or athletic performance thresholds. This information may then be used to select songs for future workouts. A training device may record the user's athletic performance in terms of time. The training device or an athletic performance tracking system may then use the athletic performance data to determine times during which the athlete exceeded or met the training regimen's goal and the times at which the athlete did not meet the specified goal. Thus, the athletic performance tracking system may determine that the user met or exceeded the regimen's goals when a first song was playing, but failed to meet the goals when a second song was being played. Accordingly, a music selection system may make note of this fact by specifying a preference for selecting the first song or similar songs over the second song.
Further, an order or sequence of songs selected may also be automatically defined or customized based on various athletic activity or training parameters. For example, if, during a portion of a workout, a user is expected to increase his or her pace over a period of 10 minutes, multiple songs may be selected and ordered such that each subsequent song increases in a number of beats per minute. In another example, if a user is a cool down portion of the workout, the system may select and order songs such that the songs become gradually softer or slower paced.
The data recorded may be displayed as an exercise curve, for example, in which song indicators are shown along the curve. The exercise curve may be displayed on the mobile device or an athletic training site as described above. The athlete may then use the display to identify the songs during which the athlete achieved better performance or where the level of performance declined. The music selection module may then provide song modifications for future workouts.
CONCLUSION
While the invention has been described with respect to specific examples including presently preferred modes of carrying out the invention, those skilled in the art will appreciate that there are numerous variations and permutations of the above described systems and techniques that fall within the spirit and scope of the invention as set forth in the appended claims.

## Claims

1. A system comprising:
a processor; and
memory operatively coupled to the processor and storing computer readable instructions that, when executed by the processor, cause the system to provide:
a training program generator module configured to:
receive a user-specified training parameter, and
generate an athletic activity training schedule for a user based on the user-specified training parameter; and

a music playlist generator module configured to automatically select one or more songs for a music playlist to be played during an athletic workout corresponding to the training schedule, wherein automatic selection of the one or more songs is based on a geographic location of the user during the workout.

2. The system of claim 1, wherein the music playlist generator module is further configured to select the one or more songs based on a duration of the athletic workout.

3. The system of claim 1, wherein the music playlist generator module is further configured to select the one or more songs based on a user-specified artist.

4. The system of claim 1, wherein the music playlist generator module is further configured to receive a user instruction to select the one or more songs from a user-specified library.

5. The system of claim 4, wherein the user-specified library includes a personal music library of the user.

6. The system of claim 1, wherein the music playlist generator is further configured to receive a user instruction requesting recommendations by the music playlist generator module for one or more additional songs.

7. The system of claim 6, wherein the music playlist generator module is further configured to recommend the one or more additional songs by determining a similarity between a first song and a second song, wherein the first song is specified by the user for at least one of: the athletic workout and a previous athletic workout.

8. The system of claim 7, wherein the similarity between the first and second songs is determined based on at least one other user purchasing both the first and second songs.

9. The system of claim 7, wherein the similarity between the first and second songs is determined based on a popularity level of each of the first and second songs.

10. The system of claim 7, wherein the similarity between the first and second songs is determined based on a genre of each of the first and second songs.

11. The system of claim 7, wherein the similarity between the first and second songs is determined based on an artist of each of the first and second songs.

12. The system of claim 1, wherein the music playlist generator module is configured to select the one or more songs for the music playlist based on a level of motivation provided by the one or more songs to the user.

13. The system of claim 12, wherein the music playlist generator module is configured to determine the level of motivation provided by the one or more songs by determining an amount of athletic activity previously performed by the user during the playing of the one or more songs.

14. The system of claim 13, wherein the amount of athletic activity previously performed by the user includes an amount of athletic activity performed during a previous workout and wherein the music playlist generator is configured to select the one or more songs for the music playlist in response to determining that the amount of athletic activity performed during the previous workout exceeded a predefined target amount of athletic activity for the previous workout.

15. The system of claim 12, wherein the music playlist generator is configured to select the one or more songs for the music playlist in response to determining that the level of motivation is above a specified threshold.

16. The system of claim 15, wherein the specified threshold comprises a threshold amount of athletic activity.

17. The system of claim 1, wherein the training program generator module is further configured to receive a user selection of a coach for the workout, wherein the automatic selection of the one or more songs is performed further based on one or more songs used for a workout of the coach.

18. The system of claim 1, wherein automatic selection of the one or more songs is further based on a number of times the one or more songs have been purchased.

19. The system of claim 1, wherein automatic selection of the one or more songs is further based on a number of times the one or more songs have been selected for a workout.

20. The system of claim 1, wherein automatic selection of the one or more songs is further based on a pace of the user.