Abstract (https://www.abstractapp.com/) is a version control system for design files. It's based on GIT and broadly adheres to the versioning workflow established with Github.
Tegan Male and I have been trialing Abstract on the recent Colour Palette sprint (https://www.pivotaltracker.com/story/show/142854367). We wanted to get an idea of how we could conceivably fit a tool such as Abstract into our design workflow. The aim was to cut down on repetition of files, redundancy in design assets and to solidify a design workflow that allowed for trackable reviews.
- Abstract is currently in private alpha. It will remain free for the duration of the alpha and beta periods but will be a paid service once released. There's no indication of pricing so far.
- It is currently a Mac-only application. A Windows version has been discussed but there is nothing concrete on the road map. There is no Linux version planned.
After using Abstract in a very loose manner for a few days we realised that a more solidified process was required if we planned to use it in anger for real work.
The lack of project template functionality is slightly frustrating, meaning each project has to be set up by hand each time. However, this is not really any different to how development repositories are created and configured on Github. To that end it's a familiar process and one that encourages a bit of up-front thought to make sure a project is set up properly in the first place.
Abstract works just like Github, with users encouraged to create new branches for specific features or blocks of work which are then merged back in to a parent branch after review.
An Abstract project starts with a single `Master` branch. The Master branch should only hold the latest, most polished version of the design file.
This is tagged 'Work in progress' and contains ideas, concepts, sketches and roughs. This branch is NEVER merged back into `Master`.
The end result should be a single Sketch file, versioned through Abstract, that holds multiple art boards of design thinking.
As with Github, `staging` is our primary working branch. Designs in progress are created in sub-branches from `staging` and merged upwards into `staging` once a design review is complete.
To improve document and project organisation as well as future searchability, we have introduced a naming system for new projects. This is something that isn't currently offered by Abstract, but may be something that is on the development roadmap.
Current labels in use:
- DESIGN SYSTEM - for Lens or Origins assets
- PRINT - for things made to be printed
- TYPE - for content types and page designs
- COMPONENT - for singular component development