DYNAMIC PROGRESS-TOWARDS-GOAL TRACKER
Systems and methods for tracking progress toward goals are described. An example computing system for a dynamic progress-towards-goal tracker includes a display, a logic machine, and a storage machine holding instructions executable by the logic machine to visually present a graph with an axis having an initial scale, and for each of a plurality of successive durations, receive a completion magnitude indicative of progress towards completion of a sub-goal for that duration. The instructions are further executable to, responsive to the completion magnitude exceeding a threshold for any duration, automatically increase a scale of the axis to an expanded scale that is greater than the initial scale, and, for each of the plurality of successive durations, visually present via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration.
This application claims priority to U.S. Application No. 62/055,588, filed Sep. 25, 2014, the entirety of which is hereby incorporated herein by reference.
BACKGROUNDGoal setting may be used as a tool to reach an overall achievement. Progress toward a goal may be tracked by recognizing the completion of incremental portions of the goal and/or the completion of the goal.
SUMMARYAn example computing system for a dynamic progress-towards-goal tracker includes a display, a logic machine, and a storage machine holding instructions executable by the logic machine to visually present via the display a graph with an axis having an initial scale, and for each of a plurality of successive durations, receive a completion magnitude indicative of progress towards completion of a sub-goal for that duration. The instructions are further executable to, responsive to the completion magnitude exceeding a threshold for any duration, automatically increase a scale of the axis to an expanded scale that is greater than the initial scale, and, for each of the plurality of successive durations, visually present via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
Goal setting can be an effective tool. Once an individual sets a goal, it is useful for the individual to easily track progress towards completion of the goal.
An individual may have one or more goals. Some goals include a finite final target with a range of intermediate actions that can be taken towards reaching that target. As an example, an individual may set a 16,000 steps-per-day goal, and each step the individual takes in a particular day will bring the user 1/16,000 of the way towards successfully completing that goal. As another example, an individual may set a 30,000 calories-burned-per-week goal, and each calorie the individual burns in a particular week will bring the user 1/30,000 of the way towards successfully completing that goal. As still another example, an individual may set a 15,000 words-written-per-month goal, and each word the individual writes in a particular month will bring the user 1/15,000 of the way towards successfully completing the goal. Goals may even include a total amount of time spent doing a particular activity (e.g., studying, exercising, engaging in a hobby, and/or other activities) within a given duration of time (e.g., a day, a week, a month, a year, and/or any other suitable duration of time). The above are not limiting. A goal may have any magnitude, any duration, and/or any purpose.
A goal may be self-selected and/or a goal may be selected for the individual. As an example, a fitness tracker may set a default 10,000 steps-per-day goal for a new user of the fitness tracker, but the user may override the default goal with a self-selected 16,000 steps-per-day goal. As another example, a fitness tracker may set a default 10,000 steps-per-day goal for a new user of the fitness tracker, and the goal may be automatically adjusted to 20,000 steps-per-day after the user has averaged 20,000 steps-per-day in the previous two weeks.
Some goals may be divided into a plurality of sub-goals. Using the examples above, the 16,000 steps-per-day goal could be broken into sixteen 1,000 steps-per-waking-hour goals; the 30,000 calories-burned-per-week goal could be broken into seven 4,285 calories-per-day goals; and the 15,000 words-written-per-month goal could be broken into thirty 500 words-written-per day goals or 168 90 words-written-per-working-hour goals.
Sub-goals can be divided into equal increments, as indicated above, or sub-goals can be divided unequally. For example, before- and after-work hours may have higher sub-goals than work hours. When dividing goals into sub-goals, either equal or unequal, the sub-goals optionally can be rounded up or down. Sub-goals may be calculated according to a scheme that aligns with a user's preference. For example, sub-goals to achieve an overall 16,000 steps-per-day goal may be selected based on a Gaussian curve centered on noon. In this way, the user is encouraged by the sub-goals to gradually increase step activity in the morning, be most active during the day, and gradually decrease activity in the afternoon and evening. Other continuous or discrete distributions of sub-goals may be determined and presented, such as Laplace, log-normal, Weibull, Bernoulli, exponential, and/or other suitable data distributions. Other sub-goal schemes may be used, such as selecting hourly sub-goals that are equally spread out over the day, or that spike in the morning and evening when, for example, the user is not at work or school. The duration in which a sub-goal is set to be completed may be a portion of the duration in which a goal is set to be completed. For example, a sub-goal may be measured per hour (e.g., a number of steps taken within an hour) while an associated goal is measured per day (e.g., a total number of steps taken within a day). The duration in which the goal is set to be completed may include the aggregate amount of time in which each of the sub-goals for that goal is set to be completed.
Goals and sub-goals may be dynamically modified. As one example, a 16,000 steps-per-day goal may be an initial goal; and a 20,000 steps-per-day goal may be a challenge goal that automatically replaces the initial goal upon completion of the initial goal. As another example, a second-chance goal of 10,000 steps-per-day may automatically replace the initial 16,000 steps-per-day goal if an individual has not completed at least 4,000 steps, eight hours into the day. When a goal is modified in this manner, some or all of the corresponding sub-goals may also be modified. Goals and sub-goals may be dynamically modified up and/or down. The goals may be changed as any function of one or more variables in a stepped or continuous manner. Such variables may include, but are not limited to, units towards completion of the goal, completion percentage of the goal, and duration left to achieve goal.
A variety of different tools may be used to help an individual track progress towards completion of a goal and/or sub-goal.
Using the example of
In examples where the goal relates to a number of steps taken in a unit of time, the smart watch 12 and/or smart phone 14 may include a step counter module 17a/17b. The step counter module may include hardware (e.g., a hardware processor or other logic device) that executes logic (e.g., instructions stored on a storage device, such as a storage device/memory integrated into and/or in communication with the smart watch 12 and/or smart phone 14) to determine a number of steps taken based on sensor data (e.g., from the IMU sensor 15a/15b). The step counter module 17a/17b may generate a number of steps taken and/or otherwise store a value indicative of a number of steps taken. For example, the step counter module may utilize memory in which a step value is stored and incremented each time a step is determined to be taken based on the sensor data. The step counter may reset upon completion of a duration associated with a sub-goal (e.g., every hour), completion of a duration associated with a goal (e.g., every day), and/or at another programmable time. The step counter may also be reset manually (e.g., based on user input requesting the step counter to be reset). In still other examples, the step counter may not be reset at regular intervals, and may keep a running total of a number of steps taken for a duration longer than the duration associated with the goal. In such examples, changes in the step counter value during durations associated with sub-goals or the goal may be recorded to determine progress toward the sub-goals/goal. Although a step counter module is described herein, it is to be understood that similar modules may be included in the smart watch 12 and/or smart phone 14 to track and store a value representing a progress toward completion of a goal (e.g., a number of words/pages written, a number of calories burned, an amount of time spent on an activity, a number of repetitions of an exercise completed, a distance traveled, etc.).
One or both of smart watch 12 and smart phone 14 may be configured to display goal assessment pages and/or otherwise indicate progress towards goal completion. In additional or in an alternative example, any one or more of computing devices A-N may be configured to display goal assessment pages and/or otherwise indicate the progress toward goal completion. In some examples, one or more of smart watch 12, smart phone 14, and computing devices A-N may generate display instructions to control display of the goal assessment pages and/or other displayable data for indicating progress toward goal completion. The device(s) that generate the display instructions may send the instructions to any of the other devices. For example, smart phone 14 may generate display instructions corresponding to visually presenting a goal assessment page for indicating progress toward completion of a goal. Smart phone 14 may then transmit the display instructions to any one or more of smart watch 12 and computing devices AN to enable that device(s) to display the goal assessment page on associated displays (e.g., display 19a integrated into smart watch 12). Smart phone 14 may also display the goal assessment page on a display integrated within itself (e.g., display 19b integrated into smart phone 14).
Smart watch 12 and smart phone 14 may include a communication interface, such as communication interface 21a and 21b, respectively, which may be configured to communicate with other devices via a wired and/or wireless connection. For example, smart watch 12 may communicate with smart phone 14 and/or computing devices A-N via communication interface 21a. Smart phone 14 may communicate with smart watch 12 and/or computing devices A-N via communication interface 21b. Any of the above-described communications may include direct and/or indirect communications utilizing wired and/or wireless communication mediums. Although network 16 is only illustrated as connecting smart phone 14 to computing devices A-N, it is to be understood that communications between any of the above devices may occur via network 16 and/or any other suitable network.
As introduced above, the goal may dynamically change as any function of one or more variables. As an example, if the user takes 16,000 steps, the goal automatically may be changed to a challenge goal of 20,000 steps.
Portions of goal assessment page 20 may be color coded to further indicate progress towards goal completion. The color of a graphical progress indicator may be selected from a plurality of different colors, each different color indicating a different level of progress toward completing an aggregate goal (e.g., a goal aggregating each of a plurality of sub-goals). For example, graphical progress indicator 26 may be colored green when a user is easily on track to reach a goal (e.g., has completed or exceeded one or more sub-goals and/or is progressing toward the goal at a rate at which the goal will be met as long as the user continues progressing at that rate), colored red if the user is far behind pace to reach the goal (e.g., if the user has missed one or more sub-goals), and colored yellow if the user is just above or just below pace to reach the goal (e.g., if the user has missed one or more sub-goals but made one or more other sub-goals). These are only examples, and colors may be used in any way to indicate goal progress.
Sub-goal assessment page 40 also includes a portion 64 that indicates how many hours the user has been active in the relevant day. Such activity may be judged based on a threshold. In one implementation, a user will be considered active if they have taken any steps in a relevant hour. In another implementation, a user will be considered active if they have met at least 50% of their hourly step sub-goal. The information provided by sub-goal assessment page 40 is exemplary, and additional or alternative information may be provided.
Sub-goal assessment page 40 divides the 16,000 step goal of
The y-axis 54 of the bar graph may be scaled in any suitable manner. For example, a scale of the y-axis may include one or more values in units corresponding to the item being tracked (e.g., number of steps) selected and positioned based on a size of the scale. As one example, the y-axis initially may be scaled so that a third out of four ticks up the y-axis (e.g., 75% up the y-axis) corresponds to the hourly sub-goal (e.g., 1,000 steps). In other words, the initial scale has a maximum y-axis value that is 4/3 the sub-goal. This implementation is illustrated in
The y-axis 54 of bar graph 52 may be dynamically changed as a function of one or more variables. As one example, the scale of the y-axis may be expanded responsive to a user meeting or exceeding the 1,000 step-per-hour sub-goal in any hour. Other threshold may be used for expanding the y-axis—e.g., the initial maximum y-axis value, the initial 50% y-axis value, or any other value.
An expanded scale may be further expanded responsive to a user meeting or exceeding an expanded threshold. For example, if the y-axis is first scaled from 1,333 to 2,520; the y-axis subsequently may be scaled from 2,520 to 3,000 (or another value) responsive to the user exceeding 1,891 steps (or another threshold).
In the above-described examples, a bar graph is used to present data regarding progress toward goals and/or sub-goals. In other examples, the data may be similarly presented via other types of visual and/or graphical representations. For example, a scatter plot, line graph, or other graph having one or more axes may be utilized such that at least one of the axes is scaled as described above with reference to the y-axis of the bar graph.
For example, one or more pie charts may be utilized to visually present progress toward goals and/or sub-goals. In such an example, a radial axis of the pie chart may be scaled in a manner that is analogous to the manner in which the y-axis is scaled in the bar graph examples described herein. For example, data represented in a pie chart may occupy a “slice” of the pie chart that has an arc length extending around a portion of the radial axis of the pie chart (e.g., the circumference of the pie chart). The scale of the radial axis indicates how many points of data (e.g., how many steps) are represented by a particular arc length. For a pie chart having a constant size (e.g., radius), increasing a scale of the radial axis of the pie chart causes the data value (e.g., number of steps) represented by a slice having a selected arc length to increase. Put another way, for a pie chart having a constant size (e.g., radius), a representation of a selected data value (e.g., 1,333 steps) may occupy a first slice of the pie chart having a first arc length. Increasing a scale of the radial axis of the pie chart causes the representation of the selected data value (e.g., 1,333 steps) to decrease to occupy a smaller slice and correspondingly smaller arc length.
At 604, the method includes, for each of a plurality of successive durations, receiving a completion magnitude indicative of progress towards completion of a sub-goal for that duration. For example, as indicated at 606, the sub-goal may include a number of steps, and the completion magnitude may be indicative of a number of steps taken during the duration being evaluated. At 608, the method includes, for each duration, determining whether the completion magnitude for that duration exceeds the threshold associated with that duration. If the completion magnitude does not exceed the threshold (e.g., “NO” at 608), the method proceeds to 610 to progress to the next duration (e.g., to start counting a number of steps for a next sub-goal) and returns to 604 to receive a completion magnitude for that next successive duration (e.g., after the duration has elapsed).
If the completion magnitude does exceed the threshold (e.g., “YES” at 608), the method proceeds to 612 to automatically increase a scale of the y-axis to an expanded scale that is greater than the initial scale. In this way, the y-axis may be expanded responsive to the completion magnitude exceeding a threshold for any duration. At 614, the method includes, for each of the plurality of successive durations, visually presenting via the display a bar on the bar graph, the bar having a length that visually indicates, relative to the y-axis, the completion magnitude for that duration. In this way, the method 600 may be performed to generate a goal assessment page, such as the goal assessment page examples illustrated in
In some implementations, the methods and processes described herein may be tied to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.
Computing system 700 includes a logic machine 702, and a storage machine 704. Computing system 700 may optionally include a display subsystem 706, input subsystem 708, communication subsystem 710, and/or other components not shown in
Logic machine 702 includes one or more physical devices configured to execute instructions. For example, the logic machine may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
The logic machine may include one or more processors configured to execute software instructions. Additionally or alternatively, the logic machine may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of the logic machine may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic machine optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic machine may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration.
Storage machine 704 includes one or more physical devices configured to hold instructions executable by the logic machine to implement the methods and processes described herein. When such methods and processes are implemented, the state of storage machine 704 may be transformed—e.g., to hold different data.
Storage machine 704 may include removable and/or built-in devices. Storage machine 704 may include optical memory (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory (e.g., RAM, EPROM, EEPROM, etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others. Storage machine 704 may include volatile, non-volatile, dynamic, static, read/write, read-only, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.
It will be appreciated that storage machine 704 includes one or more physical devices. However, aspects of the instructions described herein alternatively may be propagated by a communication medium (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for a finite duration.
Aspects of logic machine 702 and storage machine 704 may be integrated together into one or more hardware-logic components. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
The terms “module,” “program,” and “engine” may be used to describe an aspect of computing system 700 implemented to perform a particular function. In some cases, a module, program, or engine may be instantiated via logic machine 702 executing instructions held by storage machine 704. It will be understood that different modules, programs, and/or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same module, program, and/or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms “module,” “program,” and “engine” may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
It will be appreciated that a “service”, as used herein, is an application program executable across multiple user sessions. A service may be available to one or more system components, programs, and/or other services. In some implementations, a service may run on one or more server-computing devices.
When included, display subsystem 706 may be used to present a visual representation of data held by storage machine 704. For example, displays 19a and 19b of smart watch 12 and smart phone 14, respectively, in
When included, input subsystem 708 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller. In some implementations, the input subsystem may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity. For example, inertial measurement unit (IMU) 15a and 15b of smart watch 12 and smart phone 14, respectively, of
When included, communication subsystem 710 may be configured to communicatively couple computing system 700 with one or more other computing devices. Communication subsystem 710 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, the communication subsystem may be configured for communication via a wireless telephone network, or a wired or wireless local-or wide-area network. In some implementations, the communication subsystem may allow computing system 700 to send and/or receive messages to and/or from other devices via a network such as the Internet. For example, communication interface 21a and 21b of smart watch 12 and smart phone 14, respectively, of
Another example provides a computing system, including a display, an inertial measurement unit interface configured to receive movement data from an inertial measurement unit, a logic machine, and a storage machine holding instructions executable by the logic machine to calculate a step count based on the movement data from the inertial measurement unit, visually present via the display a graph with an axis having an initial scale including one or more values in units of steps, for each of a plurality of successive durations, receive a completion magnitude indicative of progress towards completion of a sub-goal for that duration, the sub-goal including a first threshold number of steps and the completion magnitude including a measured number of steps measured by the inertial measurement unit during that duration, automatically increase a scale of the axis to an expanded scale that is greater than the initial scale based on the completion magnitude exceeding a second threshold for any duration, and for each of the plurality of successive durations, visually present via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration. Any or all of the above-described examples may be combined in any suitable manner in various implementations.
Another example provides a computing system, including a display, a logic machine, and a storage machine holding instructions executable by the logic machine to visually present via the display a graph with an axis having an initial scale, for each of a plurality of successive durations, receive a completion magnitude indicative of progress towards completion of a sub-goal for that duration, automatically increase a scale of the axis to an expanded scale that is greater than the initial scale based on the completion magnitude exceeding a threshold for any duration, and, for each of the plurality of successive durations, visually present via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration. In such an example, the sub-goal may additionally or alternatively be a number of steps. In such an example, the completion magnitude may additionally or alternatively be indicative of a number of steps taken during an associated duration. In such an example, the initial scale may additionally or alternatively have a maximum axis value that is at least 4/3 of the sub-goal. In such an example, the expanded scale may additionally or alternatively have a maximum axis value that is at least 4/3 of a largest completion magnitude. In such an example, the threshold may additionally or alternatively be the sub-goal. In such an example, the computing system may additionally or alternatively further include a communication subsystem configured to wirelessly communicate with a wearable device that collects data from which the completion magnitude is derived. In such an example, the instructions may additionally or alternatively be further executable to send display instructions to a display of the wearable device to visually present via the display of the wearable device the graphical element on the bar graph. In such an example, the computing system may additionally or alternatively further include one or more sensors configured to take measurements useable to calculate the completion magnitude for each of the plurality of successive durations. In such an example, the instructions may additionally or alternatively be further executable to visually present a progress indicator having a color selected from a plurality of different colors, each different color indicating a different level of progress toward completing an aggregate goal, the aggregate goal aggregating each of a plurality of sub-goals. In such an example, the aggregate goal may additionally or alternatively be a target number of steps to be completed during an aggregate duration corresponding to the plurality of sub-goals. In such an example, the instructions may additionally or alternatively be further executable to automatically increase the target number of steps to a challenge target number of steps responsive to determining that the target number of steps are on track for completion in less than the aggregate duration. Any or all of the above-described examples may be combined in any suitable manner in various implementations.
Another example provides, on a computing system including a display, a method for tracking and visually presenting progress toward a goal, the method including visually presenting via the display a graph with an axis having an initial scale, for each of a plurality of successive durations, receiving a completion magnitude indicative of progress towards completion of a sub-goal for that duration, responsive to the completion magnitude exceeding a threshold for any duration, automatically increasing a scale of the axis to an expanded scale that is greater than the initial scale, and, for each of the plurality of successive durations, visually presenting via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration. In such an example, the sub-goal may additionally or alternatively be a number of steps and wherein the completion magnitude is indicative of a number of steps taken during an associated duration. In such an example, the initial scale may additionally or alternatively have a maximum y-axis value that is at least 4/3 of the sub-goal. In such an example, the expanded scale may additionally or alternatively have a maximum y-axis value that is at least 4/3 of a largest completion magnitude. In such an example, the threshold may additionally or alternatively be the sub-goal. In such an example, the method may additionally or alternatively further include visually presenting a progress indicator having a color selected from a plurality of different colors, each different color indicating a level of progress toward completing a target number of steps within a target duration. In such an example, the method may additionally or alternatively further include automatically increase the target number of steps to a challenge target number of steps responsive to determining that the target number of steps are on track for completion in less than the target duration. Any or all of the above-described examples may be combined in any suitable manner in various implementations.
It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.
Claims
1. A computing system, comprising:
- a display;
- an inertial measurement unit interface configured to receive movement data from an inertial measurement unit;
- a logic machine; and
- a storage machine holding instructions executable by the logic machine to:
- calculate a step count based on the movement data from the inertial measurement unit;
- visually present via the display a graph with an axis having an initial scale including one or more values in units of steps;
- for each of a plurality of successive durations, receive a completion magnitude indicative of progress towards completion of a sub-goal for that duration, the sub-goal comprising a first threshold number of steps and the completion magnitude comprising a measured number of steps measured by the inertial measurement unit during that duration;
- automatically increase a scale of the axis to an expanded scale that is greater than the initial scale based on the completion magnitude exceeding a second threshold for any duration; and
- for each of the plurality of successive durations, visually present via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration.
2. A computing system, comprising:
- a display;
- a logic machine; and
- a storage machine holding instructions executable by the logic machine to:
- visually present via the display a graph with an axis having an initial scale;
- for each of a plurality of successive durations, receive a completion magnitude indicative of progress towards completion of a sub-goal for that duration;
- automatically increase a scale of the axis to an expanded scale that is greater than the initial scale based on the completion magnitude exceeding a threshold for any duration; and
- for each of the plurality of successive durations, visually present via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration.
3. The computing system of claim 2, wherein the sub-goal is a number of steps.
4. The computing system of claim 2, wherein the completion magnitude is indicative of a number of steps taken during an associated duration.
5. The computing system of claim 2, wherein the initial scale has a maximum axis value that is at least 4/3 of the sub-goal.
6. The computing system of claim 2, wherein the expanded scale has a maximum axis value that is at least 4/3 of a largest completion magnitude.
7. The computing system of claim 2, wherein the threshold is the sub-goal.
8. The computing system of claim 2, further including a communication subsystem configured to wirelessly communicate with a wearable device that collects data from which the completion magnitude is derived.
9. The computing system of claim 8, wherein the instructions are further executable to send display instructions to a display of the wearable device to visually present via the display of the wearable device the graphical element on the bar graph.
10. The computing system of claim 2, further including one or more sensors configured to take measurements useable to calculate the completion magnitude for each of the plurality of successive durations.
11. The computing system of claim 2, wherein the instructions are further executable to visually present a progress indicator having a color selected from a plurality of different colors, each different color indicating a different level of progress toward completing an aggregate goal, the aggregate goal aggregating each of a plurality of sub-goals.
12. The computing system of claim 11, wherein the aggregate goal is a target number of steps to be completed during an aggregate duration corresponding to the plurality of sub-goals.
13. The computing system of claim 12, wherein the instructions are further executable to automatically increase the target number of steps to a challenge target number of steps responsive to determining that the target number of steps are on track for completion in less than the aggregate duration.
14. On a computing system comprising a display, a method for tracking and visually presenting progress toward a goal, the method comprising:
- visually presenting via the display a graph with an axis having an initial scale;
- for each of a plurality of successive durations, receiving a completion magnitude indicative of progress towards completion of a sub-goal for that duration;
- responsive to the completion magnitude exceeding a threshold for any duration, automatically increasing a scale of the axis to an expanded scale that is greater than the initial scale; and
- for each of the plurality of successive durations, visually presenting via the display a graphical element on the graph, the graphical element having a size that visually indicates, relative to the axis, the completion magnitude for that duration.
15. The method of claim 14, wherein the sub-goal is a number of steps and wherein the completion magnitude is indicative of a number of steps taken during an associated duration.
16. The method of claim 14, wherein the initial scale has a maximum y-axis value that is at least 4/3 of the sub-goal.
17. The method of claim 14, wherein the expanded scale has a maximum y-axis value that is at least 4/3 of a largest completion magnitude.
18. The method of claim 14, wherein the threshold is the sub-goal.
19. The method of claim 14, further comprising visually presenting a progress indicator having a color selected from a plurality of different colors, each different color indicating a level of progress toward completing a target number of steps within a target duration.
20. The method of claim 19, further comprising automatically increase the target number of steps to a challenge target number of steps responsive to determining that the target number of steps are on track for completion in less than the target duration.
Type: Application
Filed: Jul 7, 2015
Publication Date: Mar 31, 2016
Inventors: Jiahe Liu (Seattle, WA), Larry Russell Butcher (Seattle, WA)
Application Number: 14/793,424