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.
- Seems to do what it says on the tin
- Works quite smoothly
- The branching system seems logical
- Files seem to upload *fairly* easily/quickly
- You get a visual record of what has altered and it can be stepped through showing the changes in each layout.
- The overview covers all art boards in the file.
- Editing symbols is recognised as well. Which helps.
- Can import existing files into Abstract and start versioning them straight away.
- Files aren't stored locally. They go up to Abstract’s servers. You can export files from Abstract but this removes that specific file from version control.
- You can only merge upstream by a single level. (This is also a good thing.)
- Files have to be opened via Abstract App to get versioning
Can’t find a way to open the files from the web app (There is no way of doing this at the mo)
No PC/Linux version
Only works with Sketch at the moment. Photoshop files will need to be managed elsewhere.
Review process within the app is on partially implemented at the moment
- Massive multi-art board files can take a few minutes to upload
- 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.
- Abstract is currently in private alpha. It'll remain free for the duration of the alpha.
- Once in Public Beta (currently scheduled for 11th July 2017) we have 2 free months before needing to commit to a price plan.
- Pricing for the organisation-level service (with admin, contributor and viewer permissions) will be $21 (Roughly £16) per contributor per month.
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.
- 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