UX Collective | Medium
Follow
Design in the material you ship
Designers should understand code like architects understand stone, focusing on its capabilities rather than cutting it. Early architects learned what materials could and couldn't do by being on building sites, not just drawing facades. Similarly, digital designers' material is code, yet for years, they've designed with pictures of it, which are merely drawings and not the product itself. A design file shows only one static state, failing to capture the myriad of real-world product states, like varying screen widths, languages, or loading failures. When the design file is the "source of truth," these gaps are often decided by engineers without designer input, causing the design and product to diverge.Building prototypes directly in code makes the code itself the source of truth, enabling designers to specify dynamic behaviors with precise numbers rather than abstract adjectives. This shift means designers review prototypes in code, with design files becoming mirrors regenerated from the code. The argument that designers should learn to write code is now obsolete, as AI can generate code from descriptions of screens and their states. While AI's accuracy is imperfect, requiring engineers to oversee the code, designers no longer need to be the primary code reviewers.Designers' crucial role, which AI cannot fulfill, is understanding what the material (code) will do and judging the output based on its actual performance. This involves testing the product across various conditions, such as different screen sizes, data inputs, and network speeds, without needing to write code. Key skills for designers now include understanding layout flow, existing states (empty, loading), data shapes, server costs, screen reader announcements, and running the product locally. Ultimately, the material of code continues to determine a screen's shape, and while AI handles the "cutting," designers must still comprehend its capabilities without needing to wield the chisel.