Slide 1

Slide 1 text

SASS &
 STYLE GUIDES @JINA // SQUARES 2015

Slide 2

Slide 2 text

@JINA SENIOR PRODUCT DESIGNER
 DESIGN SYSTEMS

Slide 3

Slide 3 text

UX

Slide 4

Slide 4 text

SAFE HARBOR Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Slide 5

Slide 5 text

SASS & 
 STYLE GUIDES

Slide 6

Slide 6 text

“IT USED TO BE THAT DESIGNERS MADE AN OBJECT AND WALKED AWAY. TODAY THE EMPHASIS MUST SHIFT TO DESIGNING THE ENTIRE LIFE CYCLE.” — PAUL SAFFO

Slide 7

Slide 7 text

STYLE GUIDES ARE ALL THE RAGE …AND THEY HAVE COME A LONG WAY

Slide 8

Slide 8 text

2004 // PDF STYLE GUIDE

Slide 9

Slide 9 text

PDFS ARE A PAIN TO MAINTAIN

Slide 10

Slide 10 text

2007–2008 // WORDPRESS STYLE GUIDE

Slide 11

Slide 11 text

HTTP://ALISTAPART.COM/ARTICLE/WRITINGAINTERFACESTYLEGUIDE

Slide 12

Slide 12 text

DESIGN GUIDELINES UI/PATTERN LIBRARY FRONT-END DEVELOPMENT TOOL

Slide 13

Slide 13 text

KEEP DOCUMENTATION CURRENT & USEFUL

Slide 14

Slide 14 text

WORDPRESS WAS ONLY SLIGHTLY EASIER …AND I WAS THE ONLY ONE UPDATING IT

Slide 15

Slide 15 text

2010–2011 // LIVING STYLE GUIDE WITH SASS

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

LIVING STYLE GUIDE A STYLE GUIDE THAT USES THE SAME CODE AS YOUR APP

Slide 18

Slide 18 text

ZOMG!

Slide 19

Slide 19 text

SASS + STYLE GUIDES = AWESOME!

Slide 20

Slide 20 text

MAINTAINABILITY

Slide 21

Slide 21 text

BLOG.ENGINEYARD.COM/2011/FRONT-END-MAINTAINABILITY-WITH-SASS-AND-STYLE-GUIDES

Slide 22

Slide 22 text

2012–2013 // LIVING STYLE GUIDE WITH SASS FOR WEB WIKI FOR IOS & ANDROID

Slide 23

Slide 23 text

DO CSS STYLE GUIDE, LATE 2013

Slide 24

Slide 24 text

NAMING CONVENTIONS?

Slide 25

Slide 25 text

CLARITY > BREVITY

Slide 26

Slide 26 text

KEEP PROPERTIES ORGANIZED

Slide 27

Slide 27 text

VENDOR/ DEPENDENCIES/ BASE/ COMPONENTS/ HELPERS/ LAYOUTS/

Slide 28

Slide 28 text

ADD TOOLS FOR RAPID DEVELOPMENT & TESTING

Slide 29

Slide 29 text

STARBUCKS.COM/STATIC/REFERENCE/STYLEGUIDE/LAYOUT_PROMO_E.ASPX

Slide 30

Slide 30 text

STARBUCKS.COM/STATIC/REFERENCE/STYLEGUIDE/LAYOUT_PROMO_E.ASPX

Slide 31

Slide 31 text

STARBUCKS.COM/STATIC/REFERENCE/STYLEGUIDE/LAYOUT_PROMO_E.ASPX

Slide 32

Slide 32 text

STARBUCKS.COM/STATIC/REFERENCE/STYLEGUIDE/LAYOUT_PROMO_E.ASPX

Slide 33

Slide 33 text

STARBUCKS.COM/STATIC/REFERENCE/STYLEGUIDE/LAYOUT_PROMO_E.ASPX

Slide 34

Slide 34 text

STARBUCKS.COM/STATIC/REFERENCE/STYLEGUIDE/LAYOUT_PROMO_E.ASPX

Slide 35

Slide 35 text

A RESPONSIVE SANDBOX DURING DEVELOPMENT

Slide 36

Slide 36 text

DO RESPONSIVE LAYOUT GUIDE, EARLY 2013

Slide 37

Slide 37 text

PRODUCT DESIGN HAS INTERESTING CHALLENGES

Slide 38

Slide 38 text

SUPPORT MULTIPLE PLATFORMS & DEVICES

Slide 39

Slide 39 text

QUALITY, CRAFT, & CONSISTENCY

Slide 40

Slide 40 text

DESIGN FOR SCALE & MAINTAINABILITY

Slide 41

Slide 41 text

DESKTOP/WEB iOS WATCH, PHONES, TABLETS ANDROID WATCH, PHONES, TABLETS WIN8 PHONES, TABLETS

