[Systems & Namespace] Components

This page displays take away information I have saved from articles read focused on design systems and namespaces methods. I use this as a reference point for research in the design systems and namespaces category.

Take Away:

  • Everything in a UI is a component. This includes buttons, inputs, forms, promotional modules, pages, user flows, etc.
     
  • I use the word component not only because this is how the underlying code is written in libraries like React and Ember, but also because pieces of a well-designed UI system should be composable.
     
  • From the Wikipedia page on Composability:
    A highly composable system provides recombinant components that can be selected and assembled in various combinations to satisfy specific user requirements. In information systems, the essential features that make a component composable are that it be:
     
  • self-contained (modular): it can be deployed independently – note that it may cooperate with other components, but dependent components are replaceable
     
  • stateless: it treats each request as an independent transaction, unrelated to any previous request. Stateless is just one technique; managed state and transactional systems can also be composable, but with greater difficulty.
     
  • The point of this is to think about everything as an interoperable system. You can slice and dice components in any way you see fit, and these components are likely to change and be fine tuned as a system is developed.