In 1995, Deneba’s Canvas 3.5 was one of my favorite programs. Like SuperPaint, which still worked but was showing its age, Canvas was a draw/paint program with a straightforward interface. But when Canvas 5 shipped in 1996, I found it sluggish, buggy, confusing, and blatantly a port (see "The Microsoftization of Deneba: Canvas 5.0.1" in TidBITS-366). I despaired of Deneba, and recently started using CorelDRAW and Corel PHOTO-PAINT instead (as covered in "CorelDRAW 8: A Hedy Experience" in TidBITS-457).
Last week, though, CorelDRAW slammed me into a virtual brick wall. I wanted to diagram a house; but CorelDRAW has no line tool, and can’t easily be told to make a line exactly 2.25 inches long. Then later, using PHOTO-PAINT to create a background image for a Web page, I found myself unable to figure out why I couldn’t select a desired object or mask a desired area.
That’s when I installed Canvas 6 and was pleasantly surprised.
Tell Me What You See — As Canvas 5 felt vast and clumsy to me, so Canvas 6 feels direct, smooth, and comprehensible. My earlier complaint that objects were often being redrawn unnecessarily has largely been attended to; so has my criticism that when using paint tools, the cursor doesn’t show the brush shape. And the interface shows many commendable refinements.
There’s a new "docking bar," a narrow strip at the top of the screen, where, if you drag a floating palette into it, the palette’s name appears, and can be clicked to display the palette (like Finder pop-up windows). Thus, for the price of a thin strip of pixels, you are saved the huge blocks of screen real estate occupied by the floating palettes you need. Similarly, you can place colors, tools, styles, and commands into the toolbar (another strip at the top of the screen) and assign them keyboard shortcuts.
Canvas 6 makes good use of drag & drop. You can drag a vector object into a palette to use it as an arrowhead, a fill pattern, or a brush shape. To store an object as a source for cloning, just drag it into the macro palette; to change its appearance (and that of all its existing clones), drag another object on top of it. You can drag colors into an object to apply them, and in an especially nice touch, if you drag an object into the colors palette, Canvas stores the object’s colors there.
Many other details make Canvas 6 a pleasant place to work. Palettes and dialogs let you preview their effects. There are multiple Undos, good contextual menus, superb object finding, and copying and pasting of object attributes. Circles and arcs can be drawn from three points (I’ve wondered for years why draw programs lacked this). Printing is excellent, including rotated and bound text.
Nonetheless, certain interface failings remain. Interaction with Canvas objects is still difficult: handles are tiny and hard to see, and unresponsive when the mouse passes over them; you can’t set the distance at which they become clickable, and you can’t use the keyboard to select them. Palettes don’t change predictably to reflect a selected object’s properties, and I still find it hard to learn exactly what an object’s fill or stroke settings are, or why, in general, it looks the way it does. Also, the delay before tool tips or pop-up toolbars appear is too long.
I’m Looking through You — Canvas has always been characterized by unification of vector, bitmap, and text objects. It isn’t just that they coexist within the same layer, but that the distinction between them is so readily broken down. You can trace bitmaps to yield vector objects; you can rasterize text and vector objects into bitmaps. Text can have vector-object fills and outlines, can be edited as vector paths, and can follow, or wrap within or around, a vector path. Text or a vector shape can be used as a "clipping path," so that all objects behind it, of any kind, become its interior fill.
Canvas 6 takes object interaction to a new level through the use of transparency. This is the much-touted "SpriteLayers" technology – a curious name, since neither sprites nor layers are involved. The idea is that an object can be transparent in two ways:
As a whole, it can be anything between opaque and transparent, along with several transfer modes.
It can also have either a channel mask or a vector mask. With the former, you paint, possibly starting with an existing bitmap object, to detail the object’s transparency; with the latter, you give it a geometric, gradient-like transparency, or else attach to it a previously drawn vector object, whose colors detail its transparency.
You’re probably saying: so what? Unless I draw a lot of glass panes or cutaway views, what good is transparency to me? But Canvas encourages use of transparency in unaccustomed contexts, to achieve results that otherwise might be obtained in a clumsier, more roundabout way. Objects have their own colors, which may be complex to begin with (a gradient or a bitmap, for instance); now you’re giving the front object an overall degree of transparency, plus a transfer mode determining how its colors combine with those of what’s behind, plus a mask which is, in effect, another detailed image of its transparency. In essence, you paint and draw with transparency itself, as a way of adding subtlety and drama.
If you’re like me, you’ll be experimenting for hours, fascinated with your sudden artistic talent. To give an object’s edges a multicolored glow, put it in front of a gradient-filled object, then give it a channel mask and paint around the edges with a soft brush. To give an object a subtly burnished look, place on top of it an object with a gradient fill, partial opacity, and a soft-light transfer mode. To make sunbeams appear to emanate from an object, give it an elliptical vector transparency, and put behind it an object with a brightly colored radial gradient.
I immediately used these features to redraw the phoenix on my home page; I’m no artist, but I like the results, and I had fun. The old version, in SuperPaint, was mostly hand-painted with the mouse; the new version, aside from the bird itself (a photograph), is mostly vector objects, overlapping with transparency to provide shading and radiance.
Look at All the Little Piggies — Although I never meant to compare the Corel programs with Canvas, I was using the first when I turned to the second, and the transition left me with some revealing impressions.
To start drawing my house diagram, I need to set the document’s scale. Canvas allows arithmetic expressions in its numeric dialog boxes, so I just bring up the Rulers dialog and fill in two fields: 1 inch = 100/8 feet. In CorelDRAW, I must set "feet" as the document’s units in one dialog, then enter the scale (8 inches = 100 feet) in another. This difference is quite characteristic. Corel’s interface is more complicated, but its ruler implementation is deeper, offering thirteen possible units as opposed to Canvas’s four, plus as you zoom closer, the ruler’s ticks increase in granularity, whereas in Canvas, the ticks just separate until none are visible.
Next, I want a vertical line 22.5 feet long. In Canvas, I just bring up the Object Specs dialog, set the object as a line, enter its angle (90) and its length (22.5), and hit Create. Corel has no line objects, so you must lay out three guide lines, turn on Snap To Guides, and draw a curve which happens to be a straight line. Once again Corel’s implementation is deeper – it has a far better Guidelines Setup dialog, and its guidelines can be at any angle – but you’ve drawn three or four precise lines in Canvas in the time it takes to draw one in Corel.
The same applies to bitmap drawing. Corel PHOTO-PAINT can do much more, with oodles of transfer modes for every tool, and so many settings for texture and stroke and so forth that your head spins. In Canvas, on the other hand, it’s easier to understand what I’m doing.
Canvas is smaller than Corel: one program instead of two, a 40 MB installation instead of 135 MB, 20 MB of RAM instead of 60 MB. It also feels smaller in features: fewer transfer modes, simpler color models, no lenses, and so forth. But Canvas’s implementation generally doesn’t feel limiting – just easier. Corel presents itself as a vast powerhouse of professional-level features; certain aspects of the interface are unbeatable; and the results can be more subtle and more impressive. But reaching those results can be a slow, daunting, touchy process, with false starts and frequent consultation of the manual; with Canvas, results come easily, quickly, and intuitively. Thus, most people will feel more comfortable with Canvas, and it will have the capabilities they’ll need for most tasks.
And the Eyes in His Head — Canvas’s manual is quite good, and so is the online help in QuickHelp format; training videos are also available.
Canvas is a CPU hog; even in the background with updating turned off it grabs a heavy share of cycles. Though it generally feels stable, it crashed or froze several times during testing. I encountered some bugs of which my contact at Deneba knew nothing: an arrow in a dialog box that the manual says to drag but can’t be dragged; text in an object container not wrapping properly; Control-clicking to get a contextual menu and finding the computer temporarily frozen. In a full-priced program that’s been through one maintenance revision (6.0.1), that’s distressing.
The cost, like that of comparable programs, is high. That’s a pity, especially since you may be paying for features you don’t need. No one can deny, for instance, that Canvas’s text abilities are remarkable; but to expect it to compete with QuarkXPress or Microsoft Word is silly, so a real-time spell-checker (which auto-corrects as you type), automatic hyphenation, plus widow and orphan control are overkill. Canvas’s ability to turn drawings into Java-based Web pages frankly repels me. Deneba trumpets Canvas’s plug-in-based architecture, but fails to use this feature to create a more attractive pricing model. You don’t have to load what you won’t use, so why must you buy it in the first place? Deneba could sell a splendid entry-level draw/paint program for half the price.
Despite these reservations, Canvas 6 is a worthy successor to Canvas 3.5, and has replaced it on my machine. Canvas 3.5 was a motley collection of independent tools, many with primitive, quirky interfaces and limited abilities; with Canvas 6, Deneba has successfully updated and unified those features into a thoroughly modern draw/paint program, effective, satisfying and pleasurable to use.
Canvas 6 has an approximate street price of $380 ($200 competitive upgrade). It requires a Power PC processor, System 7.5 or later, 32 MB RAM, with 40 MB of hard disk space recommended. It comes with three CD-ROMs containing thousands of clip art images and fonts. A demo version is available for download.