Slide 42

Slide 42 text

UI LIBRARY

Slide 43

Slide 43 text

SMACSS.COM

Slide 44

Slide 44 text

BRADFROSTWEB.COM/BLOG/POST/ATOMIC-WEB-DESIGN

Slide 45

Slide 45 text

ELEMENTS COMPONENTS LAYOUTS

Slide 46

Slide 46 text

TYPES STATES VARIATIONS

Slide 47

Slide 47 text

DEVELOPER.ANDROID.COM/DESIGN/BUILDING-BLOCKS/SEEK-BARS

Slide 48

Slide 48 text

REDLINES

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

VISUAL CHANGES FOR NATIVE MOBILE WERE A NIGHTMARE

Slide 51

Slide 51 text

PSD ⟶ DROPBOX ⟶ WIKI ⟶ ☹

Slide 52

Slide 52 text

2013 // LIVING STYLE GUIDE WITH SASS + ERB & YAML/JSON

Slide 53

Slide 53 text

SASS-LANG.COM

Slide 54

Slide 54 text

SASS-LANG.COM/STYLEGUIDE

Slide 55

Slide 55 text

SASS-LANG.COM/STYLEGUIDE/RESPONSIVE-TEST

Slide 56

Slide 56 text

GITHUB.COM/MATTKERSLEY/RESPONSIVE-DESIGN-TESTING

Slide 57

Slide 57 text

WE OPEN SOURCED THE SITE. ANYONE CAN CONTRIBUTE

Slide 58

Slide 58 text

WHAT IF A NEW COLOR GETS ADDED? THE STYLE GUIDE NEEDS TO BE UPDATED, TOO

Slide 59

Slide 59 text

CAN THE SASS & STYLE GUIDE SHARE A SINGLE SOURCE?

Slide 60

Slide 60 text

DON’T REPEAT YOURSELF

Slide 61

Slide 61 text

c: - name: hopbush hex: "c69" - name: bouquet hex: "b37399" <% data.color.c.each do |s| %> $<%= s.name %>: #<%= s.hex %>; <% end %> YML SCSS.ERB

Slide 62

Slide 62 text

c: - name: hopbush hex: "c69" - name: bouquet hex: "b37399" - for s in data.color.c %li{class: "s-" + s.name} %code = "$" + s.name %br/ = "#" + s.hex YML HAML

Slide 63

Slide 63 text

SASS COLOR STYLE GUIDE

Slide 64

Slide 64 text

NOW // LIVING DESIGN SYSTEM

Slide 65

Slide 65 text

STYLE GUIDES MUST BE CURRENT AND USEFUL

Slide 66

Slide 66 text

JACOBRASK.GITHUB.IO/STYLEDOCCO

Slide 67

Slide 67 text

SFDC-STYLEGUIDE.HEROKUAPP.COM

Slide 68

Slide 68 text

ENTERPRISE
 PRODUCT DESIGN CAN HAVE BIGGER CHALLENGES

Slide 69

Slide 69 text

MULTIPLE PLATFORMS & DEVICES MANY PRODUCTS & FEATURES TONS OF PARTNERS BUILDING ON PLATFORM INNOVATING WHILE MAINTAINING LEGACY ACCESSIBILITY REQUIREMENTS

Slide 70

Slide 70 text

DOZENS OF SCRUM TEAMS HUNDREDS OF DEVELOPERS SMALL TEAM OF DESIGNERS

Slide 71

Slide 71 text

HOW DO WE COMMUNICATE DESIGN ACROSS A
 LARGE ORGANIZATION?

Slide 72

Slide 72 text

WHERE CAN I FIND THE ICONS? WHERE CAN I FIND THE ICONS? WHAT COLOR IS THE BUTTON BORDER?

Slide 73

Slide 73 text

REDLINES?

Slide 74

Slide 74 text

No content

Slide 75

Slide 75 text

#FML

Slide 76

Slide 76 text

DESIGN PAGES

Slide 77

Slide 77 text

DESIGN SYSTEMS

Slide 78

Slide 78 text

“A FRACTURED PROCESS MAKES FOR A FRACTURED USER EXPERIENCE.” — NATE FORTIN

Slide 79

Slide 79 text

DUPLICATION 䡿 INCONSISTENCIES

Slide 80

Slide 80 text

NO MAINTAINABILITY 䡿 INEFFICIENCY

Slide 81

Slide 81 text

LACK OF CLARITY 䡿 CONFUSION

Slide 82

Slide 82 text

WHEN STYLE GUIDES AREN’T CURRENT, THEY’RE NOT USEFUL

Slide 83

Slide 83 text

DON’T CREATE A ZOMBIE STYLE GUIDE

Slide 84

Slide 84 text

