Sketch Tutorials

How to Use an InVision DSM Library in Sketch

Jon Moore
UX Power Tools
Published in
8 min readSep 17, 2018

--

If you haven’t already read my first article about setting up a design system using InVision DSM, I recommend you read that first:

Background

One of the hardest parts about asynchronous collaboration is the whole “asynchronous” part. After all, it’s hard working with someone on a project if you’re on different schedules, in different timezones, and with different levels of experience.

What could possibly go wrong?! Well…

  • Duplicate Efforts: Multiple people…working on the same thing…without knowledge of the other person’s activities.
  • Outdated Work: If someone makes a change without the whole team knowing, you’re gonna have a world of hurt when you have half of the deliverables using one button style, and the other half with another.
  • Extra Work: Naturally, if you’re duplicating efforts and/or working with dated tools, extra, unnecessary work is required to fix things. Yikes.

As nice as it would be to all sit cross-legged on the reclaimed wooden floor with the entire 50-person design team to work in unison on a design, that’s just not possible. There’s not enough kombucha in the world to fuel that kind of synchronous innovation all at once anyway, right?

This is why design systems exist!!!

They centralize rules, best practices, and most importantly, decisions, so that everyone is on the same page. While enterprise teams have their own set of unique challenges — managing multiple design libraries (team-level and org-level), navigating permissions, inheriting updates, operational challenges — design systems are a wonderful solution for teams big and small who are using a standardized visual language.

In the same way Dropbox centralizes file management and collaboration, a design system management tool centralizes every tool and decision your team may need to do their jobs.

Before We Dive In…

As I said before, I’m going to assume you’ve read my other article already. If you haven’t, I assure you it’s very well written, thoughtful, and frankly, really premium content 🙃 If you wanna know how to import your design system into InVision DSM, read this:

So you built yourself a beautiful design system, and have deployed it to designers across your team using InVision DSM. That’s the hard part!

The fun part is actually getting to use it, and experiencing the advantages of having a shared library/toolbox firsthand.

This article is for the brilliant and innovative individuals who will use the actual InVision DSM design system in their day-to-day jobs.

I’ll talk about using text styles, layer styles, and components, as well as what you can expect when receiving library updates from the DSM “librarian”.

Here we go!

What We’re Designing

I’m going to walk you through a basic dashboard for a fake designer marketplace site which allows me to see statistics about my portfolio.

Since I’m just showing you how to use DSM, all we’re focusing on is the tool. For the sake of this tutorial, the design and UX don’t matter.

Note: I’m starting in a fresh new file without any existing styles or symbols to cover the use case that I’m a member of the design team, but not the librarian.

Layer Styles

Let’s start by building the top nav bar. I’ve drawn a rectangle, and now I want to start using the styles defined in the design system.

Note: In most cases, the nav bar will already be built for you as a symbol and you’ll just drag it onto your canvas from the DSM library, but I just wanted to show you how styles will be used in a design.

I have the InVision DSM plugin opened on the right, and my Sketch window on the left. Searching is quick, but I find it just as easy to find the style I need in the organized sections that the librarian created (me…haha). Remember, you can show and hide the DSM window by pressing Command + L.

Pro Tip: Show and hide this window by pressing Command + L!

So yeah…pretty easy! I didn’t have to worry about looking up the correct hex value and making sure it matched. As long as I select styles from the DSM library, I know with confidence that I’m using the right colors.

If that style ever gets updated to something else, I’ll get notified and all instances of that style will be updated automatically. Beautiful! We’ll look at that a little later, though.

Text Styles

We’re gonna need some items in our nav, and we want our text to match the system, so text styles will be our best friend.

Carry on until you have all of your nav items. I use the Anima App plugin for their Auto Layout feature. I literally cannot work without it.

Remember, all of those page tabs use text styles, so if our design system librarian updates the corresponding text style(s) in DSM, then we’ll receive an update. It’s like they’re fixing everything for us, but we don’t have to do any work. What a dream.

Using Components

Components…symbols…call them whatever you want. I tend to think of them as “components” from the perspective of a member of the design team, and “symbols” from the perspective of the librarian.

We don’t really have to talk about symbols much since they’ve already been created for us. We just get to use them.

Let’s add the logo to our nav bar…we need some branding, after all:

ProTip: Pin the parent-level auto layout stack to the left. That’s how the logo “snaps” into place.

One of the fantastic things about DSM is that it supports deeply-nested symbols for things like components. When the librarian created this logo symbol, they used the color masking technique with a color symbol layer, which allows me to override the color of the logo. Here’s the original technique that I stole from Francesco Bertocci 🙃😉

If it wasn’t obvious in the GIF above, I didn’t actually have to do anything for all of those color overrides to be available. DSM will automatically bring those nested colors along for the ride.

Receiving Updates

As we discussed, the primary use case for a centralized design system is asynchronous collaboration. When the design system is updated, everyone should be notified, and it should be pretty painless to synchronize your design(s) with the latest version.

I added some stat cards to the top of our dashboard, but at some point, the librarian updated the sparklines I used with a different color. It’s easy to pull down these updates by clicking the sync button:

It works for style updates, too. Let’s say our brand color was changed from teal to blue. Our DSM librarian pushes that style update to the library, then we just sync our design to the latest version:

I don’t even want to think how long it would’ve taken me to update every. single. instance. of. that. color. in a giant design file. Can you imagine?

It’s a wonderful timesaver, and perfect for teams.

Quick Little Note:
Depending on how your librarian constructed symbols, you’ll have to keep an eye on your overrides when you sync updates.

The buttons in our library use nested text symbols allowing designers to override the button text color. If the librarian decides to change the nested text symbol to be a different text symbol (maybe they wanted button text to be bigger or smaller), then this will affect your existing button text overrides.

This is not an InVision DSM bug…it’s a quirk with Sketch and nested symbols. As long as nested symbols stay intact, then you won’t have any issues.

Summary

I think the nicest thing about designing with the DSM library is you really don’t have to change your workflow much. I’m skeptical of any tool that forces me to change the way I design because I’ve gotten so efficient already.

The ability to search the DSM library makes it incredibly easy to find what I need amongst my ever-growing collection of components.

The biggest game-changers:

  • Asynchronous Collaboration: I absolutely cannot understate the convenience of being able to work on designs while the design system evolves. It’s a massive time-saver, and intuitive to use, even for Sketch beginners.
  • Organization: Sketch did an okay job with style- and symbol-organization using slashes (Icons/Products/Facebook Icon), but it’s a bit of a hack. Being able to see components thoughtfully organized made it much easier to find things when I was just browsing.
  • Inline Guidelines: If I was brand new to an organization and using DSM for the first time, the inline guidelines would make it pretty easy to just…well…start working. Provided the librarian was verbose and descriptive when they constructed the design system in DSM, I really have everything I need to design in accordance with the organization’s guidelines.

I helped InVision create a sample design system called Render so you can see how nice it looks in their web view. Download the Sketch file and the Craft plugin, and you can begin assembling your own library with the DSM tool using the Render system as a starting point.

Click above to view the completed Design System on InVision!

When I’m not building design systems, I’m working on Sketch tools at UX Power Tools to make you a better, more efficient designer.

Follow UX Power Tools on Twitter
Follow me on Twitter
Say hi on LinkedIn
Learn some stuff from my agency’s blog

--

--