As you may already know, Mobile Jazz is a fully remote company, meaning our team is spread around the world. This can be challenging, but it’s provided a real creative stimulus, too. We’ve been forced to challenge every aspect of the way we work, including the way we design our products.
The task of involving multiple designers, working across different continents, has created untold headaches in the past. But we’ve found a brilliant solution using the genius of version control technology – specifically Abstract, a piece of software which has become fundamental to our modus operandi.
In this article I want to explain the process that brought us to Abstract, the reasons we love it so much, and the ways it can help other remote design companies, too.
How We Do Design
The Mobile Jazz design team is a real hotbed of creativity. Working in a team enables us to pool, brainstorm and build ideas together, which we can then take into our own personal projects. However, our disparate locations provide some obvious issues.
For every project, the design files need to be shared, updated and synced between all the team members involved – with no overlap or duplication.
Until very recently, the way we would handle these files and workflows was clunky and old-school. We had to rely on email, video calls or chat communication to let each other know when we were going in, and out, of a project. This outdated method brought a lot of miscommunication, and we sometimes overwrote one another’s work.
Google Drive has certainly helped in terms of storage, giving us a central place for all our files, which are all kept automatically up-to-date. The same file is synced across both machines, so two or more people can open and view the same file at the same time.
But what if multiple people start editing the same file at the same time? Here’s where the nightmare can unfold. The application will only save the latest changes, so (at least) one person’s work will be completely wasted.
One workaround has been to make our own individual copies, then merge them back into the main file manually. But, as you can imagine, this is an extremely laborious and inefficient process, not to mention prone to human error.
Of course, the challenge of working simultaneously on a common project is nothing new. Developers have been doing it for years, and they’ve relied on version control systems such as the Git family (whose most famous member is GitHub, probably the world’s most famous coding platform).
Version control tools are underpinned by a protocol that allows teams to create a master version and then hive branches off it. Each member of the project design team creates their own version and works on it, before subsequently merging their changes back into the master branch.
Version control has loads of benefits. As well as providing merge functionality, it gives the project’s lead designer a ‘comparison view’ where they can see all changes made and reject them if they conflict with other updates. Each designer receives an archive copy of each change, so, if you’re using this software, you can always revert the changes – or go back through the project history to recover something you removed earlier.
Up until now, Git was fully based on textual lines of code, but the concept has now been extended to visuals and design files. The latest generation of design software uses text files, or data-interchange file formats such as JSON, to allow third-party services and scripts to access the file.
As designers, this has major ramifications for us. Version control is now within our grasp.
Before trying out version control in our own design projects, we conducted thorough research into the various solutions available, to ensure we found the one that worked best for us.
Here’s a quick rundown of the three tools we considered, with their strengths and weaknesses. There are other solutions out there, such as Plant or Trunk, which you might want to consider too. These three were just the ones most closely aligned with our needs.
Kactus acts as intermediary between a designer’s files and GitHub. As a designer, it gives you a visual comparison tool as well as the ability to pull, push and merge changes. Pricing depends on whether you want your files to be public or private.
- Kactus uses GitHub, which is reliable and common to most developers.
- It can be expensive. If you want to keep your files private, you’ll need to pay… and take a Premium GitHub subscription.
If you want to use other Git-based solutions, it gets even more pricey. In fact you’ll need the most expensive account available.
Versions is kinda similar to Kactus. It also works with GitHub or any other git-based repository, straight out of the box. And it offers integration with other tools such as Jira, which can be handy if you already use this platform for project management.
- Uses existing Git-based platforms out of the box.
- It’s locally based, using folders on your computer, which means you’re storing the files in your hard drive until you push them to the repository. Not great if you’re low on storage space.
It won’t come as any surprise to hear that this was our favorite. Why? Well, there were plenty of reasons. The main one was that it felt like a bespoke tool custom-built for designers, rather than a developers’ tool which had been modified for us.
Abstract takes the essence of Git (push, pull, merge) but translates it into a visual user interface that feels easy to use if you’re not a developer. Abstract also provides cloud storage for your projects, which means once you upload them there, they’re safe and will continue to be so. Every change you make, and push, is stored in a separate file that can be recovered anytime with just a few clicks.
Then there’s the functionality. Abstract doesn’t rely on third-party platforms, so everything is handled via a Mac OS app or browser, and uses a Sketch plugin to commit your changes straight from the design app.
- Cloud storage and backup of your files
- Easy-to-use UI
- Don’t have to deal with third-party platforms like GitHub or Bitbucket
- Conflicts are resolved in-app
- There is an extra set of tools such as Inspect for development specs
- Only the designer has to pay to use the platform. You can have a team of people (developers, client managers etc) acting as viewers, adding comments for free and using the file in their day-to-day work
- Sometimes it drains resource from your computer, especially when merging files or committing changes
- It’s the most expensive solution out there
Since we started using Abstract, first of all I feel confident that nothing will be lost. I can’t recall how many times I lost pieces just because of accidentally overwriting the wrong version of a file or simply because I hadn’t enabled Time Machine or any other restorative mechanism.
When working on the same projects, we don’t need to worry anymore about naming conventions, storage issues or whether we’re using the latest files. Everything is in the cloud and handled by Abstract and we can tell you it’s saved us several times already thanks to its recovery capabilities.
While it was a bit buggy, especially at the beginning (big projects could take literally 30-60 minutes to sync), the Abstract developers have kept improving the product, so now it’s way more stable, fast and reliable. They’ve also added some nice new features, such as the handoff tools or common shared libraries – you can “link” these files to many other projects and, when you want to upgrade, simply change one of them. The rest will change automatically.
That doesn’t mean it’s the best solution for everyone, but it works for us and we’re delighted with it so far.
If you work in a team of designers, getting a version control platform is a brilliant investment. It improves the efficiency of your workflow, removes the problem of duplication and unnecessary deletion (with all the frustration that causes) and, because you typically only have to pay for a single subscription, it’s cost-effective. Version control has fundamentally changed the way we collaborate. We definitely recommend giving it a try.