From: bulia byak
..
P.S. As a "usability hall of shame" footnote, in the same situation (clicking on a color swatch with nothing selected) Xara always displays a "do you want to set the color as default for new objects" dialog. This used to drive me mad.
But it gives exactly what Tavmjong is asking for.
So (obviously) I'll disagree that there's anything wrong with this way of doing things. We believe it's better and here's why. We only did it this way after looking at how users use the product (and competitor products), and after long and hard discussion as to the merits of all approaches. The bottom line is that it is a reasonable expectation that user want to work the way Tavmjong does.
So our eventual approach satisfies all camps. A) You can configure Xara so that 'last applied style become current' so it acts like Illustrator and Inkscape. When you draw new things they take on the style of the last thing you drew. But this is not always a good thing or what you want.
So, you can do it the other way;
That all new objects are drawn in the 'default' style which you can define.
B) If you change any attribute (e.g. select a color) when no object is selected, the user is obviously trying to do something. So I could argue that the hall of shame should be an application that ignores the fact the user is trying to do something, or disables controls with no obvious reason why (or worse disables some style controls and not others - I admit we have our fair share of these as well)
So really all we're doing is prompting the user 'hey you just did something and I'm not sure what you want.' and we give them these choices; [ Set ] Sets the selected attribute the be the default for all new objects [ Cancel ] Oops, sorry I didn't mean to do that, go away [ Quiet ] Please shut-up and stop asking me this damn question (just for Bulia so it doesn't drive him mad any more) [ Help ] So we can explain what on earth this is all about.
So the idea was that this satisfies everyone.
Take the case of the text tool - the same point applies. We default to 10pt Arial, but this is a very personal thing of course. Just because you changed the font of a small bit of text somewhere, does that really mean you want all new text to appear in that style? (I see Inkscape is inconsistent here. Edit the colour of an object and this becomes the colour for all new objects, whether you like it or not. Edit the font, and this does not become the new font.)
So Xara has a simple, global rule; try to apply any style or attribute with nothing selected and you can make it the default new style (font, colour, fill style, whatever). So we have a orthogonal model, that is actually easier to use than Inkscape (less to learn and less case-specific UI) and is more powerful (it does what Tavmjong is wanting, and gives the user the choice as to how they work, even Bulia's way)
I see Inkscape has, for example, as 'Set as default' button in the text dialog. So does this mean that I have different UI for setting the default style or attribute for each of the possible styles or attribute? That's not good surely?
Charles
On 24 nov. 05, at 13:06, Charles Moir wrote:
From: bulia byak
..
P.S. As a "usability hall of shame" footnote, in the same situation (clicking on a color swatch with nothing selected) Xara always displays a "do you want to set the color as default for new objects" dialog. This used to drive me mad.
[snip] I see Inkscape has, for example, as 'Set as default' button in the text dialog. So does this mean that I have different UI for setting the default style or attribute for each of the possible styles or attribute? That's not good surely?
I agree with Tavmjong thinks and what Charles Moir pointed here. Inkscape behavior of retaining the last value OR using _always_ a default is not so convenient. In addition it means going in the prefs, change something, come back to the document... a bit long. In addition, the functionality associated with the "set as default" button in the text dialog is convenient and there should be some equivalent in the styles dialog. What use would it be with last style retained will you tell me? Well I might have two of three different styles of rectangles in a document and let say I draw one with style 1, then a new one with style 2, and now I want to draw some more with style 1. If I select the one with style 1, I still draw with style 2, even if I copy paste the one with style 1, modify its shape, move it around I still will be drawing with style 2... The only way I can draw with style 1 is to modify style 1 and take it back afterwards to its initial value. So here is what seems to solve everyone's desires (IMHO at least): - default behavior is to keep last style, for shapes as well as for text. the pref with only one default is still here but its functionality reduced to documents with really one style for each object only. here is why: - the style dialog is not inactive when no objects are selected - in the style dialog and in the text dialog a there is a button with "use for new objects". this allows 1/ to select an object and use its style as the new drawing style (solving the problem I describe above), 2/ to have some user interaction when changing style attributes with no objects selected: if the user really wants to draw new objects with this style he will click the button, if it is only a mistake (he wanted to change the attributes of an existing object but forgot to select it) he has no reason to click this button, will switch to the drawing and remark that nothing changed because nothing was selected. I can see bulia coming with a usability issue here: the user has to go, check and understand by himself that no object was selected... The "No objects" in thee dialog could be kept to help realize this. Even made a little more prominent maybe.
With this I don't really see the utility of a "default" button because, by definition, if you have a default it will be largely present in your document and you can switch to it by selecting one of your default items.
JiHO --- Windows, c'est un peu comme le beaujolais nouveau : a chaque nouvelle cuvee on sait que ce sera degueulasse, mais on en prend quand meme par masochisme. --- http://jo.irisson.free.fr/
I see I've opened a can of worms...
To restate, perhaps a bit more clearly what I am asking for:
The ability to change fill and line color before drawing a new object and without having to draw/select/modify another object first.
As a secondary request:
The ability to see what colors will be used before drawing a new object in the status bar.
JiHO's suggested solution seems good to me. The only difference between it and what I was trying to propose is that in his proposal you must explicitly click a button to change the defaults. That is OK as one would already have the dialog open and the cursor nearby. And it has the side benefit of being able to make the style of any existing object the default with two clicks (one to select and two to make default).
Tav
On 11/24/05, Tavmjong Bah <tavmjong@...8...> wrote:
I see I've opened a can of worms...
To restate, perhaps a bit more clearly what I am asking for:
The ability to change fill and line color before drawing a new object and without having to draw/select/modify another object first.
Yes, see my other mail
As a secondary request:
The ability to see what colors will be used before drawing a new object in the status bar.
Possibly too, though I would like to avoid cluttering the main interface if possible.
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
There are several separate though related issues here.
1. Fill&Stroke "always on": Sorry but I stand firmly opposed to that. It would be a fundamental disruption for a very marginal gain. If I ever learned anything from Xara, it's this: If you're not sure how to do it, do it on canvas. Therefore, this dialog is not a thing in itself and not some abstract "color editor" (as in Xara); it is a direct view/controller of the selection, tightly bound to the current desktop and its selection. Basically it's the same as the selected style indicator in the statusbar, just expanded. Enabling it to work on some abstract thing ("current color") that you don't SEE on canvas might be fine in itself, but when it interferes with the direct and immediate function of the dialog - watching and changing selection - it's a no go.
As it is now, I know I can trust my Fill&stroke dialog without thinking, on everything it shows me. If I have to _think and decide_ whether it shows me the selection or the current color, every time I glance it, my life will suddenly become so much harder.
2. More ways to set the "last set" style: I have nothing against that, except that in this case, we'll have to rename the specific and descriptive "last set" to more abstract and vague "default". But other than that, yes, we can add "Set default style from object" to right-click menu, and we can even add "Set default" button to Fill&Stroke if it's really needed (even though I think it's quite complex as it is, and I would prefer not to clutter it further). You can file RFEs for these suggestions.
3. Tool behavior: Currently all object-creating tools are broken into two categories: those that use the last-set style and those that use their own fixed style. (You can switch any tool from one category to the other, and you can change that fixed style in the prefs.) Here are the tools that I put in the fixed-style category, with my reasons for doing so. I'm open to discussing these reasons; feel free to vote on moving any tools (in default configuration) from one category to the other.
- Pen and Pencil: Because quite often, current style has "no stroke", but when you draw with these tools you kinda expect to see the stroke that you draw.
- Spiral: Because this is more a stroke thing than a fill thing, so the same reason as with Pen/Pencil applies here.
- Calligraphic: Because it's kinda expected that calligraphic strokes are black :) (This one is probably most ripe for recategorization.)
- Text: Because colored text is much rarer than colored shapes, and because most of the time text overlays shapes and thus has have a different style anyway.
The rest of tools use last-set style.
One thing that just occurred to me is that I can code it to _merge_ the fixed and last-used styles, instead of using just one of them. This way, for example, text will be able to use fixed black color but last-set font and size, which I think will be the most meaningful combination. And for Pen and Pencil, I can merge the fixed black stroke with the last-set fill, thus making these tools behave more like the other shape tools. I think this would make sense, let me know what you think.
As for the "Set default" button in Text&Font dialog, currently it sets the fixed style of the Text tool, but if we switch that tool to using last-set or a combination of fixed and last-set, this button will be redundant and can be removed. (The last-set text style is set automatically even now when you change a text object style, there's no need to code anything additional for that.)
4. Indication of last-set style in the main interface: This is obviously less important than indicating the style of the selection. And for the style of selection, I spent the absolute minimum of real estate in the statusbar. So, I'm not convinced that last-set really deserves to be in the main UI, at least by default. As some removable toolbar button, probably?
P.S. to Charles: I understand your reasons, but I remain convinced that a pop-up dialog is always an admission of defeat and a major usability concern. No matter how well it's explained and how easy it is to get rid of it. (We learned that the hard way with the "Extensions not found" dialog.) So, let's see if in Inkscape we can satisfy everyone without resorting to a dialog :)
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
On Thursday 24 November 2005 20:09, bulia byak wrote:
One thing that just occurred to me is that I can code it to _merge_ the fixed and last-used styles, instead of using just one of them. This way, for example, text will be able to use fixed black color but last-set font and size, which I think will be the most meaningful combination.
I would love this. The current behaviour of the text tool drives me crazy sometimes.
As a secondary request:
The ability to see what colors will be used before drawing a new object in the status bar.
Possibly too, though I would like to avoid cluttering the main interface if possible.
What about having the style which will be used for new objects (depending on the tool selected) in your new (very very useful!!!) styles indicators in the bottom bar, instead of N/A, when nothing is selected?
JiHO --- Windows, c'est un peu comme le beaujolais nouveau : a chaque nouvelle cuvee on sait que ce sera degueulasse, mais on en prend quand meme par masochisme. --- http://jo.irisson.free.fr/
On 11/24/05, jiho <jo.irisson@...400...> wrote:
What about having the style which will be used for new objects (depending on the tool selected) in your new (very very useful!!!) styles indicators in the bottom bar, instead of N/A, when nothing is selected?
NO. See my reasoning for why Fill&stroke must not be "always on". Here, all the same reasons apply, only more so :)
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
One more thing to add. I think that the desire to see the default color before drawing with it mostly stems from the traditional, pre-computer, workflow of an artist: you pick a color and then you draw with it, not vice versa. As it is now, Inkscape does not yield to this metaphor particularly well: when you launch it, there's no color to pick anywhere. So it's understandable that you may be subconsciously reluctant to start drawing, without feeling a brush dripping with fresh paint in your hand.
But remember that this is going to change soon. We will have a color palette right in the main interface, above the statusbar. And as I already explained, color swatches work exactly as you expect: pick a color, start drawing. (When we have a palette of stored styles, it will work that way too.) That will be an artist's dream.
Another thing to consider is the subtle difference between color _selection_ tools and color _adjustment_ tools. The Fill&stroke dialog, with its color sliders, is more suitable for slight adjustment of colors. With it, you start with some color and you make changes to it, watching the result _on canvas_ immediately - that is, applied to the selected object where the new color is much easier to evaluate than in a tiny swatch. A color/style palette, on the other hand, is much better for initial selection of the base color, by choosing it from a well-organized logical palette, but is not suitable for adjusting colors at all. Therefore, it makes a lot of sense that with a palette, you can pre-select color with which to draw, whereas in fill&stroke and in selected style indicator you can only adjust the colors of selection. It's simply in the nature of these tools.
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
Quoting bulia byak <buliabyak@...400...>:
Therefore, it makes a lot of sense that with a palette, you can pre-select color with which to draw, whereas in fill&stroke and in selected style indicator you can only adjust the colors of selection. It's simply in the nature of these tools.
There's still the issue of how one can tell the "current drawing" color without drawing anything. Maybe a widget at the end of the palette/swatches bar?
-mental
On 11/24/05, mental@...3... <mental@...3...> wrote:
There's still the issue of how one can tell the "current drawing" color without drawing anything. Maybe a widget at the end of the palette/swatches bar?
Since the "current" color is relevant only for some tools (those that create objects), I'd propose to place this indicator in the right-hand end of those tools' Controls bars. This way: (1) it won't clutter the statusbar (already quite full with stuff), (2) it will be as far as possible from the selected style indicator, to avoid confusion; (3) its relevance to object creation will be more obvious; and (4) its non-interactive character will be more obvious (generally, the further to the right, the less important and less interactive are widgets in our UI).
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
On 24 nov. 05, at 21:39, bulia byak wrote:
One more thing to add. I think that the desire to see the default color before drawing with it mostly stems from the traditional, pre-computer, workflow of an artist: you pick a color and then you draw with it, not vice versa. As it is now, Inkscape does not yield to this metaphor particularly well: when you launch it, there's no color to pick anywhere. So it's understandable that you may be subconsciously reluctant to start drawing, without feeling a brush dripping with fresh paint in your hand.
But remember that this is going to change soon. We will have a color palette right in the main interface, above the statusbar. And as I already explained, color swatches work exactly as you expect: pick a color, start drawing. (When we have a palette of stored styles, it will work that way too.) That will be an artist's dream.
Another thing to consider is the subtle difference between color _selection_ tools and color _adjustment_ tools. The Fill&stroke dialog, with its color sliders, is more suitable for slight adjustment of colors. With it, you start with some color and you make changes to it, watching the result _on canvas_ immediately - that is, applied to the selected object where the new color is much easier to evaluate than in a tiny swatch. A color/style palette, on the other hand, is much better for initial selection of the base color, by choosing it from a well-organized logical palette, but is not suitable for adjusting colors at all. Therefore, it makes a lot of sense that with a palette, you can pre-select color with which to draw, whereas in fill&stroke and in selected style indicator you can only adjust the colors of selection. It's simply in the nature of these tools.
stated as this and with the possibility to pick a color in the color palette + a style in a style palette I'll personally be completely happy. ;-)
On 11/24/05, mental@...3... <mental@...3...> wrote:
There's still the issue of how one can tell the "current drawing" color without drawing anything. Maybe a widget at the end of the palette/swatches bar?
Since the "current" color is relevant only for some tools (those that create objects), I'd propose to place this indicator in the right-hand end of those tools' Controls bars. This way: (1) it won't clutter the statusbar (already quite full with stuff), (2) it will be as far as possible from the selected style indicator, to avoid confusion; (3) its relevance to object creation will be more obvious; and (4) its non-interactive character will be more obvious (generally, the further to the right, the less important and less interactive are widgets in our UI).
I'll be happy with that too. A side note though, following (4), the zooming index should be displaced: its interactive and at the left end of the status bar. In fact this is a good excuse for a concern I have about this: in mac OSX windows there is a large handle at the bottom-left side of the windows which obliterates the arrows of the zoom index... :-( In addition, this index changed of position since previous versions. maybe all this could be put before the layers menu?
JiHO --- Windows, c'est un peu comme le beaujolais nouveau : a chaque nouvelle cuvee on sait que ce sera degueulasse, mais on en prend quand meme par masochisme. --- http://jo.irisson.free.fr/
participants (6)
-
unknown@example.com
-
bulia byak
-
Charles Moir
-
Jean-François Lemaire
-
jiho
-
Tavmjong Bah