SlideShare a Scribd company logo
Design is SCRAP with D3.js
play & learn - david kim (http://goo.gl/lpVrK7)
x
S + CRAP … Principles of Design
●
It's not what you are thinking …
●
CRAP comes from a book called The Non-Designer's
Design Book, ironically by a guy named Robin Williams!
●
C – Contrast
●
R – Repetition
●
A – Alignment
●
P – Proximity
●
To that bedrock of CRAP, I add S – Show
●
And it was just a way to learn some basic D3.js
Setup: use Chrome browser +
let's use d3js.org
●
Bring up console: Mac (Cmd-Option-J) or PC (F12).
Basic d3: selectors
●
Inspect element shows the selector for h1 and images.
S – Show is better than no show
>
Inspect elements to see that the images are
“div#examples” then remove them in console:
d3.select(“div#examples”).remove();
C - Contrast
But it's so cool you can change it directly and see it!
d3.select("body").style("background-color", "black");
d3.select("h1").style("color","white");
It's a matter of taste what you like better ...
R - Repetition
It's more powerful, and stable-feeling to have repeat
d3.select("div#examples a.example").remove();
A - Alignment
Do you see what changed?
d3.select("div#body header").select("a").style("margin", "4em");
d3.select("h1").style("letter-spacing", "4px");
d3.select("div#examples").style("padding", "25px");
P - Proximity
The letter spacing – hard to see, but try it on your browser
d3.selectAll("p").style("letter-spacing","4px");

More Related Content

More from David Kim

Code School for Coding Bootcamps
Code School for Coding BootcampsCode School for Coding Bootcamps
Code School for Coding Bootcamps
David Kim
 
2014 Pinnacles National Park day trip
2014 Pinnacles National Park day trip2014 Pinnacles National Park day trip
2014 Pinnacles National Park day trip
David Kim
 
Web productmanagement tools
Web productmanagement toolsWeb productmanagement tools
Web productmanagement tools
David Kim
 
Mobile product teardown - TripIt vs TripCase
Mobile product teardown - TripIt vs TripCaseMobile product teardown - TripIt vs TripCase
Mobile product teardown - TripIt vs TripCase
David Kim
 
ZenPayroll home page tear down
ZenPayroll home page tear downZenPayroll home page tear down
ZenPayroll home page tear down
David Kim
 
Product order of magnitude
Product order of magnitudeProduct order of magnitude
Product order of magnitude
David Kim
 
Business principles and ideas
Business principles and ideasBusiness principles and ideas
Business principles and ideas
David Kim
 
4 kinds of people, or how to win in life
4 kinds of people, or how to win in life4 kinds of people, or how to win in life
4 kinds of people, or how to win in life
David Kim
 

More from David Kim (8)

Code School for Coding Bootcamps
Code School for Coding BootcampsCode School for Coding Bootcamps
Code School for Coding Bootcamps
 
2014 Pinnacles National Park day trip
2014 Pinnacles National Park day trip2014 Pinnacles National Park day trip
2014 Pinnacles National Park day trip
 
Web productmanagement tools
Web productmanagement toolsWeb productmanagement tools
Web productmanagement tools
 
Mobile product teardown - TripIt vs TripCase
Mobile product teardown - TripIt vs TripCaseMobile product teardown - TripIt vs TripCase
Mobile product teardown - TripIt vs TripCase
 
ZenPayroll home page tear down
ZenPayroll home page tear downZenPayroll home page tear down
ZenPayroll home page tear down
 
Product order of magnitude
Product order of magnitudeProduct order of magnitude
Product order of magnitude
 
Business principles and ideas
Business principles and ideasBusiness principles and ideas
Business principles and ideas
 
4 kinds of people, or how to win in life
4 kinds of people, or how to win in life4 kinds of people, or how to win in life
4 kinds of people, or how to win in life
 

Recently uploaded

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 

Recently uploaded (20)

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 

Design is S+CRAP

  • 1. Design is SCRAP with D3.js play & learn - david kim (http://goo.gl/lpVrK7) x
  • 2. S + CRAP … Principles of Design ● It's not what you are thinking … ● CRAP comes from a book called The Non-Designer's Design Book, ironically by a guy named Robin Williams! ● C – Contrast ● R – Repetition ● A – Alignment ● P – Proximity ● To that bedrock of CRAP, I add S – Show ● And it was just a way to learn some basic D3.js
  • 3. Setup: use Chrome browser + let's use d3js.org ● Bring up console: Mac (Cmd-Option-J) or PC (F12).
  • 4. Basic d3: selectors ● Inspect element shows the selector for h1 and images.
  • 5. S – Show is better than no show > Inspect elements to see that the images are “div#examples” then remove them in console: d3.select(“div#examples”).remove();
  • 6. C - Contrast But it's so cool you can change it directly and see it! d3.select("body").style("background-color", "black"); d3.select("h1").style("color","white"); It's a matter of taste what you like better ...
  • 7. R - Repetition It's more powerful, and stable-feeling to have repeat d3.select("div#examples a.example").remove();
  • 8. A - Alignment Do you see what changed? d3.select("div#body header").select("a").style("margin", "4em"); d3.select("h1").style("letter-spacing", "4px"); d3.select("div#examples").style("padding", "25px");
  • 9. P - Proximity The letter spacing – hard to see, but try it on your browser d3.selectAll("p").style("letter-spacing","4px");