Nested UI Components with Sketch
At some point, a large project scale can make you components-centred. But with a well-tuned symbols system, you can remain a designer instead of feeling like a zookeeper.
To understand the scope of our most recent product design project, just follow the numbers:
- over 800 mockups linked into a single prototype
- up to 8 designers on the team
- 4 libraries with 980 Master Symbols
Let’s walk through some useful tips and tricks.
How to get everything out of Master Symbol
Layers Name
Layers Name is used for overrides panel to indicate the properties you can change. It means that if you want to easily find a needed property there, your button should have Button Name and Background properties instead of Button and Rectangle properties.
We renamed nested symbols too. For our page section with two charts, instead of having two properties called Charts/Placeholder, we had Chart1 and Chart2.
Layers Order
The layers order of your master symbol is used to order the properties in your override panel. Our navigation sidebar had 30 items going one-by-one in the same order, as they are shown. That’s why we quickly found the needed item just by hovering that sequence.
Layers Resizing Rules
Think about how each layer should behave when you resize a symbol. Does it have a fixed width or height, or both? Does it change the position proportionally or stay pinned to any side of the Symbol? For a deeper dive on layers resizing here’s an article I like from InVision.
Smart Layout
Smart Layouts, introduced and fully described by Sketch in #58 version, saved our lives. We could apply it both to Symbol itself and to layers groups inside.
Managing Overrides
Want to get some love from your team? Manage your overrides! Usually, we’ve managed to reduce the number of override options by 2–3 times by switching off all the Master Symbol properties that we didn’t need to change.
What hacks worked
Use placeholders for highly variable nested elements
Just create a symbol of the same size with any background and put it as a nested symbol. This works perfectly with:
- icons
- images
- cards
- charts
- tables
Keep your Master Symbol in the most content-loaded case
With No Symbol feature, you can remove the nested symbols. That’s why we’ve created Master Symbols with the maximum possible number of items and then customized instances for our particular case.
What didn’t work
Linking with Craft
Craft allows you to export the artboards to InVision with all the hotspots — but since you’re not able to select a nested button or tab, we’ve made that parent symbol local and then linked it right there. Just select the layer, press “C” on your keyboard and choose the page.
How we organized the library files
Why we kept all the Master symbols in separate files
- Single source for the whole design team
- You can control all the changes applied to instances
- Minimal risk of symbol duplication
Why we used several libraries for a single project
- Better search
- Easier maintenance
- Simultaneous teamwork for multiple directions
Why we detached symbols from master often
We’ve used complex multi-nested symbols like grids, charts, or page sections as a template that you can insert, make it local, and then customize it to your case. This approach allowed us to speed up new page design with existing components and maintain consistent spacing.
Useful Plugins
We’ve tried many Sketch plugins but these three worked best:
- Move to library to add a symbol to the library from another file;
- Symbol Swapper to relink existing symbol and instances to the new one;
- Symbol Organizer to keep the Symbol page clean.
Know more hacks? Share some with us in the comments. 👇