Very buggy with touch devices. Mousing vs touch events
- [x] I agree to follow the Code of Conduct that this project adheres to.
- [x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Describe the bug Bug is on Windows 11 using Draw 18.0.1 Electron app as well as within chrome browser (although behavior of bug is different between the two)
When in freehand mode a user can draw via mouse by clicking and moving the curser to create the desired shape. This works well without issue. A user can then double click to stop drawing, such as if the user needs to select a shape or other object using the mouse. This works well and feels natural in operation.
To Reproduce Things get dicey when using a touch screen which of course isn't uncommon. The most noticeable issue is that the timing to decide the difference between a double-click and or two single-click is too short. If you don't have a touch screen device you can imagine this by drawing multiple shapes on you desk using your finger. For example a snowman. This might sound silly but its a basic example of drawing multiple circles as well as straight lines that may intersect in places such as the hands. The gap between the time that you let your finger off the screen and start touching/drawing again in a different place will often in fact trigger a double click/double press event when those points are close (the timing points between finger off and finger down, which of course will increase based on actual physical distance between where finger makes/breaks contact with the screen). To make it worse the difference between being able to draw and and going into "select" mode does not feel consistent, so it is not a flow that you can intuitive feel. The result when on Electron is that it will just stop drawing at what feels like random times. Not big, you just find yourself having to constantly repress the "start drawing" button that appears in the upper-left'ish part of the screen to reenter freehand mode. This is somewhat irritating at first, but builds to true frustration within the first minute. But it's still possible to work with it on simple drawing tasks.
On chrome it's much worse. At this point it starts zooming in or zooming out rather than just going into select mode, and then when you intentionally try to fix the zoom level using the pinch gesture it will then draw, making an unintentional line rather than zooming as intuition would lead you to think. This leads to repeatedly going between draw mode and zooming (or zooming out) at intervals that don't feel consistent. This is much more frustrating because there are many "undo" iterations that must be done to remove unintentional lines that are left when intentionally trying zoom to fix your view, and then once those lines are removed, your not confident that it will allow you to draw again rather than effecting the zoom/scrolling of the area. That's the point that it pretty much feel broken, when you literally cant guess what it will do.
Again, this is due to timing of the press events.
This is also very apparent when using a drawing pad, which is actually a very powerful tool when diagraming even if it's use case is not considered normal.
It will often draw and zoom at the same time which also makes it feel broken, it's not normal during other touch operations to have both press and pinch gestures occur the same time.
I don't mean to sound critical in my tone. You've created an awesome software for diagraming!
Other software will generally require you to click an icon to go between select and draw modes, such as Microsoft Paint, Adobe Photoshop/Fireworks, etc. Some also provide keyboard shortcuts as toggles, such as pressing the space bar will toggle the hand icon and to allow you to drag the canvas if its larger than the viewing area, and then go back to drawing mode when the key is released. This might feel awkward when using a touch screen because it's not "normal" for apps to have combined touch + keypress events, but is normal with drawing pads and is very easy to get used to. Should at least be an option.
I would actually suggest abandoning the double click/press behavior. It's handy with a mouse but makes touch devices hell, at least on Windows and somewhat on Android. My android is a bit more consistent but still bugs and starts zooming at times, then will stop and snap a line in seemingly random directions. This line is often big enough to make the canvas grow however and that's a bit much. It's a normal workflow to click/press icons to change operations, or to right-click/control-click/long-press etc. That will provide an intuitive workflow and good feel/flow for touch devices as well
Long presses should drag the canvas. If you longpress you can feel the vibration of the event being fired but it doesn't change anything or cause any noticeable event. This also feels wrong. I would at least pop a menu and prevent drawing while the medu is up. That's sort of a punt but again it a normal flow if not invoking a drag operation, where in it's current state it does nothing and then draws, requiring another undo operation. at least catch/block the longpress entirely so that no feedback is felt by the device. That way the user wont anticipate any change in state or behavior.
I honestly don't mean to criticize. It works great when using a mouse, one of the best examples of Web/Browser based software I've seen in a while I'm sure you know.
I guess it's worth noting that my touch area is 24" on Windows with an 11" drawing tablet. both set to 1920*1080. I would imagine 4k could significantly add potential drawing space, making timing between contact points that much greater.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. See the FAQ for more information.