- Java 1.5 compatible
- Shell script for *nix environment (tested using Cygwin for Windows)
- Full featured validator no longer requires "needle1" and "needle2"
[ add comment ] ( 4 views ) | [ 0 trackbacks ] | permalink
Ladies and gentleman, we have a release! I have put it up on SourceForge. Please download it and let me know what you think. Choose your download format (tar.gz or .zip) and unpack it to the directory of your choice. All files in the archive start with the knitml-0.1 directory, so you can unpack it into a generic directory (such as C:\projects, for instance).
Once you've unpacked the files, read the README.txt in the root directory. It will tell you how to set up your environment so that you can run the knitml command from any directory. Take a look at the samples/basic-sock directory to see how the sample is structured and to try out the knitml executable.
The command you'll most be interested in is:
knitml validateAndRender filename-to-processAnd to capture the output to a file:
knitml validateAndRender filename-to-process -output pattern.txtKnown limitations
Because I forgot to remove some hard-coded meta information from the validator, there is a limitation that you can only use needles with an ID of "needle1" and/or "needle2" and pattern messages in a file (or files) named pattern-messages.properties. The sample conforms to these limitations, so please model any patterns you write after this fashion (for now, until a bugfix release comes out). Hopefully, you won't need to use more than 2 needles right away in your patterns. Also, the 'knitml' executable is only currently available as a Windows batch file. If you are running on a *nix platform, you will have to call the Java program manually. If someone would like to contribute a *nix script, I will be more than happy to include it in a future release.Development and Contributions
Please submit bugs and feature requests to our issue tracker. You have to sign up for an account, but I promise it's quick and painless, and your e-mail address won't be used for anything other than notifications of the progress of issues you submit. Please, please, please provide your feedback and help to better the KnitML project!If you are interested in downloading the source code (hopefully with the intent of contributing), it is stored at the Sourceforge Subversion repository. The SVN URL (for access with an SVN client) is https://knitml.svn.sourceforge.net/svnroot/knitml. I apologize but I have not been able to get my assembly tool to give me a reliable source package yet. I may assemble something manually and upload it in the coming days.
The project is built with Maven 2. I use Eclipse to develop KnitML, so all of the required Eclipse artifacts are also in the repository. I also use the Maven plugin for Eclipse, and I highly recommend it. Note that you can still use a different IDE to develop KnitML, it's just that the artifacts are not (as yet) checked in.
The project is organized into several modules:
- knitml-parent: top-level meta-information about the project, including build configuration
- knitml-core: contains XML schemas and core processing code
- knitml-validation: provides a mechanism to verify that a KnitML pattern is knittable
- knitml-pattern-renderer: produces a human-readable pattern from a KnitML pattern
- knitml-tools: provides executable classes to bind the modules together
Thanks for everyone's continued support to get us to a 0.1 release!
[ add comment ] ( 7 views ) | [ 0 trackbacks ] | permalink
After several months of planning, designing, coding, and debugging (as well as an almost two month break on the project completely), I can confidently say that both the validator and the pattern renderer for the basic sock pattern works! This means that KnitML 0.1 has been accomplished! Thanks to everyone who has participated thus far.
I will be packaging this up into something far more useful than its current state. You'll get a Java JAR out of this with directions for use. Instructions will be forthcoming once I get the JAR built.
[ add comment ] ( 4 views ) | [ 0 trackbacks ] | permalink
First, I would like to wish everyone and their family very happy holidays! We just received 5 inches of snow here in Chicago, and it's quite delightful to look at.
You may have noticed the new KnitML Issues Tracker link on the sidebar. Matt, our fearless web admin, has installed Bugzilla, which is a vast improvement from what SourceForge was offering. Bugzilla will be KnitML's central repository for issues.
Some of you may not care for Bugzilla, so I have to let you know that it was not my first choice. Ideally I wanted JIRA, but our hosting service here at knitml.com doesn't support Java. We tried out Mantis, which is PHP-based. The interface was nicer than Bugzilla, but we could not get it to integrate with Mylyn, a task-based plugin for Eclipse which is an integration point I think is necessary. Since the Mylyn project grew up using Bugzilla, and integration with it was incredibly simple, it seemed like a no-brainer.
That said, Matt has done everything easy he can to make the web interface a bit more bearable. He removed the picture of a nasty-looking microscopic bug which comes with the default screens. He also installed the Flat Green skin, which makes Bugzilla look a lot more Google-esque than the traditional I-was-clearly-developed-by-hardcore-computer-science-geeks skin (though I think they just call it the "default" skin).
If you still object to the web interface, I would highly encourage you to try out Mylyn 2.0. It comes with the newest Eclipse Europa package. You can interact with Bugzilla completely within the confines of Mylyn and Eclipse without ever having to go the website. It's quite slick.
You do need to create an account to report bugs. This is mostly so that you can be informed of the progress of bugs through e-mail if you prefer. Your information will be completely private. I promise I won't sell your e-mail address to anyone and I won't use it to communicate with you directly without your permission.
Now... bring on the bugs!
[ add comment ] ( 6 views ) | [ 0 trackbacks ] | permalink
In perusing the web recently, I stumbled across MusicXML's successful attempt to standardize an interchange format for many different music softwares. They have several recommendations to make regarding incubating standards for a niche market. Read the full article here, or just the highlights from the article below:
- Apply usability techniques to language design in the same way that you would to GUI design. Use terms that domain experts understand. Where possible, avoid introducing concepts that are specific to applications in the domain, rather than to the domain itself.
- Develop the format together with software that reads and writes the format. Use evolutionary delivery to deliver early versions of both the format and the software, with frequent iterations to get both working well together. This particularly helps for meeting the twin goals of completeness and usability.
- Make sure that the format can exchange data in both directions with at least one market leader in your application area. Do this as early as possible in your development process. Do not expect the market leaders to do this for you.
- Market to other developers who would get a business benefit from using your format. This will be difficult until your format can exchange data with a market leader.
- Give format developers good support. Involve the development community in the design of the format. Be responsive to developers who are using early versions of your format and translation software.
- Avoid overhead. In a small market like music notation software, organizations like ISO and OASIS can be too costly in both time and money for even the largest industry players. Following the model of Adobe's PDF format - an open format under single company control - can be more effective in these situations.
In short, I think our instincts for what to do and how to do it have been right, or at least have been justified. I definitely see their point about standards organizations. Besides, they don't seem to want to talk to me anyways. :)
[ add comment ] ( 2 views ) | [ 0 trackbacks ] | permalink

Archives



