
Image Credit: Liam Jay
Version. Control. It is possibly in the top ten list of unsexist topics that I could discuss in my reflective journal, but it is nevertheless an important one and the one I am talking about today!
Version control is how teams and individuals manage large websites, changes to documentation, computer programs and other collections of information. By using a clear version control system (VCS), teams can track edits and more easily avoid and fix mistakes (Deepa et al. 2020). Not only that, a good VCS allows for structured collaboration in teams that span locations and disciplines (Bryan 2017).
Version Control in Architecture
Every office I have worked in as an architect focuses on drawings as the main output. With each drawing package, there would be many changes, including client comments and legal variations, but not once did an office employ a VCS. The filing systems were a jumble of documents, or we used a drawing program that kept a distinct main version of the file. The offices with no strategy had all the usual problems, creating many headaches.
However, for the last few years, I have been lucky enough to work in Revit, which has an excellent in-built system for collaborative work. A central file saved in the server stores all the information. Users access the central location to create a local file on their machine. Each user makes changes as required and synchronises them to the central model, during a synchronise the user also receives changes made by others in the team (Autodesk 2022). However, version control is limited to adding an automatic time and date stamp to each new local file the user opens (Autodesk 2018). Returning to an old local file is unreliable if you are looking for specific changes, and there is no distinct path for restoring them.

