How to get away from bad UX:Micro-frontend Arc
View Slide
What’s wrong with“Follow the Design” ?
Micro-frontendOA Plus Platform
FragmentFragmentFragmentFragmentLayout
△⚪︎□
△⚪︎□REDUNDANCYComponents implemented separately ineach fragment1
△⚪︎□REDUNDANCY1STYLE OUT OF SYNCWe have no clue when changeshappened in the design2
* based on true story
?????
△⚪︎□REDUNDANCY1STYLE OUT OF SYNC2HIGH COMPLEXITYSometimes “Following the design” isjust toooo hard3
Why not “Follow the Design” ?Inconsistency
Fantastic UI and Where to FindThem
Design System
นี่คือปุ ่มFontssize, line height, weight, style, etc.CTA: Call to Action
นี่คือปุ่มนี่คือปุ ่มนี่คือปุ่ ม
นี่คือปุ่มหัวข้อโอเซลทามิเวียร์สกาย เทรลเล่อร์เอ็กซ์โปคอนโทรล ดีไซน์แบรนด์ไพรเมตดิกชันนารีวอร์รูมเช็กป๊อกแตงโมลีกคอรัปชันสเปิร์ม พันธกิจสตาร์นรีแพทย์โลโก้ซากุระ สเต็มเฉิ่มแพนด้าคอนเทนเนอร์ควีน ลาเต้ตุ ๋ยเฟอร์รี่บอกซ์ ตู้เซฟสแตนเลส ซันตาคลอสเวกเตอร์แบนเนอร์ลิมิตยนตรกรรม อันเดอร์คอลเล็กชั่น แพทเทิร์นไบเบิลเพนกวิน เลกเชอร์มุมมองแฟรนไชส์ซูเปอร์หลวงพี่ บอกซ์ไฮดรอกไซด์เพอร์ออกไซด์มอบตัวคาแรคเตอร์* disclaimer: font sizing in this slide is not accurateโมเมนตัมฟลุคยูริกเทฟลอนจิตพิสัย โอเซลทามิเวียร์เฟิร์มไอซ์ออโรร่าฟิวชัน แซมบ้าทิปไนท์เซมิครัวซองต์ไวอากร้าเอทานอลพฤหัส ทำงานบ็อกซ์แครกเกอร์อินทิเกรต สเปิร์มทิป คลาสสิกแฟรี่ว้อย วันเวย์เทฟลอนแคนูฮาร์ดอะซีติก ไฟเบอร์ฟาสต์ฟู ้ด ฟยอร์ด โปสเตอร์กุมภาพันธ์เมเปิลดาวน์แยมโรลเอ็กซ์โพเนนเชียล คอนโทรล ไททันท็อปบูตFonts
นี่คือปุ่มTypographyFonts
นี่คือปุ่มTypographyColor
นี่คือปุ่มนี่คือปุ่มColor PaletteBasic ColorSystem ColorSecondarySuccessDangerPrimary
นี่คือปุ่ม นี่คือปุ่ม นี่คือปุ่มนี่คือปุ่มNormal Hovered Active DisabledState (Accessibility)Using Multiple Colorsนี่คือปุ่ม นี่คือปุ่มนี่คือปุ่ม นี่คือปุ่มNormal Hovered Active Disabled+ filter opacity 30% + filter opacity 50%Using Filters* disclaimer: coloring in this slide is not accurate
นี่คือปุ่มColor PaletteBasic ColorSystem ColorSecondarySuccessDanger
นี่คือปุ่มTypographyColor PaletteSpacing
* disclaimer: sizing in this slide is not accurate8px 12px 16px 24px 32px 40px 64pxSpacing4px
นี่คือปุ ่มTypographyColor PaletteSpacingIconography AnimationVertical Order (z-order)AccessibilitySound
Foundations
UI ComponentsFoundationsDocumentation | Rules | Connections Best PracticesProduct-SpecificComponents
UI ComponentsFoundationsDocumentation | Rules | Connections Best PracticesProduct-SpecificComponentsDesign System
Design System in Actions
REDUNDANCY1STYLE OUT OF SYNC2HIGH COMPLEXITY3
UI ComponentsShared Components or Pattern Library
นี่คือปุ ่มComponentInterfaceTypographyfont-familyfont-sizefont-weightline-heightColorbackground-colorcolor border:hover { } :active { } :disabled { }Spacingmarginpaddingwidthheightvariant=“primary”size=“regular”icon=“gear”>นี่คือปุ่ม< /Button>…
Pattern Libraryor component library, or else
REDUNDANCY1STYLE OUT OF SYNC2HIGH COMPLEXITY3Pattern Library
Versioned Package
Is this the latest design?Did you update Button font?Please change dropdown iconFix tooltip bugReduce icon sizeFix scrollbar issueRevise pagination design
Update your package!or “Did you update your package?”
REDUNDANCY1STYLE OUT OF SYNC2HIGH COMPLEXITY3Pattern LibraryUpdate your package?
< /div>< /Field>…< /Card>.builder-wrapper {background-color: $gray;border-radius: 8px;padding: 24px;}.builder-type-select {display: block;z-index: 10000;min-width: 144px;.trigger {width: 100%;}&--open {.trigger {opacity: .8;}}&-inner {background-color: $white;color: black;padding: 8px;(…continue)before after
REDUNDANCY1STYLE OUT OF SYNC2HIGH COMPLEXITY3Pattern LibraryUpdate your packageReduce construction cost
นี่คือปุ ่มFurther & Beyond:Utility-First .jv-btn {@apply jsn-text-500-16 jsn-bg-blue-500 jsn-align-middlejsn-inline-flex jsn-justify-center jsn-items-center jsn-my-0 jsn-rounded jsn-cursor-pointer jsn-text-white jsn-border jsn-border-solid jsn-border-blue-500&:active, &-active {@apply jsn-border-blue-700 jsn-bg-blue-700}…}
the power of platformand community