Track numerical habits #42
-
|
It would be nice if Loop could track numerical habits, in addition to yes/no habits. It could be useful, for example, for tracking: number of repetitions of a certain exercise; body weight or fat percentage; number of minutes listening to, or reading books, in a foreign language; and many other examples. Development Subtasks:
|
Beta Was this translation helpful? Give feedback.
Replies: 29 comments 1 reply
-
|
Users can set a goal to read X pages, exercise for Y minutes, do Z push ups, etc. Then the question would be "Did you read X pages today?" Therefore, as a user, I don't think this feature is necessary. This app is for developing good habits, not for logging your workouts. IMHO. :) |
Beta Was this translation helpful? Give feedback.
-
|
This function can be used in a different way. I found the idea of it in the book "Triggers". The author suggests to ask yourself "Did I do everything possible to reach the goal?". And the answer could be a number from 1 to 10. It is the measure of person's diligence in the current day. |
Beta Was this translation helpful? Give feedback.
-
|
I for one would welcome the feature - I'm in the process of doing small tasks (a couple of minutes every hour) and having ability to mark how many I've done on a given day would definitely help with making this a habit. |
Beta Was this translation helpful? Give feedback.
-
|
I have started working on this feature in the branch
After these kinds of habits are well supported, it should not be very hard to start adding other variations, such as time duration (e.g. how much sleep did you get last night? ) and ratings (e.g. How productive was your day? Excellent, good, acceptable, poor, terrible?) If anyone has any design suggestions (for example, how should the data be entered or presented; how would the notifications look like; what kind of graphs and widgets would be interesting), please feel free to share with us. |
Beta Was this translation helpful? Give feedback.
-
|
I think the widgets should have the number of times the user has performed the habit, weight lost, etc, and turn colored when the target is reached (but still keeping count). You might be able to build in some flexibility by letting the user define the increments that each tap of the check mark produces; for instance, instead of (or in addition to) having the user type in 96 minutes in their studying habit, they could have each tap represent 30 minutes or 45 minutes when they first set up the habit, and just hit the check mark three times or twice, respectively. Finally, it might be motivating to see the numbers degrade over time, for instance, if the user wants to study 5 hours a week, the widget would only display the hours studied in the previous 7 days, and would have to periodically "fill up the tank" to keep the total hours above goal |
Beta Was this translation helpful? Give feedback.
-
I think that tapping multiple times to increase the count would be enough, but then we have problem with marking it off/decreasing -- I think that using long tap for it would also work;
|
Beta Was this translation helpful? Give feedback.
-
Hi @iSoron , I am personally really looking forward to this feature. I wonder what happened with the |
Beta Was this translation helpful? Give feedback.
-
|
Hi @iSoron, I am wondering whether the numerical habits feature is still being considered or has been discarded. I couldn't find the the feature/numerical-habits branch. |
Beta Was this translation helpful? Give feedback.
-
|
I agree. To choose either a checkmark or number input would be handy. That way for once a day habits you can have a checkmark but for multiple times a day you can use numbers instead of checkmarks. A way to input the numbers via touch screen is to double tap to add 1 or to hold it to minus 1. If you have it set to Toggle With Short Press you can tap to add 1 and hold it to minus 1. |
Beta Was this translation helpful? Give feedback.
-
|
I get a feeling that this is being designed as some super complex feature with stats, history, reports, trends and other bells and whistles whereas the way I see it what is needed is simply a way to mark habits that consist of a number of steps (with user defined increments, as @askmydog suggested) or need to be done for a length of time (something @KEHO described in #90). Here is how I imagine it. Once started, by, say, tapping on the current day's placeholder for a check mark on the main screen a dialog box appears (for examples see below), a session starts and lasts for a maximum of a day or until the target has been reached, whichever happens sooner. Once the limit has been reached the check mark appears (or not), the session ends and all the counters get reset. You have either managed to do whatever you planned to do or not, that's it. It basically would be a little extension on top of how things are now. I think it would achieve what is needed, that is improved usability, without making the app more complex, something @Donaira was concerned about. There could obviously be several different sessions running in parallel, each for a different habit, and there would be some indicator that a session is ongoing for a particular habit with a way to maximise its corresponding dialog-box. Example 1. Target - 10 minutes of revision on specified days. While you are revising the program keeps track of the time for you. You don't need to look at a separate stopwatch or a clock, you just focus on what you need to do. If you have to stop the activity you simply hit the pause button. You can then come back later on to continue (up to end of day). Example 2. Target - 10 breaks a day away from the computer. Again, the program keeps count of the breaks for you so you don't have to. |
Beta Was this translation helpful? Give feedback.
-
|
Also talking about what @johnnybaloney said, a combination of both the examples would be great. |
Beta Was this translation helpful? Give feedback.
-
|
Hi there! I was wondering what the current state of this feature is and if anyone is still working on it right now? If not then I'll pick it up. I see there is some work done already. I've read that the feature branch has been merged into dev but is disabled. If nobody is going to give me any directions I'll just start working on checking the check boxes and testing the feature(s). |
Beta Was this translation helpful? Give feedback.
-
|
@Tthecreator Thanks for volunteering! There is no one working on this feature right now. In my free time, I am focusing on #486. If you would like to help with this issue, you're very welcome. The checkboxes in the first post are still accurate. I would recommend start by updating the charts and the notifications. Please feel free to submit a work-in-progress pull request if you would like to discuss the implementation. |
Beta Was this translation helpful? Give feedback.
-
|
+1 this is the only missing function of the app |
Beta Was this translation helpful? Give feedback.
-
|
Can we track time in addition to numeral and boolean? A la #129 |
Beta Was this translation helpful? Give feedback.
-
|
+1 for this feature. I also consider this the no. 1 missing feature, because it would allow to track progress and improvement over time. Putting the goal number in the habit definition ("do x for at least y minutes/hours/pages/glasses/...") would require to repeatedly change the definition in case you improve and want to "raise the bar" over time. So you do not preserve information about your progress in case of success nor information about by how much you missed your goal if you do not succeed on some days. |
Beta Was this translation helpful? Give feedback.
-
|
I think this is slightly out of scope for this app. What a habit is, semantically, is the performance of a task / action consistently. Numerical data such as exercise repetitions, running distance, time spent etc are all related to habits but are their details rather than the act of performing it. For example in Habits I have I would prefer to see a separate app to measure progress using the same design principles as Loop habits (which is one of the most pleasant apps I've ever used). I would use it to track my exercise repetitions etc in a heartbeat. This isn't to say I don't that the work on this issue isn't valuable -- I think there's a strong case for tracking numerical data but semantically I do think it's just a little out of scope in terms of what a "Habit" is. |
Beta Was this translation helpful? Give feedback.
-
I've got a lot of numerical data I have to track that definitely isn't any type of workout. Just think about medical data for example. And I'd prefer to not have a separate app for it. Especially because this app is open source and able to export in various format. |
Beta Was this translation helpful? Give feedback.
-
This! There are many habits/task that require certain repetitiveness... |
Beta Was this translation helpful? Give feedback.
-
|
@iSoron similar to hiding numerical habits in streak widget we should hide yes/no habits from the target widget |
Beta Was this translation helpful? Give feedback.
-
|
One feature that could move Loop far ahead of other habit tracking apps is an intelligent overall scoring function for all daily habits combined. Simplicity is a major strength of Loop, but having every habit be only a yes/no checkbox is a limitation. A simple method for tracking a numerical count of repetitions would be a significant improvement for certain kinds of habits (as noted by several others). With numerical tracking, a natural question is how to best do the scoring. I would argue that a simple linear scoring is not the best method for most habits. I believe there is an opportunity to help users establish and reinforce new habits through the use of "mini-habits". Mini-habits appear to have a less ambitious goal, but that turns out to be much more effective in practice (and there are good scientific reasons for it). A good summary of the book "Mini Habits" by Stephen Guise can be found in the Better than Yesterday video "Accomplish Everything With Mini Habits" [https://www.youtube.com/watch?v=aHDvEfiSipo (8 minutes)]. Guise also endorses the summary video by Productivity Game [https://www.youtube.com/watch?v=rETOlen9G30 (9 minutes)]. For many habits (perhaps most), greater benefits are attained for the early repetitions, with diminishing returns for doing more of the same thing. What makes a habit a life-changing force is the ability to maintain it over the long term, by "just showing up" every day. By awarding more points for the first few repetitions than for additional repetitions, the user is encouraged to at least do a little bit (when their motivation is low), which helps tremendously in entrenching a habit as part of the normal daily routine. I have thought about intelligent scoring systems for what i call my Life Balance Game. As part of that project, i defined a half-dozen different mathematical functions for appropriate rewarding of various kinds of habits and activities. For the purposes of a simple elegant habit tracker like Loop, i think there only really needs to be three types of scoring: (a) yes/no, (b) linear, and (c) sqrt(n), with the latter being the default for numerical counts. A concrete example of a diminishing returns habit might be daily meditation. Twenty minutes per day might be a fine target to aim for, but a lot of credit should be given for "just showing up" and doing the first two minutes (which is tougher than it sounds!). The sqrt(n) scoring function accomplishes that smarter pay-off nicely. The user might obtain 30 points for a 2-minute session, 42 points for a 4-minute session, 52 points for 6 minutes, or 60 points for 8 minutes (30 * sqrt(4) = 60). More is better, but only moderately better. The user just enters the number of 2-minute intervals they did, and the app does the rest automagically. Some habits really are "yes/no", in that the optimal number of repetitions is exactly one. For that, you either score all the points, or get zero. And some habits really are linear in nature, in which case linear scoring makes sense (e.g. 10 points each). But in my experience, those types of habits are less common, so the default scoring should probably be a front-loaded mini-habit with diminishing returns. (The user would be able to change the scoring method for a habit as they deem apppropriate, of course). To create an accurate and meaningful overall score for all tracked habits, the user assigns the weights they want for each habit. This is not as complicated as it might sound, and an example should make it clearer. Let's suppose the user wants to prioritize totally focused work, counting 200 points for the first 30-minute session, with diminishing values after that. They also want to meditate more often, but that isn't as important to them, so they assign 30 points for the first 2-minute session, as in the previous example. Similarly, they set relative values to each of their habits, and the app simply computes the sum of the scores for each habit being tracked. Here is a snapshot of a spreadsheet i created for tracking a hypothetical user's personal daily habits: |
Beta Was this translation helpful? Give feedback.
-
|
This feature is essentially complete in |
Beta Was this translation helpful? Give feedback.
-
|
@iSoron Do you want beta testers for 2.0? For a numerical target, a successful goal can be marked as over or under a threshold. For example, the target could be over 20 minutes of mediation or under 60 minutes of social media usage. For reference, another habit tracker called Timecap has a nice UI for tracking a counter habit and a timed habit. |
Beta Was this translation helpful? Give feedback.
-
|
I am reopening this issue until the official release of Loop 2.0. If you would like to try out a very early, work-in-progress version of this feature and give us some feedback, it is now available in v2.0.0-alpha. Please note that alpha releases may contain serious bugs that can cause you to lose your entire data. You should create a full database backup before trying it out. If you prefer to wait, we will have a more stable beta release later this year. |
Beta Was this translation helpful? Give feedback.
-
|
Really like the new stuff, small feedback - I wanted to add how much I hiked today I thought I would type "12.6" but that did not work so I tried "12,6" did not work either. Unfortunately one has to manually scroll selection to get remaining .6 kilometers. It'd be great if this was possible type directly as it feels much more natural to me, cheers. |
Beta Was this translation helpful? Give feedback.
-
|
Little bit more feedback:
Once sorted manually I was able delete it. This happen when sorted by name. |
Beta Was this translation helpful? Give feedback.
-
|
I just tested the 2.0 version and I'm super happy about adding this numeric tasks :) Few suggestions from me:
anyway, I'm using this app for 2 years now and I think it's great. Thanks for your hard work and making it free and open source :) |
Beta Was this translation helpful? Give feedback.
-
|
Just had a look at the 2.0 alpha, great work, what would be great is to be able to cumulatively add to a days total, for instance if I were tracking my daily water intake I could add 1.5L in the morning and then come back later and add another 1L without having to manually do the addition and change the total to 2.5L. That's a simple example to illustrate the point, but the feature would be more useful when entering any data that requires more granularity. Also related would be to have a "delete entry" button rather than having to type 0 or using the scroll interface to 0. I would put this in the bottom left of the "Change value" popup. I am not a UX/UI designer, I've just said what makes the most sense to me. Separately, an option to "invert" the goal would be great, for instance if I were tracking how much TV I watch on a daily basis, I'd have the goal to be less than two hours. The current behaviour would however, reward days where I exceed the two hours, where I'd want the score to increase on days where I watched less than two hours. So the two hours becomes a maximum rather than a target. |
Beta Was this translation helpful? Give feedback.
-
|
The numeric feature is great but it should also extend to more complex counting like I need 16 pages per day to finish a 1000 page book in 2 months, but I am not going to consistently make 16 pages per day, so it should have a feature of filling in the goal of 1000 mark, with target time of 2 months, then it should calculate per day number required at current time to reach the goal, or if we need to extend the time to 3 months if it's getting too large for us. Also, it should just take page number on which we are, instead of asking us to fill how many pages we read, so that it simply tracks the growth and it's easy to fill in on which page we are currently. This will be best for tracking any project conveniently. EDIT: now I don't want to put the page numbers of reading book, it is so cumbersome. Plz add a feature to edit numerical habit to Yes/No. Otherwise we have to delete that habit and start again for yes no. |
Beta Was this translation helpful? Give feedback.


I am reopening this issue until the official release of Loop 2.0.
If you would like to try out a very early, work-in-progress version of this feature and give us some feedback, it is now available in v2.0.0-alpha. Please note that alpha releases may contain serious bugs that can cause you to lose your entire data. You should create a full database backup before trying it out. If you prefer to wait, we will have a more stable beta release later this year.