Brad frost: Atomic design (Webdagene 2014)

164
ATOMIC DESIGN @brad_frost

description

Over the past few years, we’ve seen the web community create style tiles, element collages, style guides, pattern libraries, and a slew of other tools in order to break interfaces down to their atomic elements. Our interfaces are going more places than ever before, so this shift is essential to help us better understand what our websites consist of in order for us create smart, scalable, maintainable designs. This session will introduce atomic design, a methodology for creating robust design systems. We’ll cover how to apply atomic design to implement your very own design system in order to set you, your organization and clients up for success.

Transcript of Brad frost: Atomic design (Webdagene 2014)

Page 1: Brad frost: Atomic design (Webdagene 2014)

ATOMIC DESIGN@brad_frost

Page 2: Brad frost: Atomic design (Webdagene 2014)

PAGESGRAPHIC? WRITTEN PAGE? WEB PAGE? BOTH?

http://www.flickr.com/photos/pandora_6666/4927865092/

Page 3: Brad frost: Atomic design (Webdagene 2014)
Page 4: Brad frost: Atomic design (Webdagene 2014)
Page 5: Brad frost: Atomic design (Webdagene 2014)
Page 6: Brad frost: Atomic design (Webdagene 2014)
Page 7: Brad frost: Atomic design (Webdagene 2014)

WHAT IS AN INTERFACE MADE OF?

Page 8: Brad frost: Atomic design (Webdagene 2014)

http://bradfrost.github.com/this-is-responsive/patterns.html

Page 9: Brad frost: Atomic design (Webdagene 2014)

Design systems, not pages. -Andy Clarke

http://stuffandnonsense.co.uk/blog/about/walls_come_tumbling_down_presentation_slides_and_transcript/

Page 10: Brad frost: Atomic design (Webdagene 2014)

http://foundation.zurb.com/

Page 11: Brad frost: Atomic design (Webdagene 2014)

getbootstrap.com

Page 12: Brad frost: Atomic design (Webdagene 2014)

THESE THINGS ARE GREAT, BUT...

Page 13: Brad frost: Atomic design (Webdagene 2014)
Page 14: Brad frost: Atomic design (Webdagene 2014)

FRAMEWORK POTENTIAL PITFALLS๏ One-size-fits-all ๏ Lookalike issues ๏ Potential for bloat/unneeded stuff ๏ Might not do everything you need ๏ Compatibility with existing sites ๏ Subscribe to someone else’s structure, naming, style

Page 15: Brad frost: Atomic design (Webdagene 2014)

Tiny Bootstraps, for every client. -Dave Rupert

http://daverupert.com/2013/04/responsive-deliverables/

Page 16: Brad frost: Atomic design (Webdagene 2014)

Responsive deliverables should look a lot like fully-functioning Twitter Bootstrap-style systems custom tailored for your clients’ needs. -Dave Rupert

http://daverupert.com/2013/04/responsive-deliverables/

Page 17: Brad frost: Atomic design (Webdagene 2014)

http://maban.co.uk/projects/front-end-style-guides/

Page 18: Brad frost: Atomic design (Webdagene 2014)

BENEFITS OF FRONT-END STYLE GUIDES๏ Promotes consistency and cohesion ๏ Easier to test ๏ Better workflow ๏ Creates a shared vocabulary ๏ Useful reference

http://24ways.org/2011/front-end-style-guides/

Page 19: Brad frost: Atomic design (Webdagene 2014)

http://brettjankord.com/projects/style-guide-boilerplate/

Page 20: Brad frost: Atomic design (Webdagene 2014)

http://patternprimer.adactio.com/

Page 21: Brad frost: Atomic design (Webdagene 2014)

http://barebones.paulrobertlloyd.com

Page 22: Brad frost: Atomic design (Webdagene 2014)
Page 23: Brad frost: Atomic design (Webdagene 2014)
Page 24: Brad frost: Atomic design (Webdagene 2014)

http://style.codeforamerica.org/

Page 25: Brad frost: Atomic design (Webdagene 2014)

http://ux.mailchimp.com/patterns/

Page 26: Brad frost: Atomic design (Webdagene 2014)

http://yelp.com/styleguide

Page 27: Brad frost: Atomic design (Webdagene 2014)

http://www.starbucks.com/static/reference/styleguide/http://www.starbucks.com/static/reference/styleguide/

Page 28: Brad frost: Atomic design (Webdagene 2014)
Page 29: Brad frost: Atomic design (Webdagene 2014)
Page 30: Brad frost: Atomic design (Webdagene 2014)
Page 31: Brad frost: Atomic design (Webdagene 2014)

I LOVE THESE.

Page 32: Brad frost: Atomic design (Webdagene 2014)

MO’ PATTERNS, MO’ PROBLEMS๏ Time consuming to create ๏ Treated as a auxiliary project ๏ Often too abstract ๏ Seen only as a designer/developer tool ๏ Often created after a project launches ๏ Often incomplete/only serving present cases ๏ Lacking a clear methodology

Page 33: Brad frost: Atomic design (Webdagene 2014)

ATOMIC DESIGN

Page 34: Brad frost: Atomic design (Webdagene 2014)

2H2 + O2 → 2H20 C + O2 → CO2 CH4 + O2 → CO2 + H2O C8H18 + O2 → CO2 + H20 C2H6 + O2 → CO2 + H2O

Page 35: Brad frost: Atomic design (Webdagene 2014)
Page 36: Brad frost: Atomic design (Webdagene 2014)

2H2+O2→2H20

Page 37: Brad frost: Atomic design (Webdagene 2014)
Page 38: Brad frost: Atomic design (Webdagene 2014)
Page 39: Brad frost: Atomic design (Webdagene 2014)
Page 40: Brad frost: Atomic design (Webdagene 2014)
Page 41: Brad frost: Atomic design (Webdagene 2014)
Page 42: Brad frost: Atomic design (Webdagene 2014)

http://joshduck.com/periodic-table.html

Page 43: Brad frost: Atomic design (Webdagene 2014)
Page 44: Brad frost: Atomic design (Webdagene 2014)
Page 45: Brad frost: Atomic design (Webdagene 2014)
Page 46: Brad frost: Atomic design (Webdagene 2014)
Page 47: Brad frost: Atomic design (Webdagene 2014)
Page 48: Brad frost: Atomic design (Webdagene 2014)

ENTER KEYWORD

SEARCH THE SITE

SEARCH

Page 49: Brad frost: Atomic design (Webdagene 2014)

ENTER KEYWORD

SEARCH THE SITE

SEARCH

Page 50: Brad frost: Atomic design (Webdagene 2014)
Page 51: Brad frost: Atomic design (Webdagene 2014)
Page 52: Brad frost: Atomic design (Webdagene 2014)
Page 53: Brad frost: Atomic design (Webdagene 2014)
Page 54: Brad frost: Atomic design (Webdagene 2014)
Page 55: Brad frost: Atomic design (Webdagene 2014)
Page 56: Brad frost: Atomic design (Webdagene 2014)
Page 57: Brad frost: Atomic design (Webdagene 2014)
Page 58: Brad frost: Atomic design (Webdagene 2014)
Page 59: Brad frost: Atomic design (Webdagene 2014)

You can create good experiences without knowing the content. What you can’t do is create good experiences without knowing your content structure. What is your content made from, not what your content is. -Mark Boulton

http://www.markboulton.co.uk/journal/structure-first-content-always

Page 60: Brad frost: Atomic design (Webdagene 2014)
Page 61: Brad frost: Atomic design (Webdagene 2014)
Page 62: Brad frost: Atomic design (Webdagene 2014)
Page 63: Brad frost: Atomic design (Webdagene 2014)
Page 64: Brad frost: Atomic design (Webdagene 2014)

ABSTRACT CONCRETE

Page 65: Brad frost: Atomic design (Webdagene 2014)

ABSTRACT CONCRETE

CREATORS CLIENTS

Page 66: Brad frost: Atomic design (Webdagene 2014)

REFERENCE BUILD REVIEW

Page 67: Brad frost: Atomic design (Webdagene 2014)
Page 68: Brad frost: Atomic design (Webdagene 2014)
Page 69: Brad frost: Atomic design (Webdagene 2014)

DAVE OLSEN@dmolsen

Page 70: Brad frost: Atomic design (Webdagene 2014)

WHAT PATTERN LAB IS๏ A design system builder ๏ Your comprehensive custom component library ๏ A pattern starter kit ๏ A design toolkit (viewport resizer and other tools)

Page 71: Brad frost: Atomic design (Webdagene 2014)

WHAT PATTERN LAB AIN’T๏ A UI framework ๏ Language, library, style, workflow dependent ๏ Incredibly rigid ๏ “Just” a pattern library, but also not a production-ready

static site generator

Page 72: Brad frost: Atomic design (Webdagene 2014)
Page 73: Brad frost: Atomic design (Webdagene 2014)
Page 74: Brad frost: Atomic design (Webdagene 2014)
Page 75: Brad frost: Atomic design (Webdagene 2014)
Page 76: Brad frost: Atomic design (Webdagene 2014)
Page 77: Brad frost: Atomic design (Webdagene 2014)
Page 78: Brad frost: Atomic design (Webdagene 2014)
Page 79: Brad frost: Atomic design (Webdagene 2014)
Page 80: Brad frost: Atomic design (Webdagene 2014)

MOLECULE GUTScode block!!!<div class="block block-post"> <a href="{{ url }}"> <div class="b-img"> {{> atoms-thumb }} </div> <h3 class="b-title">{{ headline }}</h3> <p class="b-excerpt">{{ excerpt }}</p> </a> </div> !

Page 81: Brad frost: Atomic design (Webdagene 2014)

BASIC INCLUDEcode block!!!!!

!

!

!

{{> molecules-block-post }} !

Page 82: Brad frost: Atomic design (Webdagene 2014)
Page 83: Brad frost: Atomic design (Webdagene 2014)
Page 84: Brad frost: Atomic design (Webdagene 2014)

ORGANISM GUTScode block!!!<header class="header" role="banner"> {{> atoms-ad-leaderboard }} {{> atoms-logo }} {{> molecules-primary-nav }} {{> molecules-search }} {{> molecules-social-nav }} </header>

Page 85: Brad frost: Atomic design (Webdagene 2014)

BASIC INCLUDEcode block!!!!!

!

{{> organisms-header }}

Page 86: Brad frost: Atomic design (Webdagene 2014)
Page 87: Brad frost: Atomic design (Webdagene 2014)

TEMPLATE GUTScode block{{> organisms-header }} <main role="main"> <div class="l-two-col"> <div class="l-main"> {{> organisms-article-body }}

{{> molecules-social-share }} {{> organisms-comments }} </div><!--end l-main--> ! <div class="l-sidebar"> {{> organisms-related-posts }} {{> organisms-recent-tweets }} </div><!--end l-sidebar--> </div><!--end l-two-col--> </main><!--End role=main--> {{> organisms-footer }}

Page 88: Brad frost: Atomic design (Webdagene 2014)
Page 89: Brad frost: Atomic design (Webdagene 2014)
Page 90: Brad frost: Atomic design (Webdagene 2014)
Page 91: Brad frost: Atomic design (Webdagene 2014)
Page 92: Brad frost: Atomic design (Webdagene 2014)
Page 93: Brad frost: Atomic design (Webdagene 2014)
Page 94: Brad frost: Atomic design (Webdagene 2014)

TEMPLATE GUTScode block{{> organisms-header }} <main role="main"> {{# hero }} {{> molecules-hero-video }} {{/ hero }} <section class="section"> {{# experience }} {{> organisms-story-feature }} {{/ experience }} </section> <section class="section"> {{# factoid-advertising }} {{> organisms-factoid }} {{/ factoid-advertising }} </section>

Page 95: Brad frost: Atomic design (Webdagene 2014)

PIPING IN REAL CONTENTcode block{ "title" : "Time Inc.", "bodyClass": "home", "hero" : [ { "headline": { "xs": "Moving People" }, "img": { "hero-full": { "src": "../../images/sample/hero_beyonce.jpg", "alt": "Beyonce" } } }

Page 96: Brad frost: Atomic design (Webdagene 2014)

PIPING IN REAL CONTENTcode block"experience" : { "heroClass" : "experience", "img" : { "hero-main": { "src": "../../images/sample/hero_skater.jpg", "alt": "Olympic Figure Skater" } }, "eyebrow" : "Experiences", "headline" : { "short" : “Champions at the Olympics" }, "excerpt" : { "medium" : "Time Inc’s brands cover every aspect of the Sochi XXII Winter Olympic Games. From the best athletes to the best viewing parties." } } }

Page 97: Brad frost: Atomic design (Webdagene 2014)
Page 98: Brad frost: Atomic design (Webdagene 2014)

VIEWER

Page 99: Brad frost: Atomic design (Webdagene 2014)

320PX.

Page 100: Brad frost: Atomic design (Webdagene 2014)

320PX. 480PX.

Page 101: Brad frost: Atomic design (Webdagene 2014)

320PX. 480PX. 768PX.

Page 102: Brad frost: Atomic design (Webdagene 2014)

320PX. 480PX. 768PX. 1024PX.

Page 103: Brad frost: Atomic design (Webdagene 2014)

320PX. 480PX. 768PX. 1024PX. THE FOLD.

Page 104: Brad frost: Atomic design (Webdagene 2014)

320PX. 480PX. 768PX. 1024PX. THE FOLD. OH GOD THE FOLD.

Page 105: Brad frost: Atomic design (Webdagene 2014)
Page 106: Brad frost: Atomic design (Webdagene 2014)
Page 107: Brad frost: Atomic design (Webdagene 2014)

ANNOTATIONS

Page 108: Brad frost: Atomic design (Webdagene 2014)
Page 109: Brad frost: Atomic design (Webdagene 2014)
Page 110: Brad frost: Atomic design (Webdagene 2014)

LINEAGE

Page 111: Brad frost: Atomic design (Webdagene 2014)
Page 112: Brad frost: Atomic design (Webdagene 2014)

http://patternlab.io

Page 113: Brad frost: Atomic design (Webdagene 2014)

IF ANYTHING GOES WRONG WITH PATTERN LAB, BLAME @DMOLSEN.

Page 114: Brad frost: Atomic design (Webdagene 2014)
Page 115: Brad frost: Atomic design (Webdagene 2014)

SET EXPECTATIONS

Page 116: Brad frost: Atomic design (Webdagene 2014)

http://www.pointswestav.com/wp-content/uploads/2011/04/Projector-meeting.jpg

Page 117: Brad frost: Atomic design (Webdagene 2014)

As an industry, we sell websites like paintings. Instead, we should be selling beautiful and easy access to content, agnostic of device, screen size, or context. -Dan Mall

http://danielmall.com/articles/the-post-psd-era/

Page 118: Brad frost: Atomic design (Webdagene 2014)

COMPLEX NAVIGATIONDEATH TO THE WATERFALL

Page 119: Brad frost: Atomic design (Webdagene 2014)
Page 120: Brad frost: Atomic design (Webdagene 2014)
Page 121: Brad frost: Atomic design (Webdagene 2014)
Page 122: Brad frost: Atomic design (Webdagene 2014)
Page 123: Brad frost: Atomic design (Webdagene 2014)
Page 124: Brad frost: Atomic design (Webdagene 2014)

GATHER

Page 125: Brad frost: Atomic design (Webdagene 2014)

http://bradfrostweb.com/blog/post/interface-inventory/

Page 126: Brad frost: Atomic design (Webdagene 2014)
Page 127: Brad frost: Atomic design (Webdagene 2014)
Page 128: Brad frost: Atomic design (Webdagene 2014)
Page 129: Brad frost: Atomic design (Webdagene 2014)
Page 130: Brad frost: Atomic design (Webdagene 2014)
Page 131: Brad frost: Atomic design (Webdagene 2014)
Page 132: Brad frost: Atomic design (Webdagene 2014)
Page 133: Brad frost: Atomic design (Webdagene 2014)

๏ Document your interface ๏ Promote consistency ๏ Establish scope of work for translating to a responsive

interface ๏ Lay the groundwork for a future style guide/pattern library

INTERFACE INVENTORY

Page 134: Brad frost: Atomic design (Webdagene 2014)

ESTABLISH DIRECTION

Page 135: Brad frost: Atomic design (Webdagene 2014)
Page 136: Brad frost: Atomic design (Webdagene 2014)
Page 137: Brad frost: Atomic design (Webdagene 2014)
Page 138: Brad frost: Atomic design (Webdagene 2014)
Page 139: Brad frost: Atomic design (Webdagene 2014)
Page 140: Brad frost: Atomic design (Webdagene 2014)

RESOURCEhttp://styletil.es/

Page 141: Brad frost: Atomic design (Webdagene 2014)
Page 142: Brad frost: Atomic design (Webdagene 2014)
Page 143: Brad frost: Atomic design (Webdagene 2014)
Page 144: Brad frost: Atomic design (Webdagene 2014)
Page 145: Brad frost: Atomic design (Webdagene 2014)
Page 146: Brad frost: Atomic design (Webdagene 2014)
Page 147: Brad frost: Atomic design (Webdagene 2014)

ROLL UP OUR SLEEVES

Page 148: Brad frost: Atomic design (Webdagene 2014)
Page 149: Brad frost: Atomic design (Webdagene 2014)
Page 150: Brad frost: Atomic design (Webdagene 2014)
Page 151: Brad frost: Atomic design (Webdagene 2014)
Page 152: Brad frost: Atomic design (Webdagene 2014)
Page 153: Brad frost: Atomic design (Webdagene 2014)
Page 154: Brad frost: Atomic design (Webdagene 2014)
Page 155: Brad frost: Atomic design (Webdagene 2014)
Page 156: Brad frost: Atomic design (Webdagene 2014)
Page 157: Brad frost: Atomic design (Webdagene 2014)
Page 158: Brad frost: Atomic design (Webdagene 2014)
Page 159: Brad frost: Atomic design (Webdagene 2014)

http://trentwalton.com/2011/07/14/content-choreography/

Page 160: Brad frost: Atomic design (Webdagene 2014)
Page 161: Brad frost: Atomic design (Webdagene 2014)

WHEN YOU’RE FINISHED CHANGING

YOU’RE FINISHED.

Page 162: Brad frost: Atomic design (Webdagene 2014)

THIS IS FUN!

Page 163: Brad frost: Atomic design (Webdagene 2014)

MOBILE WEB

Page 164: Brad frost: Atomic design (Webdagene 2014)

THANKS! @brad_frost