December 8, 2011

A Tour of MyPaint 1.0

The lightweight and flexible painting application MyPaint has officially made its 1.0 release. The milestone marks the end of a long, stable progression for the application. Consequently, there are not drastic changes from the 0.9 series, but there are several User Interface (UI) and feature improvements that new users and old pros alike will be glad to see.

I Paint, You Paint, We All Paint With MyPaint

For the uninitiated, MyPaint is a digital painting program that takes a minimalist approach to its "application features," and puts a far greater emphasis on simulating artists' tools. The closest comparison would be to the KDE-based Krita, which also provides natural-media simulation tools. But Krita is also interested in providing feature-rich image editing capabilities: you can retouch photographs, adjust curves, create and modify text, work with layer masks, and a host of other tasks. MyPaint gives you a canvas to draw on, and more or less stays out of your way otherwise. There are no selection tools, beziers, polygons, droppers, sharpen/blur controls, color spaces, filters, or grids to worry about. Just painting.

That said, MyPaint does its best to provide the painter with the best possible painting experience. MyPaint features unlimited undos and redos, and in a clever bit of programming, the actual canvas you draw on is infinite in size. You don't have to pick pixel dimensions before you start, you simply lay down some paint. Run up against the edge of the window? No problem, just grab it with the middle mouse button and slide it over — there is more space available automatically. You can add and re-order layers as needed, but because all layers are the same size (infinite) and all are used for image content (as opposed to text or filters), they do not add much complexity.

You essentially have one tool with MyPaint: the brush. You need a pressure-sensitive tablet to take the most advantage of it, although you can paint and sketch with a mouse as well. However, the behavior of the brush is controllable, based on a wide assortment of characteristics, and MyPaint allows you to smoothly change other aspects of it (such as the brush diameter and paint color) as you work.

I count 39 brush behavior attributes in this release: everything from jitter to dabs-per-radius, from stroke-threshold to smudge-length. But you do not need to manually adjust them all; the developers and users have created a rich set of pre-set brushes that simulate real-world tools including ink, pencil, various kinds of paint, and various styles of applying to a canvas. All you have to do is click on the one you want in the brush selector.

What's New

You can get source code bundles of MyPaint 1.0directly from the project web site. Binary builds could take some time, since they rely on volunteers, but the project says you can track their progress on the packaging page of the wiki. Some distributions are more up-to-date than others; Windows and Mac OS X builds tend to lag further behind.

MyPaint 1.0The most noticeable change in MyPaint 1.0 is the switch from text-based menus at the top of the window to graphical selectors. These selectors are larger buttons, which make them easier to tap with a graphics tablet pen. Three of them are drop-down panels (indicated by the down-arrow icon next to the button): the color selector, the brush selector, and the brush options selector. Even when not selected, the color selector and brush selector display the currently-active choice, but tapping on the button lets you change quickly. The options panel gives you quick access to sliders for opacity, radius, and hardness. In a nice touch, I noticed that the sliders are generously-spaced, which makes using them with a pen simple (an accomodation not every "tablet-supporting" app can claim).

Next to these three buttons are five toggle buttons that show or hide additional controls, one for the color picker, one for the "advanced" color picker, one for the brush list, one for the layers list, and one for the scratchpad — another new feature. Naturally, the color picker and brush list are also accessible via the drop-down panels mentioned above, but you might prefer to have them on screen at all times. Certainly when doing so, changing tools and paint colors is one click faster. All of these auxiliary controls can be shown as floating dialog boxes, or be docked to the right-hand side of the canvas.

If you miss the text menus (which give you mouse access to most of the same features), you can enable them from the "View" -> "Toolbars" menu. I prefer to see both, since I don't care for the single, multi-level "MyPaint"menu provided in button-only mode, but if screen size is scarce, it is nice to have UI options.

Regarding the dueling color-pickers, the "basic" picker is the triangle-inscribed-in-a-color-wheel you will recognize from many other apps. The advanced picker gives you additional controls, such as a history of recently-used colors, and quick access to complementary, split-complement, triadic, and other popular color schemes. The scratchpad is precisely what is sounds like: a mini-canvas in its own window. This is helpful for quick tests of new brush settings — especially when the main canvas already has a lot of color on it already. But, you can also jot down little drawings and save them for later, or paint a few color swatches for reference in another app.

There are two new functional additions in 1.0: "lock alpha" mode for brushes, and compositing modes for layers. Lock alpha mode effectively switches off the pressure-sensitivity control over brush opacity. That can come in handy in a number of scenarios, such as when recoloring or painting a "color wash" — keeping the alpha fixed lets you ensure that the paint does not "leak" over into unpainted areas of the active layer, and does not darken the opacity of the drawing.

Compositing modes are new to MyPaint, but you are familiar with them from other graphics applications. In the Layers dialog, you can select "Normal," "Multiply," "Burn," "Dodge," or "Screen." These options affect how stacked layers are rendered, but they do not change the contents of the layers themselves.

Finally, MyPaint now allows you to assign specific actions to the mouse buttons and the buttons on your tablet pens. Open "Edit" -> "Preferences" -> "Buttons" to map each to a specific function.

Go Paint Already

MyPaint does not have a road map for future releases; the project's goals are to make digital painting easy and to keep the interface simple. Thus it is hard to say what comes next, now that the magic 1.0 number has been achieved. There is a wiki page for users and developers to brainstorm on, and on it you will certainly find lots of intriguing possibilities. But most of the submissions are in the UI-design vein, such as how to adapt the interface for touch-sensitive tablets.

Where you are more likely to see changes is in the brush sets, which users can create and share with each other on the forums. That is one of MyPaint's best features — sharing custom brushes is straightforward, and the interface even encourages you do to it through its "brush set" switcher. In addition to fostering a more active user community, it is a good way to get artists connected to the actual code. It is one thing to know that an application supports pressure-sensitive tablets, but it is another to see and manipulate all the settings that affect your actual work. Luckily that level of involvement isn't required to get good results from MyPaint; you can just fire up the app and put pixels on canvas.