proposal for usability enhancements for Stroke dialog
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
proposal for usability enhancements for Stroke dialog | Akkana Peck | 08 Dec 19:10 |
proposal for usability enhancements for Stroke dialog | Sven Neumann | 08 Dec 19:55 |
proposal for usability enhancements for Stroke dialog | Sven Neumann | 08 Dec 19:22 |
proposal for usability enhancements for Stroke dialog | Daniel Falk | 10 Dec 15:12 |
proposal for usability enhancements for Stroke dialog | saulgoode@flashingtwelve.brickfilms.com | 08 Dec 19:23 |
proposal for usability enhancements for Stroke dialog | saulgoode@flashingtwelve.brickfilms.com | 08 Dec 20:54 |
proposal for usability enhancements for Stroke dialog | Sven Neumann | 09 Dec 01:42 |
proposal for usability enhancements for Stroke dialog | Sven Neumann | 09 Dec 14:27 |
proposal for usability enhancements for Stroke dialog
William Skaggs writes:
I find myself doing Edit->Stroke pretty often, and there are a few easy changes that I think would make it signficantly better.
1) The most important is that the dialog should not go away after the Stroke button is pushed. It often takes several tries to get the settings right, and it is very annoying to have to bring the dialog back each time. The gain in usability would easily be worth the cost of an extra button-click to close the dialog, in my opinion.
Certainly a full-size preview would be quite useful. Like you, I find that I usually Stroke several times trying to find the right brush size (I usually stroke with the paintbrush tool, for its antialiasing).
It wouldn't have to require an extra click: make the dialog offer a "Preview" button as well as OK. People who are sure they have the right settings can click OK, everyone else can use Preview first.
Your other suggestions sound reasonable, but I seldom change the line style so they're not burning issues to me.
...Akkana
proposal for usability enhancements for Stroke dialog
Hi,
On Sat, 2007-12-08 at 17:51 +0000, William Skaggs wrote:
1) The most important is that the dialog should not go away after the Stroke button is pushed. It often takes several tries to get the settings right, and it is very annoying to have to bring the dialog back each time. The gain in usability would easily be worth the cost of an extra button-click to close the dialog, in my opinion.
We don't do this kind of "Apply" thing anywhere in GIMP. I think it would be rather inconsistent and confusing if we start to do it for some dialogs. Since the dialog already remembers all settings, I don't really see what you want to achieve with this change. Perhaps it just needs to be made easier to bring up the dialog again?
2) The default for "Dash preset" should be "Line" rather than "Custom". This is just obviously wrong.
Well, you would have to add logic then that changes it to Custom as soon as the user edits the custom dash pattern. And you would have to remember that setting also. When we did that dialog we decided that it's just not worth the hassle.
Also, it shouldn't be called "Dash preset", but rather "Line style", and the expander should be named something different, such as "Stroke settings".
Hmm, "Stroke settings" doesn't tell me anything while "Line Style" seems to be a good description of the contents of the expander. The line style does however include a lot more than just the dash pattern.
3) The "Dash preset" (or whatever it is called) control is by far the most important in the expander, and should be at the top. In fact, I think it should be out of the expander, since a user *always* wants to know what type of line will be rendered.
My guess is that the user almost always wants a line. Using a dash pattern is rather uncommon, isn't it? But yes, perhaps moving it to the top would help.
Sven
proposal for usability enhancements for Stroke dialog
I agree with all of your suggestions. I would assume that changes made in the dialog would update the stroke interactively and, hopefully, that the path could be reshaped while the dialog remained open. This would be very useful.
I find myself doing Edit->Stroke pretty often, and there are a few easy changes that I think would make it signficantly better.
1) The most important is that the dialog should not go away after the Stroke button is pushed. It often takes several tries to get the settings right, and it is very annoying to have to bring the dialog back each time. The gain in usability would easily be worth the cost of an extra button-click to close the dialog, in my opinion.
2) The default for "Dash preset" should be "Line" rather than "Custom". This is just obviously wrong. Also, it shouldn't be called "Dash preset", but rather "Line style", and the expander should be named something different, such as "Stroke settings".
3) The "Dash preset" (or whatever it is called) control is by far the most important in the expander, and should be at the top. In fact, I think it should be out of the expander, since a user *always* wants to know what type of line will be rendered.
These changes would take me less than an hour to implement, I believe, and I would like to do it.
-- Bill
proposal for usability enhancements for Stroke dialog
Hi,
On Sat, 2007-12-08 at 10:10 -0800, Akkana Peck wrote:
Certainly a full-size preview would be quite useful. Like you, I find that I usually Stroke several times trying to find the right brush size (I usually stroke with the paintbrush tool, for its antialiasing).
It wouldn't have to require an extra click: make the dialog offer a "Preview" button as well as OK. People who are sure they have the right settings can click OK, everyone else can use Preview first.
Doing a preview on the image window would be rather difficult to get right. But I guess a simple preview of a short stroke in the Stroke dialog could already help a lot. And the same widget could be used in the brushes list and the brush editor.
Sven
proposal for usability enhancements for Stroke dialog
I agree with all of your suggestions. I would assume that changes made in the dialog would update the stroke interactively and, hopefully, that the path could be reshaped while the dialog remained open. This would be very useful.
Those are both feasible, but they go beyond the scope of what I'm suggesting at this point, if I understand you. If by the second point you mean, reshape the path and the stroke will automatically follow, you are basically asking for vector shapes.
Not really vector shapes -- which might be reshaped after the dialog was closed -- just that the effect of changes in the dialog would be represented "on canvas".
If you just mean that the dialog would allow you to change the path and then stroke the result, that wouldn't even need any work, it would happen automatically if the dialog stayed open.
If the dialog does not go away when the Stroke button is pushed (per item #1 in your original post) then a second pressing of the button should first remove the effect of the first stroke (in other words, the stroking does not accumulate). I am assuming this is what you intended so that multiple attempts could be made while getting the desired settings.
It is currently possible to reshape a path while the dialog is open so I guess my point was just a cautionary note that a second stroking cannot just "overwrite" the first assuming an unmodified path. It would also require that path modifications send a notification that your handler needs to update the stroke "preview" (not needed if Akkana's proposal were implemented).
proposal for usability enhancements for Stroke dialog
Hi,
On Sat, 2007-12-08 at 19:39 +0000, William Skaggs wrote:
How could it be made easier?
Well, for plug-ins this is already quite easy. You use Undo and then "Reshow" the filter dialog. It's rather confusing though that this only works for operation implemented as plug-ins. It would perhaps be a good idea to enable "Repeat" and "Reshow" for all actions called from the menu.
Sven
proposal for usability enhancements for Stroke dialog
Hi,
On Sun, 2007-12-09 at 03:32 +0000, William Skaggs wrote:
Okay, I can see that a preview would go a long way toward making the dialog more usable. I looked over the relevant code, though, and I'm not sure it would be very easy to set one up. Previewing libart stroking wouldn't be very hard, because basically all you need is a set of tiles to do the stroking on. Previewing paint tool stroking would be more problematic: it requires either an attached drawable, or massive code changes. So, as far as I can see, the only way to do it without massive rewriting would be to create a new temporary layer, attach it to the image, render the preview onto it, transfer the preview to the dialog, then remove the temporary layer. That wouldn't be hard to do, but it seems a bit, um, baroque.
It's not only baroque, it is definitely not a reasonable way to implement this. The Stroke dialog must not alter the image structure. Simply because there is no guarantee that the user (or some plug-in) doesn't do anything else with the image while the dialog is opened.
I don't see though why it requires massive changes to implement a preview of paint strokes. It should be possible to do this after some refactoring of the code.
Sven
proposal for usability enhancements for Stroke dialog
Sven Neumann wrote:
Hi,
On Sat, 2007-12-08 at 17:51 +0000, William Skaggs wrote:
1) The most important is that the dialog should not go away after the Stroke button is pushed. It often takes several tries to get the settings right, and it is very annoying to have to bring the dialog back each time. The gain in usability would easily be worth the cost of an extra button-click to close the dialog, in my opinion.
We don't do this kind of "Apply" thing anywhere in GIMP. I think it would be rather inconsistent and confusing if we start to do it for some dialogs. Since the dialog already remembers all settings, I don't really see what you want to achieve with this change. Perhaps it just needs to be made easier to bring up the dialog again?
From a user perspective, I think the ideal solution would be to treat strokes on vectors similar to how Inkscape does it. For those not familiar with Inkscape, it works by attaching line and fill properties to the vector, which can be changed at any time. This is different from GIMP, which simply renders a stroke straight into pixels, which is somewhat less reversible. Unlike Inkscape however, GIMP should display the stroke and fill in pixels at all times, so the user can preview what the rastered result would look like and modify the vector accordingly.
That is basically the reason I'm suggesting that it work this way. On many occasions, people really need to be able to see what a vector will look like filled and/or stroked while editing it. Here's a good example: suppose I have a vector with a horizontal or vertical line in it. Normally, you'd want the vector to fall right in the middle of the pixel row such that there is no "ghost" line occurring as a result of aliasing. Worst case scenario here is that you've put your vector right in between the two pixels and now you have a 2 pixel wide gray stroke instead of the 1 pixel black stroke you wanted.
I realize this would be a lot of work to implement, but I'm putting it out there as a possible eventual goal and as my answer to the question of how to best solve this problem in the long run.
3) The "Dash preset" (or whatever it is called) control is by far the most important in the expander, and should be at the top. In fact, I think it should be out of the expander, since a user *always* wants to know what type of line will be rendered.
My guess is that the user almost always wants a line. Using a dash pattern is rather uncommon, isn't it? But yes, perhaps moving it to the top would help.
I agree with Sven that using a dash pattern is uncommon, and do prefer that the settings for that be hidden. Unless the line was changed from being solid to dashed before. Supposing that the dialog remembers the last settings, I think I'd like to see that my line is going to be dashed and not solid.