U.S. patent application number 11/419737 was filed with the patent office on 2007-11-22 for integrated media jukebox and physiologic data handling application.
This patent application is currently assigned to Apple Computer, Inc.. Invention is credited to John Wesley Archibald, Sandeep Gupta, David Heller, Amandeep Jawa, Greg Marriott, David A. Shayer, Max Sprauer, Shannon E. Wells, Christopher R. Wysocki.
Application Number | 20070271116 11/419737 |
Document ID | / |
Family ID | 38713058 |
Filed Date | 2007-11-22 |
United States Patent
Application |
20070271116 |
Kind Code |
A1 |
Wysocki; Christopher R. ; et
al. |
November 22, 2007 |
INTEGRATED MEDIA JUKEBOX AND PHYSIOLOGIC DATA HANDLING
APPLICATION
Abstract
A method is provided to operate a computer to interoperate with
a portable media player. The method includes processing signals
provided from the portable media player to the computer that are
indicative of whether an accessory has been connected to the
portable media player, to determine whether the accessory has been
connected to the portable media player. Based on a determination
that the accessory has been connected to the portable media player,
physiologic data of a user that was provided to the portable media
player from a wireless physiologic data gathering device, is
received from the portable media player, into the computer, via the
accessory.
Inventors: |
Wysocki; Christopher R.;
(Los Gatos, CA) ; Heller; David; (San Jose,
CA) ; Jawa; Amandeep; (San Francisco, CA) ;
Gupta; Sandeep; (Freemont, CA) ; Marriott; Greg;
(Honolulu, HI) ; Sprauer; Max; (San Jose, CA)
; Shayer; David A.; (Palo Alto, CA) ; Archibald;
John Wesley; (Sunnyvale, CA) ; Wells; Shannon E.;
(Santa Clara, CA) |
Correspondence
Address: |
BEYER WEAVER LLP/APPLE INC.
P.O. BOX 70250
OAKLAND
CA
94612-0250
US
|
Assignee: |
Apple Computer, Inc.
|
Family ID: |
38713058 |
Appl. No.: |
11/419737 |
Filed: |
May 22, 2006 |
Current U.S.
Class: |
705/2 ;
482/8 |
Current CPC
Class: |
A63B 71/0622 20130101;
A63B 2225/20 20130101; A63B 2225/50 20130101; G06F 3/002 20130101;
G06F 16/4387 20190101; A63B 71/0686 20130101; A63B 2071/0625
20130101; G16H 20/30 20180101; A63B 69/0028 20130101 |
Class at
Publication: |
705/2 ;
482/8 |
International
Class: |
G06Q 10/00 20060101
G06Q010/00; A63B 71/00 20060101 A63B071/00 |
Claims
1. A method of operating a computer to interoperate with a portable
media player, the method comprising: processing signals provided
from the portable media player to the computer that are indicative
of whether an accessory has been connected to the portable media
player, to determine whether the accessory has been connected to
the portable media player; and based on a determination that the
accessory has been connected to the portable media player,
receiving from the portable media player, into the computer,
physiologic data of a user that was provided to the portable media
player from at least one wireless physiologic data gathering
device, via the accessory.
2. The method of claim 1, wherein: the computer is a computer of a
centralized data storage service.
3. The method of claim 1, wherein: the computer is a host computer;
and the method further comprises providing at least a portion of
the data, received from the portable media player, to at least one
server computer of a centralized data storage service, via a
network.
4. The method of claim 3, further comprising: a handshake step
between the host computer and the centralized data storage service,
regarding an account of the user at the centralized data storage
service for data from the portable media player.
5. The method of claim 4, wherein: the handshake step includes the
host computer automatically providing an account token to the
centralized data storage service, that uniquely identifies the
account of the user at the centralized data storage service.
6. The method of claim 5, further comprising: receiving the account
token from the centralized data storage service based on an account
identification and password provided to the centralized data
storage service in response to the account identification and
password being received by the host computer via a user interface
of the host computer.
7. The method of claim 3, further comprising: by the host computer,
providing a token to the centralized data storage service, via the
network, wherein the token uniquely corresponds to a particular
account for the user on the centralized data storage service; and
providing the at least a portion of the data, received from the
portable media player, to the centralized data storage service via
the network, in association with providing the token to the
centralized data storage service.
8. The method of claim 1, further comprising: by the host computer,
causing display of an indication of at least a portion of the data
received from the portable media player.
9. The method of claim 1, wherein: the portable media player is
included as functionality of a smart wireless telephone device.
10. The method of claim 1, wherein: the at least one physiologic
data gathering device includes a data gathering device that gathers
physiologic data indicative of foot activity of a user.
11. The method of claim 1, wherein: the at least one wireless
physiologic data gathering device is a plurality of wireless
physiologic data gathering devices.
12. A method of operating a computer to interoperate with a
portable mobile device, the method comprising: processing signals,
provided from the portable mobile device to the computer, that are
indicative of whether an accessory has been connected to the
portable mobile device, to determine whether the accessory has been
connected to the portable mobile device, wherein the portable
mobile device is configured to receive physiologic data of a user
from at least one physiologic data gathering device wirelessly, via
the accessory; and controlling a user interface of the computer,
based on a determination that the accessory has been connected to
the portable mobile device, such that a user interface of the
computer facilitates receiving from the portable mobile device,
into the computer, the physiologic data that was provided
wirelessly to the portable mobile device from the at least one
physiologic data gathering device, via the accessory.
13. The method of claim 12, wherein: the user interface of the
computer that facilitates receiving the physiologic data into the
computer from the portable mobile device further includes
functionality to display an indication of at least a portion of the
received physiologic data.
14. The method of claim 12, further comprising: controlling the
user interface of the computer to facilitate functions of the
portable mobile device other than the function to receive
physiologic data into the computer.
15. The method of claim 12, wherein: the portable mobile device
includes functionality of a portable media player.
16. The method of claim 14, wherein: the portable mobile device
includes functionality of a portable media player; and the
functions of the portable mobile device other than the function to
receive physiologic data into the computer include the
functionality of the portable media player.
17. The method of claim 12, wherein: the at least one physiologic
data gathering device includes a data gathering device that gathers
physiologic data indicative of foot activity of a user.
18. The method of claim 12, wherein: the at least one wireless
physiologic data gathering device is a plurality of wireless
physiologic data gathering devices; and the method further
comprises controlling the user interface of the computer to control
for which of the plurality of wireless physiologic data gathering
devices to facilitate receiving data, from the portable mobile
device.
19. A method of operating a host computer to interoperate with a
portable media player and at least one physiologic data gathering
device coupled to the portable media player, the method comprising:
providing, to the portable media player, a workout template that
defines exercise cues to be provided to a user of the portable
media player; and providing, to the portable media player, a
playlist that defines media playback to be provided to the user of
the portable media player, wherein the playlist is associated with
the workout template.
20. The method of operating the host computer of claim 19, further
comprising: receiving, from the portable media player, an
indication of behavior of a user with respect to play back of media
in association with a particular workout template; and processing
the indication of the behavior and, based at least in part thereon,
associating a playlist with the particular workout template.
21. The method of claim 20, wherein: associating a playlist with
the particular workout template, based at least in part on
processing the indication of the behavior, includes modifying an
existing playlist associated with the particular workout
template.
22. The method of claim 19, further comprising: interoperating with
a media commerce server to purchase and receive media of the
playlist, associated with the workout template.
23. The method of claim 22, further comprising: receiving, from the
media commerce server, the workout template with which the playlist
is associated.
24. The method of claim 19, further comprising: receiving, from the
portable media player, physiologic data that was provided to the
portable media player from the at least one physiologic data
gathering device.
25. The method of claim 19, wherein the at least one physiologic
data gathering device includes a physiologic data gathering device
that gathers physiologic data indicative of foot activity of a
user.
26. A computer-implemented media jukebox application tangibly
embodied in a computer-readable medium, comprising: media handling
code means to cause a computer to provide media to a portable media
player; and physiologic data handling code means, integrated with
the media handling code means, to cause the computer to interact
with the portable media player relative to physiologic data for a
user received by the portable media player wirelessly from a
physiologic data gathering device.
27. The computer-implemented media jukebox application of claim 26,
wherein: the physiologic data handling code means includes code
means to cause the computer to process signals provided from the
portable media player to the computer that are indicative of
whether an accessory has been connected to the portable media
player, to determine whether the accessory has been connected to
the portable media player; and code means to cause the computer,
based on a determination that the accessory has been connected to
the portable media player, receive from the portable media player,
into the computer, physiologic data of a user that was provided to
the portable media player wirelessly from at least one physiologic
data gathering device, via the accessory.
28. The application of claim 26, further comprising: data providing
code means to cause the computer to provide at least a portion of
the physiologic data, received from the portable media player, to
at least one server computer of a centralized data storage service,
via a network.
29. The application of claim 28, further comprising: handshake code
means to cause the computer to accomplish a handshake between the
host computer and the centralized data storage service, regarding
an account of the user at the centralized data storage service for
data from the portable media player.
30. The application of claim 29, wherein: the handshake code means
includes code means to cause the computer to automatically provide
an account token to the centralized data storage service, that
uniquely identifies the account of the user at the centralized data
storage service.
31. The application of claim 30, further comprising: account token
handling code means to cause the computer to receive the account
token from the centralized data storage service based on an account
identification and password provided to the centralized data
storage service in response to the account identification and
password being received by the host computer via a user interface
of the host computer.
32. The application of claim 26, further comprising: physiologic
data display code means to cause the computer to display an
indication of at least a portion of the physiologic data received
from the portable media player.
33. The application of claim 26, further comprising: token
providing code means to cause the computer to provide a token to
the centralized data storage service, via the network, wherein the
token uniquely corresponds to a particular account for the user on
the centralized data storage service; and physiologic data
providing code means to cause the computer to provide at least a
portion of the physiologic data, received from the portable media
player, to the centralized data storage service via the network, in
association with providing the token to the centralized data
storage service.
34. The application of claim 26, wherein: the at least one
physiologic data gathering device includes a data gathering device
that gathers physiologic data indicative of foot activity of a
user.
35. The application of claim 26, wherein: the at least one wireless
physiologic data gathering device is a plurality of wireless
physiologic data gathering devices.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser.
No. ______, filed May 22, 2006, and entitled "ACTIVITY MONITORING
SYSTEM" [Att.Dkt.No.: APL1P490P/P4398USP1], which is hereby
incorporated by reference herein. This application is also related
to U.S. patent application Ser. No. ______, filed May 22, 2006, and
entitled "COMMUNICATION PROTOCOL FOR USE WITH PORTABLE ELECTRONIC
DEVICES" [Att.Dkt.No.: APL1P492/P4400US1], which is hereby
incorporated by reference herein.
BACKGROUND OF THE INVENTION
[0002] The use of devices to obtain exercise performance
information is known. For example, simple mechanical pedometers
have been used to obtain information relating to walking or
running. A typical mechanical pedometer is a standalone device
merely displays an indication of number of steps taken which,
typically at most, can be converted to distance traveled by
multiplying the number of steps taken by an estimated average
stride size.
[0003] Recently, more sophisticated devices are known. For example,
as described in U.S. Pat. No. 6,898,550 (the '550 patent), a
foot-mounted unit, including a sensor for sensing motion of the
foot of a user, is configured to provide motion
information-wirelessly--to a wrist-mounted unit. The wrist-mounted
unit includes a display for displaying information to the user
based upon data accumulated by the foot-mounted unit and
transmitted wirelessly to the wrist-mounted unit. In addition, as
described in the '550 patent, the wrist-mounted unit may be coupled
to a computer and/or a network server via a network. The user can
operate software running on the computer and/or the server to
analyze received data and/or to select operating parameters for the
wrist-mounted unit and/or the foot-mounted unit.
[0004] The inventors have realized that a media jukebox computer
application, including functionality to interact with a portable
media player, may be synergistically combined with functionality to
handle physiologic data from a physiologic data gathering device
that is in communication with the portable media player for
providing physiologic data to the portable media player.
SUMMARY
[0005] A method is provided to operate a computer to interoperate
with a portable media player. The method includes processing
signals provided from the portable media player to the computer
that are indicative of whether an accessory has been connected to
the portable media player, to determine whether the accessory has
been connected to the portable media player. Based on a
determination that the accessory has been connected to the portable
media player, physiologic data of a user that was provided to the
portable media player from a wireless physiologic data gathering
device, is received from the portable media player, into the
computer, via the accessory.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. 1 illustrates an example of a system, including a
portable media player, generally usable for, among other things,
monitoring and/or controlling user exercise or other activity or
physiology.
[0007] FIG. 2. is a flowchart illustrating an example of steps,
mostly within a host computer, to accomplish transfer of
physiologic data between a portable media player and a workout data
service.
[0008] FIG. 3 is a schematic diagram that, while similar to FIG. 1,
illustrates details of example configuration and operation of
particular portions of the FIG. 1 system.
[0009] FIG. 4 is a screenshot that illustrates an example of a user
interface of an application (such as a media jukebox application)
on a host computer that may be provided to accomplish an account
matching between a portable media player and a workout data
service.
[0010] FIG. 5 schematically illustrates an example of signals
involved in an interaction between a host computer and a workout
data service with regard to account setup (FIG. 4) and use of an
account access token.
[0011] FIGS. 6a and 6b illustrate, in accordance with some
examples, data structures that may be maintained within a portable
media player, usable to correlate measurement and/or control of
physical activity with playback of media.
[0012] FIG. 7 is a flowchart illustrating an example of processing
within a host computer to process user behavior information and
other data in the FIG. 6 data structures.
[0013] FIG. 8 illustrates a user interface screen, caused to be
presented by processing within the host computer, to display an
indication of some physiologic data.
[0014] FIG. 9 illustrates a user interface screen, caused to be
presented by processing within the host computer, to allow a user
to choose between physiologic data gathering devices with which the
portable media player has been paired.
DETAILED DESCRIPTION
[0015] FIG. 1 illustrates an example of a system 100, including a
portable media player 104, generally usable for, among other
things, monitoring and/or controlling user exercise or other
activity or physiology. Referring to FIG. 1, user exercise data is
communicated (in this example, wirelessly) from a data gathering
device 102, configured for gathering physiological data of a user
(such as a sensor to sense the foot motion of a user), to the
portable media player 104. In one example, the wireless
communication is via an accessory 106, configured to selectively
attach to a data port of the portable media player 104. An example
of the accessory 106, and the interoperation of the accessory with
the portable media player 104, is described in some detail in
related U.S. patent application Ser. No. ______, filed May 22,
2006, and entitled "COMMUNICATION PROTOCOL FOR USE WITH PORTABLE
ELECTRONIC DEVICES" [Att.Dkt.No.: APL1P492/P4400US1], referenced
above, and incorporated by reference herein, in the section
entitled "Cross Reference to Related Applications."
[0016] In operation, while a user 108 is exercising, physiological
data of the user is accumulated by the data gathering device 102
and is provided wirelessly (via radio frequency waves 110, in one
example) to the portable media player 104. Meanwhile, cues relative
to the exercise (e.g., audio cues) as indicated by exercise
templates, are being provided from the portable media player 104 to
the user 108 (e.g., via a wire 112 and headphones 114). In addition
to providing the cues relative to the exercise, the portable media
player 104 may also be configured to provide playback of media
(such as audio media) to the user 108 (e.g., like with the audio
cues, via the wire 112 and headphones 114).
[0017] The playback of media may be coordinated with the exercise
cues. For example, the playback of media may be using a playlist
such as created using the iTunes.RTM. software application,
provided by Apple Computer, Inc., running on a host computer 116
connectable to the portable media player 104. The playlists may be
incorporated with, or corresponded to, the exercise templates on
which the exercise cues are based.
[0018] Going in the direction from the portable media player 104 to
the host computer 116, the portable media player 104 is configured
to provide physiologic data to a workout data service 118, for
storage 122, via the host computer 116 and a network 120 such as
the internet. In some examples, the host computer 116 operates
substantially as a conduit for providing the physiologic data to
the workout data service 118 for storage 122. In other examples,
the host computer 116 performs some processing on the physiologic
data, temporarily stores the physiologic data for later forwarding
(e.g., during a temporary loss of connection between the host
computer 116 and the service 118 via the network 120), or both.
[0019] In yet other examples, not explicitly represented in FIG. 1,
the physiological data is never or is only selectively provided to
a service such as the workout data service 118. That is, the
physiologic data may be maintained in storage on the portable media
player 104, on the host computer 116, on both or on neither.
[0020] In still other examples, the physiological data is provided
from the portable media player 104 to the workout data service 118
without being provided to a host computer such as the host computer
116. For example, the portable media player 104 may be incorporated
into or, may be incorporated with, a telephone or other
communication device that is connectable (e.g., wirelessly) to the
workout data service 118.
[0021] With regard to the workout data service 118 and storage 122,
in some examples, the physiologic data is processed at the workout
data service 118. In one example, the physiologic data from one
user is processed in view of physiologic data from other users to,
for example, compare the users in terms of the physiologic data. In
another example, the physiologic data is processed at the workout
data service 118 to determine a suggested template change. For
example, based on the processing at the workout data service 118,
it may be suggested to change the clues to provide motivation at a
particular portion of the workout. As another example, based on
playlists associated with that workout by other users, a different
playlist (or changes to the playlist) may be suggested for a
particular workout.
[0022] FIG. 2. is a flowchart 200 illustrating an example of steps,
mostly within the host computer 116, to accomplish transfer of
physiologic data between the portable media player 104 and the
workout data service 118. At step 202, it is determined whether the
accessory 106 has been connected to the portable media player 104,
which would allow the physiological data to be received by the
portable media player from the data gathering device 102.
[0023] The determination of whether the accessory 106 has been
connected is, in one example, via configuration data that is
provided to the host computer 116 when the portable media player
104 and the host computer 116 are connected, in a portion of a
handshake protocol in which the portable media player 104 provides
information to the host computer 116 regarding characteristics,
capabilities and/or activities of the portable media player 104. In
other examples, the accessory 106 is one of a plurality of possible
accessories, and the check for the accessory 106 is merely part of
a check for accessories generally. In yet other examples, mentioned
below, processing like that in step 202 is not carried out at
all.
[0024] If it is determined at step 202 that the accessory 106 has
not been connected to the portable media player 104, then the FIG.
2 processing ends. Otherwise, if it is determined at step 202 that
the accessory 106 has been connected to the portable media player
104, or if step 202 is not performed at all, then processing
continues at step 204, to match the portable media player 104 to an
account of the workout data service 118. At step 204, a check is
made for an account for the user at the workout data service 118.
If it is determined at step 204 that the user does not have an
account at the workout data service 118, then the step 204
processing includes causing interaction with the user to set up an
account at the workout data service 118. At step 206, the host
computer accesses the physiologic data, if any, stored in the
portable media player 104 (e.g., from a preset location of storage
within the portable media player 104) and provides the physiologic
data to the workout data service 118 to be associated with the
user's account. In some examples, if a connection to the workout
data service 118 is not available (e.g., there is no connection
between the host computer 116 and the network), then step 206 is
prevented from being performed.
[0025] The physiologic data may be provided from the portable media
player 104 to the host computer 116, and further to the workout
data service 118, in an XML-formatted file. In some examples, a
portion of the provided data is retained on the portable media
player 104, for easy reference by the user (e.g., during or in
preparation for a workout). Communication between the host computer
116 and the workout data service 118 is typically via Secure Socket
Layer, using the HTTPS protocol. In one example, a portion of the
physiologic data is retained in storage of the portable media
player 104 (e.g., the last "n" workouts) and can be displayed via a
user interface of the portable media player 104. Furthermore, while
the physiologic data is passed on to the workout data service 118
from the host computer 116, the host computer 116 may retain some
or all of the physiologic data to, for example, display the data
via a physiologic data user interface of a music store application
operating on the host computer 116. An example user interface
display of the music store application operation on the host
computer 116, including a display of physiologic data, is described
later, with reference to FIG. 8.
[0026] FIG. 3 is a schematic diagram that, while similar to FIG. 1,
illustrates details of example configuration and operation of
particular portions of the FIG. 1 system. As shown in FIG. 3, there
are a number of signals involved in interoperation of the portable
media player 104 and the host computer 116. A signal 302 is
provided from the portable media player 104 indicating that the
accessory 106, via which the data gathering device 102 (FIG. 1)
communicates with the portable media player 104 is or was attached
to the portable media player 104. The signal 304 represents an
attempt by the host computer 116, in response, to access
information on the portable media player 104 corresponding to the
accessory 106 (i.e., physiologic data provided to the portable
media player 104 from the data gathering device 102 via the
accessory 106). The signal 306 represents the information
corresponding to the accessory being provided from the portable
media player 104 to the host computer 116.
[0027] In addition, the signal 308 represents feedback of user
behavior information relative to the playback of media (which may
also correspond to use/operation of the device 102 that provides
physiologic data via the accessory 106) and, concomitantly,
relative to the exercise cues. This feedback user behavior
information signal 308 may be used to modify (or suggest
modifications to) the playlists, templates, or some combination
thereof, based on the user's behavior as indicated by the signal
308. The modifications and/or suggested modifications may be a
result of processing within the host computer 116 or, as discussed
above, the modifications and/or suggested modifications may be a
result of processing within the workout data service 118 (typically
resulting from processing of physiologic data from the particular
user and related data from a community of users, and not just from
processing of physiologic data and related data from the particular
user alone).
[0028] It is noted that, as alluded to above, while FIGS. 2 and 3
illustrate detecting whether the accessory 106 is or was connected
to the portable media player 104, there are other examples in which
the host computer 116 and the portable media player 104
interoperate such that the host computer 116 can determine whether
there may be physiologic data, from the data gathering device 102,
present on the portable media player to be provided to the host
computer 116. For example, the host computer 116 may initiate a
check in a predetermined area of the portable media player 104
storage (e.g., in a particular directory) for physiologic data for
retrieval.
[0029] As also shown in FIG. 3, the host computer 116 may
communicate with a media commerce service 310, via the network 120,
to accomplish the purchase of exercise templates, which may also be
combined with or otherwise indicate associated playlists. In this
way, prepackaged workout/song mixes may be purchased. While the
templates and playlists are typically purchased, there are
circumstances in which the templates and playlists may be provided
without cost (e.g., promotions).
[0030] FIG. 4 is a screenshot that illustrates an example of a user
interface of an application on the host computer 116 that may be
provided to accomplish the account matching (step 204, in FIG. 2)
between the portable media player 104 and the workout data service
118. The application may be, for example, a media jukebox
application such as the iTunes.RTM. application, as discussed
above. Referring to FIG. 4, an application in the host computer 116
displays a setup screen 400 to accomplish associating the
physiologic data corresponding to a particular user with an account
for that user at the workout data service 118. As can be seen from
the FIG. 4 screenshot 400, if the user has a preexisting account
with the workout data service 118, the user selects the radio
button 402, and provides a login ID 404 and password 406 associated
with the preexisting account. To register for a new account, the
user selects the radio button 408, which (after selecting the
"Done" button 412), causes presentation of an account creation page
of the workout data service 118. The user indicates the account
credentials (such as username and password) so that the physiologic
data may be passed from the host computer 116 to an account at the
workout data service 118 associated with the user. As also
illustrated in FIG. 4, an option (radio button 410) is also
provided to postpone the account access setup.
[0031] Once an account is matched between the portable media player
104 and the workout data service 118 for physiologic data received
by the portable media player 104 via the accessory 106, account
access credentials may be saved at the host computer 116 for later
use. The account access credentials may even be saved at the
portable media player 104 (to, for example, be subsequently
provided to the host computer 116 along with physiologic data). In
one example, account access credentials such as login ID and
password are not themselves saved on either the host computer 116
or the portable media player 104. Rather, the workout data service
118 provides back to the host computer 116 an account access
"token" that uniquely corresponds to the account access credentials
and that provides only limited access to the workout data service
118, for providing physiologic data to the workout data service
118. For example, the full account access credentials may provide
access to workout data service 118 functions such as e-commerce or
other security-sensitive functions, for which it may be considered
undesirable to store access credentials on the host computer 116 or
on the portable media player 104.
[0032] FIG. 5 schematically illustrates an example of signals
involved in the interaction between the host computer 116 and the
workout data service 118 with regard to account setup (FIG. 4) and
use of an account access token. The dashed oval 502 represents a
portion of the account set up interaction between the host computer
116 and the workout data service 118. Specifically, arrow 504
represents account credentials (such as user ID and password) being
provided from the host computer 116 to the workout data service
118. An account access token, corresponding to the account
credentials) is provided back to the host computer 116 from the
workout data service 118. In operation, to provide physiologic data
to the workout data service 118 for storage 122, the account access
token is provided to the workout data service 118 in conjunction
with the physiologic data. As mentioned above, the workout data
service 118 uses the account access token to grant limited access
to the workout data service 118, for example, for storing the
physiologic data and for associated analysis and/or viewing
functions.
[0033] FIGS. 6a and 6b illustrate, in accordance with some
examples, data structures that may be maintained within the
portable media player 104, usable to correlate measurement and/or
control of physical activity with playback of media. For example,
the data structures may include a table 602 and a table 652. Each
row of the table 602 is indexed by a workout id, in column 604. A
workout id refers to a particular distinguishable workout, as now
discussed. For example, for a particular workout (identified by a
workout id), the column 606 (in one example, including two columns
608 and 610, as discussed shortly) includes an indication of
workout characteristics.
[0034] In the FIG. 6a example, the workout characteristics in
column 606 include a template designation 608 and a playlist
designation 610. As discussed above, a template indicates cues,
such as audio cues, corresponding to a particular workout. The
playlist designation 610 indicates a playlist, defining media
playback associated with the workout.
[0035] FIG. 6b includes a table 652 of playlists maintained in the
portable media player 104. The column 654 includes the playlist
designation for each playlist. The column 656 indicates the media
(typically, songs) corresponding to each playlist. The column 658
includes an indication of the user's behavior relative to the
playlist. For example, the column 658 may indicate a workout id,
that indicates a workout during which the user played the songs of
the playlist (or, songs generally, even if not part of a playlist).
As another example, the column 658 may includes an indication of
user behavior to override the playlist, such as behavior to cause
songs to be skipped. Referring back to FIG. 3, this user behavior
information may be provided to the host computer 116 such that
processing within the host computer 116 modifies playlists, forms
playlists, associates playlists with workouts, or other results as
appropriate, based on the user behavior information.
[0036] FIG. 7 is a flowchart illustrating an example of processing
within the host computer 116 to process the user behavior
information and other data in the FIG. 6 data structures. At step
702, it is determined if the actual user behavior is different from
the pre-defined playback behavior indicated by the corresponding
playlist. For example, if the user behavior information indicates
that the user overrode the playlist by skipping songs, then
processing within the host computer 116, at step 704, suggests to
the user, via a user interface, to allow playlist to be modified to
correlate to the user behavior.
[0037] In some examples, the user behavior information may not be
clearly indicative of a definite suggestion at step 704. For
example, the user may have skipped one song each of ten times of
processing the playlist, whereas the user may have skipped a second
song only one time of processing the playlist. The suggestions may
provide gradations of suggestion. For example, it may be strongly
suggested to delete the first song (the one skipped ten times) from
the playlist, whereas it may be mildly suggested to delete the
second song (the one skipped only one time) from the playlist.
[0038] In the next steps shown in the FIG. 7 flowchart, processing
is carried out to suggest associating a playlist with a particular
workout, based on the media playback as controlled manually by the
user, during the particular workout. At step 706, it is determined
from the user behavior information if the media playback during a
workout (i.e., during processing of a particular workout template
by the portable media player 104) corresponds to a pre-existing
playlist. If so, then processing of FIG. 7 exits. If it is
determined at step 706 that the media playback during the workout
does not correspond to a pre-existing playlist then, at step 708, a
correlation to the workout (i.e., to the template) is suggested. If
the user agrees then, at step 710, the media playback is associated
with a playlist, and that playlist is associated with the
workout.
[0039] As mentioned above, in some examples, physiologic data
provided from a portable media player (such as the portable media
player 104) to a workout data service (such as the workout data
service 118) may be provided through a host computer (such as the
host computer 116). FIG. 8 illustrates a user interface screen,
caused to be presented by processing within the host computer, to
display an indication of some of the physiologic data, namely, the
physiologic information of the "last workout" in a portion 802 of
the user interface screen. (This is just an example. An indication
of other of the physiologic data may be displayed.) In addition to
the information such as date, distance, pace and calories, the
"last workout" information includes an indication 804 of the media
playlist associated with that workout. It is also of note that
processing within the host computer 116 may also operate to
automatically send the physiologic data to the workout data service
118 (e.g., accompanied by the access token discussed above,
relative to FIG. 5 and the discussion of account set up with the
workout data service 118), without ongoing user intervention. The
user may control whether this automatic operation takes place via
the check box 806 in the FIG. 8 user interface screen. This check
box 806 would be initially unchecked if the user previously chose
for physiologic data not to be sent at all to the workout data
service 118, e.g. during initial setup (FIG. 4).
[0040] While much of the previous description has described
methods, applications and systems in the context of a single
physiologic data gathering device, it has been mentioned above that
there may be more than one physiologic data gathering device. FIG.
9 illustrates a user interface screen, caused to be presented by
processing within the host computer, to allow a user to choose
between physiologic data gathering devices with which the portable
media player has been paired.
[0041] A menu item 902, in this case a pull down menu item, is
provided to allow the user to choose which physiologic data
gathering devices (listed as "sensors") for which data is to be
considered and/or otherwise handled from within the application
executing in the host computer. In FIG. 9, the "Sensor 1" item 904
is checked. In addition, a user interface item 906 is provided to
allow the user to edit the name ascribed to a particular
physiologic data gathering device, relative to the application
executing in the host computer.
[0042] In summary, then, we have described an overall architecture
of a system, including a portable media player, generally usable
for, among other things, monitoring and/or controlling user
exercise or other activity or physiology. In addition, we have
described how an application of a host computer, such as a media
store application, operates in the context of such a system.
* * * * *