Various embodiments relate generally to wearable electrical and electronic hardware, computer software, human-computing interfaces, wired and wireless network communications, telecommunications, data processing, and computing devices. More specifically, disclosed are techniques for providing physiological rate coaching by modifying media content based on sensor data.
Attaining or maintaining a physiological rate during an exercise, activity, or daily routine may be desired by a user for fitness training. A rhythm rate or beat-per-minute of media content may be used to coach, train, induce or encourage a user to maintain a target physiological rate. Conventional solutions may select media contents to be presented to the user based on the rhythm rates of the media contents and the target physiological rate. However, some media contents may encourage a user to better maintain the target physiological rate, while other media contents may not. Moreover, as a user's energy level, determination level, or performance level changes, certain presentations of media contents may be more effective at encouraging the user to maintain the target physiological rate.
Thus, what is needed is a solution for providing physiological rate coaching using media content without the limitations of conventional techniques.
Various embodiments or examples (“examples”) are disclosed in the following detailed description and the accompanying drawings:
Various embodiments or examples may be implemented in numerous ways, including as a system, a process, an apparatus, a user interface, or a series of program instructions on a computer readable medium such as a computer readable storage medium or a computer network where the program instructions are sent over optical, electronic, or wireless communication links. In general, operations of disclosed processes may be performed in an arbitrary order, unless otherwise provided in the claims.
A detailed description of one or more examples is provided below along with accompanying figures. The detailed description is provided in connection with such examples, but is not limited to any particular example. The scope is limited only by the claims and numerous alternatives, modifications, and equivalents are encompassed. Numerous specific details are set forth in the following description in order to provide a thorough understanding. These details are provided for the purpose of example and the described techniques may be practiced according to the claims without some or all of these specific details. For clarity, technical material that is known in the technical fields related to the examples has not been described in detail to avoid unnecessarily obscuring the description.
In some examples, physiological rate coaching manager 110 may modify a rate of presentation of media contents 161-163 based on difference 150. Physiological rate coaching manager 101 may modify a rhythm rate or BPM of media contents 161-163. Physiological rate coaching manager 101 may speed up or slow down the presentation of media contents 161-163. Media contents 161-163 may have rhythm rates 171-173 that may be increased or decreased within a predetermined range, such as within 15% of rhythm rates 171-173, which may be a range within which modification to the rhythm rates 171-173 may be made while reducing or eliminating a distortion or modification that would be uncomfortable for, undesired or otherwise detected by user 120. A predetermined range of a rhythm rate of a media content may be a function of a range of pitches. A predetermined range of a rhythm rate of a media content may be a range within which the rhythm rate may be modified or adjusted while making substantially no change to the pitch of the media content. A predetermined range of a rhythm rate of a media content may be a range within which the rhythm rate may be modified while a change or modification to the pitch remains within a range of pitches, e.g., within 5% of the original pitch of the media content, or other percentage or number. For example, when difference 150 is substantially zero, the rate of presentation of media contents 161-163 may be modified such that rhythm rates 171-173 are substantially equal to target physiological rate 140, or such that rhythm rates 171-173 are substantially equal to a multiple or division by an even number (e.g., two, four, six, etc.) of target physiological rate 140. As another example, sensor data 130 may indicate that a heart rate is below target physiological rate 140, and a faster presentation of media contents 161-163 may be provided to increase rhythm rates 171-173 to induce or encourage an increase in heart rate to meet target physiological rate 140. In other examples, physiological rate coaching manager 110 may modify a presentation of media contents 161-163 by fading out a media content being presented and fading in another media content. Physiological rate coaching manager 110 may gradually decrease the volume of one media content while gradually increase the volume of another media content. Physiological rate coaching manager 110 may reduce an amplitude of an audio signal associated with one media content in coordination with increasing an amplitude of another audio signal associated with another media content. For example, sensor data 130 may indicate that a breathing rate is above target physiological rate 140 while media content 161 is being presented. Rhythm rate 171 of media content 161 may be lowered until it reaches the lower end of the predetermined range within which undesired distortion is not detected by user 120. Sensor data 130 may continue to indicate that the breathing rate is above target physiological rate 140. Physiological rate coaching manager 110 may present a fading out of media content 161 and a fading in of media content 162, which has a lower rhythm rate than media content 161. Rhythm rate 172 of media content 162 may be lowered to induce a lowering of the breathing rate. In other examples, physiological rate coaching manager 110 may change the sequence of the media contents 161-163. In other examples, physiological rate coaching manager 110 may terminate, pause, or stop the presentation of media contents 161-163. Still, physiological rate coaching manager 110 may perform other modifications on the presentation of media contents 161-163.
Wearable devices 121-124 may be may be worn on or around an arm, leg, ear, or other bodily appendage or feature, or may be portable in a user's hand, pocket, bag or other carrying case. As an example, a wearable device may be a data-capable band 121-122, a smartphone 123, and a headset 124. Other wearable devices such as a watch, data-capable eyewear, cell phone, tablet, laptop or other computing device may be used.
Wearable devices 121-124 may be configured to capture or detect data using one or more sensors. A sensor may be internal to a wearable device (e.g., a sensor may be integrated with, manufactured with, physically coupled to the wearable device, or the like) or external to a wearable device (e.g., a sensor physically coupled to wearable device 121 may be external to wearable device 122, or the like). A sensor external to a wearable device may be in data communication with the wearable device, directly or indirectly, through wired or wireless connection. Various sensors may be used to capture various sensor data. Sensor data may be physiological data. For example, a heart rate or pulse sensor may be used to capture a heart rate of user 120. A blood pressure monitor may be used to capture a blood pressure. A thermometer may be used to capture a temperature. A breathing rate sensor may be used to capture a breathing rate. Sensor data may also be activity data. For example, an accelerometer may be used to capture acceleration or other motion data. Still, other sensors may be used. For example, a Global Positioning System (GPS) receiver may be used to detect a location of user 120.
Target facility 311 may be configured to receive or determine data representing a target physiological rate, such as a target heart rate, target respiratory rate, and the like. In some examples, a user manually enters or selects a target physiological rate using user interface 318. In some examples, a user may use user interface 318 to select a fitness plan from fitness plan library 381. Target facility 311 may retrieve, store, and share fitness plans using fitness plan library 381. A fitness plan may specify, define, suggest, or determine a plurality of target physiological rates over a time period. A fitness plan may be associated with an exercise zone (see
Difference evaluator 312 may be configured to process sensor data received from sensor 330 to determine a difference from a target physiological rate. For example, difference evaluator 312 may process sensor data to determine a heart rate detected by sensor 330. Difference evaluator 312 may compare the detected heart rate to a target heart rate, and determine a difference. The difference may be used to modify a presentation of media contents, or for other purposes.
In some examples, target facility 311 may receive or determine data representing a target activity rate. Sensor data may include activity data or motion data. Motion data may be captured or detected by an accelerometer or other motion sensor. Motion data may include a variety of parameters related to motion, such as acceleration, velocity, direction, and the like. Difference evaluator 312 may process the activity data or motion data to determine a difference from the target activity rate. An activity rate may be a rate of a substantially repeated or cyclic motion unit, such as a step (e.g., walking from left foot to right foot, or from right foot to left foot), stride (e.g., two steps), a lifting of a weight, a bicycle step, a swim stroke, and the like. Difference evaluator 312 may process the motion data to determine a rate at which a motion pattern or motion feature is substantially repeated. A motion feature may include a parameter of motion data that indicates a start of a cyclic motion unit, such as, a certain change in acceleration, a crossing of a threshold in acceleration, a change in direction, or the like. Difference evaluator 312 may compare the activity rate detected to a target activity rate to determine a difference. This difference may also be used to modify a presentation of media contents, or for other purposes.
Media content selector 313 may be configured to select a subset of files having data representing media contents to be presented based on a target physiological rate. A media content may have a rhythm rate, which may be the rate of a pulse or beat of a musical piece. The rhythm rate (e.g., the rate of presentation/playback, etc.) may be increased or decreased (e.g., by time-shifting, etc.) within a predetermined range, such as within 15% or another percentage or range of the original rhythm rate, before a distortion or modification would be uncomfortable for, undesired or otherwise detected by a user. Modification of the rhythm rate beyond the predetermined range may cause distortion of the media content, or may be rejected, unwanted, or disfavored by the user. Thus media content selector 313 may select media contents that have rhythm rates within a predetermined range of the target physiological rate. For example, a target physiological rate may be a heart rate of 120 beats per minute. Media content selector 313 may select media contents that have rhythm rates within 15% of 120 BPM, for example, between 102 BPM and 138 BPM. Presentation of the media contents may then be modified by modification facility 314 such that, for example, the modified rhythm rates of the media contents are substantially equal to the target physiological rate.
In some examples, a multiple or division by an even number of the target physiological rate may be within a predetermined range of the original rhythm rate of a media content. For example, if a halving of the target physiological rate (e.g., target physiological rate divided by two) is within a predetermined range of a rhythm rate, then one rhythm or beat of a media content may be configured to induce, encourage, or coach a user's heart to provide two beats. As another example, two rhythms or beats of a media content may be used to induce a user's heart to provide one beat. Other even numbers may be used for multiplying or dividing the target physiological rate. For example, one beat of a media content may be used to induce a user's heart to provide four beats. For example, a target physiological rate may be a heart rate of 120 beats per minute. A media content may have an original rhythm rate of 65 BPM, and a predetermined range may be 15% of the original rhythm rate. Media content selector 313 may determine that a halving of the target physiological rate (e.g., 120 beats per minute/2=60 beats per minute) is within the predetermined range of the rhythm rate (e.g., 65 BPM). Media content selector 313 may select this media content based on the target physiological rate.
In some examples, media content selector 313 may select media files from media and collections library 382. Media and collections library 382 may store one or more files having data representing media contents, and/or one or more collections of files. A user may manually enter or select a media content from media and collections library 382 using user interface 318. A collection of files may be a set of media contents or a playlist associated with a target physiological rate. A collection of files may be a set of media contents that result in or correspond with good performance, or a substantial match between the detected physiological rate and the target physiological rate, based upon historical data of the user, or based upon data from other users. A collection of files may be a subset of or overlap with media contents that the user has marked as “favorites.” A collection of files may be a set of media contents having a genre, style, artist, lyrics, or other parameter that is suitable for or associated with the target physiological rate. For example, a user's historic data shows that she meets a target physiological rate when songs from a certain artist are being presented. A collection of files associated with this target physiological rate may include these songs as well as other songs from the same artist. Media and collections library 382 may be accessible by a plurality of users.
In some examples, media content selector 313 may select the subset of files from a collection of files associated with the target physiological rate. Media content selector 313 may use communications facility 315 to retrieve data directly or indirectly from media and collections library 382. In some examples, media content selector 313 may create or modify a collection of files. Media content selector 313 may store, upload, or share a collection of files using media and collections library 382. For example, media content selector 313 may compare the difference between a detected physiological rate and the target physiological rate while a first media content is being presented to another difference between a detected physiological rate and the target physiological rate while a second media content is being presented. Media content selector 313 may determine that the difference associated with the first media content is smaller than the difference associated with the second media content. Media content selector 313 may add the first media content to a collection of files associated with the target physiological rate, for example, a collection of files that correlate or correspond with achieving the target physiological rate. Media content selector 313 may add the second media content to a collection of files associated with the target physiological rate, for example, a collection of files that correlate with not achieving the target physiological rate. Media content selector 313 may further cause communications facility 315 to transmit and store data representing a modified or newly created collection to media and collections library 382.
Modification facility 314 may be configured to modify a presentation of a subset of files having data representing media contents based on the difference between a detected physiological rate and the target physiological rate. Modification facility 314 may modify a rate of the presentation of the subset of files, for example, by speeding up or slowing down the presentation to increase or decrease the rhythm rate or BPM of the media contents. For example, modification facility 314 may modify a rhythm rate of a media content such that a modified rhythm rate is substantially equal to the target physiological rate. As another example, a halving of the target physiological rate may be within a predetermined range of a rhythm rate of a media content. For example, a media content may have an original rhythm rate of 65 BPM, and a target physiological rate may be a heart rate of 120 beats per minute. Modification facility 314 may adjust the rhythm rate to be 60 BPM, so that every beat of the media content may induce two heartbeats. The modified rhythm rate (e.g., 60 BPM) may be within a predetermined range of the original rhythm rate (e.g., 65 BPM), such that the modification does not cause undesired distortion of the media content. In some examples, modification facility 314 may determine that the difference is greater than a threshold while one of the subset of files is being presented, and may present a fading out of the file and fading in of another file. Modification facility 314 may gradually decrease the volume of a media content that does not correspond to achieving the target physiological rate while gradually increase the volume of another media content. Still, other modifications may be made.
Interruptions facility 316 may be configured to cause a termination of a presentation of media contents based on sensor data received from sensor 330. Interruptions facility 316 may terminate, stop, or pause a presentation of media contents when sensor data matches an interruption pattern stored in interruption pattern library 383. An interruption pattern may be a pattern of sensor data that is associated with terminating or interrupting a presentation of media content. For example, an interruption pattern may include sensor data indicating that the difference from the target physiological rate is greater than a threshold. An interruption pattern may include sensor data indicating that a detected physiological rate or a detected activity rate is below a threshold. An interruption pattern may include sensor data indicating that a certain motion that may imply that the user is being distracted or interrupted has occurred (e.g., a turning of a user's head). In some examples, interruption facility 316 may determine that the difference between a detected physiological rate and the target physiological rate is greater than a threshold, and terminate a presentation of the media contents. Interruption facility 316 may further present another media content, which may not have been originally selected by media content selector 313. For example, interruption facility 316 may present a media content that is disfavored or disliked by the user. Interruption facility 316 may use a disliked media content to induce or encourage the user to reduce the difference between the detected physiological rate and the target physiological rate. The disliked media content may be a song, music, voice recording or other sound or video recording. For example, it may be a voice stating, “You're falling behind!” In other examples, interruption facility 316 may receive motion data from sensor 330 indicating that a user has turned his head. A user turning his head may imply or indicate that the user is distracted, started a conversation with another person, paying attention to conditions on the road, and the like. Sensor 330 may be, for example, an accelerometer located at a headset worn on a user's ear. Interruption facility 316 may compare the motion data to an interruption pattern and determine a match. Interruptions facility 316 may then terminate, pause, stop, or reduce the volume of a presentation of media contents at a speaker.
Communications facility 315 may include a wireless radio, control circuit or logic, antenna, transceiver, receiver, transmitter, resistors, diodes, transistors, or other elements that are used to transmit and receive data, including broadcast data packets, from other devices. In some examples, communications facility 315 may be implemented to provide a “wired” data communication capability such as an analog or digital attachment, plug, jack, or the like to allow for data to be transferred. In other examples, communications facility 315 may be implemented to provide a wireless data communication capability to transmit digitally encoded data across one or more frequencies using various types of data communication protocols, such as Bluetooth, Wi-Fi, 3G, 4G, without limitation.
Sensor 330 may be various types of sensors and may be one or more sensors. Sensor 330 may be configured to detect or capture an input to be used by physiological rate coaching manager 310. For example, sensor 330 may detect an acceleration (and/or direction, velocity, etc.) of a motion over a period of time. In some examples, sensor 330 may include an accelerometer. An accelerometer may be used to capture data associated with motion detection along 1, 2, or 3-axes of measurement, without limitation to any specific type of specification of sensor. An accelerometer may also be implemented to measure various types of user motion and may be configured based on the type of sensor, firmware, software, hardware, or circuitry used. In some examples, sensor 330 may include a gyroscope, an inertial sensor, or other motion sensors. In other examples, sensor 330 may include an altimeter/barometer, light/infrared (“IR”) sensor, pulse/heart rate (“HR”) monitor, audio sensor (e.g., microphone, transducer, or others), pedometer, velocimeter, GPS receiver or other location sensor, thermometer, environmental sensor, or others. An altimeter/barometer may be used to measure environmental pressure, atmospheric or otherwise, and is not limited to any specification or type of pressure-reading device. An IR sensor may be used to measure light or photonic conditions. A heart rate monitor may be used to measure or detect a heart rate. An audio sensor may be used to record or capture sound. A pedometer may be used to measure various types of data associated with pedestrian-oriented activities such as running or walking. A velocimeter may be used to measure velocity (e.g., speed and directional vectors) without limitation to any particular activity. A GPS receiver may be used to obtain coordinates of a geographic location using, for example, various types of signals transmitted by civilian and/or military satellite constellations in low, medium, or high earth orbit (e.g., “LEO,” “MEO,” or “GEO”). In some examples, differential GPS algorithms may also be implemented with a GPS receiver, which may be used to generate more precise or accurate coordinates. In other examples, a location sensor may be used to determine a location within a cellular or micro-cellular network, which may or may not use GPS or other satellite constellations. A thermometer may be used to measure user or ambient temperature. An environmental sensor may be used to measure environmental conditions, including ambient light, sound, temperature, etc. Still, other types and combinations of sensors may be used. Sensor data captured by sensor 330 may be used by physiological rate coaching manager 310 to modify a presentation of media contents. For example, a GPS receiver may detect that a user is located at a gym rather than outdoors. Physiological rate coaching manager 310 may select media contents suitable for or corresponding with indoor listening. As another example, a heart rate monitor may detect that a heart rate is high, while an accelerometer may detect that a stride rate is low. Physiological rate coaching manager 310 may present media contents that may induce the user to rest, since the user's heart rate may be inappropriately high due to stress or other factors not related to his stride rate or activity. Still, other uses and purposes may be implemented.
Speaker 360 may include hardware and software, such as a transducer, configured to produce sound energy or audible signals in response to a data input, such as a file having data representing a media content. Speaker 360 may be coupled to a headset, a media device, or other device. Physiological rate coaching manager 310 may modify a presentation of media contents based on sensor data received from sensor 330, and may cause the modified presentation to be presented at speaker 360.
User interface 318 may be configured to exchange data between a device and a user. User interface 318 may include one or more input-and-output devices, such as a keyboard, mouse, audio input (e.g., speech-to-text device), display (e.g., LED, LCD, or other), monitor, cursor, touch-sensitive display or screen, and the like. Physiological rate coaching manager 310 may use user interface 318 to receive user-entered data, such as a selection of a media content, an entry of a target physiological rate or a fitness plan, and the like. Physiological rate coaching manager 310 may also use user interface 318 to present information associated with sensor data received from sensor 330, or information associated with the difference between a detected physiological rate and the target physiological rate. For example, user interface 318 may display a message stating that the detected heart rate is 10 beats per minute lower than the target. As another example, user interface 318 may display a message stating that the detected heart rate is 15 beats per minute lower than the average detected heart rate from yesterday. As another example, user interface 318 may use a vibration generator to generate a vibration indicating or alerting the user that a detected heart rate is above a maximum threshold. As another example, a user may use user interface 318 to enter biographical information, such as age, sex, and the like. Biographical information may be used by physiological rate coaching manager 310 to suggest or determine a fitness plan, or for other purposes. Still, other implementations of user interface 318 may be used.
As shown, for example, a user may adjust his activity such that his detected activity rate 332 substantially equals modified rhythm rate 371. As another example, detected activity rate 332 may have another correlation with modified rhythm rate 371. While detected activity rate 332 changes, detected physiological rate 331 may change proportionally, or with another type of correlation. For example, as a person walks faster, his heart rate may increase. Detected physiological rate 331 and detected activity rate 332 may be compared against target physiological rate 341 and modified rhythm rate 371, and the result of the comparisons may be used by modification facility 314 to further modify the rhythm rate. For example, the difference between detected physiological rate 331 and target physiological rate 341 may be used to modify the rhythm rate. As another example, the difference between detected activity rate 332 and modified rhythm rate 371 may be used to modify the rhythm rate. For example, detected activity rate 332 may be lower than modified rhythm rate 371, and modified rhythm rate 371 may be increased to further encourage a higher activity rate. As another example, detected physiological rate 331 may be substantially equal to target physiological rate 341 (e.g., the user has achieved target physiological rate 341), and detected activity rate 332 may be higher than modified rhythm rate 371. Modification facility 371 may increase modified rhythm rate 371, to encourage the user to maintain detected activity rate 332, which may be correlated with a detected physiological rate 331 that substantially equals target physiological rate 341. Still, other implementations may be used.
In some examples, a target activity rate (not shown) may be used in lieu of or in conjunction with target physiological rate 540 to select media contents and/or modify the presentation of media contents. In some examples, target physiological rate 540 may be substantially equal to the target activity rate (e.g., a target heartbeat is substantially equal to a target stride rate). Modified rhythm rate 590 may be substantially equal to target physiological rate 540 and the target activity rate, and media contents may be selected based on whether their rhythm rates may be modified to match modified rhythm rate 590. In other examples, target physiological rate 540 may be different from the target activity rate. During some activities having a repeated or cyclical motion, such as running, for example, modified rhythm rate 590 may be set to be substantially equal to the target activity rate, rather than target physiological rate 540. During other activities, such as yoga, weight lifting, and the like, for example, modified rhythm rate 590 may be set to be substantially equal to target physiological rate 540, rather than the target activity rate. In such activities having no cyclical motion, there may not be a target activity rate. In other examples, modified rhythm rate 590 may be used to encourage both target physiological rate 540 and a target activity rate. For example, media contents having rhythm rates between target physiological rate 540 and the target activity rate may be selected. As another example, a physiological rate coaching manager may determine a first difference between a detected physiological rate and target physiological rate 540, and a second difference between a detected activity rate and the target activity rate. If either the first difference or the second difference fall below a threshold, modified rhythm rate 590 may be adjusted. Still, other implementations may be possible.
As shown, for example, rhythm rate 577 may not be substantially equal to target physiological rate 541, and may not be substantially equal to a multiple or division by an even number of target physiological rate 541. For example, target physiological rate 541 may not be within a predetermined range of rhythm rate 577, and a halving or doubling of target physiological rate 541 may not be in a predetermined range of rhythm rate 577. Rhythm rate 577 of a media content may be, for example, 180 BPM, and target physiological rate 541 may be, for example, a heart rate of 130 beats per minute. A predetermined range within which the media content may be modified without unwanted distortion may be, for example, 15% of the original rhythm rate. The media content may be modified to have a rhythm rate of, for example, 153 BPM to 207 BPM (e.g., 15% of 180 BPM) to remain within the predetermined range, and target physiological rate 541 may not fall within the range. Similarly, a halving of target physiological rate 541 (e.g., 130 beats per minute/2=75 beats per minute) and a doubling of target physiological rate 541 (e.g., 130 beats per minute×2=260 beats per minute) may not fall within the range. A physiological rate coaching manager may determine that the media content having rhythm rate 577 may not be used to induce or encourage target physiological rate 541, and may not select this media content to be presented.
In some examples, sensor data may include motion data (not shown). For example, an accelerometer may be physically coupled to a headset worn on a user's ear. Motion data may be detected by the accelerometer. An interruption pattern may be a motion associated with a turning of a user's head. A turning of a user's head may indicate that a user is being distracted or interrupted, or paying attention to her surroundings. A match may be determined between the motion data and the interruption pattern. Presentation of media content 761 may be stopped, which may allow the user to manage the distraction or interruption. As another example, sensor data may include location data (not shown). For example, a GPS receiver may be physically coupled to a wearable device worn by the user. An interruption pattern may be a location in a coffee shop or restaurant. A user at a coffee shop or restaurant may desire to order a drink. Presentation of media content 761 may be stopped, which may allow the user to engage with the surroundings, such as ordering a drink. A match between sensor data and an interruption pattern may be found if they are substantially the same, or match within a tolerance. Still, other interruption patterns may be used.
According to some examples, computing platform 1110 performs specific operations by processor 1119 executing one or more sequences of one or more instructions stored in system memory 1120, and computing platform 1110 can be implemented in a client-server arrangement, peer-to-peer arrangement, or as any mobile computing device, including smart phones and the like. Such instructions or data may be read into system memory 1120 from another computer readable medium, such as storage device 1118. In some examples, hard-wired circuitry may be used in place of or in combination with software instructions for implementation. Instructions may be embedded in software or firmware. The term “computer readable medium” refers to any tangible medium that participates in providing instructions to processor 1119 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks and the like. Volatile media includes dynamic memory, such as system memory 1120.
Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read. Instructions may further be transmitted or received using a transmission medium. The term “transmission medium” may include any tangible or intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such instructions. Transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 1101 for transmitting a computer data signal.
In some examples, execution of the sequences of instructions may be performed by computing platform 1110. According to some examples, computing platform 1110 can be coupled by communication link 1123 (e.g., a wired network, such as LAN, PSTN, or any wireless network) to any other processor to perform the sequence of instructions in coordination with (or asynchronous to) one another. Computing platform 1110 may transmit and receive messages, data, and instructions, including program code (e.g., application code) through communication link 1123 and communication interface 1117. Received program code may be executed by processor 1119 as it is received, and/or stored in memory 1120 or other non-volatile storage for later execution.
In the example shown, system memory 1120 can include various modules that include executable instructions to implement functionalities described herein. In the example shown, system memory 1120 includes target module 1111, difference module 1112, media content module 1113, modification module 1114, and interruption module 1116. A fitness plan library, a media and collections library, and an interruption pattern library may be stored on storage device 1118 or another memory.
Although the foregoing examples have been described in some detail for purposes of clarity of understanding, the above-described inventive techniques are not limited to the details provided. There are many alternative ways of implementing the above-described invention techniques. The disclosed examples are illustrative and not restrictive.