Pranu Sarna • Github as a tool for design collaboration

Pranu Sarna • Github as a tool for design collaboration

Created
Jul 9, 2021 3:55 AM
Description
Our team's learning by using Github as to maintain and update our Sketch files
Title
Exploring Github as a tool for design collaboration
Discipline
Zomato • 2016
image banner

image

Testing Github as a tool for design collaboration

When I joined Zomato in July 2016, one of my first projects was to redesign of the mobile-web with Gui Corte Real. To give the best experience of browsing Zomato on a mobile browser we decided to transform the m-web in to a Progressive Web App. Since the redesign was expansive, it was imperative for us to collaborate closely and be on the same page at all times.

We both had prior experience of development and had a fair understanding of working with Git. Therefore, we decided to use GitHub to collaborate and keep a track of our sketch files.

If you are new to Git and don’t understand the fundamentals, here is a quick tutorial.

Why not use Google Drive or Dropbox?

Where’s the fun in not doing something new? We were fascinated by the idea of version control system for designers and this project gave us the best opportunity to test out if Git could be of any help for design teams.

This is what we wanted to achieve

pushin' and pullin' all day
pushin' and pullin' all day

Setting it up

sketch files in a folder in a Github repository
sketch files in a folder in a Github repository

The experience of setting up our repository with the empty sketch files was a breeze. However, as we kept committing our changes, problems started to sprout.

Putting Git to the test

Git for the most part worked like intended. But soon we realised that comparing two versions of Sketch files was not possible with GitHub. This was because Sketch files were not code and would be treated as binary files.

WOAH!! is that the matrix?
WOAH!! is that the matrix?

Trying to push changes to the same file on GitHub would result in…CONFLICTS! Sketch being treated as a binary file meant we could not resolve these conflicts as well. Conflicts resulted in us losing some progress as well.

leaning not to work on the same file, the hard way
leaning not to work on the same file, the hard way

Files above the size of 100 mb are common in design but not so much in code. As we kept on progressing, the sketch files grew and so did the time to push the changes and this slowed us down as a team.

Git forcing us to sleep on the job
Git forcing us to sleep on the job

Final verdict

By trying out Git for design collaboration we understood its shortcomings and how it was not well suited for designers.

Tools like Abstract and Plant are specifically built as design version control systems. Both tools solve this problem in their own way and have their pros and cons. Plant has a snappy sketch plugin and web app and is more suited for beginners while Abstract felt like an app created for people who are already used to Git and its concepts.

If you guys used Git for design or any of these tools, do share your experience with me on twitter!

Cheers!