We have been looking to understand how we might share assets between Sketch files more effectively.
Out of the box, any assets created within a Sketch document are essentially tied to that file. Although the information is available in JSON format somewhere it is not always easily accessible or formatted in a way that encourages transference.
Given that both UX designers in the Digital team are working with Sketch as our primary design tool we have been looking for a better way to share assets such as typographic styles, colour palettes, customisable components, plugin setups etc.
What do we need?
We started off by looking at exactly what it is we thought we would need:
- a way to share common assets like colours, type styles and symbols
- an up-to-date (and up-dateable) reference point with the latest colours, type sizes etc.
- a way of making reviewing changes in design files easier and more efficient
- a starting point template with preset artboards and styles 'ready to go'
- an easier way of working together and not overwriting changes on the same files
What kind of assets do we already have?
'Local' assets - Stored in the Sketch file itself
- Symbols - pre-built customisable components
- Text styles - Easily applied text sizes and styles
- Designs styles - Colours, stroke width etc.
- Document palette colours - A palette of colours used only in the currently open document
- Global palette colours - A palette of colours that, once saved, can be used in any Sketch project (as these colours are saved within the app prefs)
What resources do we have to work with?
What resources do we have to hand that could help in sharing the assets listed above?
- The X drive - A shared drive with a `/project` space that could store assets
- UI testing benchmarks - A data set outlining popular screen resolutions, devices, browsers etc.
- Github - File sharing and versioning tool. Not sure how well it works with Sketch though.
- Apple iCloud sync - Sketch is a Mac-only program. It will automatically version saves if allowed to save to iCloud.
- Dropbox - Our previous way of sharing Sketch files. This relies on verbose file naming conventions and a whole heap of trust. Also - it is not officially supported by the University.
Invision Craft plugin/service
Craft is a series of plugins along with a standalone plugin manager that provides tools for Sketch asset sharing and collaboration.
Although it initially looked as though we could share colours, text and design styles and symbols via Craft it soon became clear that it wasn't quite that simple.
The main problem is that Craft stores the shared assets itself, separate to Sketch. Craft relies on being able to sync across the web so any interruption to your connection can result in Craft assets being 'behind the times'. It is possible to force synchronisation but, more often than not, this would fail resulting in unusable symbols that had been corrupted within Craft.
Pretty Diffs - A Sketch plugin that works as a GIT client within Sketch (https://github.com/mathieudutour/git-sketch-plugin)