Let’s start with some background.
Our team of designers began using Figma for design and delivery last year, for which we have purchased over 200 enterprise seats. Initially, the delivery process was quite pleasant, up until Figma started charging for Dev Mode. Before the existence of Dev Mode, engineers using the Inspect Panel’s viewing functionality was sufficient for us. We did not anticipate Figma making “minor adjustments” to the Inspect Panel for view-only users to make Dev Mode more appealing. Engineers have been complaining that they can no longer efficiently view design drafts or copy CSS code as before (not referring to Dev Mode beta, but the original Inspect Panel before Dev Mode). Some engineering teams have even asked if the designers could switch back to Sketch, as the delivery efficiency in view-only mode has severely deteriorated. However, with many designers in our team and significant effort invested in building component libraries on Figma, and all business design drafts being produced with it, as written in this article, our design assets have now become hostages forcing users to purchase Dev Mode seats.
I’ve always believed that selling Dev Mode in this manner would not work well with teams like ours: engineers are spread across various teams, making it hard to convince all engineering teams why switching to a better design tool means they have to pay extra to maintain their efficiency (previously, tools like Sketch + Sketch Measure were sufficient).
It’s not that Dev Mode is useless; it offers many useful features. However, compared to the original Inspect panel, it doesn’t offer significant advantages for our scenario. Instead, functionalities like viewing/copying CSS are critical for delivery, which were available when we first tried Figma. And some features we really wanted, like running our own Figma plugins. Figma only provides a runtime environment for our extensively developed plugins, which are used 95%+ of the time in design mode (which we paid quite a lot), yet requires all engineers to pay, which is absurd.
Of course, Figma “kindly” recorded tutorial videos guiding users on how to use functionalities like copying CSS in read-only mode, knowing well that what users need is to have this functionality back in the Inspect Panel, not hidden behind several layers of context menus. These barriers are deliberately designed, and the Figma team knows better than anyone which features are essential and which are just nice-to-haves.
Switching to Figma has been a great improvement for designers, which we all acknowledge. However, crippling free users (engineers) to semi-forcefully sell Dev Mode has already harmed your paying users.
Back to the post title.
After encountering the issues mentioned above, and having experience developing Figma plugins, we knew from Figma’s documentation that every page has a global window.figma
object, and the community had some attempts to optimize engineers’ experience in view-only mode based on this loophole. So, we developed a browser extension that brings the hidden copy CSS functionality directly accessible through the browser extension panel, and made outputs from our own Figma plugins more user-friendly. After providing the plugin to engineers, they found these functionalities very useful (actually just shortening the operation path of functionalities that should have been readily available but were hidden), and were able to coexist peacefully with Figma again. Of course, we considered that if Figma one day removes this global object, the plugin would become unusable. However, we thought Figma wouldn’t be so petty. If they were confident in the value provided by Dev Mode, why would they block a browser extension that was developed in just a few days? Is merely providing output/copy CSS functionalities, which were free for every user before Dev Mode, enough to make Dev Mode unsellable? If so, the Figma team should reflect on the actual value of Dev Mode.
But it turns out we were too optimistic. Whether Figma noticed this or other similar plugins, starting today, Figma has removed the window.figma
from all pages in view-only mode, making it impossible for us to use this API to obtain current selected node information, rendering a browser extension that was only born a few days ago practically unusable. I can’t help but ask the Figma team, we can currently use “Duplicate to your drafts” in our own editing mode to use the browser plugin to get CSS codes, are you planning to block this as well?