Thoughtful, detailed coverage of the Mac, iPhone, and iPad, plus the TidBITS Content Network for Apple consultants.

Intaglio: May the Quartz Be with You

Remember the magical feeling you had when you first used a Macintosh, and played with those early bundled applications, MacPaint and MacDraw? The magic - though you may not have been conscious of this at the time - lay in the fact that these tiny applications were essentially just showcases for the Mac's underlying technology. You could draw a square or an oval, with a thick or thin line, filled solid or with a pattern, because those were all basic QuickDraw primitives; in effect, you were accessing the very same code that gave the Mac itself its distinctive look, allowing it to draw windows and buttons in the first place.

< project=Macintosh&story=Round_Rects_ Are_Everywhere.txt&topic=QuickDraw>

You can still recapture some of that first careless rapture by playing a little with the Paint and Draw modules of AppleWorks, if you have it; these are intended to emulate (and may, in a sense, be direct descendants of) MacPaint and MacDraw, though naturally with some modern touches. SuperPaint, the subject of one my earliest TidBITS reviews, was another MacPaint/MacDraw knock-off; it's no longer available, but if you have a copy lying around, you'll find it still runs pretty well under Classic.

< clarisworks.php>

In Mac OS X, QuickDraw is no longer the system's native windowing and screen-painting technology; that honor goes to Quartz. The look of Mac OS X comes in large part from the fact that Quartz provides native support for Bezier paths and coordinate transforms (for rotation, skewing, and scaling), along with sophisticated effects such as transparency, shadows, and gradients.

< /Conceptual/OSX_Technology_Overview/ MacOSXTechnology/chapter_4_section_ 3.html>
< GraphicsImaging/Conceptual/ drawingwithquartz2d/>

Intaglio, from Purgatory Design, aims to put Quartz's capabilities at your fingertips much as MacDraw did for QuickDraw. And, to a remarkable degree, I think it succeeds.


Draw, Pardner -- Intaglio is a drawing program. The palette of tools is straightforward. Some tools create vector objects: line, rectangle, round rectangle, polygon, oval, and arc; freehand pencil and Bezier curve pen; text; dimensioned line. Click any of these, then click and drag in a document, and you're drawing. Other tools work with existing objects or help you with the document as a whole: selection (and point selection, for working with Bezier curves), gradient, eyedropper, measure, and zoom.

You have to learn a few "click tricks," which for the most part are standard and are probably second nature to most users of drawing programs. While creating a geometric shape, Shift-drag to make a circle or a square, and Option-drag to create the shape starting at its center. Option-drag an arc's center point to change its radius. Option-drag an object to duplicate it. Shift-drag an object to constrain motion to horizontal or vertical. Option-drag a Bezier point to drag out new Bezier handles. Option-drag a Bezier handle to move it independently of the other handle.

A full panoply of toolbars and inspector windows lets you set various attributes of the selected object: the color and transparency of its fill; the color and transparency, thickness, arrows, dash pattern, and join and end-cap types of its stroke (outline). There is also a standard set of devices to help you draw, such as snap to grid, guidelines, alignment of multiple objects, and object grouping and locking.

The fun really begins when you start applying some characteristically Quartzian transformations and attributes to an object. An object can be resized; it can be rotated or sheared, around its center or any other point. Bezier paths can be combined and separated. In a group of objects, the topmost object can act as a mask for the rest of the group; similarly, a bitmap image object can be cropped by grouping a vector object with it, giving the group a mask attribute, and converting back to a bitmap image. An object's fill can be a pattern, meaning a tiled repetition of any rectangular drawing. An object's fill can be a gradient. Transparency is an attribute of every color (a gradient with different transparency for different colors looks really cool). You can even apply a convolution, such as Blur, Sharpen, or Drop Shadow, to an individual object. And when you're working with text, you have the entire native Cocoa palette of text tools at your disposal, including margins, indents, tabs, justification, fonts, kerning, and so forth. Text can have graphic transformations applied to it and can be bound to a path (and remains editable), or can be converted to a graphic for still more transformation.

