Like most of the world, we've been trapped inside our homes for the better part of 6 months now. Early on during the lockdown, I asked "how could this time be used effectively so we build something that we're proud of by the time we're nearing the tail end?"
Building a "Figma to (insert design tool here)" converter had been on my mind for a little while, but I left it to one side, as I knew it would be a tremendous amount of work, and I wanted to give priority to working on our existing Figma plugins before considering embarking on a new mission.
The idea was very stubborn in my mind and was the one that kept coming back to me by the time it was time to start working on a new plugin. In the same way that Figma natively imports Sketch files, I really like the idea of being able to export Figma designs to other tools, and building a plugin seemed like a great way to build "the missing export options" for Figma.
Shortly after releasing our Pitchdeck plugin and publishing some early customer feedback requests back in May, work began on a brand new Figma plugin (called "Magic" at the time), which would go on to become Convertify, released a few days ago.
Crossing the Chasm ("why build this?")
The first question you might ask is "why build this?", it's is a reasonable question to ask - you probably love Figma, we certainly love Figma - why would anyone want something that converts designs from Figma to Sketch, or another design tool? While it's easy to be in the Figma bubble, the truth is that not everyone is on board the Figma train just yet. When you're working at a company that does use Figma, often you'll also be working with other companies who do not use Figma. Different companies move at very different speeds; for example, when I helped move my last agency to Figma from Sketch in early 2018, other agencies I talked to were in the final stages of moving away from Photoshop to Sketch.
Due to this inconsistency between companies (and even teams within the same company), there often is a real need to send designs between collaborating teams or companies in the format that they use internally. It's not enough to say "we use Figma and everything's in Figma, so you'll just have to use Figma, too"; unfortunately, it's not so simple. Some companies have really strict policies in place about what software they're allowed to use and what software isn't allowed. Especially with Figma being cloud based (which is obviously a huge plus!), some companies are really conservative about switching to new software like this.
That's all cool... as per Geoffrey Moore's book "Crossing the Chasm", the adoption curve doesn't consists entirely of "early adopters", it's expected to see a whole bunch of companies take years longer than the "innovators" (like you early Figma users).
The first thing you quickly realise when starting a project like this is that you're essentially working with nothing. There isn't really a handbook or a "how-to" guide for building a Figma converter plugin; what this means is that you basically have to "reverse engineer" (to make it sound cool) these files for yourself, and work backwards.
Unfortunately, there's no single "magic" moment or discovery that made this an easy undertaking, by any stretch. The way I would describe it as something like a thousand mini mountains that you need to climb and then go back to basecamp and do it again.
To give one concrete example, I believe it took 3-4 days straight just to convert an image crop from Figma over to Sketch, which evidently does not actually support non-destructive image crops, so it had to be "visually emulated" by creating a mask layer and retaining the original Figma image inside of it with the correct crop offset.
If you take the crop example and apply it to every "minor" detail of a design, you start to have some picture of what it's like to work through hundreds of these seemingly trivial things.
The Road Ahead
We deliberately only launched with Sketch support, as it seemed like the obvious choice to get into the hands of designers first, being the most widespread tool besides Figma. We wanted to get this into the hands of designers as soon as possible and learn about what new features would be most important and valuable to those facing this problem on a regular basis.
Having said that, work is also currently underway for supporting other popular design tools, so please stay tuned for more updates soon!