KnitML 0.4 released 
It is my great pleasure to inform you that KnitML 0.4 has been released. Perhaps most significant in this release is the completion of critical chapters to the User's Guide. The guide now provides a full reference to Knitting EL functions and their XML equivalents. Between the function reference, the samples, and the full XML Schema documentation, there should now be plenty to get you started.

Once you've downloaded the zip file, unzip the file to the directory of your choice. For example, if you unzip the file to "C:\Program Files" the KnitML root directory will be "C:\Program Files\knitml-0.4". Open the user's guide (users-guide.html or users-guide.pdf) found in the docs subdirectory of the KnitML root directory. Follow the installation instructions. Sample KnitML files are in the samples subdirectory.

The following new features are now supported by the specification and all of the software:
  • Increases
  • Stitch crosses (i.e. cables)
  • Custom inline / block instruction definitions
  • Instruction merging
  • Combining block instructions together to be knit simultaneously (e.g. a body pattern repeat with an edge pattern repeat)

There have been some schema changes which will most likely result in incompatibilities with previously written KnitML patterns. The changes are very straightforward and mostly deal with element and attribute name changes. For instance, all attributes with 'idref' in their name became 'ref'. The changes were made to favor simplicity and uniformity across the schema. If you have questions about the specific changes (or why your pattern no longer works), please feel free to contact me and I can help you out.

We need someone who knows Spanish to finish providing a Spanish translation to the pattern renderer / sample patterns. If you are interested, please let me know.

If you have ideas for what kinds of features you would like to see in the 0.5 release, please submit an enhancement request to the issue tracker.

This release has been a long time in coming. Thank you for your continued interest in making the knitting world a better place!

[ 6 comments ] ( 53 views )   |  [ 0 trackbacks ]   |  permalink
Redesign complete 
The code now uses JiBX to bind from XML to a native Java object model. dom4j is no longer used in the project. The repeat elements have been simplified and AspectJ / Spring contexts are no longer required for correct operation. So those issues are now put to rest.

The instruction and row mechanism is now much simpler. Instructions are now either block instructions (which consist only of rows) or inline instructions (can occur within a row). Block instructions can now be merged together in parallel (by row) or serially (by instruction).

You will soon be able to define a structure which can repeat different sets of instructions together. For instance, a 9-row instruction repeat (e.g. the body of a sweater) and a 2-row repeat (e.g. seed stitch) can be described and processed together. This would have the effect of "work body of sweater to marker, then work seed stitch to end." It's very useful to be able to express this as a designer. Some knitters may prefer to think about the pattern this way, or they may want an explicit set of rows printed out for them. The knitter will have that choice.

In other updates, multiple row definitions per element are now fully processed and supported by the validator.

The downside is that there is a bug in JiBX which, when combined with a major bug in the Maven Assembly Plugin, causes the KnitML build to fail. I think I have a workaround, but it's tenuous and fragile. Hopefully the JiBX issue will be fixed soon and I can unhack by Maven POM.

[ 1 comment ] ( 4 views )   |  [ 0 trackbacks ]   |  permalink
Wow, so having a little distance from the project has really given me some perspective about the code that I have developed thus far.
  • The Spring contexts are abysmally slow to start up, especially when the whole JVM is being created with every command line execution. I'm going to have to eliminate those contexts and do software initialization manually. That's not really an awful thing, since Spring contexts really excel at stateless objects, yet this solution is anything but stateless.
  • The recording mechanism for the repeat and repeat-instruction elements is kind of wacky and needs to be rethought.
  • We really need to have an independent object model of the knitting pattern. The problem is that too much of the logic which connects the algorithm defined in the XML to the knitting engine is in the form of XML visitors. It really needs to be working with an independent object model that can be pushed to the engine.
Any code junkies out there want to help me fix these?

[ 2 comments ] ( 39 views )   |  [ 0 trackbacks ]   |  permalink
Well, It's Been Fun 
It's been nearly a year since KnitML first got off the ground. It has taught me a lot about open source, given me the chance to stay on top of some of the latest technologies, and taught me a lot about software architecture. Perhaps the best part about the project is that it's been my chance to combine my professional skills with one of my favorite hobbies.

So it is with sadness that I am forced to announce the hibernation of the KnitML project. I've come to face reality that I can no longer continue to do this by myself. I was really hoping to build a community of software developers that could deliver something extraordinary. Unfortunately, the vision, design, and implementation has almost exclusively been mine, and I have not been able to drum up enough interest. There is not much point in putting forth a specification which includes only one person's ideas, as it will never meet the needs of a global knitting community.

Also, there's nothing more effective for setting priorities straight than family. That said, my wife and I are expecting our first child in a few weeks! We are absolutely thrilled and can't wait to meet this new, special person about to come into our lives.

The web site, the downloads, the source code repository, and the issue tracker will of course remain open. Perhaps in the future I will start things back up again, or perhaps another soul will come along and continue with what we've started.

Thanks for everyone's support. May we meet someday again.

[ 4 comments ] ( 83 views )   |  [ 0 trackbacks ]   |  permalink
KnitML 0.3 Released 
I am very happy to announce that KnitML 0.3 has been released. This release includes a much-needed user's guide and solidifies support for the KnitML Expression Language (a.k.a. GroovyKnit). GroovyKnit should make writing KnitML files a breeze.

Give it a try and let me know what you think!

[ 1 comment ] ( 8 views )   |  [ 0 trackbacks ]   |  permalink

<<First <Back | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Next> Last>>