The wiki is now available again. However, some recent changes may not have been restored.
Please see Computing Services' blog post for more details
Skip to end of metadata
Go to start of metadata

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.

Initial thoughts

ProsCons
  • 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

Limitations

  • 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.

Workflow

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.

Branches

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.

  • Master
    An Abstract project starts with a single `Master` branch. The Master branch should only hold the latest, most polished version of the design file.
  • scratchpad
    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.
  • staging
    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.

Labelling

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

 

  • No labels