Right now I can't tell how to re-open the file and edit it in Figma
Notes
We need to also track the fact this came to Figma which should be saved into our Design Payload in tracking as well.
Proposal
Add some kind of indicator to open and edit this Design in Figma to close the loop on viewing and editing
This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
One aspect I'm curious about here: What would be good ways to deal with the fact that the designs we see in the issue might already have changed in Figma, or may not even exist anymore at all?
Crazy thought: Could we maybe even use the API to keep track whether a certain design might have changed in the meantime and notify users about this in our UI and give them a way from GitLab to trigger a sync with the Figma file? Looking at the API, I think it might be possible, but I would also love to hear what @tomquirk think.
@mvanremmerden yep, certainly would be possible in theory .
The Figma API is definitely how we would achieve this. The main hurdle at this point is getting Figma-related data about the design into the GitLab design. Once we have this, and we are storing data like the Figma node ID, we can do a whole bunch of things, like:
check when node was last updated
check the actual contents of the new node
get link to the node in Figma
As I'm typing this out, I am forced to think: given that we could potentially display the design exactly as it is in Figma at any given time (via the Figma API), then should we consider simply rendering this? In other words, don't store the design in GitLab at all; pull and render the design directly from Figma in the GitLab issue.
There would be some issues with this approach. For example, is there value in uploading a design from Figma, but being able to update/overwrite that same design from Sketch? If there is, then this approach would need some tweaks.
From an implementation perspective, could we even consider having a separate type of design: "here's a Figma design that is always in sync with Figma, but over here is a design you uploaded directly to the issue.
This frame is now deleted. When you click on it, you will be taken to the cover of the file which is not helpful because there is no feedback that file is no longer available.
Deal with the fact that the designs we see in the issue might already have changed in Figma
What @mvanremmerden is describing with last update time and syncing of design is almost like what Live Embeds would offer. Instead of replicating the functionality in GitLab perhaps we revisit this issue of including Live Embeds in GitLab gitlab-design#1083 (moved) I came up with this quickly here of adding a frame URL to the Designs area to allow embeds. This way the designer knows that they are sharing an embed and not a static image.
Figma link: https://www.figma.com/file/ejyySgLSCEUdpEhGay5T5I/Gitlab-Figma-Plugin?node-id=231%3A93
API sync from GitLab
Since we have the ability to get latest information in GitLab via the Figma API as @tomquirk research suggests the question then goes should we be allowing pulling the latest into GitLab or push the latest from Figma into GitLab. I think pushing the latest from Figma makes sense since we should ensure that there is still control for the designer for what is shown on the Designs area in a GitLab issue.
@mle I feel like the scenario you describe re: Live Embeds could be the best long-term solution. With Live Embeds, we save ourselves the complexity of keeping things in sync, while still delivering the value we want to: up-to-date (live) Figma designs in GitLab. How this looks within Design Management, and what it would take to iterate there, is another question
Keeping things in sync always feels a bit scary to me as things tend to get complicated very quickly - having said that, I am certainly open to ideas on how we can best achieve it
@mle@tomquirk I agree, but I think we'll still need both. The problem with live embeds is they can be updated at any time and no one is notified the change happened.