SlideShare a Scribd company logo
– from designing in-browser to implementing custom templates
Prototypes & Drupal
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis Join the conversation on Twitter FFWglobal FFWdcon
Hello
Morten Christoffersen
User Experience Lead
Yuriy Gerasimov
Drupal Architect
HERE, THERE AND ALL AROUND
USA Brazil UK Denmark Sweden AustriaGermany Bulgaria Ukraine Moldova Vietnam
15YEARS EXPERIENCE
420FULL TIME
EMPLOYEES
20OFFICES
WORLDWIDE
250TECHNOLOGY
SPECIALISTS
1000+SOLUTIONS DELIVERED
~100PROJECTS
RUNNING
HERE, THERE AND ALL AROUND
Agenda.Today
01 Designing in-browser
02 Prototyping setup
03 Drupal 7 implementation
04 Drupal 8 - what is next?
There will be time for questions after each section.
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis Join the conversation on Twitter FFWglobal FFWdcon
What is it and why should we do it?
Designing in-browser
What?
“Designing in-browser”
Designing websites directly in the browser using HTML, CSS and
Javascript, instead of using apps such as Photoshop or Sketch.
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Replacing static mock-ups…
.. with designing prototypes in code
Replacing static mock-ups…
.. with designing prototypes in code
Prototypes and Drupal
Why?
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Why?
1. Precision
2. Consistency
3. Interaction
4. Transparency
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Why?
1. Precision
2. Consistency · Reusable styles and components
3. Interaction · Animations and transitions
4. Transparency · Continous testing and iteration
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
1. PRECISION
? ?
1. PRECISION
Animations by FROONT (http://blog.froont.com/9-basic-principles-of-responsive-web-design/)
1. PRECISION
Animations by FROONT (http://blog.froont.com/9-basic-principles-of-responsive-web-design/)
1. PRECISION
Why?
1. Precision · Control over details and responsive behaviour
2. Consistency · Reusable styles and components
3. Interaction · Animations and transitions
4. Transparency · Continous testing and iteration
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Why?
1. Precision · Control over details and responsive behaviour
2. Consistency
3. Interaction · Animations and transitions
4. Transparency · Continous testing and iteration
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
2. CONSISTENCY
THIS IS A BUTTON
THIS IS ALSO A BUTTON
34px
19px
2. CONSISTENCY
THIS IS A BUTTON
40px
20px
THIS IS ALSO A BUTTON
34px
19px
2. CONSISTENCY
THIS IS A BUTTON
40px
20px
THIS IS ALSO A BUTTON
34px
19px
THIS IS A BUTTON
2. CONSISTENCY
.button {
padding: 20px 40px;
background-color: $blue;
font-family: $mark-pro;
}
THIS IS A BUTTON
THIS IS A BUTTON
2. CONSISTENCY
.button {
padding: 20px 40px;
background-color: $blue;
font-family: $mark-pro;
border-radius: 5px;
}
THIS IS A BUTTON
Why?
1. Precision · Control over details and responsive behaviour
2. Consistency · Reusable styles and components
3. Interaction · Animations and transitions
4. Transparency · Continous testing and iteration
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Why?
1. Precision · Control over details and responsive behaviour
2. Consistency · Reusable styles and components
3. Interaction
4. Transparency · Continous testing and iteration
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
3. INTERACTION
User flows
(logical user journeys and funnels)
3. INTERACTION
User flows
(logical user journeys and funnels)
3. INTERACTION
Feedback
(errors, confirmations, hover states, active states)
3. INTERACTION
Feedback
(errors, confirmations, hover states, active states)
3. INTERACTION
Transitions and animations
(states, context, delight)
3. INTERACTION
Transitions and animations
(states, context, delight)
Why?
1. Precision · Control over details and responsive behaviour
2. Consistency · Reusable styles and components
3. Interaction · Flows, feedback, animations and transitions
4. Transparency · Continous testing and iteration
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Why?
1. Precision · Control over details and responsive behaviour
2. Consistency · Reusable styles and components
3. Interaction · Flows, feedback, animations and transitions
4. Transparency
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
MAGICAL DESIGN
“BLACK BOX”
4. TRANSPARENCY
CLIENT INPUT DESIGN SOLUTION
?
4. TRANSPARENCY
4. TRANSPARENCY
4. TRANSPARENCY
Why?
1. Precision · Control over details and responsive behaviour
2. Consistency · Reusable styles and components
3. Interaction · Flows, feedback, animations and transitions
4. Transparency · Continuous testing and iteration
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Questions?
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geek Police
Let’s see the goods
Prototyping setup
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
NPM · Package manager for
dev tools
Bower · Package manager for
front end libs
Gulp JS · Build system and
task automation
Sass · CSS preprocessor Susy · Sass-based grid system Twig · Template engine
(actually, TwigJS)
Prototypes and Drupal
1. Start a static server with live reloading
2. Watch files and run tasks on changes
3. Compile SCSS and add vendor prefixes
4. Generate source maps
5. Compile Twig templates to HTML
6. Include data with our templates
Gulp automates all of this – so we can focus on designing!
Prototypes and Drupal
Twig
1. Output, escape and filter data
2. Presentation logic; Conditionals, loops
3. Define and override blocks
4. Include and extend templates
Prototypes and Drupal
Prototypes and Drupal
Prototypes and Drupal
Styleguide
> KSS – http://warpspire.com/kss/styleguides/
> Hologram - http://trulia.github.io/hologram/
> LivingStyleGuide -https://github.com/livingstyleguide/
livingstyleguide
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis Join the conversation on Twitter FFWglobal FFWdcon
Prototypes and Drupal
Prototypes and Drupal
Prototypes and Drupal
Questions?
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geek Police
How to implement prototypes?
Drupal 7 implementation
Backend vs. Frontend
1. Backend developers will resist
2. Their ideal workflow -- here is your data, make it beautiful
3. Frontend developers need to learn a lot of drupal theming
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Techniques
1. Panels
2. Views
3. View modes
4. Javascripts
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Panels
1. Have inventory of templates / blocks
2. Organise your templates right
3. Start with layouts
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Panels
1. Place template of each content pane in its folder
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Custom panes everywhere
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Views
1. Do not render lists with views
2. Just get results and render them on your own
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Display modes
1. Always create render nodes with view modes
2. Advantages: separate templates, entity cache, render cache
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Javascripts
1. When prototyping discuss the versions (jQuery, Bootstrap etc.)
2. Add drupal.js in the beginning
3. Use Drupal.behaviors
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Custom framework
1. Silex took 4 hours to implement the page from prototype
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
What is next?
Drupal 8
What to expect
1. Twig templates (need to figure out)
2. Javascripts more modern versions
3. Backbone and other frameworks
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
Questions?
Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geek Police
Visit us at booth 501
Thank you
Join the conversation on Twitter FFWglobal FFWdcon

More Related Content

PDF
Monkeys in Lab Coats: Applying Failure Testing Research @Netflix
PDF
Intro to FFW and Drupal
PDF
BathCamp #32 - CMS Smackdown! - Plone
PDF
Aki Salmi - Refactoring legacy code: a true story @ I T.A.K.E. Unconference 2...
KEY
YOOX Launch & Learn - Javascript as a programming language
PPTX
Your Goat Anti-Fragiled My SnowFlake! Demystifying DevOps Jargon
PPTX
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
PPTX
Drupal8 theming
Monkeys in Lab Coats: Applying Failure Testing Research @Netflix
Intro to FFW and Drupal
BathCamp #32 - CMS Smackdown! - Plone
Aki Salmi - Refactoring legacy code: a true story @ I T.A.K.E. Unconference 2...
YOOX Launch & Learn - Javascript as a programming language
Your Goat Anti-Fragiled My SnowFlake! Demystifying DevOps Jargon
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Drupal8 theming

Similar to Prototypes and Drupal (20)

KEY
Pluginize ALL the things
PDF
The Seven Habits of Highly Effective Puppet Users - PuppetConf 2014
PDF
Seven Habits of Highly Effective Puppet Users
PPTX
C# .NET - Um overview da linguagem
KEY
jsDay - Javascript as a programming language
PDF
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
PDF
Git Going With DVCS v1.5.1
PDF
Coder sans peur du changement avec la meme pas mal hexagonal architecture
PDF
DWX 2013 Nuremberg
PDF
Moving away from legacy code with BDD
ZIP
Drupal Deployment
PDF
Deployment is the new build
PDF
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
KEY
Topsy Turvy Design
PDF
Real time emotion recognition during presentations - Artemii Frolov
PDF
No, we can't do continuous delivery
PDF
The Perfect Neos Project Setup
PDF
Clearly, I Have Made Some Bad Decisions
PDF
Free The Enterprise With Ruby & Master Your Own Domain
PDF
Reark : a Reference Architecture for Android using RxJava
Pluginize ALL the things
The Seven Habits of Highly Effective Puppet Users - PuppetConf 2014
Seven Habits of Highly Effective Puppet Users
C# .NET - Um overview da linguagem
jsDay - Javascript as a programming language
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Git Going With DVCS v1.5.1
Coder sans peur du changement avec la meme pas mal hexagonal architecture
DWX 2013 Nuremberg
Moving away from legacy code with BDD
Drupal Deployment
Deployment is the new build
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
Topsy Turvy Design
Real time emotion recognition during presentations - Artemii Frolov
No, we can't do continuous delivery
The Perfect Neos Project Setup
Clearly, I Have Made Some Bad Decisions
Free The Enterprise With Ruby & Master Your Own Domain
Reark : a Reference Architecture for Android using RxJava
Ad

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Cloud computing and distributed systems.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
MIND Revenue Release Quarter 2 2025 Press Release
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Cloud computing and distributed systems.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Dropbox Q2 2025 Financial Results & Investor Presentation
Understanding_Digital_Forensics_Presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
Ad

Prototypes and Drupal

  • 1. – from designing in-browser to implementing custom templates Prototypes & Drupal Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis Join the conversation on Twitter FFWglobal FFWdcon
  • 2. Hello Morten Christoffersen User Experience Lead Yuriy Gerasimov Drupal Architect
  • 3. HERE, THERE AND ALL AROUND USA Brazil UK Denmark Sweden AustriaGermany Bulgaria Ukraine Moldova Vietnam
  • 5. Agenda.Today 01 Designing in-browser 02 Prototyping setup 03 Drupal 7 implementation 04 Drupal 8 - what is next? There will be time for questions after each section. Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis Join the conversation on Twitter FFWglobal FFWdcon
  • 6. What is it and why should we do it? Designing in-browser
  • 7. What? “Designing in-browser” Designing websites directly in the browser using HTML, CSS and Javascript, instead of using apps such as Photoshop or Sketch. Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 8. Replacing static mock-ups… .. with designing prototypes in code
  • 9. Replacing static mock-ups… .. with designing prototypes in code
  • 11. Why? Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 12. Why? 1. Precision 2. Consistency 3. Interaction 4. Transparency Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 13. Why? 1. Precision 2. Consistency · Reusable styles and components 3. Interaction · Animations and transitions 4. Transparency · Continous testing and iteration Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 16. Animations by FROONT (http://blog.froont.com/9-basic-principles-of-responsive-web-design/) 1. PRECISION
  • 17. Animations by FROONT (http://blog.froont.com/9-basic-principles-of-responsive-web-design/) 1. PRECISION
  • 18. Why? 1. Precision · Control over details and responsive behaviour 2. Consistency · Reusable styles and components 3. Interaction · Animations and transitions 4. Transparency · Continous testing and iteration Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 19. Why? 1. Precision · Control over details and responsive behaviour 2. Consistency 3. Interaction · Animations and transitions 4. Transparency · Continous testing and iteration Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 20. 2. CONSISTENCY THIS IS A BUTTON THIS IS ALSO A BUTTON 34px 19px
  • 21. 2. CONSISTENCY THIS IS A BUTTON 40px 20px THIS IS ALSO A BUTTON 34px 19px
  • 22. 2. CONSISTENCY THIS IS A BUTTON 40px 20px THIS IS ALSO A BUTTON 34px 19px
  • 23. THIS IS A BUTTON 2. CONSISTENCY .button { padding: 20px 40px; background-color: $blue; font-family: $mark-pro; } THIS IS A BUTTON
  • 24. THIS IS A BUTTON 2. CONSISTENCY .button { padding: 20px 40px; background-color: $blue; font-family: $mark-pro; border-radius: 5px; } THIS IS A BUTTON
  • 25. Why? 1. Precision · Control over details and responsive behaviour 2. Consistency · Reusable styles and components 3. Interaction · Animations and transitions 4. Transparency · Continous testing and iteration Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 26. Why? 1. Precision · Control over details and responsive behaviour 2. Consistency · Reusable styles and components 3. Interaction 4. Transparency · Continous testing and iteration Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 27. 3. INTERACTION User flows (logical user journeys and funnels)
  • 28. 3. INTERACTION User flows (logical user journeys and funnels)
  • 29. 3. INTERACTION Feedback (errors, confirmations, hover states, active states)
  • 30. 3. INTERACTION Feedback (errors, confirmations, hover states, active states)
  • 31. 3. INTERACTION Transitions and animations (states, context, delight)
  • 32. 3. INTERACTION Transitions and animations (states, context, delight)
  • 33. Why? 1. Precision · Control over details and responsive behaviour 2. Consistency · Reusable styles and components 3. Interaction · Flows, feedback, animations and transitions 4. Transparency · Continous testing and iteration Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 34. Why? 1. Precision · Control over details and responsive behaviour 2. Consistency · Reusable styles and components 3. Interaction · Flows, feedback, animations and transitions 4. Transparency Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 35. MAGICAL DESIGN “BLACK BOX” 4. TRANSPARENCY CLIENT INPUT DESIGN SOLUTION ?
  • 39. Why? 1. Precision · Control over details and responsive behaviour 2. Consistency · Reusable styles and components 3. Interaction · Flows, feedback, animations and transitions 4. Transparency · Continuous testing and iteration Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 40. Questions? Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geek Police
  • 41. Let’s see the goods Prototyping setup
  • 42. Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis NPM · Package manager for dev tools Bower · Package manager for front end libs Gulp JS · Build system and task automation Sass · CSS preprocessor Susy · Sass-based grid system Twig · Template engine (actually, TwigJS)
  • 44. 1. Start a static server with live reloading 2. Watch files and run tasks on changes 3. Compile SCSS and add vendor prefixes 4. Generate source maps 5. Compile Twig templates to HTML 6. Include data with our templates Gulp automates all of this – so we can focus on designing!
  • 46. Twig 1. Output, escape and filter data 2. Presentation logic; Conditionals, loops 3. Define and override blocks 4. Include and extend templates
  • 50. Styleguide > KSS – http://warpspire.com/kss/styleguides/ > Hologram - http://trulia.github.io/hologram/ > LivingStyleGuide -https://github.com/livingstyleguide/ livingstyleguide Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis Join the conversation on Twitter FFWglobal FFWdcon
  • 54. Questions? Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geek Police
  • 55. How to implement prototypes? Drupal 7 implementation
  • 56. Backend vs. Frontend 1. Backend developers will resist 2. Their ideal workflow -- here is your data, make it beautiful 3. Frontend developers need to learn a lot of drupal theming Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 57. Techniques 1. Panels 2. Views 3. View modes 4. Javascripts Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 58. Panels 1. Have inventory of templates / blocks 2. Organise your templates right 3. Start with layouts Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 59. Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 60. Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 61. Panels 1. Place template of each content pane in its folder Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 62. Custom panes everywhere Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 63. Views 1. Do not render lists with views 2. Just get results and render them on your own Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 64. Display modes 1. Always create render nodes with view modes 2. Advantages: separate templates, entity cache, render cache Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 65. Javascripts 1. When prototyping discuss the versions (jQuery, Bootstrap etc.) 2. Add drupal.js in the beginning 3. Use Drupal.behaviors Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 66. Custom framework 1. Silex took 4 hours to implement the page from prototype Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 68. What to expect 1. Twig templates (need to figure out) 2. Javascripts more modern versions 3. Backbone and other frameworks Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geekpolis
  • 69. Questions? Formerly known as Bysted, Propeople, Blink Reaction, Chainbizz and Geek Police
  • 70. Visit us at booth 501 Thank you Join the conversation on Twitter FFWglobal FFWdcon