ENOGU

← All the investigations

Research

Seeing the paint under your finger

On a phone the finger is the brush, and it covers exactly the spot being painted: the colour coming off, the ridge it's building, whether the tool is running dry.

What already exists, and why it doesn't fit painting

Family Example Why it fails a painter
Callout or loupe: a copy of the occluded area shown elsewhere Shift (Vogel & Baudisch 2007); the iOS text loupe The eye has to leave the stroke to watch a second picture. It's fine for placing a caret, but tiring for a continuous stroke
Offset cursor: you act at a point away from the finger US 10,936,110; the progressive offset of US 12,014,020 It breaks direct touch, the whole point of finger painting. A permanent offset feels like steering a remote brush
Push content aside: open a hole under the finger US 8,531,410 It distorts the painting you're trying to see
Zoom in Pinch Occlusion shrinks relative to the work, but you lose the whole picture, and it's slow
A stylus or pencil hover Apple Pencil hover preview There's no pencil on an iPhone

All of these treat occlusion as a pointing problem. A painter's problem is different: they need to see the material coming off the tool, continuously and without looking away.

The idea: the brush trails the finger (built)

A real brush doesn't paint under the hand. Its head trails the handle, so a painter watches paint leave the bristles. In Enogu the finger is the handle, and the brush head is dragged behind it on a short tether: - The tether stretches with speed. At a fast stroke the head runs up to about 16 pt, a fingertip's radius, behind the finger. Fresh paint appears at the finger's trailing edge, in plain sight. - It follows the finger's own path. The head is pulled along the path the finger took, the pursuit curve a dragged brush traces, so curves stay true and corners soften slightly, as with a real brush. - It catches up when you slow down. Held still, it's right under the finger, so a dab or a careful touch lands exactly where you press. Nothing is offset when precision matters. - A faint ring shows where the bristles are, the width of the brush. That shows the footprint even where it runs under the edge of the finger. - Brush and knife trail. The finger tool, the rag and everything on the palette stay direct, because the finger really is the tool there.

Why it's intuitive: there's nothing to learn. It isn't a mode, a loupe or a cursor; it's how a brush already behaves. The indirection only appears in motion, when you're watching a stroke rather than aiming, and it disappears when you slow down to aim.

Measured with real touch input in the test browser: at speed, the head sat 8.7 pt behind the finger. After holding still for half a second it sat 0.2 pt away. On a slow stroke it stayed 0.3 pt away.

Tuning to confirm on the phone: the maximum lag (16 pt), the speed at which the lag is full (350 pt/s), and whether the knife should trail less than the brush. It's in the menu (Paint → "The brush trails your finger") so it can be compared on and off.

Update: the nib is the default (2026-09-26)

The owner found the trailing brush didn't work ("content occlusion sucks"). The default is now a nib: paint lands 36 pt above the fingertip, marked by a small ring with a centre dot, like the tip of a pen held in the hand. It's the offset-cursor idea above, rejected earlier for breaking direct touch; for detail work the owner's verdict outweighs that. Trailing and painting right under the finger remain in the menu (Finger: Nib above / Trails / Under). Next: confirm on the phone whether 36 pt is right, and whether the nib should point up-left for right-handed painters.

Update: further, and with the brush (2026-09-26)

"The distance from the finger should be further a bit, and also relate to the brush size." The nib now sits 44 pt above the fingertip plus half the brush's width on screen (up to 140 pt), so the gap grows with the brush and even a wide brush's mark stays clear of the finger.

Update: to the thumb side, previewed, and home at the edges (2026-09-27)

Using it on the phone, the owner found three things, and each changed the nib.

  • "It needs to be 45 degrees left of the finger for right-handed people, not directly above." Straight up, the nib still sits where the hand's own shadow and the other fingers are. Turned 45° toward the thumb side (up and left for a right hand), it's in the clearest part of the view. Studio → Nib has Right hand and Left hand; left mirrors it.
  • "How can we make it expected for users to know where the paint lands?" The ring now shows the moment the finger touches, before any paint, at the brush's width. Nobody has to learn the offset from a surprising first stroke. The first stroke also explains it once.
  • "With a 45° offset I can't draw on one side; in fact any offset has that limitation." Any fixed offset leaves strips along the edges behind the nib (right and bottom, for a right hand) that it can't reach, because the finger would have to be off the screen.

Two answers were built and compared, with a switch in Studio:

  • Comes home at the edges (kept). Within one offset of an edge behind the nib (one and a half at first), that part of the offset eases smoothly to nothing, so at the edge paint lands under the finger. The nib still moves the way the finger does (up to twice as fast in that strip), and the ring shows it throughout. Nothing to learn: it happens where it's needed.
  • Twist to aim (tried, removed). The owner's idea: two fingers turning on the canvas rotate the nib around the fingertip, with a dial showing its direction ("Nib 15° right"). It worked (a twist beyond 15° without much spread aimed instead of zooming), but the owner removed it after trying: "too much work, hard to discover". It asks the painter to stop and set the tool before a stroke that goes near an edge, which is exactly the interruption the nib exists to avoid, and nothing on screen suggests the gesture exists.

