How A Spoons Engine Works

Granted, this is a first stab at this kind of thing. Which means I’m relying on some programming that I’ve done in the past. My original prototype SAD Blender used the weather to create its mood. But one thing that really bothered me, is that it doesn’t HOLD its mood during the day, and relies a lot on random numbers. I realized I wasn’t going to get AWAY from using random numbers totally, but maybe I could jig the spoons engine to rely on them a little less, or at the very least, in a more controlled manner.

A lot of the programming I did was mostly augmenting numbers through if/else statements. I realize its not elegant, and that maybe in v2.0 I’ll look into some more data science based techniques, but for now, if/else works pretty consistently. It was also the method I used in SAD Blender.

As it stands, the first end of the engine is done, which is the set state. Or the part of it that runs at the start of the day and sets the buckets (stress, physical state, mood, perception, and eventually spoons).

The Spoons Engine output

In the case of stress. I’m defining stress as EXTERNAL stressors. These are things that happen outside of your own body. I’m doing a few things to generate this score. I still start with a somewhat random base number, and I’m still looking at the weather to influence stress. But I’m also checking what events and unread emails I have waiting for me currently. This adds to a busy function, which further augments it. All my buckets are out of 10, which is a bit arbitrary, but mostly because it makes it easy for me to adjust the number (eg: if shit is terrible, upgrade your stress by 2, etc). Except for spoons, which is out of 100 and based on percentage. I’ll get to that later.

Physical State is a combination of internal influences based on your body, in particular sleep and illness. Again I start w/ a random base number, and augment it based on those states. But Physical state is also influenced by stress. And so I’m using the stress score to further augment the physical score.

I think by now you can catch the drift of what I’m doing and how. I continue to pass stress and physical state into a mood function. Mood isn’t random, it starts as neutral each time (so 5). And is augmented by stress and physical.

After that I pass all three into perception. And this is where I assign a rating scale of good / bad / terrible. There’s some weird language moments like “stress: [6,’low’]” is bad…but y’know first stab, because I had to keep the descriptors the same for further functions.

When we get to spoons I kinda flip to generating a percentage out of 100. My reasoning for that was, when considering actions or tasks that the device will have to perform throughout the day, it might be easier to adjust the variables based on 10, but the overall spoons on a percentage of X number. So for example, if you’re starting with 40 spoons (or basically operating at 40% capacity), it might make more sense to say that “automating the lights needs 5% of your spoons). I could be wrong, and in practice it might change. But for now, I’m going to try it. In this case, I’m not really looking at increasing spoons. Just taking from them, as when you’re sick, even GOOD things take their toll, and the idea is that you have to decide what to spend the spoons on.

I’m just starting to think about how this is going to work. Which is going to be my update in week three.