CanvasUML is a free Cocoa-based application for Mac OS X Tiger that allows you create simple UML Class Diagrams.
CanvasUML is alpha-quality software and should not be used for mission critical work (as if there were such a thing as mission critical UML diagramming?). CanvasUML is built using Apple's WebKit framework, <canvas> tag, WebKit's support for ContentEditable.
CanvasUML should be thought of as an exploration of what is possible using the above technologies rather than a solid app. It is basically an experiment to see how far the <canvas> element can be pushed.
Implementation Details
CanvasUML is implemented with an unholy mix of HTML, JavaScript, Cocoa, CSS, the <canvas> tag, contentEditable, and Safari JavaScript Drag n Drop.
The main window in a CanvasUML document consists of a WebView (basically like a Safari window) filled by a large, resizable <canvas> tag. The class/instance boxes are DHTML <div>s with nested contentEditable <div>s for the title, attribute, and operations sections. The association lines and the shadows behind the class boxes are, of course, drawn by the <canvas> tag. CanvasUML saves its doucuments as HTML files which link against a shared CSS stylesheet and JavaScript library stored in the CanvasUML app bundle (take a look if you're curious).
CanvasUML requires Mac OS X 10.4 Tiger or later.
CanvasUML is developed by Todd Ditchendorf. Have feedback? Email me.