惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
博客园 - 叶小钗
S
SegmentFault 最新的问题
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
腾讯CDC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
L
Lohrmann on Cybersecurity
量子位
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
J
Java Code Geeks
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 三生石上(FineUI控件)
Attack and Defense Labs
Attack and Defense Labs
AI
AI
The Cloudflare Blog
T
Tailwind CSS Blog
S
Schneier on Security
爱范儿
爱范儿
PCI Perspectives
PCI Perspectives
Stack Overflow Blog
Stack Overflow Blog
S
Secure Thoughts
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
V2EX - 技术
V2EX - 技术
S
Securelist
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
Help Net Security
Help Net Security
C
Cisco Blogs
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
K
Kaspersky official blog
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Simon Willison's Weblog
Simon Willison's Weblog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Even Figma isn't sure about its own design tokens
Stéphane LaFlèche · 2026-06-26 · via DEV Community

The whole industry seems to have agreed on a standard for design tokens. The shift it sets up is still on its way.

Design tokens are not new. The term was coined in 2014, at Salesforce, by Jina Anne and Jon Levine.1 By 2017, Amazon had open-sourced Style Dictionary and the idea had spread well past Salesforce. We have been shipping design tokens for over a decade.

What we never did, in all that time, was agree on a format. Every tool and every team rolled its own shape. There was never one neutral way to write a token down, its value and its meaning, so that any other tool could read it.

Have you heard of DTCG? I hadn't, until recently. It is the Design Tokens Community Group, a W3C effort to finally settle that format.2 The repo is quiet, but that is because the spec reached its first stable version in late 2025, not because anyone walked away. The quiet is a thing being finished, not abandoned.

The list of who is backing it is not quiet at all.

Adobe. Google. Microsoft. Meta. Amazon. Shopify. Salesforce. Sony. Pinterest. The New York Times. Disney. Framer. Penpot. Figma. Plus a dozen more.2

That is not a side project. That is most of the industry quietly agreeing on something. One of those names, Figma, is the reason for the title of this piece. We will get to it, because the irony is the whole point.

Here is my bet, and I will say up front that it is a bet. I think a storm is coming for design tooling. You do not have to believe me about the storm, because the bet does not depend on it. If you are wiring your tokens straight into one vendor's format, you are exposed. Anchor them to the open standard instead and you are not. The downside is lopsided. If I am wrong, you have lost almost nothing. If I am even half right, everyone hard-coded to a single tool is facing a rewrite.

The format is young and already fragmenting. That is the point.

The obvious objection is that the standard is too new to bet on, and already splintering. It is splintering. Google's DESIGN.md takes DTCG as inspiration and then forks the schema into its own shape, prose rationale wrapped around DTCG-style tokens.3 Other tools keep their own dialects. This is normal. It is the browser wars again, the old web pattern where everyone agrees on a direction and argues about the details for a few years.

What matters is where they argue. The forks agree on the base: the primitive tokens, colours, spacing, radii, and the reference syntax. They diverge at the edge, on composite tokens like typography, shadows, and gradients, which are the youngest part of the spec and where tool support still trails.4 So the disagreement sits in one known place, and it is closing rather than spreading. Style Dictionary, Tokens Studio, and Terrazzo are all converging on the same base, and there is already a joint Style Dictionary and Terrazzo proposal for a shared format.5

That is the case for anchoring to the standard rather than to any one flavour. DTCG is vendor-neutral and governed in the open under the W3C; a company's fork is governed by that company. The forks are not replacing the standard; they ride on it. The closer analyses call DESIGN.md a wrapper around DTCG tokens, not a competitor.3 You build on the settled base and adapt to whatever flavour wins at the edge.

One honest caveat. That base is rock-solid for primitive tokens today, and more aspirational for composites. If your tokens are colours and spacing, you can lean on the standard now. If they are type ramps and elevation shadows, you are betting slightly ahead of the tooling. Worth knowing before you wire it up.

Which brings us to Figma

Figma is on that buy-in list. Figma also cannot tell you what its own variables mean.

Open a Figma variable and you get a bare number. A FLOAT of 10. Is that 10px, a z-index of 10, or 10ms? The file does not say. You guess from context. So does any tool reading it. So does any LLM you point at it. Getting those values out in clean DTCG form still means reaching for a community plugin today; Figma's native export is rolling out, but it does not cover the composite tokens yet.6 The most valuable design tool in the world has not settled its own token format. That is the irony the title promised.

It gets sharper. Figma went public in July 2025 as one of the year's hottest IPOs and popped to around $142. A year later it trades near $17, more than 85% below that peak.7 The cause is contested. Frothy valuation, widening losses, AI pressure, take your pick; I will not pretend to know it. The point is narrower. A year ago, betting your token pipeline on Figma's permanence looked safe. It looks different now.

Here is what makes the bet easy, though: you do not need Figma to fall. Figma is on the DTCG list, and it is already rolling out native DTCG export.6 The rollout is incremental, but the direction is set. Anchor to the standard and you win whether Figma thrives or fades. That is the whole shape of the bet.

It is not just Figma

If Figma feels like a special case, look at Adobe. Adobe is the giant that tried to buy Figma for twenty billion dollars, got blocked by European and UK regulators, and paid a record one-billion-dollar fee to walk away.8 Adobe is also on the DTCG list. In 2026, Adobe is making more money than ever and watching its stock fall about 30% anyway.9