MAKE DOCUMENTATION A REGULAR PART
 OF YOUR WORKFLOW

Slide 85

Slide 85 text

MAKING SOMETHING NEW? DOCUMENT IT

Slide 86

Slide 86 text

REVISING SOMETHING? REFACTOR & DOCUMENT IT

Slide 87

Slide 87 text

APPLICATION AREA COLORS

Slide 88

Slide 88 text

HOW DO WE KEEP COLORS, SPACING, & SIZES CONSISTENT?

Slide 89

Slide 89 text

HOW DO WE MAKE FUTURE DESIGN CHANGES FASTER?

Slide 90

Slide 90 text

HOW DO WE KEEP OUR DESIGN SYSTEM AGNOSTIC?

Slide 91

Slide 91 text

SINGLE SOURCE
 OF TRUTH OR… DON’T REPEAT YOURSELF

Slide 92

Slide 92 text

TYPOGRAPHY COLORS & GRADIENTS BORDERS METRICS & SPACING ANIMATIONS & TRANSITIONS

Slide 93

Slide 93 text

Sass/LESS/Stylus Lightning JSON (iPhone) XML (Android) HTML (style guide) {

Slide 94

Slide 94 text

{ "name": "COLOR_TEXT", "value": "#000", "category": "text-color", "comment": "Body text" } // Body text $color-text: #000; THEO SASS

Slide 95

Slide 95 text

{ "name": "COLOR_TEXT", "value": "#000", "category": "text-color", "comment": "Body text" } // Body text color-text = #000; THEO STYLUS

Slide 96

Slide 96 text

{ "name": "COLOR_TEXT", "value": "#000", "category": "text-color", "comment": "Body text" } // Body text @color-text: #000; THEO LESS

Slide 97

Slide 97 text

{ "name": "COLOR_TEXT", "value": "#000", "category": "text-color", "comment": "Body text" } colorText = rgba(0, 0, 0, 1) THEO IOS

Slide 98

Slide 98 text

{ "name": "COLOR_TEXT", "value": "#000", "category": "text-color", "comment": "Body text" } colorText #000

Slide 99

Slide 99 text

{ "name": "COLOR_TEXT", "value": "#000", "category": "text-color", "comment": "Body text" } THEO AURA

Slide 100

Slide 100 text

No content

Slide 101

Slide 101 text

THEO-GENERATED DESIGN PROPERTIES REFERENCE

Slide 102

Slide 102 text

CSS — HEX IOS — RGBA ANDROID — 8-DIGIT HEX

Slide 103

Slide 103 text

CSS — REM/EM/PX IOS — PT ANDROID — SP/DIP

Slide 104

Slide 104 text

NO MORE
 HARD-CODED VALUES

Slide 105

Slide 105 text

NO MORE PROLIFERATION OF INCONSISTENT STYLES

Slide 106

Slide 106 text

NO MORE HAVING TO CONTACT EVERY DEV TEAM FOR A MINOR COLOR CHANGE

Slide 107

Slide 107 text

ACCESSIBILITY

Slide 108

Slide 108 text

GITHUB.COM/SALESFORCE-UX/THEO

Slide 109

Slide 109 text

ASSETS

Slide 110

Slide 110 text

ICONS STORED IN A REPOSITORY AS SVGS

Slide 111

Slide 111 text

ICONS DISPLAY IN OUR STYLE GUIDE AUTOMATICALLY

Slide 112

Slide 112 text

ASSETS DISPLAYED IN STYLE GUIDE

Slide 113

Slide 113 text

A CHANGE IN ONE PLACE CHANGES EVERYWHERE

Slide 114

Slide 114 text

TRUE CONSISTENCY

Slide 115

Slide 115 text

COLLABORATION BETWEEN UX + ENGINEERING

Slide 116

Slide 116 text

MEDIUM.COM/SALESFORCE-UX/LIVING-DESIGN-SYSTEM-3AB1F2280EF7

Slide 117

Slide 117 text

MEDIUM.COM/SALESFORCE-UX

Slide 118

Slide 118 text

@SALESFORCEUX

Slide 119

Slide 119 text

DRIBBBLE.COM/SALESFORCE

Slide 120

Slide 120 text

DRIBBBLE.COM/TEAMSASSDESIGN

Slide 121

Slide 121 text

@TEAMSASSDESIGN

Slide 122

Slide 122 text

“BE REGULAR AND ORDERLY IN YOUR LIFE SO THAT YOU MAY BE VIOLENT AND ORIGINAL IN YOUR WORK.” — GUSTAVE FLAUBERT

Slide 123

Slide 123 text

SUSY.ODDBIRD.NET

Slide 124

Slide 124 text

SAN FRANCISCO SASS & FRONTEND MEETUP @ the mixin

Slide 125

Slide 125 text

THANK YOU