SlideShare a Scribd company logo
Taking the plunge
Why you should use new technology on client projects
@_tommyferry
Hello! • WordPress Developer
@ Pragmatic - WordPress agency
Web Developer
@ Sharpmonkeys - Digital marketing
Lead Organiser
WordCamp Brighton 2019: 16th-18th Aug.
@_tommyferry
Who’s installed the classic editor
plugin on their site(s)?
@_tommyferry
Me too
@_tommyferry
Using new technology is scary!
What are new technologies?
...and why should we care about using them?
@_tommyferry
● New Frameworks and Libraries● New WordPress Features
○ Gutenberg Editor
○ Data API
○ REST API
● New Architectural Approaches
○ Headless/decoupled CMS
○ JAMstack (e.g. Gatsby.js)
● New User Experiences
○ Progressive Web Apps (PWA)
○ Accelerated Mobile Pages (AMP)
New technology examples
○ React, Redux, and Next.js
○ Vue and Angular
○ GraphQL
● “New” Build Tools
○ Webpack, Gulp, and Grunt
○ Babel (ES6 transpiling)
○ NPM and Composer
○ Version Control
@_tommyferry
● New Frameworks and Libraries● New WordPress Features
○ Gutenberg Editor
○ Data API
○ REST API
● New Architectural Approaches
○ Headless/decoupled CMS
○ JAMstack (e.g. Gatsby.js)
● New User Experiences
○ Progressive Web Apps (PWA)
○ Accelerated Mobile Pages (AMP)
New technology examples
○ React, Redux, and Next.js
○ Vue and Angular
○ GraphQL
● “New” Build Tools
○ Webpack, Gulp, and Grunt
○ Babel (ES6 transpiling)
○ NPM and Composer
○ Version Control
New technologies can be overwhelming!
@_tommyferry
● Better developer experience
○ More flexible development
○ More efficient development
○ New features
● Better end user experience
○ Better front end performance
○ Better UI experience
○ New features
The benefits of using a new technology
It’s shiny and exciting!
@_tommyferry
● Better developer experience
○ More flexible development
○ More efficient development
○ New features
● Better end user experience
○ Better front end performance
○ Better UI experience
○ New features
The benefits of using a new technology
> It solves a problem <
It can still be shiny and exciting!
What are the risks?
(This is the scary bit...)
@_tommyferry
● We might not deliver what’s expected
● We might take too long to deliver
● We might not know the downsides
● We might find it hard to maintain
● We might fail!
The risks of using a new technology
> Expensive <
How do we minimise the risks?
...and make sure nothing blows up?
@_tommyferry
● Choose the right project and the right client
● Be transparent about the risks
○ Sell the benefits but be open and honest about the downsides
○ They might say no (and that’s okay)... but they might say YES
● Start small. One feature at a time, not a whole project!
● Give yourself more time. No, more than that...
How to minimise the risks
● Prototype. No need to be perfect, just enough to know more
● Review often. Can we still do this? Is this right?
What might that look like?
Time for a case study...
@_tommyferry
The Project: Lindy Electronics
An extensive site redevelopment
● Designs (existing brand guidelines)
● Site development
○ Multilingual site translations: German, French, and Italian
○ Content cloning between sites
○ Custom Vimeo integration
○ Content animation
● WP Multisite + Advanced Custom Fields + Starter Theme
● Bespoke templates with modular components
Some modular components (or “blocks”)Some modular components
The template designs
The ACF “editor”
@_tommyferry
The Problem
● Simple UI but not wysiwyg
● Wanted more flexible layouts
● Flexible at a component level
● Inflexible at the template level
> Editing Experience <
@_tommyferry
Benefits
● Does what they want
● Still a modular approach
● Industry & technology leading
● Allows us to try Gutenberg
Risks
● An unknown new technology
● More work = more expensive
● Not 100% stable
The Solution
> Gutenberg <
@_tommyferry
● Added Gutenberg to one of their content types
● 12 custom blocks with multiple content fields
○ Able to reuse markup from existing components
● Created modular settings panels and reused across blocks
○ Theme color, fonts, alignment, etc
● Custom block categories
● Deactivated core blocks
What we built
The old editing experience
The new editing experience
Where did we end up?
The Gute, the Berg, and the Ugly
● The client loves using it!
● Wysiwyg editor interface solves
the problem
● Plenty of editor freedom… but
not too much
● We’ve since enabled Gutenberg
on other content
The Gute
“It's so easy to
build the
website…”
photo by @jontyson on Unsplash
● Core blocks were added with
similar functionality
● No defined best practice so we
had to dig deep into Gutenberg
● Some blocks weren’t used - we
wasted effort
The Berg
photo by @charlesdeluvio on Unsplash
The Ugly
● The documentation was patchy
in areas
● Refactoring custom blocks is
hard and really slowed us down
● We should have worked with the
core blocks
photo by @ayahya09 on Unsplash
How did we benefit?
What do we actually get after all this stress?
@_tommyferry
Benefits
For us
● Continued strong
relationship with the client
● Successful project to use as a
case study for pitches
● Starting point for future
work with Gutenberg
@_tommyferry
Benefits
For me
● Better understanding of
Gutenberg
● Improved JavaScript
● Starting point for React
focussed learning
● Get to do presentations
We made it!
What did we learn?
@_tommyferry
Takeaways
● Make sure the technology solves the problem
● Get the client invested in the journey
● It’s okay to not know everything
● Learn what can be applied elsewhere
● Consolidate your new knowledge
Thank you
Any questions?
@_tommyferry

