User stories for legible knitting patterns
Knitting patterns could be a lot more legible and enjoyable to use if they broke free of the constraints of print
Knitting patterns are code #
Knitting patterns are written like minified code. Take this example from a sweater I've been working on for the last 10 years:
Next row: *Place marker (pm), k2tog, work across 88[98, 108, 118, 128, 138] sts
in patt as set, ssk, rep from * one time more. 180[200, 220, 240, 260, 280] sts
Cont in patt as set until work measures 14[14.5, 15, 15.5, 16, 16.5] inches,
ending on an odd-numbered row and stopping 5[6, 5, 6, 5, 6] sts before beg of
I don't think I need to make the case that knitting patterns are code, or at the very least pseudocode, but just in case you doubt me, look at the way the bit between asterisks is a simple function. It tells you what to do and then how many times to repeat it. The numbers in brackets work like parameters. Earlier in the pattern, the different possible sizes are defined, like this
XS [S, M, L, XL, XXL]
Then, every time a set of measurements is given in that format, they indicate the action you need to take for that particular size. There's more, but I think that's enough. I assume someone else has written some careful argument about how knitting is code, however, I couldn't find one online to link to.
My struggle sweater #
People don't normally read code when it's minified, but we knitters have to follow these compact patterns. While stitch counters and stitch markers help keep count of repetitions, that's not enough. I'm not sure what other people do, but I tend to print my patterns and scrawl notes all over them.
I still make tons of mistakes, and have to go back and unknit and knit again, like some Penelope. As a result, knitting goes very slowly for me. I've found this pattern particularly difficult, because it combines complex shaping with lace and cabling.
After struggling with the back top of the sweater for a month or so, I came to the instructions for the front which just said:
Work as for back to row 25 of Chart B.
Oh no. So, I decided to expand the instructions. I pulled out just the part that applied to the size I'm knitting to remove clutter and then put each row on its own line. I unminified the knitting pattern:
It was easier to read and it let me check off each row as I finished it. Wouldn't it be nice if we could get patterns already formatted like that with nice, meaningful white space?
Knitting patterns are squishy for a reason #
Knitting pattern conventions developed for the constraints of print. If the way you distribute your pattern is in a print magazine or a handout from the knitting store, you want to fit as much information as possible in a small space. And knitting does tend to be repetitive, so it doesn't necessarily make sense to write out every single row.
As difficult as modern patterns can be to read, they've got nothing on the previous centuries' patterns which are a downright eyebleeding nightmare. Maybe paper was more expensive.
Many patterns are still distributed in print, nonetheless, I think knitting patterns could be a lot more legible and thus knitting a lot more pleasant, if we took advantage of the affordances of digital distribution. Why should an online magazine follow the same rules as a print magazine?
Knitter user stories #
In addition to meaningful whitespace, online knitting patterns could also do with a selector so that you could select your size and see the pattern just for your size. A step by step unminifier thingie could be another option on the selector.
I also prefer patterns given as diagrams and charts and then measurements to check as you go. I realize that's probably not suitable for many beginners, however for advanced patterns I think it would be preferable. Even though not all knitting patterns follow the same exact abbreviations, they always define them, so I think it should be possible to create code that takes in a pattern in words and produces a diagram.
And I've just written a spec for a knitting software and or standard that I'd like, so I might as well go all the way and write some user stories:
As a knitter, I'd like to have more clear whitespace between instructions in my patterns so I can more easily see when one step ends and another starts.
As a knitter, I'd like to have the option to see instructions just for the size or variations I'm working on.
As a knitter, I'd like to be able to unminify compact patterns so I can see each row individually and count or check it off to avoid mistakes in complex patterns.
As a knitter, I'd like to translate pseudocode instructions into charts, so I can follow the knit visually.
I'm aware of some sweater design programs that fulfill some of these user stories. You give them a set of measurements and they spit out instructions for a sweater in just your size. I haven't seen anything like what I describe here.
If I could have just one of these stories fulfilled, it would be more and more meaningful whitespace in patterns.
The struggle sweater lives on #
In the meantime, I have a bit of sweater to unknit. It turns out I misread Chart B and put extra stitches in between the yarnover Vs, when they were only supposed to be at the edges.
It's a pain, but I know I can do it. Because you see the edge of that doily? I knitted that thing on double zero circulars using fine cotton yarn and following some weird German charted pattern. That thing was so stupidly complex you couldn't even use a safety line. I have no idea how I did it. I've lost the pattern (though not the needles), and frankly after I did it I felt satisfied that I could and didn't make another. Nonetheless, it's evidence that my stubbornness is powerful.