That is the cleaner version of the whole argument. Revenue is up and the AI products are growing, yet the market is marking the company down by a third on a single fear: nobody knows what AI will do to creative software. The fundamentals are fine. The uncertainty is what is being priced. When the most entrenched tool company in the industry gets repriced on "we cannot see what is coming," that uncertainty is not a Figma problem. It is the weather.

The standard does not make the hard part easy

None of this makes anchoring to DTCG free. Getting clean tokens out of a messy tool is the FLOAT 10 problem again: something has to decide whether that 10 is a length or a duration, and the standard will not decide it for you. There is no free lunch, which is the same point I made last time: the tooling gets you a real step closer; the judgment stays a human's to own. What the standard gives you is a stable target to aim that judgment at, one format instead of a converter per tool.

You might object that the glue is throwaway: with Figma's native export still incomplete, you build a Figma-to-DTCG adapter now and bin it the day Figma ships full support. True, but that adapter is the only disposable piece. Everything downstream stays aimed at the standard, so when the adapter goes, nothing else moves. Couple to the tool instead and the same change rewrites the whole chain. The loose part today is exactly that Figma-to-token step, so make it the deliberately disposable one. When native support lands, the rest of your app is already built on the standard, and you just start pulling clean tokens straight from Figma.

What anchoring actually looks like

Put DTCG in the middle, and build that layer to expect change. The format itself will keep shifting, and depending on the company you work for, your house standard might be a fork of it rather than DTCG proper. A middle layer built to absorb those variants stays resilient today, and it leaves you positioned to adapt the moment the industry consolidates on DTCG. Keep your source of truth there and generate everything downstream from it: your Figma variables, your CSS custom properties, your iOS and Android tokens. The design tool stops owning your tokens and becomes one more consumer of them. That same DTCG source is the input to the typed foundation I argued for in an earlier piece: the standard upstream, a typed layer downstream.

Better tokens are not the whole answer. They are one piece of that same larger problem: using AI to turn designs into systems, and who owns the decisions in the middle. A shared format settles where your tokens live. The system they feed is still yours to design.

The Design Tokens Community Group is doing quiet, unglamorous, genuinely important work, and most developers have never heard of it. If you build tooling in this space, it is worth your attention, and worth building toward. I would like to hear from anyone already betting this way, and from anyone who thinks the bet is wrong. That is the conversation I am trying to start.



  1. "Design token" was coined at Salesforce by Jina Anne (with Jon Levine) in 2014, on the Lightning Design System; broad adoption followed around 2017 with Amazon's Style Dictionary. See the design-token histories ("The incomplete history of design tokens", Design Systems Collective; Smashing Magazine's interview with Jina Anne). ↩

  2. The Design Tokens Community Group is a W3C community group; its Design Tokens Format Module reached first-stable (v2025.10) in October 2025, with 20+ editor organizations and 24+ participating companies (Adobe, Google, Microsoft, Meta, Amazon, Shopify, Salesforce, Figma, Framer, Penpot, and more). See w3.org/community/design-tokens and designtokens.org. Verify the participant list and date at publish. ↩

  3. Google open-sourced DESIGN.md in April 2026; it bases its tokens on DTCG but diverges ("inspired by, not strict compliance"). Independent analysis frames DESIGN.md as a wrapper that contains DTCG tokens plus prose rationale, complementing the standard rather than replacing it. ↩

  4. DTCG 2025.10 defines composite token types (typography, gradients, shadows), but real-world tool support for composites lags the primitives, and composite-token export is an active area of discussion. The bet is strongest for primitive tokens today and more aspirational for composites. Verify which composite types are normative-stable at publish (Design Tokens Format Module 2025.10; Figma forum "DTCG Composite Token Export Support"). ↩

  5. Style Dictionary v4 has first-class DTCG support; Tokens Studio and Terrazzo are reference implementations, and there is a joint Style Dictionary and Terrazzo RFC on a shared token-listing format (styledictionary.com/info/dtcg; GitHub style-dictionary discussion #1479). ↩

  6. Figma announced native DTCG variable export at Schema 2025. Confirmed rolling out as of June 2026: you can right-click a variable collection and Export to JSON in DTCG-aligned form, then run it through Style Dictionary. The rollout is still progressive and spec compliance is incomplete (the description field is dropped, and composite tokens still trail), so community plugins (Token Press and others) provide the fuller export today. Re-verify exact status at publish. ↩

  7. Figma (NYSE: FIG) IPO'd in July 2025 at $33, closed its first day near $115 and peaked around $142 (closing high ~$122 on 1 Aug 2025). By late June 2026 it traded near $17, more than 85% below that peak. Figures move daily; re-verify at publish (stockanalysis.com/stocks/fig; macrotrends.net/stocks/charts/FIG). ↩

  8. Adobe agreed to acquire Figma for ~$20B in September 2022; the deal was terminated in December 2023 after European Commission and UK CMA antitrust pushback, with Adobe paying a $1B reverse termination fee (CNBC; Axios; Adobe SEC 8-K). ↩

  9. Adobe (NASDAQ: ADBE) was down roughly 30% in 2026 (sources vary, about 23% to 37% by date and baseline, and ~46% from its all-time peak), at a multi-year low despite record revenue and a growing Firefly business, on fears that generative AI commoditizes creative software. One analysis called it "narrative risk being priced as terminal risk, which the fundamentals do not yet confirm." Verify the current figure at publish. ↩