Everybody has a hobby, and for every hobby there’s software to help the hobbyist – even for something as apparently non-technical as knitting. A few 2-D visualization programs help knitters create patterns or turn a specific image into a chart, and that’s helpful, but if you want a full simulation of the fabric so you can tell not only what it’s going to look like, but how it’ll behave in your hands, your best bet is Knitter.
Knitter lets you see your project before you spend the time to knit it yourself. It lets you see the effect of different needle and yarn sizes on your fabric, and experiment with patterns. It’s simple and intuitive enough to be used by anybody who knits.
Among other things, the software provides a place marker feature that allows you to simplify patterns by not having to specify exactly how many stitches to place. It also lets you move stitches between needles, which gives you the ability to create cable stitches.
Dane Wagner says he created the software to meet his own needs. “I needed a program capable of displaying arbitrarily complex knitting patterns. I have a knitting project that’s in the planning phases that’s supposed to reproduce a certain famous artist’s abstract geometric woodcuts. A basic stockinette fabric just pixellates the image I’m trying to emulate; what I needed was a pattern that reproduced the twisting and turning of the lines in the image, so I needed to write a pretty complex pattern. Creating such a pattern through trial and error by hand would take far too long; Knitter is designed to fix that. I’ve been working on the project on and off for probably two years now.”
Knitter’s core is written in C. “It’s personally my favorite language,” Wagner says, “because it allows me to describe my ideas most clearly. The user interface was originally written for GTK, but I moved to wxWidgets because the GTK port to OS X was not stable enough at the time. A lot of crafters use OS X, so a stable OS X port is critical for me. If I had it to do again, I’d evaluate Qt more closely, but wxWidgets has been great for me so far.”
Wagner says he’s a strong believer in open source, and wanted to give back to the community. “While it would be great to earn some money from the project, that’s secondary to helping people be more creative and more productive with their own projects. I also believe that as with music, the best way to increase visibility for your project is to get it into as many people’s hands as possible, and releasing the code through SourceForge was one of the best ways to do that.”
The developer says he has ideas for many enhancements to the program: “More intuitive ways to fix the yarn in space. Better control when clicking and dragging stitches around. Better rendering in the ‘tube’ style. Texturing the yarn is a big one. Finding the right simulation parameters so that the simulation is always fast and stable (work is already underway on this one). And that’s just the first few things that come to mind. I don’t know when any of it will get implemented; I tend to make releases pretty erratically since it’s just me working on the project.
“I do need help with the OpenGL rendering. Graphics is my weakest area and I haven’t had the time to do the research to generate a really first-class rendering, although the groundwork is there. Since the surrounding framework is already in place, it’d be a great project for a beginner or mid-level programmer with an interest in OpenGL. I could also use help mapping the latest version of KnitML onto the native Knitter API, which only requires basic familiarity with C and XML. Of course, anyone with a passion for programming is welcome to contribute. Contacting me over e-mail is probably the easiest way to get in touch with me, though it might take me a few days to respond.”