Then the owner: "nib auto position also needs to consider the bottom-right corner." The corner buttons cover canvas where no stroke can start (a touch opens the button), and the colour well sits exactly where the edges' homing would bring the nib under the finger. So near a button the nib swings to point into it: from just outside, it reaches past the button into the screen's corner, and over a button, mid-stroke, it eases back to the finger. The colour well's zone includes its size arc, which also takes touches.

Removed the same day. On the phone: "the last build auto-compensated to the bottom edges far too aggressively." The pull reached about 130 pt from the colour well, most of the bottom-right of the screen, and bent ordinary strokes into the corners. It went, and the edge homing was narrowed from one and a half offsets to one. Painting under a button is already possible without it: a stroke that starts beside a button can pass over it, and at the edges the paint lands under the finger.

The logical nib (2026-09-27). "Is there a way to know the orientation of the finger? We can use that to make a logical nib position and rotate it with the finger orientation; we can also use the phone orientation." The iPhone reports a touch's size but not its direction (only the Pencil has an angle, and a web page on iOS reads the touch's twist as zero). So the direction is inferred: a right hand comes in from below and to the right of the phone, the finger points from there to the touch, and the nib sits past the fingertip along that line. It turns across the screen, from about 13° left of up at the top right to 30° mid-screen and 50° along the bottom, and is never under the hand; the left hand mirrors it. When the phone's motion is on, gravity marks where "below" is, so tipping the phone in the hand turns the hand with it. It replaced the fixed 45°.

The home indicator (2026-09-27). "We are hitting that bottom bar." On a Face ID iPhone the bottom 34 pt belong to the swipe home. The app defers it, but a deferred gesture still goes home on a second swipe soon after the first, and homing at the bottom edge put the finger right there to paint the canvas's last strip. Now the bottom edge's homing ends at that strip's top line, and over the last stretch above it the paint reaches down, so with the finger on the line it lands at the canvas's bottom edge. Everything can still be painted; no stroke has to start in the strip.

The lesson for the rest of the app: a correction the app can make on its own, at the moment it's needed, beats a control the user has to find and operate, however direct that control is.

Update: straight up, always the same distance (2026-09-30)

After painting with the aimed nib, the owner: "Drawing point needs to be predictable above users finger, same distance, based on the largest brush size, not 45 degrees, just up, no special code to bring it closer to the edge."

The aimed nib was cleverer and less predictable. Its direction turned across the screen, its distance grew with the brush, and near an edge it slid back toward the finger, so where the paint would land depended on three things the painter couldn't see. A painter aims by feel; a nib that never moves can be learned in a stroke.

  • Up, always. No hand setting.
  • One distance, set by the widest brush: half its width at size 3 plus 5 pt (nibDist; 52 pt on a 390 pt screen), and a quarter of that to the left. It was first 44 pt plus that brush pressed flat, 105 pt ("too far"), then 67 pt straight up ("closer and slightly to the left").
  • Up follows the phone, live (the owner: "the nib needs to move based on the phone tilt … it needs to rotate as I rotate the phone"). Tipped up, it's gravity's up on the screen. Near flat, where gravity can't see a turn, it's the level direction away from you, remembered from the last time the phone was tipped and held still in the world as the phone turns. A first version read the direction once per stroke; holding a finger down and turning the phone showed the ring not moving, so now a still finger swings, and paints, as the phone turns.
  • No easing at the edges. The accepted cost: the bottom strip, as tall as the nib's distance, can't be painted with the whole canvas showing. Zoomed in, the strip covers a smaller part of the canvas (a tenth at full zoom). The very bottom of the screen is iOS's swipe home in any case.
  • Trail and Under stay in Studio → Nib for anyone who wants them.

The two answers to the edge problem above (homing and the thumb-side swing) are kept in the record as tried and dropped.

Companion ideas

  • A predictive mix preview on the palette (proposed). When a finger rests on a pile, it covers the paint it's about to pick up. A swatch outside the finger shows what the brush will carry after the dip, computed by pigment mixing of the brush's contents and the pile.
  • A load arc on the ring (proposed). The ring's arc shows how much paint the tool has left. (Dropped 2026-09-28: every stroke starts full, and the well's gauge was removed; see Refilling.) You see the tool running dry at the head, not in the strip on the tool button.
  • The paint wake (proposed, lower priority). A small lit view of the paint just laid, beside the finger. It's closest to Shift, so it's the least novel and the most distracting.

Written 2026-09-26. Kept as it was written; the app may have moved on since.