Most designers have their own methods for version control, whether that means having files named “codename_v2_final_FINAL” or “client_project_090319_v2.7_JA”. There are many variations and each designer has their own way of reflecting changes.
I’ve been working on my own system for version control since I was at school and I commenced designing. It started with adding “updated” or “copy” to everything and evolved into my own complicated system which hurts my brain, even today.
We’ve all been there, and it’s hard to change.
My old school version control
It gets more challenging when you work with colleagues on a variety of projects, and all of your individual naming methods suddenly need to make sense next to each other.
At 383, we recently realised it was time for a change, so we started examining our processes and the best solutions for our version control frictions.
Up in the clouds.
With cloud storage making handling large design files less stressful, it’s easy to get caught up with 20 versions of one layout. It’s also easy to accidentally overwrite them and lose hours and hours of work.
Designers still use shockingly manual and even arcane methods of managing versions.
Khoi Vinh , Principal Designer at Adobe
Traditionally, you might have shouted across the office to make sure no-one opened the same file as you, and then again to say it was safely saved in Dropbox (insert sweating emoji!).
This kind of risk doesn’t sit well in 2019, with multiple layouts per Sketch file and large component libraries at stake.
The main headaches for designers without version control…
- Conflicting files
- Lack of accountability (“Who edited this?”)
- Difficulties with communication and feedback
- Wasted time
The developers are doing it, so why aren’t we?
One of the most popular sources for version control used by development teams is Github, which was launched in 2008. Github is largely focussed on managing and storing revisions of projects, and it stood out from its predecessors by allowing users to save a copy of a repository, make amendments and then send a ‘pull request’ to the original owner, who can approve and merge the changes. This streamlined the process and allowed for fewer errors.
You might be thinking, but that was eleven years ago, so why hasn’t design caught up yet?
I think that a lot of this comes down to too much change at once. With so many new design tools being developed every year, designers are already learning new ways to design and prototype faster as well as more dynamically, which is a lot to keep up with. And then the prospect of changing complex file systems and merging layouts…it might seem a bit overwhelming. Not to mention new language to learn like “push, pull, commit, branch, merge…etc.”
The comparison of files is also a little easier for developers. Merging code is logical and differences can be picked out clearly, whereas in design, there is much more of a subjective element needed to bridge that gap. This doesn’t mean it is impossible, just a little more tricky.
Save our design souls...
At 383, we set out to look at as many version control products as possible, test them and figure out the best for our team, which will help us change our processes for the better. We discovered a few alternatives for design version control on the market, from Sketch plugins like Plant to applications like Kactus, but our choice as a team is Abstract, which provides us with the full package we need. #NotAnAd
Abstract is a product created by frustrated designers (we can relate). Teams can now work on the same file at once, working off in branches with the ability to merge changes when they are finished. The owner or handler of the file can approve changes, checking changes visually, and they can go back to the previous version if needed. They can also all comment on the designs and decide together. Phew!
Abstract describe themselves as “A secure, version-controlled hub for your design team.” With their own cloud storage, teams can manage and develop their projects without having to ask “is this the latest file?.”
Working in conjunction with Sketch, Abstract links libraries and symbols so that teams can build visuals and component libraries collaboratively like they want to. Designers can now be even more organised with components, which might lead them down the path of asset management tools synced to Sketch files as well – but I’ll save that for another day…what was I saying about too much change again?
Dollar dollar bills
Think of version control as the custom CMS to your design team. It takes time to configure it the way you like it and you might have to pay for it to be built, but in the long run, it will help you immensely.
If you are looking for answers, start at the issues you or your team face and take a look at the various product solutions that are out there, a Sketch plugin like Plant may be just what you need.
We’re in the process of unifying and streamlining our version control processes, the change will be worth it, just to save the daily headaches, not to mention the saved time and therefore money.
If you liked this blog post, you might also like my desk buddy Sam’s blog post of his time embedded inside The AA for 6 months, what he learned and how beneficial it can be to spend real time out of the office with a fresh team.