Token thiết kế trong công cụ UI no-code để giữ chủ đề nhất quán
Token thiết kế trong công cụ UI no-code giúp đội định nghĩa màu, kiểu chữ, khoảng cách và biến thể một lần, rồi phát hành giao diện nhất quán mà không phải đoán.

Tại sao đội dễ trôi dạt giao diện\n\nGiao diện không nhất quán hiếm khi bắt đầu như một “vấn đề thiết kế.” Nó bắt đầu như một vấn đề thời gian. Ai đó cần một nút ngay lập tức, nên họ sao chép từ trang khác và chỉnh đến khi trông đủ ổn.\n\nĐó là cách các khác biệt nhỏ len lỏi: hai tông xanh gần giống nhau, bán kính góc thay từ 6 thành 8, tiêu đề hơi đậm, và padding phụ thuộc người làm màn. Trong công cụ no-code, việc chỉnh một lần rất dễ vì các điều khiển ở ngay đó và thay đổi có vẻ vô hại.\n\nKhi sản phẩm lớn lên, sự trôi dạt tăng tốc. Nhiều trang hơn => nhiều mẫu lặp lại hơn. Nhiều người xây hơn => nhiều sở thích cá nhân hơn. Nhiều đồng đội hơn => nhiều “sửa nhanh” làm riêng lẻ. Nếu một người làm portal khách và người khác làm bảng admin, bạn sẽ có hai cách diễn giải khác nhau của cùng một thương hiệu.\n\n“Đo bằng mắt” xuất hiện trong công việc hàng ngày: chọn màu cho đến khi “trông đúng,” kéo khoảng cách vài pixel vì màn cảm thấy “chật,” tạo kiểu nút mới thay vì dùng cái có sẵn, trộn kích thước font vì mặc định “hơi nhỏ,” hoặc sửa một màn mà không kiểm tra phần còn lại.\n\nChi phí lộ ra sau đó. Review chậm lại vì phản hồi mang tính chủ quan (“làm cho giống trang kia hơn”). Việc làm lại chất đống vì thay đổi khó áp dụng khắp nơi. Web và mobile lệch nhau vì những người khác nhau đưa ra các lựa chọn tương tự nhưng không giống hệt.\n\nDesign token giải quyết bằng cách thay “đủ gần” bằng các giá trị dùng chung. Giao diện vẫn nhất quán ngay cả khi đội và app phát triển.\n\n## Design token, nói cho dễ hiểu\n\nDesign token là những quyết định được đặt tên về giao diện. Thay vì nói “dùng màu xanh này” hoặc “làm nút rộng hơn,” bạn đặt tên rõ ràng để ai cũng dùng lại được.\n\nMột token không phải giá trị thô. Giá trị thô có thể là 16px, #2563EB, hoặc 600 (font weight). Token là nhãn giải thích ý nghĩa của giá trị đó trong sản phẩm, như space-4, color-primary, hoặc font-weight-semibold.\n\nSự chuyển hướng này chặn vấn đề đo bằng mắt. Khi người ta chọn giá trị theo cảm giác, bạn dần gom được năm màu xanh khác nhau, ba tiêu đề hơi khác, và khoảng cách thay đổi giữa các màn.\n\nToken hiệu quả nhất khi là nguồn duy nhất của sự thật. Nếu mọi màn và thành phần tham chiếu cùng bộ tên, bạn có thể thay đổi giao diện toàn app bằng việc cập nhật vài giá trị token, không phải săn khắp chục màn.\n\nToken cũng nối thiết kế và xây dựng. Designers dùng tên token trong spec, builders dùng cùng tên trong công cụ no-code, nên thiết kế sống sót qua phần giao nhận.\n\nHầu hết bộ token rơi vào vài nhóm: vai trò màu (primary, background, text, danger), typography (font family, kích thước, trọng lượng, line-height), bước khoảng cách (padding, margin, gap), hình dạng và độ sâu (radius, border width, shadow), và đôi khi motion (thời lượng và easing).\n\n## Bộ token mà hầu hết sản phẩm thực sự cần\n\nĐa phần đội không cần một thư viện token khổng lồ. Họ cần một bộ nhỏ, rõ ràng che phủ hầu hết màn để mọi người ngừng đoán giá trị. Điều này quan trọng hơn nữa trong công cụ no-code, nơi các chỉnh “chỉ lần này” lan rất nhanh.\n\nMột bộ khởi đầu thực tế gồm năm nhóm:\n\n- Màu: vài vai trò thương hiệu (primary, secondary), tập trung trung tính (text, background, border), và vai trò trạng thái (success, warning, error). Thêm hover và disabled nếu dùng thường xuyên.\n- Typography: một font chính (tối đa hai), thang kích thước nhỏ (như 12/14/16/20/24/32), các trọng lượng bạn thực sự dùng, và line-height khớp.\n- Khoảng cách: một thang đơn giản (ví dụ 4/8/12/16/24/32) cho padding và gap.\n- Hình dạng và hiệu ứng: vài bán kính (none/sm/md/lg), độ dày viền, và bộ shadow nhỏ (0–3).\n- Motion (tuỳ chọn): chỉ khi app dùng animation, với 2–3 thời lượng và 1–2 tên easing.\n\nMột quy tắc giữ thư viện gọn: nếu một giá trị xuất hiện ở ba nơi trở lên, biến nó thành token. Nếu chỉ xuất hiện một lần, coi nó đáng ngờ trước khi nó trở thành “tiêu chuẩn mới.”\n\n## Quy tắc đặt tên ngăn hỗn loạn token\n\nTên token tốt ngăn tranh cãi trước khi nó bắt đầu. Nếu mọi người đoán được token mà không cần tìm, họ sẽ tái sử dụng. Nếu không, họ sẽ tạo token mới và theme của bạn sẽ tách ra.\n\n### Dùng tên ngữ nghĩa trước (không phải tên màu)\n\nƯu tiên tên mô tả vai trò hơn là ngoại hình. text-primary cho biết khi nào dùng nó. blue-600 chỉ là tên màu.\n\nMột mô hình hữu ích là hai lớp:\n\n- Base tokens: các khối xây thô như color-blue-600, space-16, font-14\n- Semantic tokens: vai trò UI như text-primary, bg-surface, border-muted\n\nTrong công cụ no-code, semantic tokens giúp người không phải designer chọn đúng giá trị nhanh mà không phải đo bằng mắt.\n\n### Quy tắc thêm token mới\n\nHầu hết thư viện token trở nên lộn xộn vì “mới” là mặc định. Hãy đặt “tái sử dụng” làm mặc định.\n\nGiữ quy tắc đơn giản:\n\n- Thêm token chỉ khi nó được dùng ở 2+ chỗ hoặc hỗ trợ một trạng thái thực sự (hover, disabled, error).\n- Nếu là one-off, giữ nó local ở thành phần.\n- Nếu hai token chỉ khác rất nhỏ, chọn một và xoá token kia.\n- Nếu không giải thích mục đích token trong một câu, đừng thêm nó.\n\nSau đó chuẩn hoá cách đặt tên. Chọn một kiểu viết (kebab-case thường ổn), dùng tiền tố ổn định (text-, bg-, border-, icon-, space-), và giữ thang số nhất quán (space-4, space-8, space-12, space-16).\n\n## Bước theo bước: định nghĩa token từ những gì bạn đang dùng\n\nXem UI hiện có như bằng chứng. Trước khi tạo gì mới, làm một cuộc kiểm kê nhanh: thu thập screenshot, inspect style, và ghi lại mọi giá trị màu, kích thước chữ, và khoảng cách bạn thấy ở production (kể cả những giá trị “một lần”).\n\nTiếp theo, giảm trùng lặp có chủ ý. Bạn thường thấy cùng một xám dùng ở năm hex hơi khác nhau, hoặc khoảng cách nhảy giữa 14, 15 và 16. Chọn một giá trị giữ lại, rồi ánh xạ các giá trị cũ vào nó. Đây là lúc token trở nên thiết thực: bạn ngừng tranh cãi về sở thích và bắt đầu đồng ý trên một bộ lựa chọn chung nhỏ.\n\nMột phiên bản đầu tiên vững chắc có thể hoàn thành trong một lần qua:\n\n- Token palette: màu thô (brand, neutrals, feedback colors)\n- Token ngữ nghĩa: màu theo ý nghĩa (text, background, border, success, warning)\n- Thang typography: 6–8 kích thước với vai trò rõ ràng (body, label, H1–H3)\n- Thang spacing: 6–10 bước tái sử dụng khắp nơi\n- Cơ bản thành phần: vài bán kính và shadow tiêu chuẩn\n\nVới mỗi token, thêm một câu hướng dẫn: dùng nó ở đâu và không dùng ở đâu. Ví dụ: “text-muted dành cho chữ trợ giúp, không dùng cho nút chính.”\n\nCuối cùng, quyết định quyền sở hữu. Tốt khi chỉ một người (hoặc nhóm nhỏ) duyệt thay đổi, với quy tắc đơn giản: “Thêm token mới chỉ khi token hiện có không thể phù hợp.” Điều đó giữ hệ thống ổn định khi sản phẩm lớn lên.\n\n## Áp dụng token trong công cụ UI no-code\n\nBắt đầu với mặc định mà mọi màn kế thừa: một kiểu văn bản cơ bản (font, kích thước, line-height, màu), kiểu heading (H1–H3), và một tập luật khoảng cách bố cục nhỏ để các trang không cảm thấy lộn xộn.\n\nTiếp theo, ánh xạ token vào những gì công cụ gọi là theme settings: theme variables, global styles, style presets, hoặc design system settings. Mục tiêu là chọn “Primary” hoặc “Space/16” sẽ chọn token, không phải giá trị một lần.\n\nGiữ các kiểu tái sử dụng tập trung vào các mẫu bạn dùng hàng ngày. Bộ khởi đầu có thể gồm kiểu card (background, border, radius, padding, shadow), kiểu trường form (label, input, help text), kiểu button, và mật độ hàng bảng cùng trạng thái hover.\n\nTrạng thái là nơi sự không nhất quán len lỏi, nên định nghĩa sớm. Mỗi thành phần tương tác nên có giá trị token-driven cho hover, focus, disabled, và error. Focus nên dùng cùng màu và độ dày ring khắp nơi. Error nên dùng cùng cặp màu viền và chữ.\n\nCuối cùng, lên kế hoạch chia sẻ. Nếu workspace cho phép template hoặc module tái sử dụng, để token và kiểu cơ bản trong một “starter app” mà dự án mới sao chép. Như vậy, màn mới mặc định đã nhất quán.\n\n## Biến thể thành phần mà vẫn nhất quán\n\nBiến thể là nơi hệ thống UI hoặc trở nên yên bình và dự đoán, hoặc biến thành một đống chỉnh sửa rời rạc. Biến thể hiệu quả nhất khi là một lớp mỏng ánh xạ tới token cho màu, chữ và khoảng cách.\n\nBắt đầu với bộ thành phần chính bạn dùng khắp nơi: button, input, badge, alert, và card. Cho mỗi thành phần hai chiều lựa chọn: kích thước và mục đích. Kích thước nên là cơ khí (typography và spacing). Mục đích là ý nghĩa (màu ngữ nghĩa).\n\n### Kích thước và mục đích không đo bằng mắt\n\nBiến thể kích thước nhất quán khi chỉ thay vài thuộc tính dựa trên token: kích thước chữ, padding, và border radius. Biến thể mục đích chủ yếu thay vai trò màu (background, text, border) và không âm thầm thay khoảng cách.\n\nMột bộ đủ cho hầu hết sản phẩm:\n\n- Kích thước: sm, md, lg\n- Mục đích: primary, secondary, danger\n- Trạng thái: default, hover, focus, disabled\n\n### Quy tắc tương tác đội có thể theo\n\nĐịnh nghĩa luật trạng thái áp dụng cho mọi thành phần, không chỉ nút. Ví dụ: focus luôn hiện ring rõ ràng, hover tăng tương phản theo cách nhất quán, disabled dùng cùng opacity và chặn click.\n\nThêm biến thể mới chỉ khi nó đại diện cho một ý nghĩa lặp lại (như “danger”). Nếu là nhu cầu bố cục một lần, thường là tạo thành phần mới hoặc wrapper, không phải biến thể để mọi người dùng sai sau này.\n\n## Giữ theme web và mobile khớp nhau\n\nKhi sản phẩm phát hành trên web và mobile, “cùng thương hiệu” không luôn là “cùng pixel.” Mục tiêu là màn trông như cùng một gia đình, dù nền tảng khác mặc định.\n\nBắt đầu với token chia sẻ dễ di chuyển: vai trò màu (background, surface, text, primary, danger), thang typography (kích thước và trọng lượng), và token khoảng cách (4, 8, 12, 16, 24). Chúng loại bỏ đoán và làm cập nhật có thể dự đoán.\n\nRồi chấp nhận khác biệt thực tế. Mobile cần vùng chạm lớn hơn và thường nhiều khoảng cách hơn. Web cần hàng bảng dày hơn, sidebar và layout đa cột. Font cũng có thể khác: có thể dùng font thương hiệu trên web nhưng ưu tiên font nền tảng trên iOS/Android cho khả năng đọc và hiệu năng.\n\nCách thực tế là hai lớp: token toàn cục định nghĩa ý nghĩa, và token nền tảng định nghĩa cách ý nghĩa đó được hiển thị.\n\n- Toàn cục: color.text, color.primary, space.md, radius.sm, type.body\n- Riêng web: type.family.web, control.height.web, space.tableRow\n- Riêng mobile: type.family.mobile, control.height.mobile, space.touch\n\nGiữ tên thành phần nhất quán (Button/Primary) ngay cả khi kích thước khác nhau. Yêu cầu kiểm tra tương phản cho cả hai theme trước khi phát hành.\n\n## Quản trị: giữ token khỏe mạnh theo thời gian\n\nToken chỉ hoạt động nếu chúng ổn định và dễ hiểu. Không có quản trị nhẹ, đội lặng lẽ thêm “một màu xanh nữa” hoặc “một padding nữa,” và bạn lại quay về đo bằng mắt.\n\n### Quy trình thay đổi token nhẹ nhàng\n\nGiữ quy trình nhỏ nhưng thật:\n\n- Yêu cầu: ai cũng có thể đề nghị token mới hoặc thay đổi, kèm ảnh chụp và lý do.\n- Review: một designer và một builder kiểm tra ảnh hưởng khắp các màn chính.\n- Duyệt: xác nhận tên, khả năng truy cập (tương phản, kích thước chạm), và liệu nó thật sự mới hay không.\n- Phát hành: xuất bản cập nhật theo lịch (hàng tuần hoặc từng sprint), không phát hành rời rạc.\n- Truyền thông: thông báo thay đổi và dùng gì thay thế.\n\nDuy trì changelog đơn giản kèm deprecate. Nếu token cũ bị thay, nói dùng gì thay, giữ nó hoạt động một thời gian, và đánh dấu rõ để màn mới không nhận token cũ.\n\nDọn dẹp là một phần công việc. Một lần mỗi tháng, xoá token và biến thể thành phần không dùng (hoặc ít nhất đánh dấu chúng).\n\n### Làm cho token dễ dùng cho mọi người\n\nNgười không phải designer cần ví dụ, không phải lý thuyết.\n\nNên làm: dùng thang spacing cho gap, và dùng biến thể Primary Button cho hành động chính.\n\nKhông nên: đặt padding thành “13px vì trông đúng,” hoặc tạo kiểu nút mới để khớp một màn.\n\nGắn công việc token vào ưu tiên sản phẩm: tính năng mới, rebrand, và sửa lỗi truy cập nên thúc đẩy cập nhật token, không phải sở thích cá nhân.\n\n## Sai lầm và bẫy thường gặp\n\nCách nhanh nhất để mất lợi ích token là coi chúng như nơi chứa linh tinh. Bạn bắt đầu với ý tốt, rồi vài sửa nhanh chất đống, và đội lại quay về đo bằng mắt.\n\nMột bẫy phổ biến là tạo quá nhiều token quá sớm. Nếu mỗi màn có token màu hoặc khoảng cách riêng, bạn không xây hệ thống—bạn đang liệt kê ngoại lệ. Chỉ thêm token mới khi bạn có thể chỉ ra ít nhất hai chỗ sẽ dùng nó.\n\nVấn đề âm thầm khác là để giá trị thô chui vào thành phần. Ai đó đặt padding nút là 14px “chỉ lần này,” hoặc dùng hex trực tiếp trong card. Vài tuần sau, không ai nhớ lý do khác biệt. Tạo thói quen: nếu nó hiển thị và lặp lại, nó nên là token.\n\nCũng chú ý không trộn loại token. Base tokens (như gray-900 hoặc space-4) mô tả giá trị thô. Semantic tokens (như text-primary hoặc surface-muted) mô tả ý nghĩa. Vấn đề xuất hiện khi một thành phần dùng base và thành phần khác dùng semantic cho cùng một vai trò.\n\nTrạng thái là nỗi đau ở giai đoạn muộn. Đội thường định nghĩa kiểu bình thường, rồi vá focus, hover, disabled, error ngay trước lúc phát hành. Đó là cách bạn có vòng focus không nhất quán và ba màu đỏ “error” khác nhau.\n\nTrước khi mở rộng, kiểm tra nhanh các bẫy:\n\n- Hạn chế token mới cho nhu cầu chia sẻ, không cho màn một lần\n- Tránh giá trị thô trong thành phần khi có thể\n- Tách base vs semantic và áp dụng nhất quán\n- Định nghĩa trạng thái (focus, error, disabled) sớm\n- Dự phòng cho dark mode hoặc rebrand bằng cách hoán đổi semantic token, không viết lại thành phần\n\n## Checklist nhanh trước khi mở rộng\n\nTrước khi triển khai UI ra nhiều màn, đội hay sản phẩm, kiểm tra nền tảng của bạn có đủ rõ để sao chép mà không đoán không.\n\n- Vai trò màu là ngữ nghĩa. Token phủ text (default, muted, inverse), surface (page, card), border (default, focus), và trạng thái (success, warning, danger).\n- Kiểu chữ gọn. Một tập nhỏ text styles (H1–H3, body, small) với kích thước, trọng lượng và line-height xác định.\n- Khoảng cách theo bước dễ nhớ. Padding và gap chung lấy từ một thang gọn (4, 8, 12, 16, 24). Nếu “14” xuất hiện liên tục, đó là dấu hiệu thang cần điều chỉnh.\n- Các thành phần chính có biến thể. Thành phần dùng nhiều có kích thước (sm/md/lg) và mục đích (primary/secondary/danger) khớp vai trò token.\n- Quyền sở hữu rõ. Một người (hoặc nhóm nhỏ) duyệt thay đổi, với thủ tục nhẹ: tại sao, ảnh hưởng, khi nào phát hành.\n\n## Ví dụ: ngăn trôi dạt giao diện ở portal và admin\n\nMột đội nhỏ xây hai app cùng lúc: portal khách và bảng admin nội bộ. Người khác chạm vào màn khác nhau, và họ làm nhanh trong công cụ no-code. Sau vài tuần, giao diện bắt đầu có cảm giác “lệch,” dù không ai chỉ ra lỗi cụ thể.\n\nTrước token, comment review chất đống: nút gần giống nhưng không y hệt, khoảng cách thay đổi, trường form không khớp, portal trông “thân thiện” còn admin vô tình trông “nghiêm.”\n\nHọ sửa bằng cách giới thiệu bộ token nhỏ, thực tế. Họ định nghĩa màu ngữ nghĩa (Primary, Success, Danger, TextMuted), thang spacing (4, 8, 12, 16, 24), và biến thể nút (Primary, Secondary, Ghost) với một bán kính và trạng thái nhất quán.\n\nGiờ các cộng tác viên không còn chọn hex ngẫu nhiên và kích thước chữ từng màn nữa. Họ chọn token và biến thể, nên mọi trang mới kế thừa cùng quyết định.\n\nXây dựng nhanh hơn vì lựa chọn đã có sẵn. Review chuyển từ những nit hình ảnh nhỏ sang vấn đề UX thực sự. “Đổi nút thành biến thể primary” thay cho “Làm ơn cho nút xanh hơn một chút và cao hơn một chút được không?”\n\nRồi một rebrand nhỏ đến: màu primary đổi và thang chữ thắt chặt. Với token, đội cập nhật vài giá trị một lần, và cả portal lẫn admin được làm mới cùng lúc.\n\n## Bước tiếp theo: bắt đầu nhỏ rồi chuẩn hoá\n\nChọn một luồng người dùng hay dùng và có dấu hiệu trôi dạt rõ, như onboarding, trang cài đặt, hoặc form đơn giản. Chuyển một luồng là cách nhanh nhất để chứng minh ý tưởng và chặn đo bằng mắt.\n\nBắt đầu với một bộ token nhỏ, an toàn: primary/background/text/border/danger, một thang chữ ngắn, một thang spacing, và 2–3 mức radius và shadow. Rồi tạo một bộ thành phần tí hon chỉ dùng token: một nút, một input, một card, một alert. Thêm biến thể chỉ khi nó giải quyết nhu cầu thực sự.\n\nChạy review ngắn với đội dùng hai ảnh chụp: một màn “trước” có padding và font không nhất quán, và một màn “sau” dựng từ token và biến thể. Đồng ý vài quy tắc (như “không dùng màu cứng” và “khoảng cách phải là token”) và sửa các bất nhất hàng đầu trước.\n\nKhi triển khai, chuyển màn mới trước, rồi dần cập nhật các màn cũ khi bạn chạm vào chúng. Khi support yêu cầu bộ lọc admin mới, dựng lại panel đó bằng các thành phần dựa trên token và chỉ thay những gì bạn đang chỉnh.\n\nNếu bạn xây sản phẩm đầy đủ (backend, web, mobile) trong AppMaster, tốt nhất là đặt token và kiểu UI tái sử dụng sớm để màn mới kế thừa cùng quyết định. Như vậy, tính nhất quán hình ảnh và logic ứng dụng tiến cùng nhau mà không cần dọn dẹp nhiều sau này.
Câu hỏi thường gặp
UI trôi dạt thường bắt đầu bằng những chỉnh sửa nhỏ kiểu “chỉ lần này thôi”: sao chép một thành phần, điều chỉnh padding, hoặc chọn màu bằng mắt. Theo thời gian, những khác biệt vụn vặt đó chồng lên nhau giữa các trang và thành viên, khiến việc review trở thành tranh luận chủ quan thay vì kiểm tra nhanh dựa trên quy tắc chung.
Design token là những quyết định giao diện được đặt tên để mọi người tái sử dụng thay vì đoán giá trị thô. Giá trị có thể là 16px hoặc #2563EB, nhưng tên token giải thích mục đích, ví dụ space-16 hoặc color-primary, để ai cũng dùng chung lựa chọn đó.
Bắt đầu với vai trò màu, kiểu chữ, khoảng cách, và một bộ bán kính và bóng nhỏ. Những nhóm này bao phủ hầu hết các màn hình và ngăn vấn đề “đo bằng mắt” phổ biến nhất, đồng thời giữ cho bộ token đủ nhỏ để mọi người thực sự dùng.
Quy tắc thực tế: tạo token khi một giá trị xuất hiện ở 2+ nơi hoặc khi nó hỗ trợ một trạng thái thực sự như hover, focus, disabled, hoặc error. Nếu giá trị thực sự là một lần duy nhất, giữ nó ở mức thành phần (local) để không vô tình trở thành tiêu chuẩn toàn cục.
Tên token nên mô tả chức năng, ví dụ text-primary hoặc bg-surface, để mọi người chọn đúng mà không phải nhớ bảng màu. Tên thô như blue-600 phù hợp làm base tokens, nhưng dùng nó trực tiếp trong thành phần dễ dẫn đến lạm dụng màu khắp app.
Kiểm tra những gì đang chạy: thu thập màu, kích thước chữ và khoảng cách thực tế từ môi trường production, rồi hợp nhất những giá trị gần giống một cách có chủ ý. Khi có tập token sạch, ánh xạ các giá trị cũ sang token gần nhất để màn mới dùng token thay vì tái tạo các giá trị gần giống.
Đặt mặc định toàn cục trước, rồi ánh xạ token vào những gì công cụ gọi là theme variables hoặc global styles để thành phần tham chiếu tên chứ không phải mã hex hay pixel. Sau đó tạo một bộ kiểu tái sử dụng cho những thành phần bạn dùng hàng ngày và đảm bảo trạng thái hover, focus, disabled, error cũng dùng token.
Giữ biến thể đơn giản bằng hai chiều: kích thước và mục đích. Kích thước chỉ thay vài thuộc tính dựa trên token (kích thước chữ, padding, radius). Mục đích chủ yếu hoán đổi vai trò màu ngữ nghĩa để một nút “danger” không vô tình thay đổi khoảng cách hay kiểu chữ.
Chia sẻ token ngữ nghĩa giữa nền tảng để ý nghĩa giữ nguyên, rồi cho phép token riêng cho từng nền tảng xử lý khác biệt về kích thước chạm và mật độ. Mục tiêu là “cùng họ hàng, không cùng pixel” để web và mobile cảm thấy nhất quán nhưng vẫn phù hợp từng nền tảng.
Giao quyền rõ ràng và một quy trình thay đổi nhỏ: ai cũng có thể yêu cầu token mới kèm ảnh chụp và lý do; một nhà thiết kế và một người xây dựng kiểm tra ảnh hưởng; duyệt xem tên, khả năng truy cập và tính thực sự mới; phát hành theo lịch; thông báo thay đổi và hướng dẫn thay thế. Ghi chép thay đổi và đánh dấu deprecate thay vì thay thế lặng lẽ giữ hệ thống ổn định.