More Related Content

Similar to Taking the plunge: Why you should use new technology on client projects

2014 03-25 - GDG Nantes - Web Components avec Polymer
2014 03-25 - GDG Nantes - Web Components avec Polymer2014 03-25 - GDG Nantes - Web Components avec Polymer
2014 03-25 - GDG Nantes - Web Components avec Polymer
Horacio Gonzalez
 
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Prasid Pathak
 

Similar to Taking the plunge: Why you should use new technology on client projects (20)

Influx/Days 2017 San Francisco | Dan Vanderkam
Influx/Days 2017 San Francisco | Dan VanderkamInflux/Days 2017 San Francisco | Dan Vanderkam
Influx/Days 2017 San Francisco | Dan Vanderkam
 
2014 03-25 - GDG Nantes - Web Components avec Polymer
2014 03-25 - GDG Nantes - Web Components avec Polymer2014 03-25 - GDG Nantes - Web Components avec Polymer
2014 03-25 - GDG Nantes - Web Components avec Polymer
 
Introduction of CMS Technology to the People of Tanay, Rizal Philippines
Introduction of CMS Technology to the People of Tanay, Rizal PhilippinesIntroduction of CMS Technology to the People of Tanay, Rizal Philippines
Introduction of CMS Technology to the People of Tanay, Rizal Philippines
 
Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)
 
Meetup 18/10/2018 - Artificiële intelligentie en mobiliteit
Meetup 18/10/2018 - Artificiële intelligentie en mobiliteitMeetup 18/10/2018 - Artificiële intelligentie en mobiliteit
Meetup 18/10/2018 - Artificiële intelligentie en mobiliteit
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
 
Super lazy side projects - Hamik Mukelyan
Super lazy side projects - Hamik MukelyanSuper lazy side projects - Hamik Mukelyan
Super lazy side projects - Hamik Mukelyan
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
Prototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, PrototypesPrototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, Prototypes
 
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni MahariashaUX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
 
Always under construction: Websites that are never “finished”
Always under construction: Websites that are never “finished”Always under construction: Websites that are never “finished”
Always under construction: Websites that are never “finished”
 
Lessons Learned... Migration to DITA During Corporate Acquisitions
Lessons Learned... Migration to DITA During Corporate AcquisitionsLessons Learned... Migration to DITA During Corporate Acquisitions
Lessons Learned... Migration to DITA During Corporate Acquisitions
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
 
UXUI Shanghai Meetup March 21st
UXUI Shanghai Meetup March 21st UXUI Shanghai Meetup March 21st
UXUI Shanghai Meetup March 21st
 
Dan Crow - Becoming a Data Driven Company LEANCONF 2013
Dan Crow - Becoming a Data Driven Company LEANCONF 2013Dan Crow - Becoming a Data Driven Company LEANCONF 2013
Dan Crow - Becoming a Data Driven Company LEANCONF 2013
 
Overcoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open Source
 
How to hire top software engineers
How to hire top software engineersHow to hire top software engineers
How to hire top software engineers
 
Your first 5 PHP design patterns - ThatConference 2012
Your first 5 PHP design patterns - ThatConference 2012Your first 5 PHP design patterns - ThatConference 2012
Your first 5 PHP design patterns - ThatConference 2012
 

Recently uploaded

Recently uploaded (20)

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 

