"Python is the natural choice. It gives you a concise, readable, powerful language in which to describe data and logic. You need this for communication even if an LLM writes all your code."
"There should be no functionality in the system that you haven't both used yourself and observed with end-users. This is the only way for you to build intuition for the meaning, value, and relationships in the data you are working with."
"Rather than designing a page that you 'fill' with content, create building blocks from the data and assemble them according to its logical structure. This is not word-play - it's really a Copernican shift - the data is the interface."
"Let the actions that you can perform live in/on the data representation as much as possible. This is similar to Edward Tufte's 'data-ink maximisation principle' but expanded to include application scaffolding as well as data display."
Designers building complex, data-intensive products should learn Python to understand interaction and functionality beyond front-end frameworks. Success requires learning users' actual jobs through dogfooding and observation, then letting data structure drive interface design rather than filling pre-designed pages. Minimize decorative elements and keep actions embedded in data representations. Carefully design empty states by understanding their context—whether starting points, errors, transitions, or desired outcomes. Use realistic data throughout design work rather than placeholder content. This approach shifts focus from traditional page design to data-centric interfaces where the data itself becomes the primary interface.
#python-for-designers #data-driven-design #user-research-and-dogfooding #empty-state-design #data-centric-interfaces
Read at Medium
Unable to calculate read time
Collection
[
|
...
]