A first look at Sketch Libraries
Let’s be blunt: working together with other designers on the same Sketch file is a real pain in the ass. Heck, even working on your own file for a project while keeping symbols in sync across different files is annoying at best!
In a world where we’re not just making pixels, but working on design systems that work across different operating systems and are being iterated on on a daily basis, it’s key to have a way to keep your components / symbols in sync.
Enter Sketch Libraries (now in beta), the cure to our syncing problems.
Now we do know that Sketch is very picky about what they include in their product because they really support the plugin scene. But honestly, in a modern design team shared libraries is so crucial and close to the core of the software that it just makes sense to include it.
Of course, we took it for a quick spin at once…
Setting up a Library file
So how does it work?
A library file is where your shared symbols originate and will live. It’s nothing more than just a regular Sketch file with symbols.
This means that you can easily transform any Sketch file into a library. Simply go to your Sketch preferences > libraries > add library, and then select the desired file.
From this moment on, you can access the symbols in that file from any Sketch file you open or create.
As you can see in the screen above, the folks from Sketch were kind enough to already include the iOS UI kit!
Inserting symbols from library
You can insert a symbol from a shared library just like you would insert a regular symbol. The symbols from your shared libraries can be found at the bottom of the list.
You can also use the “update symbol” menu to select symbols from a library.
This menu was also updated: the new version of Sketch only shows the folder in which you’ll find the current override symbol. An improvement compared to the current version, where you have to navigate all the way through your symbol structure.
In Sketch’s own words: “Improved appearance of nested Symbols, Text Styles, and Shared Styles so that they’re no longer nested within superfluous submenus.”
For us at November Five, this new flow works really well. We structure our symbols carefully, meaning we’d only ever want to update symbols with others that are in the same folder.
Only one snag: we really love using Sketch Runner, but it doesn’t currently support the shared libraries. But we don’t think they’ll wait for long to update.
When you want to edit a symbol while not in a library file, Sketch will ask you what you want to do.
You can’t make changes to the symbol in another document unless you unlink it, which we like: it will force you to keep your files consistent and minimise the risk of mistakes.
If you do unlink the symbol, Sketch will add it as a local symbol in your current file. If you want, you can later override the local symbol with the symbol from your library again.
If you do want way to edit a symbol, you can edit it in the library source file and save the file. Sketch will indicate that you are working in a library file, albeit in a very subtle way.
When you then return to a Sketch file in which you used symbols from that library, Sketch will notify you that there is a library update available.
It is a very subtle notification again, in the top right corner. We’re not complaining that there’s no intrusive popovers, but when working on 25” screens, that top right corner doesn’t really pop… We think it would be great if a future version could also mark a symbol that’s out of sync in the layer list or symbols list.
After you click this notification you will be presented with a list of symbols that have been updated. You can choose to update all symbols or select only the ones you want.
A few extra remarks
Firstly, what about non-visual changes? At this point, things like changed layer names, editing the resizing constraint or switching a text box from auto to fixed are not displayed in the list of changes we just mentioned.
They are detected by Sketch — they’re just not shown as changes. We think it would be a very relevant improvement to display some sort of description of the changes made.
Secondly, the actual syncing. We tested the Dropbox integration with libraries and it worked perfectly. Sketch mentions that they also support version control systems, servers and other cloud services. It will also be interesting to see how this plays with Abstract.
Our conclusion – for now
After the smaller improvements Sketch 45 and 46, the addition of Libraries is a truly substantial update — something we have been waiting for for a while now.
We see a lot of potential for using Sketch libraries:
- Having symbols used across different Sketch files, eg a file for Android and one for iOS where icons or UI elements are shared cross-platform.
- Keeping a brand guide as a Sketch library.
- Having a library with photographs on hand.
- Maintain all of your own company UI components.
We have run into some troubles previously while working on the same project with multiple designers. This seems to finally solve our biggest issues!
A few ideas to make Libraries even better:
- A more visually clear way to indicate that there’s an update available, maybe even in the symbols list or layer list.
- Displaying the non-visual changes (resizing options, layer name changes, …)
- Including shared text styles
- A better way to organise your symbols in folders, not only by using “/”
We really are looking forward to what Sketch will include next and what plugin developers will do with libraries once they get their hands on them.