Taking the plunge: Why you should use new technology on client projects

  • 1. Taking the plunge Why you should use new technology on client projects
  • 2. @_tommyferry Hello! • WordPress Developer @ Pragmatic - WordPress agency Web Developer @ Sharpmonkeys - Digital marketing Lead Organiser WordCamp Brighton 2019: 16th-18th Aug.
  • 3. @_tommyferry Who’s installed the classic editor plugin on their site(s)?
  • 6. What are new technologies? ...and why should we care about using them?
  • 7. @_tommyferry ● New Frameworks and Libraries● New WordPress Features ○ Gutenberg Editor ○ Data API ○ REST API ● New Architectural Approaches ○ Headless/decoupled CMS ○ JAMstack (e.g. Gatsby.js) ● New User Experiences ○ Progressive Web Apps (PWA) ○ Accelerated Mobile Pages (AMP) New technology examples ○ React, Redux, and Next.js ○ Vue and Angular ○ GraphQL ● “New” Build Tools ○ Webpack, Gulp, and Grunt ○ Babel (ES6 transpiling) ○ NPM and Composer ○ Version Control
  • 8. @_tommyferry ● New Frameworks and Libraries● New WordPress Features ○ Gutenberg Editor ○ Data API ○ REST API ● New Architectural Approaches ○ Headless/decoupled CMS ○ JAMstack (e.g. Gatsby.js) ● New User Experiences ○ Progressive Web Apps (PWA) ○ Accelerated Mobile Pages (AMP) New technology examples ○ React, Redux, and Next.js ○ Vue and Angular ○ GraphQL ● “New” Build Tools ○ Webpack, Gulp, and Grunt ○ Babel (ES6 transpiling) ○ NPM and Composer ○ Version Control New technologies can be overwhelming!
  • 9. @_tommyferry ● Better developer experience ○ More flexible development ○ More efficient development ○ New features ● Better end user experience ○ Better front end performance ○ Better UI experience ○ New features The benefits of using a new technology It’s shiny and exciting!
  • 10. @_tommyferry ● Better developer experience ○ More flexible development ○ More efficient development ○ New features ● Better end user experience ○ Better front end performance ○ Better UI experience ○ New features The benefits of using a new technology > It solves a problem < It can still be shiny and exciting!
  • 11. What are the risks? (This is the scary bit...)
  • 12. @_tommyferry ● We might not deliver what’s expected ● We might take too long to deliver ● We might not know the downsides ● We might find it hard to maintain ● We might fail! The risks of using a new technology > Expensive <
  • 13. How do we minimise the risks? ...and make sure nothing blows up?
  • 14. @_tommyferry ● Choose the right project and the right client ● Be transparent about the risks ○ Sell the benefits but be open and honest about the downsides ○ They might say no (and that’s okay)... but they might say YES ● Start small. One feature at a time, not a whole project! ● Give yourself more time. No, more than that... How to minimise the risks ● Prototype. No need to be perfect, just enough to know more ● Review often. Can we still do this? Is this right?
  • 15. What might that look like? Time for a case study...
  • 16. @_tommyferry The Project: Lindy Electronics An extensive site redevelopment ● Designs (existing brand guidelines) ● Site development ○ Multilingual site translations: German, French, and Italian ○ Content cloning between sites ○ Custom Vimeo integration ○ Content animation ● WP Multisite + Advanced Custom Fields + Starter Theme ● Bespoke templates with modular components
  • 17.
  • 18.
  • 19.
  • 20. Some modular components (or “blocks”)Some modular components
  • 23. @_tommyferry The Problem ● Simple UI but not wysiwyg ● Wanted more flexible layouts ● Flexible at a component level ● Inflexible at the template level > Editing Experience <
  • 24. @_tommyferry Benefits ● Does what they want ● Still a modular approach ● Industry & technology leading ● Allows us to try Gutenberg Risks ● An unknown new technology ● More work = more expensive ● Not 100% stable The Solution > Gutenberg <
  • 25. @_tommyferry ● Added Gutenberg to one of their content types ● 12 custom blocks with multiple content fields ○ Able to reuse markup from existing components ● Created modular settings panels and reused across blocks ○ Theme color, fonts, alignment, etc ● Custom block categories ● Deactivated core blocks What we built
  • 26.
  • 27. The old editing experience
  • 28. The new editing experience
  • 29. Where did we end up? The Gute, the Berg, and the Ugly
  • 30. ● The client loves using it! ● Wysiwyg editor interface solves the problem ● Plenty of editor freedom… but not too much ● We’ve since enabled Gutenberg on other content The Gute “It's so easy to build the website…” photo by @jontyson on Unsplash
  • 31. ● Core blocks were added with similar functionality ● No defined best practice so we had to dig deep into Gutenberg ● Some blocks weren’t used - we wasted effort The Berg photo by @charlesdeluvio on Unsplash
  • 32. The Ugly ● The documentation was patchy in areas ● Refactoring custom blocks is hard and really slowed us down ● We should have worked with the core blocks photo by @ayahya09 on Unsplash
  • 33. How did we benefit? What do we actually get after all this stress?
  • 34. @_tommyferry Benefits For us ● Continued strong relationship with the client ● Successful project to use as a case study for pitches ● Starting point for future work with Gutenberg
  • 35. @_tommyferry Benefits For me ● Better understanding of Gutenberg ● Improved JavaScript ● Starting point for React focussed learning ● Get to do presentations
  • 36. We made it! What did we learn?
  • 37. @_tommyferry Takeaways ● Make sure the technology solves the problem ● Get the client invested in the journey ● It’s okay to not know everything ● Learn what can be applied elsewhere ● Consolidate your new knowledge