drawpile / Drawpile

A collaborative drawing program
http://drawpile.net/
GNU General Public License v3.0
1.01k stars 129 forks source link

Brush presets UI redesign #389

Closed callaa closed 7 years ago

callaa commented 7 years ago

Right now, Drawpile has a five tool preset buttons that allow the user to prepare a set of tools and quickly switch between them.

toolslots

However, I've never been entirely satisfied with how the tool slot system works. It's a bit unintuitive and several bug reports have indicated that the custom header can cause the dock window to lock in place in some cases.

So, here's is my idea for a replacement: a pie menu that pops up by clicking the right mouse button.

presetpie-mockup

(rough mockup)

This is similar to Krita's pie menu. There is a color wheel in the center and tools in the pie slices. Brush presets are represented by sample graphics and other tools by their icon.

This new menu would be a set of presets rather than tool slots. Changing the parameters of the active tool would not affect the preset. Instead, a preset must be stored explicitly. (E.g. by ctrl+left clicking or middle clicking the target pie slice. Some way of making this discoverable to new users is needed.)

Opinions everyone? Do you feel this would be an improvement over the current system, or do you prefer the way it works now?

ArconosRuva commented 7 years ago

I personally like the squares, but thats probably from years of pchat use. I also think having a big square to click in a static place really helps with muscle memory and speed drawing (can easily click a spot on my tablet almost mindlessly, to get the brush I want).

However, the pie menu is a neat idea. Maybe keep the old tool palette and also add this one on top of it? A way to switch which one shows? Maybe more slots for custom tools in the square menu? This one is slightly off topic but, maybe a function to lock dock positions, too? Anytime I slightly drag on a dock it cuts it out of position (colors, tools, and layer docks are common offenders).

callaa commented 7 years ago

If I implement the pie menu, I'd rather not keep the old buttons around, since the goal is to simplify the layout rather than pile additional complexity on top of it. Muscle memory-wise, the menu should be as easy (or maybe even easier) to use as the header buttons. My main concern is the difference between tool slots and tool presets. The current tool slot system can be thought of as a preset system, where the preset is automatically updated when tool properties are changed. The new system would require the presets to be explicitly updated.

Regarding the dock position lock, check out the Views->Docks menu. This feature was added in 1.0.6.

NewSpice commented 7 years ago

I prefer the squares as well, and I fully utilize the current system for presets. Personally, I do not think I would enjoy this mechanic; I couldn't see myself being nearly as fast or fluid with it. Some questions: How would this work for coloring systems other than the wheel? I often use the HSV/RGB sliders. And, would we still have the option of 5 existing presets for any tool, at once? That is very valuable to me.

erik90mx commented 7 years ago

My personal use and thoughts about the commented tools are the next ones:


I'm not an expert in the matter, but currently I'm reading this article to know more about pie menu usability to document myself and try to bring a more focus opinion about it: http://www.art.net/~hopkins/Don/piemenus/ddj/piemenus.html

And this book section: https://books.google.com.mx/books?id=XP8Y0S0q0ccC&pg=PA119&lpg=PA119&dq=pie+menus+efficiency&source=bl&ots=GJT-I5z9gp&sig=I0LNMMl7awxbF_Wt7T4wy9HWEK4&hl=es&sa=X&ved=0ahUKEwixiqaYks_RAhXqj1QKHfsVAFwQ6AEIVDAJ#v=onepage&q=pie%20menus%20efficiency&f=false

I hope this will be useful.

Greetings

callaa commented 7 years ago

@NewSpice the color wheel in the center would not replace the sliders and palette, but would merely be an additional quick way of selecting a color. The pie menu lets you have more presets, since it's not as limited in size.

@erik90mx Thanks, that was really helpful! (Side note: You can get/edit the hex color value by double clicking on the brush preview or a color swatch.)

I think I'll give the pie menu a try. I'll implement it in a way that's easy to revert if it turns out to be worse than the current system.

DerangedBones commented 7 years ago

i think the current menu dock is quite good as is- it takes little space and you learn where everything is quite quick, but if you'd like to implement a pie wheel, i would recommend that it opened up brush presets instead of tools. That would be far more useful than having tools around you. that way eventually people might phase out the color box from their workspace, and only have the layer box and brush preset box open when they draw.

callaa commented 7 years ago

presetpie-wip1

Here's a work-in-progress picture. The color chooser is the only part that is functional at the moment. The brush previews are rendered the same way as in the tool dock preview widget.

Uluri commented 7 years ago

I like having a Tool menu that is always on screen. Having to have to pull up my tool options (Brushes, Paint Bucket, Select Tool, etc) with a right click is not something i'm interested in when I could just click the menu on screen to begin with. It's always there and in the same place. My only issue with the idea is having to make it pop up with right clicking. I don't set my tablet pen to right click, and I'd rather have my brushes available to me at all times.

callaa commented 7 years ago

Just to clarify, the pie menu is a replacement for the tool slot button bar as seen in the first screenshot at the top of the page. The main toolbar is not affected.

That not all tablet pens have a right click is a good point. There will be a configurable shortcut key to pop up the menu as an alternative to right click.

callaa commented 7 years ago

Beta 3 is now out. I'd be interested in hearing what everyone thinks about the new preset system after trying it out for real.

erik90mx commented 7 years ago

the next error pop up after try to run it: https://i.imgur.com/AQrVk2t.png

callaa commented 7 years ago

The beta uses the same DLLs as the 1.0.6 version, so you can simply unpack it in the same installation directory and run it from there.

calmnivore commented 7 years ago

personally I want to voice a very emphatic and hard NO on the pie menu. Muscle memory is important and popups menus for brush presets are objectively not good and slow down the painting process too much.

callaa commented 7 years ago

Continued in issue #437