KimSia Sim
@kimsia
but I'd love to hear your ideas
So I'm in another community that's very well-read.
One of them pointed me to the concepts of superordinate goals vs intermediate goals vs subordinate goals www.frontiersin.org/articles/…
and also pointed me to this paper which is about pairing goals with emergency reserves. journals.sagepub.com/doi/abs/…
I have a ahem copy from ahem questionable source. You can try to find it on your own quite easily :D
Basically to summarize the second paper,
goals with emergency reserves (7 days with 2 emergency skip days) works better than hard goals (exercise 7 days) and easy goals (5 days)
This is true when there's a superordinate goal present and that the goals are related to. Without superordinate goal's presence, preference becomes easy > with emergency reserves > hard
I don't really have time to try to build a product that reflects this research but in essence,
let people log a superordinate goal (a goal that's broad and close to reflect their ideal self). then the todos tracked in streaks must be related to that superordinate goal somehow.
Then give people emergency reserves somehow. Perhaps they earn 1 emergency day for every 3 days streak. The emergency day will expire if unused for more than 3 months or 13 weeks.
Also track weekly streaks. A week streak is when all 7 days of that week log a todo or don't run out of unused emergency day. Use the calendar week of the year as the unit.
So also every 3 week streaks, the user gets 1 free week emergency
Week emergencies expire if un-used for more than 3 quarters or 39 weeks.
Always expire emergency days first before expiring week emergencies. Always expire the emergency reserves that are the oldest if still valid.
That way, you can imagine people auto fall sick or go vacation, the emergency reserves kick in.
The streaks mechanism as it is right now, unwittingly, promote hustle culture or promote workarounds like mine.
They are not natural.
Of course, as you said, can just let them expire :D
Wow this sounds super interesting. Thanks for sharing and summarizing :)
The idea of skip days/weeks sounds very compelling and makes a lot of sense. The primary downside I see with it though, is that it's conceptually a lot harder to explain and understand than "work towards your goal every day"
There's a bigger risk people will lose their streak, because they misunderstand how it works. Or they simply stop ignore it altogether, because it's too confusing.
Duolingo lets you buy "streak freezes" which are basically skip days that are automatically applied whenever you accidentally skip a day that would have reset your streak. I think they have a limit to how many you can use in sequence.
Skipped days wouldn't count towards your streak count, but they would ensure it wouldn't get reset to zero.
What would you think of this?
Conceptually it's similar to what you describe, but I think a bit simpler to grasp. Basically the streaks continue to work as-is, relying on consecutive days, but if you skip the odd day your streak continues going the next day.
Maybe you earn a free 'streak freeze' every 5 days or so. They don't expire, but you can only keep up to 3 on your account. While you got 3 unused streak freezes, you won't earn any additional ones.
Some other ideas I had were to allow members to choose their own streak requirements. The current 7-days-per-week approach would be considered "hardcore mode", but you can change to a more relaxed 5-days/week system if you prefer.
We'd show your choden difficulty-mode along with your streak. So it still is fair to people who prefer a harder mode.
I am okay with any of them. They all sound great. Maybe except the part where you can only buy reserves instead of earning them.
Give people options. Let them have the ability to earn reserves.
Any worries about making it complicated just use a simple projection calculator.
Give them a calendar and let them pick a day to stop doing stuff. Then show them how long they can go without doing stuff until they lose streak.
Have this feature regardless the underlying calculation, then is fine.
Don't make the users think.
Also follow stackoverflow way of showing them based on their streaks they are top x%. Rather than showing a pure linear rank by raw streak.
This gives people a chance to feel they can move up
See attached
Duolingo gives you points for completing lessons that you can trade in for streak freezes. A streak freeze costs 200 points (IIRC), and you seem to normally get ~5-10 points per day that you complete a lesson (closer to 5 or 6 on average, it seems a little random). But basically it seems like you earn enough points to buy a streak freeze every month or so.
So what do you use if not webpack?
@kimsia I would imagine he moved to import map, which is the rails 7 default - github.com/rails/importmap-ra…
Their rationale is here: world.hey.com/dhh/rails-7-wil…
If I can go back in time I will say to my previous self
“success is a multi variate function”
If under different circumstances eg i have enough free time under no work pressures will find django and react still too much?
Will a different person with my exact circumstances come to same conclusions?
I have to be intellectually honest
Not necessarily
Out of the same honesty value was it too much for me?
Yes and for the foreseeable future as well
For what I want to accomplish do I absolutely need react? No
Hence my conclusion is highly personal to my unique circumstances and my own innate capacity
Different people may reach different conclusions.
I make no sweeping statements about django or react in and of itself.
My comment only covers the interaction of my experience with those domains plus my circumstances
I can tell you I spent a lot of money trying to be good at react close to 1500 dollars over a few years
I really tried
Welcome 🙏
There is no “should”
Personally I thought be better for me if i learn how to do headless ie split into django backend and then react frontend.
I did kinda do that for that client project I told you from earlier.
Looking back I will say it’s a mistake.
In order to master react I needed time I don’t have.
Now my frontend is horribly outdated and I have no time to properly improve it
Ultimately my goal is same as you : build a product like a SaaS and run it as owner
If u need nice Ajax effects u can always try htmx which is good enough
Now I’m trying to slowly transition away from react to htmx.
I now agree with the philosophy of run less software by intercom. Google that article read it then hopefully you understand. I regret not knowing this earlier but like I said nothing is truly wasted. Just a matter of going shorter route or the longer route.
@kimsia In regards to react, you basically decided the time investment of both mastering Django and React together is too high so you wanted a simpler frontend? is that right?
If I can go back in time I will say to my previous self
“success is a multi variate function”
If under different circumstances eg i have enough free time under no work pressures will find django and react still too much?
Will a different person with my exact circumstances come to same conclusions?
I have to be intellectually honest
Not necessarily
Out of the same honesty value was it too much for me?
Yes and for the foreseeable future as well
For what I want to accomplish do I absolutely need react? No
Hence my conclusion is highly personal to my unique circumstances and my own innate capacity
Different people may reach different conclusions.
I make no sweeping statements about django or react in and of itself.
My comment only covers the interaction of my experience with those domains plus my circumstances
I can tell you I spent a lot of money trying to be good at react close to 1500 dollars over a few years
I really tried
I am okay with any of them. They all sound great. Maybe except the part where you can only buy reserves instead of earning them.
Give people options. Let them have the ability to earn reserves.
Any worries about making it complicated just use a simple projection calculator.
Give them a calendar and let them pick a day to stop doing stuff. Then show them how long they can go without doing stuff until they lose streak.
Have this feature regardless the underlying calculation, then is fine.
Don't make the users think.
Also follow stackoverflow way of showing them based on their streaks they are top x%. Rather than showing a pure linear rank by raw streak.
This gives people a chance to feel they can move up
See attached