The logic of the Revit central and local file system Image Credit: Nicolas Catellier
Version Control in UX
Considering the importance of collaborative version control makes me wonder why VCS doesn’t seem to be a topic for discussion in the design and UX communities. But saying that, people wouldn’t exactly race to read an article on Medium dedicated to version control, and we designers are suckers for exciting and sparkly topics.
However, good UX is consistent, so we apply design systems that form guidelines with reusable components (Interaction Design Foundation 2023). If that system cannot be controlled, the team is not creating good UX (Fordham 2021). This is especially true in teams spread across multiple locations and time zones that have additional pressures on communication.
With the rise of design management tools such as Merge from UXPin, we designers now have improved access to intelligent version control (Adobe 2022; UXPin 2022). A VCS is especially useful during testing, as quick changes can be implemented and tracked without fear of overwriting the current version. Additionally, the version history can be viewed by new team members to understand the evolution of a product and to see what ideas have been tried already (UXPin 2022).
Git / GitHub
Git is a version control system designed in 2005 to support the development of Linux (Deepa et al. 2020). Today, it is extensively used in companies where developers collaborate on big projects and in the indie community for sharing source code. A set of files are saved in a repository, and versions are structured in ‘branches’ to track changes clearly (Bryan 2017; Deepa et al. 2020; Fordham 2021). Changes are tracked with ‘commits’, each with a comment explaining the differences (Bryan 2017).
GitHub is a platform that supports the Git version control style, allowing users to track projects across teams and versions (Bryan 2017). Designers can also work with this system and collaborate with developers by logging bugs and requesting improvements or new features to existing products (Kay 2020). However, the design team should formulate a systematic approach regarding communication in this way to ensure a good workflow. In my opinion, developing robust communication methods is just like developing a design system, and it must be clear and consistent to achieve good results and user experience. By putting these systems in place, designers will create a better user experience for ourselves, allowing us “development without fear” (Church et al. 2014: 1), especially when collaborating across disciplines.
Version Control in UX Design Programs
Figma has an inbuilt VCS that either automatically or manually saves document states that allow the user to name and comment on each state (Lawrence 2022). Additionally, it has a branching VCS similar to GitHub, where changes can be tracked and merged as required (Figma 2023).
Adobe XD has a similar approach to Figma, where document states can be saved and accessed via the Adobe Creative Cloud (Adobe 2022). However, auto-saved versions will be deleted regularly unless the user bookmarks them or creates named file states (Adobe 2022).
Sketch, on the other hand, has several versioning plugins available such as Abstract or Plant (Abstract Studio Design Inc 2023; PlantLabs Inc 2023).
I don’t have access to Sketch or XD, so I can’t try the different VCS options. But taking a theoretical approach, it feels like Sketch and Figma have the upper hand in controlling versions, especially Figma. The Adobe XD system, on the other hand, gives the impression that version control would be harder to keep on track due to the ease with which older versions are deleted.
Conclusions
Conducting this small research task into version control has uncovered the importance of the topic for me. It was something I always knew about conceptually, but I never attempted to implement better version control in my past teams. One of the reasons I never tried could have been my confidence in my place within the team, as no one better had already suggested such a change I didn’t believe it was my place to make waves. Moving forward, I will enter my first UX team and make a point to ask about their existing VCS to avoid potential mistakes. And I hate to admit it, but I find the prospect of joining a team with distinct processes to control organisation quite exciting as I do love an organised workflow!
Mini SMART Goal
I will utilise the manual version control in Figma during the subsequent design sprint to ease collaborating with my partner. We will discuss ahead of time how best to organise our version control which we can use as a benchmark during the sprint. Despite seeing the benefits of the branching system, I would like to stick to the simple version control to get the hang of the system before complicating the process. Testing a simple VCS will be a good test run before entering the group work module, where I hope to create a cross-disciplinary team that will span at least two countries. I will use this first attempt at version control during the next two-week sprint. Once the sprint is concluded, I will review my VCS system and identify its strengths and weaknesses to implement in the next project.
References
ABSTRACT STUDIO DESIGN INC. 2023. ‘Version Control for Sketch | Abstract’. Abstract [online]. Available at: https://www.abstract.com/ [accessed 5 Mar 2023].
ADOBE. 2022. ‘Versioning FAQ’. [online]. Available at: https://helpx.adobe.com/content/help/en/creative-cloud/help/versioning-faq.html [accessed 5 Mar 2023].
AUTODESK. 2018. ‘Workflow: Working on a Team Project’. Autodesk [online]. Available at: https://knowledge.autodesk.com/support/revit/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Revit-Collaborate/files/GUID-D2579433-CBF9-4853-8BE6-1D6013CD3BFC-htm.html [accessed 4 Mar 2023].
AUTODESK. 2022. ‘Managing the Central Model’. Autodesk [online]. Available at: https://knowledge.autodesk.com/support/revit/learn-explore/caas/CloudHelp/cloudhelp/2020/ENU/Revit-Collaborate/files/GUID-8E49BC46-5052-4DBF-8837-D57B8F8899F5-htm.html [accessed 4 Mar 2023].
BRYAN, Jennifer. 2017. Excuse Me, Do You Have a Moment to Talk about Version Control? PeerJ Inc. Available at: https://peerj.com/preprints/3159 [accessed 4 Mar 2023].
CHURCH, Luke, Emma SÖDERBERG and Elayabharath ELANGO. 2014. ‘A Case of Computational Thinking: The Subtle Effect of Hidden Dependencies on the User Experience of Version Control’. Proceedings of Psychology of Programming Interest Group Annual Conference 2014 123–8.
DEEPA, N., B. PRABADEVI, L.B. KRITHIKA and B. DEEPA. 2020. ‘An Analysis on Version Control Systems’. In 2020 International Conference on Emerging Trends in Information Technology and Engineering (Ic-ETITE). 2020 International Conference on Emerging Trends in Information Technology and Engineering (ic-ETITE), Vellore, India, February 2020, 1–9. Available at: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9077781 [accessed 4 Mar 2023].
FIGMA. 2023. ‘Guide to Branching’. Figma Help Center [online]. Available at: https://help.figma.com/hc/en-us/articles/360063144053-Guide-to-branching [accessed 4 Mar 2023].
FORDHAM, Michael. 2021. ‘Version Control Best Practices for Design Systems’. Knapsack Design Systems [online]. Available at: https://www.knapsack.cloud/blog/version-control-for-design-systems [accessed 4 Mar 2023].
INTERACTION DESIGN FOUNDATION. 2023. ‘What Are Design Systems?’ The Interaction Design Foundation [online]. Available at: https://www.interaction-design.org/literature/topics/design-systems [accessed 4 Mar 2023].
KAY, Vivienne. 2020. ‘How to Write Great GitHub Issues (for UX Designers)’. Medium [online]. Available at: https://medium.com/@viv_kay/how-to-write-great-github-issues-for-ux-designers-594ac407309f [accessed 4 Mar 2023].
LAWRENCE, Nick. 2022. ‘UI/UX Design: Version Control’. Medium [online]. Available at: https://uxplanet.org/ui-ux-design-version-control-2e354cbce5ca [accessed 4 Mar 2023].
PLANTLABS INC. 2023. ‘Version Control App and Sketch Plugin for Designers’. Plant [online]. Available at: https://plantapp.io/ [accessed 5 Mar 2023].
UXPIN. 2022. ‘Version Control for Design – Why Is It Worth Having It?’ Studio by UXPin [online]. Available at: https://www.uxpin.com/studio/blog/version-control-for-design/ [accessed 4 Mar 2023].

German vocabulary of the week
Organised – Organisiert