More thoughts on drawing programs

I really want to make comics again. But none of the drawing programs I’ve tried have been suitable. They’re all overcomplex in ways that don’t help with the drawing process, or buggy, or have enormously troublesome user interface issues.

I used to use Photoshop but it’s gotten unwieldy, slow, and expensive. There were many really nice things in it which most drawing programs fall incredibly flat on.

What I’ve tried

Here’s a non-exhaustive list of the drawing programs I’ve used and a quick description of what’s wrong with them:

  • Photoshop: expensive, slow, buggy, unwieldy
  • Illustrator: expensive, slow, unwieldy, object/layer model doesn’t fit my brain
  • Affinity (both Photo and Designer): horrible workflow, terrible accessibility issues, no easy flat-fill workflow
  • Clip Studio Paint/Manga Studio: fiddly UI, terrible keyboard accessibility, frustrating shading tools, frustrating export workflow, excruciatingly bad text tools, no good way to draw speech bubbles that don’t fit their crappy templates
  • Acorn: no easy flat-fill workflow
  • ProCreate: no text tool, over-emphasis on natural media
  • Corel Painter: over-emphasis on natural media, really frustrating workflow, excruciatingly shitty updater which breaks a lot of other stuff too (all to occasionally spam the user with ads)
  • Pixelmator: terrible accessibility (especially for keyboard), bad flats workflow
  • Pixelmator Pro: brush engine is not useful for actual inking (for some reason there’s a ridiculous amount of pressure smoothing that can’t be disabled?!), UI has bad accessibility antipatterns, a couple of useful features are purposefully and bafflingly disabled on nested layers “for performance” but there’s no alternative provided for people who actually, y'know, need them
  • Krita: bad accessibility, not-very-good flats workflow, terrible text tool, Mac version is buggy
  • GIMP: bad accessibility, terrible text tool, Mac version is buggy
  • Inkscape: bad accessibility, unwieldy, object/layer model doesn’t fit my brain, Mac version is nonfunctional
  • FireAlpaca: terrible interface, laggy
  • Medibang: terrible interface, laggy

What I want

Here’s a general idea of what I’m looking for in a drawing program:

  • Keyboard access to switching tools, with configurable shortcuts
  • Brush engine
    • Easily-configured dynamics (shape, size, scatter, opacity, flow, density)
    • Pressure-sensitivity to affect the various dynamics
    • Keyboard access to quickly set the opacity in particular
  • Selection tools
    • Lasso
    • Polyline
    • Magnetic lasso
    • Magic wand (with ability to sample based on current/all/current-and-above layers)
    • Shapes
    • Modifier keys to quickly override add/subtract/intersect mode
    • Bonus: Grow/shrink selection by N pixels (as a keyboard-accessible command)
    • Selection from alpha
    • Bonus: ability to quickly toggle the most recent selection buffer
  • Flood fill
    • Fill with constraint based on current/all/current-and-above layers
    • Bonus: don’t bleed through gaps below a certain size
  • Vector tools
    • Polylines, bezier curves, circles, ellipses, etc.
    • Compound vector layers
    • Ability to fill and outline said compound layers as a whole
    • Ability to quickly edit/add/remove control points
  • Text engine
    • Multi-line text with configurable justification/alignment
    • Multiple fonts/styles/colors within a single text object
    • Bonus: wrap to/follow/fit vector path
    • Bonus: per-character baseline, kerning, ligature adjustments
  • Transform tools
    • Easily able to rotate/scale/distort (affine or perspective) current selection
    • Configurable filtering (bicubic, nearest neighbor, bicubic-with-threshold)
    • Bonus: curved distort
    • Bonus: puppet warp (ideally with a persistent adjustable rig rather than being a one-off)
  • Layers
    • Nested layer groups
    • Opacity masks, both on individual layers and on groups
    • Basic compositing algorithms (normal, multiply, divide, lighten, darken, etc.)
    • Bonus: layer effects (inner/outer glow, drop shadow, outline, replace color)
    • Bonus: advanced compositing algorithms (halftone/dither)
    • Bonus: adjustment layers (adjust HSV/color, fill, gradient, exposure, etc.)
  • Gradients
    • foreground to transparent
    • foreground to background
    • ability to set shape (especially linear and radial)
  • Color management
    • Swatches
    • Color mixer/palette
  • Fast export
    • JPEG, with preview of quality level
    • PNG, with preview of color reduction
    • Able to always export to a specific directory instead of the directory the source file is in
    • Bonus: Export content of all text layers to the clipboard (makes it easy to paste speech bubbles for editing in a transcript)
  • UI aspects
    • Easy zoom/scroll/pan/rotate via touch gestures and modifier keys
    • Always-visible foreground/background swatches
    • Maybe don’t go overboard on a “docking” interface, and don’t move stuff around contextually
    • Nothing should be accessible only by a tiny click target or a UI where things need to scroll around
    • Keyboard access wherever possible
    • Bonus: easily-configured guides (both by dragging and by setting up rows/columns in a UI)
    • Bonus: easily-configured grid
    • Bonus: Snap to guides and/or grid

Things that I think of as non-features:

  • Antialiased tools

    By working at a higher resolution, that removes the need for a lot of the selection tool stuff, since you no longer need to quickly grow and shrink a selection, and that also means you don’t need to do a compound magic wand selection to do a flat fill either.

    Even without antialiasing there’s still stuff you have to worry about with variable alpha, but it still becomes a lot more predictable when you aren’t generating a lot of extraneous alpha-blended artifacts all over the place.

  • Fancy colorspace support

    Pretty much everything can deal with sRGB these days, including physical printing. I only really care about targeting the web anyway.

    16-bit channel support would be nice though. Heck, that should be the default for internal use.

I have so many ideas about how I’d build this sort of thing myself if only I had the time/motivation/energy/lack-of-pain necessary to do it. Bleh.


Before commenting, please read the comment policy.

Avatars provided via Libravatar