Break for the brain, or at least some different exercise.

Some days, you just kind of need to switch gears and focus on something else while things percolate in the background. I think I hit that wall yesterday. Working through some of the changes that I talked about for StashCache, I ran into the issue now of “what happens when you get rid of a pattern from your stash?”

Especially since not everyone is a packrat like me who holds onto things on the off-chance that maybe I will want to revisit it in another five years (or lifetime, you know).

Since I’m trying to preserve the list of completions, this is now a valid question – and that smacks at some of the assumptions I was going to make about how to handle patterns. Thinking about that yesterday didn’t go very far, either – I did the easy changes, but the harder changes may also depend on the answer to the above question, so …not much sense in working on that until those questions are answered. Website work is also somewhat on hold right now, until I get the code changes settled.

So today has been a little bit of a break – I have finished all the not-white stitching (except for the backstitching) on the Great Wave piece, and will probably start trying to put a dent into the white tonight. I’m thinking some about backup services – for photos, for music, for the general computer stuff.

There’s some more general to do list items – I’m feeling like updating that list would be a good idea at some point today, both for the mundane and the more out there. That’s probably what the purpose is of those daily check-in meetings for software developers, if I had to hazard a guess, but as it’s just me, it can be easy sometimes to get a little lost in the trees on what I want to accomplish and how to accomplish that.

I decided to put off the grocery store trips until tomorrow because supposedly there was supposed to be weather today, but the weather has mostly consisted of wind and the occasional 30 second bit of drizzle. Sigh. It’s still probably a fine day to stay at home and be thoughtful, making plans for moving forward.

In stash or out of stash or…

My sister has been proofreading the tutorial write-ups, as I’ve been producing them. It is somewhat of a slower process than writing the code itself; that part doesn’t need to be explained to anyone else, all I need to do is understand what I’m doing. (The advantages of working independently.) Here, with the tutorials, I have to figure out how to explain the sequence of actions and the decisions I’ve made to someone else.

Preferably using action verbs and short words and in an easy-to-read, conversational style that’s short.

I am not very good at short.

Anyway, we were reviewing the sections that I wrote about different types of items in the stash – fabric and patterns versus threads and embellishments, and she was asking some questions about how I’d handled them. I made the decision when I started writing the program that the patterns you include are always considered ‘in the stash.’ On the other hand, thread and embellishments might or might not be in your stash, but had to be included in the app to be tracked as part of the shopping list. So clearly their presence in the app does not automatically mean that they are in the stash.

I’d initially decided to treat fabric similar to patterns. I was already treating it differently from thread or embellishments, in that each entry represents one piece of fabric. If you have a duplicate, you have to make another entry for it. Each fabric can only be associated with one pattern at a time. If you had it associated with one pattern and then changed your mind to put it with a different pattern, the first pattern “loses” its fabric.

And then my sister asked, “Well, what happens when you finish the pattern?”

My gut answer was that, well, you delete the fabric because it’s not in your stash anymore. We talked about adding a “finish” button that you can hit when you’ve finished a piece, that would delete the fabric for you. But thinking about it some more, it would be nice to have a record of what you did the piece on, wouldn’t it?

And then there’s the issue of choosing an existing piece of fabric from your stash for a pattern. Currently, when you hit the button to do that, it displays all the fabric in your stash that could fit it, even those assigned to other patterns. (The app does tell you which pattern it’s assigned to, so you don’t accidentally select it.) But that doesn’t make sense once you’ve actually started stitching the pattern – you’re not going to rip out the stitches to reassign the fabric.

So maybe I should add something you can mark on the pattern when it’s in progress. Then the fabric gets flagged as “in use” and it won’t show up in those lists. And instead of deleting the fabric on finishing, it gets marked as “completed” and shown only on the master list, not the stash list. Those changes are relatively simple to make – not trivial, but not too tricky. I can probably even add dates to when you mark something as in progress and again when you mark it as finished, to make a little journal of how long it took.

So far so good.

And then she asked, “What about the threads and embellishments when you mark the pattern as finished?”

And oh. Ugh. This is where it gets really tricky.

Some things are very straightforward. If a pattern calls for two skeins of thread, chances are very high that you will completely use up at least the first skein. (The second …well, that depends.) If a pattern needs three buttons, you are probably not going to be left with half a button at the end.

But what about the patterns that call for one skein of a color, and you use an eighth of it? You can probably use that just fine in a few other patterns; I probably shouldn’t subtract it from your stash automatically. What about a box of beads from Mill Hill, where you used maybe 1/4 of the box? That would probably also work for another pattern, which means I still shouldn’t subtract it outright (although in general I am less generous with assumptions about leftover embellishments – I don’t allow overlap when counting them for the shopping list like I do for thread).

My current plan for this is to decrease the amount of threads and embellishments in the stash by n-1 for each item called for in the pattern, where n is the amount called for by the pattern. This is based on that assumption mentioned earlier, that if the pattern called for two skeins/boxes of beads/whatever, you probably used up one completely. It’s not a perfect solution, and the dialog box that will pop up to confirm the finish will warn the user that they should check and manually correct their stash counts for items involved with the pattern if needed. But it seems to be the best solution I’ve come up with to this problem.

It also means I have a bunch more coding to do before it’s back to screenshots and tutorial writing.

June 2024