About KnitML 

Overview


The KnitML Project's goal is to promote KnitML as an international standard for knitting pattern expression. We aim to produce:
  • an open, community-supported specification which can be used by designers, publishers, and knitters worldwide to create and use knitting patterns.
  • tools built to use the specification which make KnitML patterns easy to create, maintain, and use.

Why?


By a "standard" we do not mean standard pattern abbreviations or terms as they appear in patterns. Rather, we mean an intermediate format created for the sole purpose of software and pattern exchange and transformation. Most designers and knitters should not need to care about the specification itself, only the results it produces.

Designers could:
  • use one or more of their favorite software programs together (e.g. Knit Visualizer, Sweater Wizard).
  • create a pattern using a style that's familiar to them (e.g. the Knitting Expression Language)
  • design one pattern template which handles all sizes of the garment, with sizing differences managed separately.
  • generate all pattern sizes from the template with each pattern size "test knit" by validation software.
  • preview the result of a pattern using graphics (e.g. Knitter)
  • digitally sign the pattern to guarantee original authenticity.
Likewise, knitters could view the pattern:
  • specific to the size they want to knit (no need for highlighting size-specific numbers)
  • with charts or directions (regardless of how the pattern was originally conceived)
  • using either the English or metric system
  • in their native language with regional conventions
  • specific to their knitting style (i.e. Western or combination)
  • with abbreviated or explicit directions (depending on their familiarity with the given technique)
  • with mathematically complex directions expanded (such as "increase 34 stitches evenly over 171 stiches")
  • with their gauge rather than the one that came with the pattern
  • with accessible-enabled software (e.g. big fonts, voice rendering)

How Does This Work?


KnitML only expresses the content of the pattern (that is, the steps required to produce the finished object from start to finish). KnitML does not describe how the pattern is to be laid out. This enables the knitter to make his or her own choices about how the pattern should be laid out. This removes the burden from designers and publishers to produce an infinite number of pattern variations for knitters. It also enables the knitter to produce the pattern in a form that he/she really wants.

What KnitML is Not


KnitML is not intended to promote the "right" way to notate a knitting pattern. Rather, it is our hope to write and promote software which can be easily customized to both the preferences of the designer and the knitter. KnitML only hopes to standardize the underlying content model so that software everywhere can interpret and process knitting patterns.

What Does This Cost Me?


Nothing. The project's specification and software tools are open source. This means that all of the source code (i.e. the stuff that makes the computer "know what to do") is publicly available and is provided free of charge. Most software that the project produces is licensed under the Apache 2.0 License.

How Can This Cost Me Nothing?


We believe that free and open collaboration within the knitting community is the only way to create a viable standard. We believe that the knitting world can be made better, so we volunteer our time and effort to make this project successful. You, too, have something to contribute. Perhaps you will join us.

History


KnitML was based on Laura Porter's vision to create a standard markup language for knitting patterns. She had noticed that patterns tended to be written using non-standard styles and abbreviations, so it was often difficult to convey meaning universally.