Why must I always see and dismiss the "Overriding Properties" dialog when using symbols


#1

I am somewhat new to Balsamiq3 but I started using a Symbol Library Annotated Wireframe.

Every time I go to change the number in a callout (for example) I get this dialog

My understanding is that I can make the same decision via some other mechanism and by definition, this should be the least common action for use of the symbol, so I don’t understand why I have to dismiss that thing every time.


#2

Hey @Dilapidus,

Sorry for any confusion we have caused you with the symbols dialog.

The reason you see this is that the app is telling you that you are making changes to a copy of a symbol, and those changes will override any changes you make to the main symbol.

It’s confusing, and I’m sorry about that. Let me explain a bit how symbols work and that will hopefully clear things up.

When you use a symbol, you are creating an instance (or copy( of a symbol that lives in your symbol library. You can have as many copies of that symbol as you want. One of the main benefits of symbols is that if you make a change to the symbol in your symbol library (we call it the “symbol source”), those changes will appear on every copy of the symbol in your project.

What you are doing is overriding a copy of that symbol to have changes that are unique to that copy - they won’t appear on any other symbols. That’s why you get the overriding dialog.

The reason you get that little box is that we are telling you that you are inside the symbol making changes. When you are inside a symbol or group, you cannot edit other controls. It’s a UI breadcrumb :slight_smile:

Hopefully, that makes sense. You can read more about Symbols in our documentation, but I’d be happy to answer any further questions you have. Just give us a shout!

Thanks again for taking the time to write in about this. Let me know if there is anything else we can help with.


#3

Thank you.

I understand the idea of template and stamping out instances. And it’s great that I could ‘fix’ up all of them in one go if I needed to. It’s odd to me though to think of the text inside the object as part of the template since it is clearly the bit that is supposed to be edited.

For example :

Naturally I would edit the number. It is by no means a big deal, but if it is possible, I’m happy to modify the symbol to tell it that the text is expected to be modified.

Thanks again for the detailed response.


#4

Hi @Brendan

You say that “if you make a change to the symbol in your symbol library (we call it the “symbol source”), those changes will appear on every copy of the symbol in your project”.
In my experience this should be: … on every unaltered copy of the symbol … which can be very annoying if I had to change something local first (unique to the copy) and later on need to alter something on the symbol (i.e. in all the copies). In that case I still need to make the same change to every (locally altered) copy of the symbol.

Or taking @Dilapidus example:
If I make a symbol “Poducts + number” (typing error intended), change the number in every local copy and realize afterwards I made a typo, I have to edit every single copy of the symbol.

So, in my opinion symbols are only useful if you don’t have any “local flavours”.
And I wonder whether this is intended behaviour or not?

Kind regards
ilse


#5

Hi @Ilse and thanks for joining the conversation.

You’re right, editing a symbol’s source won’t be propagated to altered instances if the same control is modified.

On the other hand, what you can do to work around this is to have 2 controls (in this example a label and a pointy button) inside your symbol. In this case, editing the symbol source to fix the typo will be propagated. See the example below:

Hope this helps! :slight_smile:


#6

Hi @Virgin

Have you also a solution for the following, more real life, situation? And if not, could this be an new feature request?
We’d like to use tabs bars as symbols, as they will appear on many screen-mockups.
The problem is: every local flavour of the tab bar has its own selection, making it an altered instance of the tabs bar and thus ‘insensitive’ to future changes. If a label has to be altered of if a tab must be added, you still have to add it in every instance of the tabs bar.
It would be nice if a different selection definition wouldn’t mark the symbol as altered.


#7

Hi @lise,

In this case, the easiest way is to have a symbol for each tab selected, for now.

This would be much easier if we implement a way to nest symbols. That’s one of our most requested features, and we plan to tackle it once we go native. I’ve added your vote to help to prioritize the request.

Thanks for sharing your need! :slight_smile: