Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Old Dog, New Tricks

Simon Collison
February 21, 2014

Old Dog, New Tricks

Awwwards Love Days, Paris February 2014.

In 2006 Simon wrote a successful book about learning CSS. Building the web wasn’t easy back then, but CSS was pretty basic. Simon also used to talk about systems a lot, but didn’t have many answers. Fast-forward to 2014 and everything has changed; that CSS book is both useless and wrong, and systems inform much of what we build. This talk will look at how the landscape changed for front-end designers, and how we must think more holistically about the scope of our projects. With practical examples he’ll explore the tools, methodologies and systems that reenergised him and helped make sense of the whole darned mess.

Simon Collison

February 21, 2014
Tweet

More Decks by Simon Collison

Other Decks in Design

Transcript

  1. “Before this book, I felt like a monkey with a

    clipboard.” “Now, I feel like I have been promoted from a monkey with a clipboard to a human.” “Even if you don't want to learn the art of CSS and are a dairy cow farmer that dosn't speek english, i still recomend this book!” “I hope the royalties from the book pay for a comfortable retirement.” “For me, the book ended too soon.” “I bought this book in 2009, and I use it to this day to help me with CSS.”
  2. “I appreciate Simon's approach to learning. Ok ~ time for

    a cuppa tea and then back to it. Very English ~ I'm Australian so we have similar traditions and a cuppa tea is one I'm very glad for.” “He even tells you (often -- he's English!) when's a good time to grab a cup of tea.” “He also encouraged me to drink more tea.” “Take Simon's advice when he suggests getting a cup of tea.” “The author seems to have a thing for tea.”
  3. Ken Mosher “Timelord” “For a Brit his humor is NOT

    funny! Collison needs to read "Eats, Shoots and Leaves" if he wants to learn about British humor. In the meantime, just skip it; you're not John Cleese!” "I disagree that it's fantastic or any other superlative that others have applied.” 4/5 stars
  4. .block h3 { targeted heading styles } .block p {

    targeted paragraph styles } .block p a:link { targeted link styles }
  5. “What we build is rarely finished. We build systems that

    flex and grow with the client, the business, the organisation, the community, and the availability of new devices. “Once we have systems we understand, we can then learn to break their rules and be truly creative. ”
  6. “We’re beginning to think about the “systems” we use as

    more holistic, made up of much more than just mathematical foundations, but also the flexibility of colour, type families, use of whitespace, light and shade, form and shape. “By better understanding the possibilities of HTML and CSS, our ability to be creative and bold with systems increases significantly.”
  7. Basic HTML files & naming conventions PHP for basic templates

    prior to CMS integration. CSS: Stylesheets, IE-specific, reset, scratch files etc. JavaScript: jQuery, onload triggers, transparency support Other Assets such as folders for images, Flash etc.
  8. Allowed better collaboration within the team; the designer could jump

    into the developer’s code and vice-versa. Anyone who hadn’t even worked on a certain project could jump in and quickly solve problems because everything was on convention. Kept output fresh and ensured use of best practices. Established a thoroughly connected layer of base files allowing for swift CSS and JavaScript implementation and other assets. Made life easier for developers and designers... and anyone really Helped maintain quality control
  9. @import "compass"; // SASS variables $white: #fff; $black: #000; $grey:

    #ccc; $light_grey: #eeeeee; $mid_grey: #999; $dark_grey: #666; $darkest_grey: #333; $yellow: #ffffcc;
  10. .block h3 { targeted heading styles } .block p {

    targeted paragraph styles } .block p a:link { targeted link styles }
  11. <div class=“block”> <h3 class=“block_heading”>Hedgehogs</h3> <p class=“block_intro”>This is all about hedgehogs.

    <a href=“paras.html” class=“block_link”>Read more about hedgehogs</a>.</p> </div>
  12. .box { @include border-radius(3px); @include box-shadow(inset 0 0 7px 2px

    rgba($black,0.03)); border-color: $gray; font-size: 0.9em; padding: 15px; }
  13. Components Flexible grid Typography Navigation Accessible form controls Carousels Tabbed

    navigation Responsive tables Accordions Media lists Dropdowns Pagination Data tables Buttons Icon fonts Strategy Responsive images Responsive typography Accessibility architecture Legacy browser support Performance budget Interaction/Animations Responsive advertising Layouts Homepage layout Subpage layout Article index layout Article layout Product index layout Product detail layout Sign up flow Checkout flow http://daverupert.com/2013/04/responsive-deliverables
  14. Simplify the process of getting a new social application up

    and running. Standardize the assorted, non-core pages that are a part of each app (signup, login, settings). Treat the non-core pages like a core product and give them the attention they deserve. Create an implicit link between all Fictive Kin products by virtue of a shared user experience.
  15. @mixin img-block ($url, $width, $height) { ! background: url(#{$url}) 0

    0 no-repeat transparent; ! display: block; ! height: $height; ! overflow: hidden; ! text-indent: -9999px; ! vertical-align: top; ! white-space: nowrap; ! width: $width; }
  16. <ul class="sidebar-nav"> <li class="sn-item" ng-repeat="(name, service) in services" ng- class="isAccountActive(name)">

    <a href="/backups/[[name]]" class="sn-link"><span class="ss- social-regular ss-[[name]]"> </span>[[service.display_name]]</a> </li> </ul>
  17. "twitter": { "name": "Twitter", "filters": { "collections": { "all": {

    "label": "All Tweets", "symbolset": "inbox" }, "tweets": { "label": "Your Tweets", "symbolset": "user" }, "favorites": { "label": "Your Favorites", "symbolset": "star" } } } }
  18. /* Aspect ratios: 1:1 = 100%, 2:1 = 50%, 1:2

    = 200%, 4:3 = 75%, 16:9 = 56.25% */ .ar-1-1 .asset:before { content: ""; display: block; padding-top: 100%; }
  19. /* Aspect ratios: 1:1 = 100%, 2:1 = 50%, 1:2

    = 200%, 4:3 = 75%, 16:9 = 56.25% */ .ar-2-1 .asset:before { content: ""; display: block; padding-top: 50%; }
  20. /* Aspect ratios: 1:1 = 100%, 2:1 = 50%, 1:2

    = 200%, 4:3 = 75%, 16:9 = 56.25% */ .ar-1-2 .asset:before { content: ""; display: block; padding-top: 200%; }
  21. /* Aspect ratios: 1:1 = 100%, 2:1 = 50%, 1:2

    = 200%, 4:3 = 75%, 16:9 = 56.25% */ .ar-4-3 .asset:before { content: ""; display: block; padding-top: 75%; }
  22. /* Aspect ratios: 1:1 = 100%, 2:1 = 50%, 1:2

    = 200%, 4:3 = 75%, 16:9 = 56.25% */ .ar-16-9 .asset:before { content: ""; display: block; padding-top: 56.25%; }
  23. .content  {   position:  absolute;   top:  0;   left:

     0;   bottom:  0;   right:  0; }
  24. Twitter Instagram Flickr Gimme Bar Pinterest Svpply Foursquare last.fm Pinboard

    Delicious Goodreads Tumblr image video text snippet GIF bookmark place status full page recipe article product