I have two requests.

I would like to see the component hierarchy as a tree in the outline view. This would let me quickly select an element inside a component and modify the local instance.

I would also like a general "Visibile" property on all elements, including components themselves. This would let me create variations of a screen simply by showing and hiding parts of the UI.

The use case is when I'm building a rich UI screen that has a variety of states. Some trivial examples of UI state are edit/delete icons that show up on hover but also things as simple as the progressive addition of elements to a list.

I can do this by manually adding elements but it's a pain. It's very nice to be abe to have all the elements on the screen but to only see the ones I actually want.

This approach is analogous to the use of layers in Photoshop. When comping in Photoshop one will often show and hide layers. This is so convenient (especially with groups) that one doesn't even need to explicitly create all the variations. One can preview to an audience by showing and hiding layers on the fly.



Hi Michael,

Some time ago I looked into the problem of showing a tree in the Outline View and there were some issues that prevented me from doing that. I'll try to check again. Do you know that when you "enter" a component its structure is shown in the Outline view?

I am not sure I understand the need for "Visible" property. I think what you are looking for is already achievable with existing means. Since any screen can be included in other screens as a component, you can create a base screen that you can inherit from to create variations. To hide a part from the base screen you can simply delete it in the included instance. Have you tried this approach?

I do know that when I enter a component it's structure shows up in the outline view. While we're on that topic it would be nice to be able to name normal UI elements without creating a group or component. That would make the outline view much easier to read without having to enter and exit multiple levels.

Overall I find the ability to enter into components a huge win but the experience still feels clunky. It's fine for significant changes to grouped elements but too heavy for minor tweaks to things like a text field. Here's an example. I've created a component for a multi-valued element. In my case it's a time entry in a timesheet. When I create the larger wireframe I want to show many of these with meaningful variations in content. The more nested my components the more inconvenient this is.

Others have suggested some ability to do search and replace. A structured search an replace (that lets me specify that I want to change the text of a Label "foo" in a component "bar") would be interesting.

What I'm hoping for is the ability to quickly navigate the fully nested element outline, select the item I want to edit, change something (most often the text or a colour) and then move onto the next one.

About visibility. I understand that I can re-instance a component (or possibly even a screen) and drill into delete items). This doesn't lend itself to experimentation let alone rapid presentation of various permutations. I think this is something that would become obvious if you watched a designer user photoshop or even illustrator to show and hide layers on the fly. To do this using deletes I would be constantly switching back to the main screen, adding elements into a view that is increasingly cluttered and then instancing it in a new screen to filter out (again) all the elements not applicable to this particular state. If I'm still not getting through let me know and I'll share a screen and show you what I mean.


I still fail to see how visibility property is better vs a delete. Is this the fact that an "invisible" component would stay visible in the Outline View so that you can make it visible again?