Which End Is Up? As a simple drawing program, I think Intaglio succeeds admirably. Apart from the "click tricks," the learning curve required in order for you to draw happily is essentially non-existent: you start up Intaglio, you experiment for a while, you get gorgeous-looking results, and all is right with the world. It also succeeds in giving you the feeling that your toolbox is really Quartz itself, that behind your simple clicking and dragging, the power of Mac OS X is bursting out to provide your drawing with color, transparency, gradients, rotated and skewed shapes, and snazzy text effects. I can't put my finger on it any better than to say that Intaglio really does seem to evoke the same sense of fun and wonder and play in the world of graphics as MacPaint and MacDraw once did.

If this were all, Intaglio would be a fine low-end drawing program: pleasant as a toy, helpful as a utility, and more than enough drawing power for most users. Yet Intaglio also has some slightly higher-end features. I'm not saying that it could (or should) be compared with Canvas, CorelDRAW, or Adobe Illustrator; but some thought has clearly gone into making Intaglio considerably more than a toy.

< main.html>

For example, Intaglio is remarkably good at importing and exporting files; you can import images in various formats, including EPS, vector PICT, native ClarisDraw, and PDF, while maintaining editability, and when you export to a bitmap format (by way of QuickTime), the resolution is up to you. Intaglio is ColorSync-savvy, and can associate a different color profile with each of a document's color spaces (RGB, CMYK, and Grayscale). Documents can have pages and layers. You can set document properties (such as filling in an "author" or "keyword" field), making Intaglio Spotlight-ready when you upgrade to Mac OS X 10.4 Tiger. Anything you can do manually to an object you can also do numerically through a dialog. Most remarkable of all, Intaglio is both scriptable and recordable with AppleScript; recordability, a rare thing on Mac OS X, means that you can draw in the normal way and have your actions translated into AppleScript commands, as an easy aid to learning how to write those same commands yourself.

Perhaps for this very reason, there is something unsettling about Intaglio's feature holes and shortcomings. There is no find feature, for example. A pop-up menu at the bottom of the window lets you select one attribute of the currently selected object to be displayed in the window's status bar - such as its type, index, name, ID, or style - but surely it is obvious that users would prefer a way of seeing all of that information at once. The program had no contextual menus at all until very recently. The manual is poor: it's a Help Viewer document in which it's hard to find one's way about.

Particularly disappointing is Intaglio's stubborn refusal to follow prior art, even when it is tried-and-true, familiar, and universal. Take, for example, the eyedropper tool. In every other program I use that has an eyedropper tool, it "picks up" features of the object you click with it, such as its color, into the corresponding settings palettes, so that all subsequent drawing you do will have those features, or so that you can modify that feature (e.g. you might capture this object's yellow into the Fill palette in order to create a harmoniously paler yellow for the next object). In Intaglio, clicking with the eyedropper affects only the currently selected objects (and if no object is selected, Intaglio beeps). That's silly: it's unnecessary, since Intaglio can already copy and paste colors between objects, and it leaves no way to capture colors into the palettes and work with them there. Intaglio's implementation of styles is similarly poor. Having styles in a drawing program is definitely a good thing, because if you're to do more than merely play tediously with one or two objects at a time, the chances are high that you're going to want to apply and maintain similar characteristics for multiple objects as you go along. But the implementation of styles in Intaglio is clumsy and wrong-headed, when all it had to do was to imitate AppleWorks, which implements drawing styles simply and brilliantly.

Inconclusive Conclusions -- As so often happens, therefore, Intaglio ends up being a program I'd love to love and can't quite. If Intaglio were merely a toy, it would be a great toy. But it costs $90, which is a substantial investment, and invites the user to think of the program as endowed with some serious higher-end qualities. The lack of find, the bewildering manual, and the behavior of styles, however, goes some way towards cancelling that invitation. Add to this the fact that, for every new version of Intaglio that I've downloaded since the start of January, I've been able to find at least one drawing misbehavior and at least one crashing bug within an hour of starting to test. Bugs are no crime - they are proverbially inevitable - but my overall experience with Intaglio has not filled me with confidence.

Fortunately, it's easy to make up your own mind. A demo version of Intaglio (you can't save, and printed and exported documents have a watermark) is available as a 3 MB download. The program requires Mac OS X 10.2 Jaguar, with Mac OS X 10.3 Panther needed for some features.

< download.html>


TextExpander: Communicate smarter. Accuracy and consistency
wherever you type. Insert “snippets” of text from a repository of
boilerplate, emails and other text. Seamless sharing between you
and your team on Mac, Windows, and iOS <>