5 strategies for using symbols in Sketch: for growing teams and projects
Symbols are Sketch’s most powerful feature.
Symbols have potential — potential for linking, syncing, sharing, merging, scaling, tweaking, nesting, and, best of all, easy prototyping. If I run into a prototyping tool that doesn’t have symbols functionality, I discount it almost outright.
Symbols are flexible design elements linked to an editable source, otherwise known as a single source of truth. In short, they’re magic.
Your Sketch symbols don’t have to outlive you, but they should be able to grow as your projects do. They should also be able to be shared conveniently with others. Here are three strategies for using Sketch symbols in scalable, user-friendly ways.
1. Build symbols the right way
Build symbols well and they’ll age well. It’s not fun having to rebuild a symbol because you didn’t make it flexible enough the first time, especially when you’ve used it in a dozen places. Here are some pointers to help you and your team build symbols that won’t need constant renovations.
Start with the basics
Start with the most basic components you can. Everything should begin at an atomic level. When your stamps are modular, they fit together nicer and are easier to work with.
Nest symbols
You can nest symbols within other symbols to make prototyping simple and flexible. Nesting is when you put one stamp into a bigger stamp. And with a feature known as overrides, you will be able to swap and customize stamp impressions in a dozen different places in a dozen different ways.
Nesting will force you to think in levels. Level one symbols might be icons and text blocks, level two symbols might be buttons and lists, and level three symbols might be entire panels and pop-ups. The bits, pieces, and levels will look different depending on the complexity of the project, but the point of nesting symbols is always the same. To override elements at higher levels.
While a symbol works like a stamp, an instance of a symbol works like a stamp’s impression. And because stamps are magic, impressions from the same stamp can be different. These variations are called overrides. If your big stamp has a dater stamp within it, you can use overrides to make one impression say June 1st and another say December 22nd. Likewise with a changeable phrase stamp, one impression can say RECEIVED and another can say PAID. Even with overrides, the impressions are still linked back to the magic stamp. If you change the dater stamp ink to red, both June 1st and December 22nd turn red! 🧙 Magic.✨
But how far should the nesting go? How many symbols within symbols are needed to have a smart design system? The answer is relative to each project. A good rule of thumb is to have simple sources of truth for your symbols, but to not have overwhelming or unnecessary options. For example, for a powerful design library that will be used for loads of diverse projects, you’ll want one button symbol as your source of truth — with nested symbols for shape, colour-fill, state, and text styles. If you’re building basic wireframes however, don’t go crazy. Build your button symbol with the one or two overrides you need.
Tesler’s Law, also known as The Law of Conservation of Complexity, states that for any system there is a certain amount of complexity which cannot be reduced.
(Laws of UX)
Leverage text styles as symbols
In Sketch’s current version you cannot override a text style in a symbol. When you want to change the text style in your favourite button from cta-red-bold
to cta-blue-italic
, that hurts! But there’s good news. There's a workaround.
We’re designing a messaging app, for example. The UI needs a drawer where conversations can show up in either black, red, or grey depending on a friend’s availability:
a. Make a symbol with red text, a symbol with black text, and a symbol with grey text. Each symbol’s artboard must be the same size.
b. Make a symbol for the conversations drawer.
c. Nest the name symbols, from step 1, within the drawer symbol. Do this as many times as needed until you have a list:
d. Now if I bring the drawer symbol into my page-level prototype, I can override the text styles in the properties panel:
Arrange layers
Within complex symbols, see: nested symbols, be sure to arrange layers intuitively. The left panel of your window is where you can find and organize your layers. Put the topmost elements at the top, and bottommost elements at the bottom. Give your nested symbols simple names like “Text-Here” and “Icon” rather than “Icon 10 Copy of Copy 2.”
If you’re clever about it, your override options will be so simple anyone could use them. A dream for so many design teams.
Critical to arranging layers is locking them, too. A locked layer can’t have overrides assigned to it. For example, your nav-bar symbol could have a text byline that doesn’t need changing; lock the layer with ⌘⇧L
and it will be hidden from your overrides options. Be a good curator by taking customization away where it’s not needed.
Use symbol options for easy resizing
The inspector panel on the right has a lot of helpful constraints for building resizable symbols. Use them. You want your stamp impressions to look good on every size of paper, after all.
Invest time into a symbol’s smart resizing behaviour — Link fixed Jan. 2018. Use resizing constraints to fix elements to one or multiple sides of their container, fix an element’s width, and/or fix an element’s height. Some things should be stretched, some things should stay in the corner; the resizing constraints tell a symbol instance how to behave when its dimensions change.
Note #1: If you want to keep consistent padding when resizing a symbol, fix your objects to all four edges. (Video Source)
Note #2: Symbols will resize better if you design them in a condensed way. After all, a symbol is easier to expand than it is to compress.
Symbols containing images can be resized easily if they’re set up as a fill. Rather than inserting an image (Insert > Image), you should use a pattern fill. This means first making the container’s shape (Insert > Shape), picking “Pattern Fill” in the fill section of the inspector, then choosing your image as the pattern. I concede this might feel roundabout or counter-intuitive, but the fill technique keeps your image’s integrity when resized, ultimately to prevent awkward distortion.
2. Organize your symbols
Being organized is critical. If your stamp collection gets big, you need a desk organizer. If your stamp collection gets bigger, you should get some drawers. You want your stamps so organized that when you’re off vacationing in Bali an intern can sit at your desk and find the stamp they’re looking for. Here’s some advice for that.
Name your symbols
With Sketch symbols, there’s a lot to a name. A name doesn’t just specify what a symbol is, but it also specifies where a symbol is; a symbol named button/primary
will have the button
folder as its parent.
Name and organize your symbols consistently. More important than having great names for your icons is having their names make sense among the other symbols in your library. Preferably, name your symbols by function rather than visual cues. A visual cue like ‘blue’ is subject to change, while a function like ‘pressed-state’ will stick around for the long haul.
Use style overrides
Your icon system might have a dozen colour, outline, or border variations — a possible nightmare for any symbol library. 20 black icons means sorting 20 symbols. 20 icons in 12 colours means sorting a whopping 240 symbols.
Fortunately, since Sketch 52, you can use style overrides you can make symbol edits easily. It’s a much prettier alternative to the crap we had to do in Sketch 51. 😉
Fortunately, Jon Moore from UX Power Tools covers how to do it.
Organize your symbols visually — wherever
Presentation matters! Even if you’ve got a small design team with relatively low expectations, you should separate, group, and label symbols to make them easier for everyone to find.
A place for every symbol and every symbol in its place.
Method #1 for Organizing Symbols: Each time you make a symbol, keep the Send Symbol to ‘Symbols' Page
option checked. Let the Symbols Page get messy. Create a new page with ⌘⇧N
where you’ll add and organize all of your symbols.
Method #2 for Organizing Symbols: Organize your symbols on your Symbols Page. It’s straightforward! I choose to sort my symbols on the Symbols page, and here’s a plugin I use to help me do it quickly.
3. Share symbol libraries
Now that your stamps are nicely built, named consistently, and organized intelligently, it’s time to share them. In a recent update, Sketch added libraries — a feature to intelligently link, sync and share Sketch symbols.
There’s a catch, however, if you and a colleague want to link to the same library: you’ll both need to access the same file in the same location. You can access the same file through a shared cloud folder, or if you have a team like mine that doesn’t work away from the office much, set up a shared network drive.
Access your preferences, found using ⌘,
or under ‘Sketch’ in your application menu to navigate to your library preferences. From there you can add a library from any Sketch file, as long as it has symbols in it. The library preferences are where you would add your shared file. If you want to learn more about libraries, look through Sketch’s documentation.
Note: A purpose of Sketch Libraries is to stop you from accidentally editing symbols that are shared with others. Nicely so, Sketch will present you with a popover to confirm symbol edits you try to make; Are you sure you would like to edit the source file? Or, would you like to unlink it, and then edit the library?
I’ve stumbled across brand.ai’s Sketch plugin a few times, and it’s a pricey sharing option I like to ignore. It was developed as a plugin, before Sketch libraries feature was around, and designed to solve the same problem. There’s no need to double up. Also, it’s recently been acquired by InVision and will be integrated into their upcoming Design System Manager. The DSM could be tough competition for prototyping tools like Adobe XD, Framer, and Sketch itself. Until then, keep sharing your Sketch libraries. Your team will thank you for it.
4. Establish version control
On a design team you run the risk of overwriting files or losing track of file versions. Some teams solve this by using GitHub to branch, merge, and commit Sketch files. Because GitHub is a developer-focused solution, Elastic Projects created Abstract, a third-party Sketch plugin that makes version control more designer-friendly.
Cloud storage can help you version control, too. Dropbox keeps snapshots of all changes made to a document within 30 days, for example. Beyond those 30 days however, changes are not recoverable unless you have DropBox Business or Extended File Recovery. There are even some admittedly roundabout ways to version control with Google Drive.
5. Learn from the best
The best way for a stamp maker to learn is to learn from the stamp masters. By digging into the most popular and/or complex Sketch libraries you’ll learn a lot of advanced tricks. How does the Apple team layer their symbols? How are symbols nested in a professional UI kit? I recommend using your handy-dandy internet search bar to hunt down top-secret Sketch files like the one in the iOS UI Design Resources.
Maybe you’re planning to build something complex like a table or a multi-tiered dropdown. Whoah now! Ease up, you rascal! Browse around first. Check Sketch App Resources and see if someone has built something similar.
To close, here are some choice Sketch files full of symbols for you to dig into, pull apart, and experiment with:
- Form Library by Davide Pisauri
- Smart Button by Domenico Laricchia
- Android 7.0 Nougat Material Design GUI Kit by Great Simple
- Material Design Sticker Sheet by Google
- Table UI Kit by O/M Studio