{"id":16032,"date":"2017-10-13T15:18:39","date_gmt":"2017-10-13T22:18:39","guid":{"rendered":"https:\/\/www.uxpin.com\/studio\/?p=16032"},"modified":"2024-05-20T00:14:01","modified_gmt":"2024-05-20T07:14:01","slug":"design-systems-abstraction-layers-model-better-understanding-implementation","status":"publish","type":"post","link":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/","title":{"rendered":"Design Systems and Abstraction Layers: A Model for Better Understanding and Implementation"},"content":{"rendered":"<p><i><span style=\"font-weight: 400;\">Let&#8217;s discuss the value of clearly delineating the mental model that is your design system, its artifacts, and the tools that implement it.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">Whether you\u2019re creating your own design system, or implementing a design system created by a third party, it is important to understand the relationship between each layer of abstraction, the importance of drawing and maintaining a clearly defined line between each, and the business-oriented considerations which drive and justify a<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Separation_of_concerns\"> <span style=\"font-weight: 400;\">separation of concerns<\/span><\/a><span style=\"font-weight: 400;\"> between each layer of abstraction.<\/span><\/p>\n<blockquote><p><span style=\"font-weight: 400;\">In computing, an abstraction layer or abstraction level is a way of hiding the implementation details of a particular set of functionality, allowing the separation of concerns to facilitate interoperability and platform independence.\u00a0<\/span>\u2014\u200a<a href=\"https:\/\/en.wikipedia.org\/wiki\/Abstraction_layer\">Wikipedia<\/a><\/p><\/blockquote>\n<p><span style=\"font-weight: 400;\">In software development, separation of concerns is an architecture principle which drives the modular nature of a complex system. When following this principle, each section of the system addresses a separate concern. Concerns can be very general, such as hardware that software is being developed for, or very specific, such as the name of an individual method. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this article, we\u2019ll explore each layer of an abstraction model for design systems and how to use it for better understanding and adding more value. <\/span><\/p>\n<h2><span style=\"font-weight: 400;\">A Model for Design Systems<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Minimally, at the highest level of abstraction, a design system should exist as four distinct areas of concern:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16037\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image5.jpg\" alt=\"design areas of concern\" width=\"350\" height=\"491\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image5.jpg 350w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image5-214x300.jpg 214w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/p>\n<p><em><span style=\"font-weight: 400;\">The four abstraction layers for a design system<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400;\">Let\u2019s apply this abstraction model to the concept of accessibility: <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16034\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image2.jpg\" alt=\"Concept od accessibility\" width=\"350\" height=\"491\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image2.jpg 350w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image2-214x300.jpg 214w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/p>\n<p><em>Our abstraction model applied to accessibility<\/em><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">At the first layer of abstraction, everyone agrees that form elements should be accessible.<\/span><\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">At the second layer of abstraction, you have a code repository you can import at the beginning of a project which allows your developers to re-use code that meets accessibility standards.<\/span><\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Next, you have a UI library where developers can implement that code, with specific typography, colors, branding, and text applied, so that it may be shared and re-used within and across projects.<\/span><\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Finally, you have a real, robust implementation within the context of a real project, for the last layer of abstraction.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Now let\u2019s explore each layer of this abstraction model as it relates to accessibility. <\/span><\/p>\n<h2><span style=\"font-weight: 400;\">The first layer: A design system expressed as a shared mental model<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">As a shared mental model, a design system should be thought of as a specification, or a description of the design system. It should contain high level concepts, such as the idea that a design system should encapsulate certain principles, among those being, for example:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A design system should assume accessibility, by default<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A design system should be responsive, and should operate by a mobile-first principle<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A design system should articulate standard, re-usable definitions of page elements and components along every stage of product design and implementation<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The shared mental model is not the system itself, but the foundation upon which it is built. Before you start building out specific components, you should give yourself the time and space to create an agreed-upon emergent framework from which to organize your effort. <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16035\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image3.png\" alt=\"Principles for accessibility\" width=\"840\" height=\"432\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image3.png 1903w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image3-584x300.png 584w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image3-768x395.png 768w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image3-1024x526.png 1024w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Principles for accessibility for the Shopify Polaris design system. <\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">In an ideal UX process, a high level of cooperation would exist between each discipline. But in the area of generating and maintaining a mental model, your researchers will probably provide a large amount of value within this concern and can provide a lot of leadership with regards to determining the scope and boundaries of your design system.<\/span><\/p>\n<\/section><section class=\"related-books-section\"><h3>Grab design ebooks created by best designers<\/h3><p class=\"section-desc\">All for free<\/p><ul class=\"related-books-list\"><li><figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/create-design-system-guide-checklist\/\" class=\"action-get-ebook\" data-name=\"Creating a Design System: The 100-Point Process Checklist\"><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"375\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/07\/the-book-2-262x375.png\" class=\"attachment-ebook-cover size-ebook-cover wp-post-image\" alt=\"the book 2\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/07\/the-book-2-262x375.png 262w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/07\/the-book-2-210x300.png 210w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/a><\/figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/create-design-system-guide-checklist\/\" class=\"btn btn-ghost action-get-ebook\" data-name=\"Creating a Design System: The 100-Point Process Checklist\">Download<\/a><\/li><li><figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/distributed-product-development-teams\/\" class=\"action-get-ebook\" data-name=\"Product Development for Distributed Teams\"><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"375\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/not-facebook-the-book-1-262x375.png\" class=\"attachment-ebook-cover size-ebook-cover wp-post-image\" alt=\"not facebook the book 1\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/not-facebook-the-book-1-262x375.png 262w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/not-facebook-the-book-1-210x300.png 210w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/a><\/figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/distributed-product-development-teams\/\" class=\"btn btn-ghost action-get-ebook\" data-name=\"Product Development for Distributed Teams\">Download<\/a><\/li><li><figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/fixing-enterprise-ux-process\/\" class=\"action-get-ebook\" data-name=\"Fixing the Enterprise UX Process\"><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"375\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/not-facebook-the-book-2-1-262x375.png\" class=\"attachment-ebook-cover size-ebook-cover wp-post-image\" alt=\"not facebook the book 2 1\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/not-facebook-the-book-2-1-262x375.png 262w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/not-facebook-the-book-2-1-210x300.png 210w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/a><\/figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/fixing-enterprise-ux-process\/\" class=\"btn btn-ghost action-get-ebook\" data-name=\"Fixing the Enterprise UX Process\">Download<\/a><\/li><li><figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/agile-ux-integration-guide\/\" class=\"action-get-ebook\" data-name=\"The Definitive Guide to Integrating UX &#038; Agile\"><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"375\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/the-book-copy-1-262x375.png\" class=\"attachment-ebook-cover size-ebook-cover wp-post-image\" alt=\"the book copy 1\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/the-book-copy-1-262x375.png 262w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/the-book-copy-1-210x300.png 210w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/a><\/figure><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/agile-ux-integration-guide\/\" class=\"btn btn-ghost action-get-ebook\" data-name=\"The Definitive Guide to Integrating UX &#038; Agile\">Download<\/a><\/li><\/ul><\/section><section class=\"related-books-section-single\"><section class=\"post-content-wrapper\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"375\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/the-book-copy-1-262x375.png\" class=\"attachment-ebook-cover size-ebook-cover wp-post-image\" alt=\"the book copy 1\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/the-book-copy-1-262x375.png 262w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/08\/the-book-copy-1-210x300.png 210w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/figure><article><h3>Do you want to know more about UI Design?<\/h3><p>Download 'The Definitive Guide to Integrating UX &#038; Agile' <span>FOR FREE!<\/span><\/p><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/agile-ux-integration-guide\/\" class=\"btn btn-flat btn-darker action-get-ebook\">Download e-book for free<\/a><\/article><\/section><a href=\"#closeEbookPanel\" class=\"icon-close action-close-ebook-panel\">Close<\/a><\/section><section class=\"post-content-wrapper\">\n<h2><span style=\"font-weight: 400;\">The second layer: a design system expressed as artifacts<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">As a collection of artifacts, assets should exist to implement the abstract principles elucidated by the Design System. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">If \u201caccessible, by default\u201d is a principle, a way to implement that principle would be to generate a shared repository of commonly used HTML elements and components that have been implemented as being compliant and tested with accessibility standards in mind. <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16033\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image1-1.png\" alt=\"Components form a design system\" width=\"1117\" height=\"742\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image1-1.png 1117w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image1-1-452x300.png 452w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image1-1-768x510.png 768w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image1-1-1024x680.png 1024w\" sizes=\"auto, (max-width: 1117px) 100vw, 1117px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Components from Shopify\u2019s Polaris design system. <\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">As you might imagine, having such a reusable library will allow you to ensure the development of reusable, accessible markup over the course of a project, rather than shoe-horn it into a project at the end, or after QA reveals that certain components are not accessible. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Specific assets can be created, improved, or even deprecated over time, as your Design System, as a shared mental model, evolves and changes.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">The third layer: a design system expressed as implementation tools<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The shared mental model, as well as artifacts which assist designers and developers implement a design system, require some way for the world to view and interact with a design. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">A UI library that showcases individual components, templates, or even entire workflows would meet this requirement. The UI library is not the application you are building itself, but a repository of reusable elements and patterns which help developers build one or more specific products based upon a design system. <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16036\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png\" alt=\"Design system UI and library\" width=\"800\" height=\"600\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png 800w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1-400x300.png 400w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1-768x576.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Shopify Polaris design system UI library. <\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">For example, your UI library may have a section devoted to various \u201cresources\u201d, such as brand colors or fonts for your project. Your design system requires a tool to hold what you build from the assets, which implement your shared model of what your design system is.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">The fourth layer: a design system expressed as implementation<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The implementation is what everyone on your team is working towards. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Of course, none of this means much until we answer the question of <\/span><i><span style=\"font-weight: 400;\">why<\/span><\/i><span style=\"font-weight: 400;\">? <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Why is it necessary to maintain these layers of abstraction? Why are we borrowing jargon from the world of software development and importing it into the UX design process? Why do we need to draw these lines and decouple these layers?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This isn\u2019t just some academic exercise. There are some practical real-world concerns which drive this and require we look at things this way. Let us imagine a couple of business use-cases where having these clearly defined lines between each area of concern will make sense:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Scenario #1<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">A client understands and accepts that a UI component library helps with standardization and reduces cost if their disparate design teams can work from the same code library. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">They have implemented a CMS where code is organized and obtained by developers. You, of course, have developed your own proprietary UI component library to contain shared code, but you\u2019d really like to work with this client and believe in a few years you may be able to convince them to use the UI component library you have developed. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Since the UI component library is only one of four modules within this system, and since each layer is essentially in its own separate box, you are not prohibited from working with them in the areas where you are better aligned, such as their decision to adopt a design system created by a well-known firm, with which you have a lot of experience already.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Scenario #2<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">A client is working with a proprietary piece of software with a well-established and documented design system. This design system works well with the customer relationship management tool they would like to implement. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Your role is to understand business processes and develop workflows that meet various business objects, more so than worrying about the design system, where is documented, or what artifacts are to be used\u200a\u2014\u200athey are provided by the vendor. In this case, three of four layers are being handled elsewhere. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can add value at the implementation layer which will help them accomplish their goals at present, or in the future, since these business processes exist independently of any design system.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Scenario #3<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">You have been awarded a project on the basis of the usability and appeal of a piece of software you have developed that will operate as a UI library. Your client has not settled on what design system to use, nor even what the final implementation will yield. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">You and the client are both sure of the value you can add by providing a UI library with reusable components that can be leveraged by their implementation team. Since all four layers are decoupled and separate, you are confident that your UI library will help them improve their UX design and implementation process.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Conclusion<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">In manufacturing, specialization is common and necessary. A factory that produces air conditioners does not also need to produce screws or sheet metal. That work is done elsewhere and as new vendors emerge with better screws or sheet metal, a manufacturer can focus on the area within the value chain where their expertise is most beneficial to the market. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Decoupled layers of abstraction provide similar value within the context of UX. With each component logically separated, you are free to provide value as needed, maintain flexibility, have the freedom to innovate as you and the marketplace iterates within each layer of abstraction, and ultimately create more value within your UX design process.<\/span><\/p>\n<p><em>For a step-by-step guide based on real case studies, download <a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/create-design-system-guide-checklist\/\">Creating a Design System: The 100-Point Process Checklist<\/a>.\u00a0\u00a0<\/em><\/p>\n<p><a href=\"https:\/\/www.uxpin.com\/studio\/ebooks\/create-design-system-guide-checklist\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/17404-presscdn-0-71-pagely.netdna-ssl.com\/studio\/wp-content\/uploads\/2017\/09\/mailing-1.png\" width=\"1200\" height=\"674\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A practical guide to understanding and implementing design systems. <\/p>\n","protected":false},"author":132,"featured_media":16036,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,199],"tags":[],"class_list":["post-16032","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-design-systems"],"yoast_title":"How to Understand and Implement Design Systems and Abstraction Layers","yoast_metadesc":"Whether you\u2019re creating your own design system, or implementing one created by a third party, it is important to understand the relationship between each layer of abstraction.","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Understand and Implement Design Systems and Abstraction Layers<\/title>\n<meta name=\"description\" content=\"Whether you\u2019re creating your own design system, or implementing one created by a third party, it is important to understand the relationship between each layer of abstraction.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Design Systems and Abstraction Layers: A Model for Better Understanding and Implementation\" \/>\n<meta property=\"og:description\" content=\"Whether you\u2019re creating your own design system, or implementing one created by a third party, it is important to understand the relationship between each layer of abstraction.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/\" \/>\n<meta property=\"og:site_name\" content=\"Studio by UXPin\" \/>\n<meta property=\"article:published_time\" content=\"2017-10-13T22:18:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-20T07:14:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ed Hertzog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ed Hertzog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/\"},\"author\":{\"name\":\"Ed Hertzog\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/d008b158ede298999fe98d39e8b818d3\"},\"headline\":\"Design Systems and Abstraction Layers: A Model for Better Understanding and Implementation\",\"datePublished\":\"2017-10-13T22:18:39+00:00\",\"dateModified\":\"2024-05-20T07:14:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/\"},\"wordCount\":1494,\"image\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/image4-1.png\",\"articleSection\":[\"Blog\",\"Design Systems\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/\",\"name\":\"How to Understand and Implement Design Systems and Abstraction Layers\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/image4-1.png\",\"datePublished\":\"2017-10-13T22:18:39+00:00\",\"dateModified\":\"2024-05-20T07:14:01+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/d008b158ede298999fe98d39e8b818d3\"},\"description\":\"Whether you\u2019re creating your own design system, or implementing one created by a third party, it is important to understand the relationship between each layer of abstraction.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/image4-1.png\",\"contentUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/image4-1.png\",\"width\":800,\"height\":600,\"caption\":\"image4 1\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/design-systems-abstraction-layers-model-better-understanding-implementation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Design Systems and Abstraction Layers: A Model for Better Understanding and Implementation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#website\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/\",\"name\":\"Studio by UXPin\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/d008b158ede298999fe98d39e8b818d3\",\"name\":\"Ed Hertzog\",\"description\":\"Ed is a versatile and successful UX Engineer with nearly two decades of web-centric development, including application programming using database-driven applications and websites. He's committed to architecting and building improved or new experiences with user-centered design methodologies, which makes him and Intuitive Company a match made in heaven. Ed built his first website back in 1995 and has been updating his impressive portfolio of expertise ever since, including operating his own web programming and design firm for four years.\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/author\\\/ed-hertzog\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Understand and Implement Design Systems and Abstraction Layers","description":"Whether you\u2019re creating your own design system, or implementing one created by a third party, it is important to understand the relationship between each layer of abstraction.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/","og_locale":"en_US","og_type":"article","og_title":"Design Systems and Abstraction Layers: A Model for Better Understanding and Implementation","og_description":"Whether you\u2019re creating your own design system, or implementing one created by a third party, it is important to understand the relationship between each layer of abstraction.","og_url":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/","og_site_name":"Studio by UXPin","article_published_time":"2017-10-13T22:18:39+00:00","article_modified_time":"2024-05-20T07:14:01+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png","type":"image\/png"}],"author":"Ed Hertzog","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ed Hertzog","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/#article","isPartOf":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/"},"author":{"name":"Ed Hertzog","@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/d008b158ede298999fe98d39e8b818d3"},"headline":"Design Systems and Abstraction Layers: A Model for Better Understanding and Implementation","datePublished":"2017-10-13T22:18:39+00:00","dateModified":"2024-05-20T07:14:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/"},"wordCount":1494,"image":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png","articleSection":["Blog","Design Systems"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/","url":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/","name":"How to Understand and Implement Design Systems and Abstraction Layers","isPartOf":{"@id":"https:\/\/www.uxpin.com\/studio\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/#primaryimage"},"image":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png","datePublished":"2017-10-13T22:18:39+00:00","dateModified":"2024-05-20T07:14:01+00:00","author":{"@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/d008b158ede298999fe98d39e8b818d3"},"description":"Whether you\u2019re creating your own design system, or implementing one created by a third party, it is important to understand the relationship between each layer of abstraction.","breadcrumb":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/#primaryimage","url":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png","contentUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/10\/image4-1.png","width":800,"height":600,"caption":"image4 1"},{"@type":"BreadcrumbList","@id":"https:\/\/www.uxpin.com\/studio\/blog\/design-systems-abstraction-layers-model-better-understanding-implementation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.uxpin.com\/studio\/"},{"@type":"ListItem","position":2,"name":"Design Systems and Abstraction Layers: A Model for Better Understanding and Implementation"}]},{"@type":"WebSite","@id":"https:\/\/www.uxpin.com\/studio\/#website","url":"https:\/\/www.uxpin.com\/studio\/","name":"Studio by UXPin","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.uxpin.com\/studio\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/d008b158ede298999fe98d39e8b818d3","name":"Ed Hertzog","description":"Ed is a versatile and successful UX Engineer with nearly two decades of web-centric development, including application programming using database-driven applications and websites. He's committed to architecting and building improved or new experiences with user-centered design methodologies, which makes him and Intuitive Company a match made in heaven. Ed built his first website back in 1995 and has been updating his impressive portfolio of expertise ever since, including operating his own web programming and design firm for four years.","url":"https:\/\/www.uxpin.com\/studio\/author\/ed-hertzog\/"}]}},"_links":{"self":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/16032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/users\/132"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/comments?post=16032"}],"version-history":[{"count":1,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/16032\/revisions"}],"predecessor-version":[{"id":53056,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/16032\/revisions\/53056"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/media\/16036"}],"wp:attachment":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/media?parent=16032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/categories?post=16032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/tags?post=16032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}