dsandler / markers

Sample app demonstrating use of Android touch APIs for pressure-sensitive drawing.
Apache License 2.0
242 stars 69 forks source link

Multitouch should invoke pan/zoom/undo instead of multi-drawing #17

Open dsandler opened 3 months ago

dsandler commented 3 months ago

It's time to give up on multi-draw, at least by default.

I originally set Markers up this way for a few reasons:

  1. To test out multi-touch. early touchscreens with multi-touch support (viz., they advertised the android.hardware.touchscreen.multitouch device feature) didn't necessarily track two pointers distinctly and consistently; effectively they reported up to two x and two y coordinates, which is enough to implement zoom gestures but not enough to actually create two stable paths on-screen. Markers was useful to demonstrate this in a visual way (along with the progressively more powerful multitouch.distinct and multitouch.jazzhand devices, for 2 and 5+ distinct stable points, respectively).
  2. Ease of use. I was in the habit of putting early Markers prototypes on phones (and Xoom prototypes) and handing them to my toddler; kids don't know not to hold the screen tightly with one hand (making contact with the touchscreen) while painting with the other one, and most other drawing apps had unexpected and undesirable multitouch behavior. So I just decided that multi-painting would be the most intuitive thing in this case. Everywhere you touch, the screen gets color.
  3. No zoom. There was no gesture-space conflict.

In the years since, smartphone/tablet drawing tools have evolved considerably, and it's really really useful to have multitouch gestures for zoom/pan/undo, particularly if you detect a stylus in use.

So Markers should move over to that mode, albeit with a Kid Paint mode to turn multi-draw back on.