What's the Model, Kenneth?
This post originally appeared on the Software Carpentry website.
Over on rwxweb [1], Michelle Levesque has posted and dissected a diagram showing how various webbish skills depend on one another. It's an invaluable design aid, but it violates the third of Jon Udell's seven principles: it's presented as a bitmapped image, rather than as something a machine can easily parse and digest. I can't, for example, read the source and generate a two-column table showing "X depends on Y", or something like that. I wrote a bit back in January about what sort of data model we could use to represent things like that, but that's the wrong approach as well. What I really want is to discover that someone has already thought this through and created such a model, so that if I want to alter or extend Michelle's model, I can change the authoritative machine-readable representation [2], and she can merge (or at least diff) those changes. All I've found so far, though, are bits of database schema buried in things like Moodle and SCORM; there doesn't seem to be anything that a programmer would recognize as a model or format per se.
Of course, what I really, really want is to figure out how to teach this idea and others like it to scientists and engineers in the 20-odd hours we have for this course...
[1] I hope I've capitalized that correctly.
[2] Of course, I want to make those changes using some sort of GUI rather than editing a blob of XML or JSON or [made-up name of random text format goes here]. If the world was working as it should, I'd be able to use any of several GUIs, depending on how I personally prefer to manipulate models of this kind.