Design & Teams


tl;dr

We need better ways for designers to work together. What we have right now works ok, but it involves too many hand offs and not enough simultaneous work. Tools that allow real-time collaboration couldn’t come soon enough.

Why should we even do this?

As designers, we share a common set of tools for creation: software, whiteboards, post-its, etc. We’re good at using these tools for actually making stuff, but sharing and organizing the output is frequently much harder. The best designs happen when people collaborate on a design. This means that in addition to an understanding of how to use a tool, we must also know how to share thoughts and assets with fellow designers and developers in an intelligent way.

For digital design there are two main hurdles to this process. The first is non-linear/simultanious workflows. How do we merge output together when two people have been working independently on the same file? The second is version control. How do we go back to a previous version when we inevitably break something?

Developers have had a solution to these problems for years: Git. But it’s much easier to simultaneously create and then merge something concrete, like two different lines of code, then something abstract like a blue circle and a red triangle. Designers have hacked together their own git alternatives that allow merging files and version control, but they aren’t perfect. Let’s do a quick inventory of these systems that designers use.

Ways designers merge files together

  1. Avoid it. Don’t work on something at the same time as someone else. (Slow. Especially when you have a creeping deadline.)
  2. Manually merge the parts that change. (Tedius)
  3. Use a development tool such as bitbucket or GitHub for design files. (Mismatch in functionality)
  4. Take your chances with young software like Abstract or Picnic. (Risky)

Ways designers implement version control

  1. Incremental file saving. 01, 02, 03 allowing you to go back in time. (Eats up space and is annoying)
  2. Use a storage system that supports version control like dropbox or google drive (Tedius to view and switch between versions)
  3. OS/application supported File > revert in sketch (cumbersome)
  4. All of the above (me 😱)

Ok, so how could this be better? Two schools of thought have emerged as potential solutions.

  1. Make version control for designers. A central place for teams to merge, branch, and save design files. This would be a source of truth that all designers and developers could access at all times. Abstract App is a newly rising star on this front that allows version control for Sketch files.
  2. Multiplayer. Cloud based design tools like that have built-in version control and allow share component libraries. Figma is the new kid on the block in this department. It runs in the browser and allows real-time collaboration like Google Docs. Also, Figma now has team component libraries!
  3. Picnic is even earlier on in the development process, but they allow (sort of) real-time collaboration within sketch.

A few other notable mentions.

  • Sketch 47 is due to have shared symbol libraries across teams. This would enable a shared file for symbols that, when upated, would propogate across a team’s indivdiual sketch files after a notification. More info here: Sketch 47: Component Libraries
  • Adobe XD has pledged to make collaboration a main goal of future development. (Still TBD what this actually means.)
  • Design Systems Slack Channel. This one is a bit tangential, but it’s a community where people can talk about best-practices for design systems, shared component libraries, etc.