These days it feels like we’re living in a golden age of design tools with a new tool or system announced or released every few months. I still remember the dark days of designing before Sketch 3. Back then my Photoshop files were hundreds of megabytes and I had to manually create and export assets at 1x, 2x, and 3x. Thanks to Sketch designing for screens with different resolutions has gotten much more efficient. While Sketch is the tool that has definitely had the biggest impact on my day to day, Abstract has emerged as another tool that I’ve come to rely heavily on in my design process.
Abstract is version control and file management for your Sketch files. At first I was skeptical about using Abstract because I already had my own tried and trusted system for file management and versioning. I was also a little intimidated by Abstract because it’s modeled after version control systems that engineers use and I was totally unfamiliar with. If you’re like me and have barely used Github, the terminology and concepts can be difficult to relate back to a design process. However, once you get the hang of it you won’t miss the days of naming your files “project_v12_option23_exploration2.sketch.” Not that I’ve ever don’t that before…
Step 1: Create Your Project
Your project in Abstract is basically the main folder for all of your design files. To create a new project, give your project a name and import an existing Sketch file or create a new one.
Now that your project has a Sketch file, you have a “Master” file. Abstract calls the master files the “source of truth” for the project. This was a game changer for me. Previously I kept my design files in folders on a shared server and I’d often get messages from engineers asking which file was the most up to date. There’s now a clear distinction between which files are the ones to work from and which files are works in progress.
Step 2: Create a Branch
In order to make changes to your master file, you’ll need to first create a branch. A branch is simply a copy of the master file.
In my old workflow I’d version my files by creating a copy and appending _100, _101, _102, etc. to the file name. With Abstract, I just create a new branch for a new iteration or to explore different ideas without having to keep track of multiple files or folders.
Step 3: Commit
While you have your Sketch file open from your newly created branch, you’ll notice a small box at the bottom of the art board area with a button that says “Preview & Commit.” As you’re working on your Sketch file, the changes will be saved locally on your computer. Only when you commit your files are you uploading your changes to the Abstract server where they’re shared with your teammates.
If you spend enough time around engineers you’ll eventually hear the phrase, “commit early, commit often.” I never fully understood it until I started using Abstract and I’ve found it to be very, very true. I try to commit early and often, usually after reaching a natural stopping point in the work or at the end of every day. Abstract is still in Beta and even though errors when committing have become pretty rare, I’d rather be on the safe side of things.
Step 4: Merge
Once you’ve worked through the changes in your current branch, you’re ready to merge the branch into master. Merging the branch archives the branch you were working in and replaces the original files in master with any updated or changes files from the merged branch. Voilà, A new source of truth for your project. No renaming or folder shuffling necessary. And no need to alert your teammates to the new files as they’ll be able to see the full commit history for the project.
I hope this quick breakdown of Abstract was helpful if you’ve considered using it but have found the concepts hard to relate back to your own design process. It does takes a little bit of getting used and maybe a bit of extra effort but I’ve found it’s been worth it for me. If I hadn’t been using Abstract I would have lost a few days worth of work this week when my computer crashed and I had to erase and reformat my hard drive to get it running again. It was that incident that caused me to reflect on how integral Abstract had become in my workflow and how thankful I am for no longer having to worry about manually managing and organizing my design files.