SlideShare a Scribd company logo
1 of 9
Download to read offline
D3.JS AND DATA VISUALIZATION MEETUP:
ABSTRACTING VISUALIZATION LOGIC TO CREATE 1000S OF CHARTS
August 20, 2015
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
DFUZR
DFUZR
Dfuzr: n. /d-fūz-er/
Dfuzr is a full-service digital agency. Our small, high-
performance teams of expert creative and technology
consultants transform ideas into positive brand interactions
through media and technology.
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
VALUEVALUE
We work side-by-side with clients across the globe to
help them refine their product vision and turn ideas
into actionable strategies.
We contribute where we create the highest impact:
customer insights and research; personas and user
journeys; information architecture and content
strategy; graphic and interaction design; hi-fidelity /
production-ready prototypes; application architecture
and development; continuous integration and ongoing
refinement.
WE WORK WITH YOU TO DETERMINE
WHERE — TOGETHER — WE CAN
DELIVER THE MOST VALUE.
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
BACKGROUND
SITUATION:
Client delivers highly customized complex visualizations to customers in the financial services industry.
Their business is scaling rapidly. Their old approach of manually coding one-off charts per visualization
“works” but it will not scale and is not easily maintained.
CHALLENGE:
Architect and deliver a system that is massively scalable, easy to maintain and extend, and is capable
of generating 1000s of visualizations.
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
APPROACH
• Analyze 60+ visualizations
• Assess current off-the-shelf abstracted visualization solutions: c3, nvd3, etc.
• Because of the high level of customization required we decided no existing solution would be
suitable without significant refactoring… so we borrowed concepts :)
• Define a common, reusable set of components
• Decide how to abstract tasks <—This is where “When to use d3 for what it is good at” came from
• Ingest: data parsing/preparation
• Digest: component instantiation
• Rendering and display
• Devise a json-based configuration format
• Hand code visualizations then abstract them <—This is where our code walkthrough will focus
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
WHAT IS D3 GOOD AT?
• Extensibility
• Customization
• Drawing
• Element attribution
• Some array functions
• Magic <— Not always what we want/need
• SCALES!!!!
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
PRACTICE
Abstract a simple bar chart for re-use
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
THANK
THANK YOU
WE LOOK FORWARD TO
WORKING WITH YOU
YOU
1971 8th St. Boulder, CO 80302
303.579.9648
www.dfuzr.com
Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder

More Related Content

Similar to Dfuzr d3 Abstraction

Designing for D3.js: Planning & approach to effective data visualizations
Designing for D3.js: Planning & approach to effective data visualizationsDesigning for D3.js: Planning & approach to effective data visualizations
Designing for D3.js: Planning & approach to effective data visualizationsAnthony Chavez
 
UXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX Research
UXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX ResearchUXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX Research
UXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX ResearchTS Balaji
 
Big Data and Big Ideas: Quantitative Modeling in UX Research - T.S. Balaji
Big Data and Big Ideas: Quantitative Modeling in UX Research - T.S. BalajiBig Data and Big Ideas: Quantitative Modeling in UX Research - T.S. Balaji
Big Data and Big Ideas: Quantitative Modeling in UX Research - T.S. BalajiUXPA International
 
Responding to Context: Using data to design experiences that care about custo...
Responding to Context: Using data to design experiences that care about custo...Responding to Context: Using data to design experiences that care about custo...
Responding to Context: Using data to design experiences that care about custo...Hollie Lubbock
 
Mindbowser design portfolio
Mindbowser design portfolioMindbowser design portfolio
Mindbowser design portfolioMindbowser Inc
 
Makerstreet Propositie Ms
Makerstreet Propositie MsMakerstreet Propositie Ms
Makerstreet Propositie MsSuper Tangible
 
Data Visualization Strategies & Open Source Tools
Data Visualization Strategies & Open Source ToolsData Visualization Strategies & Open Source Tools
Data Visualization Strategies & Open Source ToolsPhase2
 
IT Consulting Services Company | Inovar Consulting
IT Consulting Services Company | Inovar ConsultingIT Consulting Services Company | Inovar Consulting
IT Consulting Services Company | Inovar ConsultingInovar Tech
 
Allied3 D Presentation 1
Allied3 D Presentation 1Allied3 D Presentation 1
Allied3 D Presentation 1allied3d
 
Communifix Case Study - Events, Pavillion & Activations - Aug 2018
Communifix Case Study - Events, Pavillion & Activations - Aug 2018Communifix Case Study - Events, Pavillion & Activations - Aug 2018
Communifix Case Study - Events, Pavillion & Activations - Aug 2018Communifix Communication Pvt. Ltd.
 
Archana Belani_SAPTAIDC_portfolio_linked_141015
Archana Belani_SAPTAIDC_portfolio_linked_141015Archana Belani_SAPTAIDC_portfolio_linked_141015
Archana Belani_SAPTAIDC_portfolio_linked_141015Archana Belani
 
The future is modulair - new approach to web design
The future is modulair - new approach to web designThe future is modulair - new approach to web design
The future is modulair - new approach to web designMariken de Ruiter
 
Deeo Design and Engineering - What We Do presentation
Deeo Design and Engineering - What We Do presentationDeeo Design and Engineering - What We Do presentation
Deeo Design and Engineering - What We Do presentationDeeo Design & Engineering
 
Blackcoffer Business development
Blackcoffer Business  developmentBlackcoffer Business  development
Blackcoffer Business developmentHarshita Singh
 
Blackcoffer Business Development
Blackcoffer Business Development Blackcoffer Business Development
Blackcoffer Business Development Harshita Singh
 

Similar to Dfuzr d3 Abstraction (20)

Designing for D3.js: Planning & approach to effective data visualizations
Designing for D3.js: Planning & approach to effective data visualizationsDesigning for D3.js: Planning & approach to effective data visualizations
Designing for D3.js: Planning & approach to effective data visualizations
 
UXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX Research
UXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX ResearchUXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX Research
UXPA 2015 Big Data & Big Ideas: The Changing Landscape of UX Research
 
Big Data and Big Ideas: Quantitative Modeling in UX Research - T.S. Balaji
Big Data and Big Ideas: Quantitative Modeling in UX Research - T.S. BalajiBig Data and Big Ideas: Quantitative Modeling in UX Research - T.S. Balaji
Big Data and Big Ideas: Quantitative Modeling in UX Research - T.S. Balaji
 
gdsc23final.pptx
gdsc23final.pptxgdsc23final.pptx
gdsc23final.pptx
 
Idea idea the app
Idea idea the appIdea idea the app
Idea idea the app
 
Responding to Context: Using data to design experiences that care about custo...
Responding to Context: Using data to design experiences that care about custo...Responding to Context: Using data to design experiences that care about custo...
Responding to Context: Using data to design experiences that care about custo...
 
Creative chaos overview code thinking
Creative chaos overview code thinkingCreative chaos overview code thinking
Creative chaos overview code thinking
 
Mindbowser design portfolio
Mindbowser design portfolioMindbowser design portfolio
Mindbowser design portfolio
 
Makerstreet Propositie Ms
Makerstreet Propositie MsMakerstreet Propositie Ms
Makerstreet Propositie Ms
 
Data Visualization Strategies & Open Source Tools
Data Visualization Strategies & Open Source ToolsData Visualization Strategies & Open Source Tools
Data Visualization Strategies & Open Source Tools
 
Dreamwaves portfolio
Dreamwaves portfolioDreamwaves portfolio
Dreamwaves portfolio
 
IT Consulting Services Company | Inovar Consulting
IT Consulting Services Company | Inovar ConsultingIT Consulting Services Company | Inovar Consulting
IT Consulting Services Company | Inovar Consulting
 
Allied3 D Presentation 1
Allied3 D Presentation 1Allied3 D Presentation 1
Allied3 D Presentation 1
 
Communifix Case Study - Events, Pavillion & Activations - Aug 2018
Communifix Case Study - Events, Pavillion & Activations - Aug 2018Communifix Case Study - Events, Pavillion & Activations - Aug 2018
Communifix Case Study - Events, Pavillion & Activations - Aug 2018
 
Archana Belani_SAPTAIDC_portfolio_linked_141015
Archana Belani_SAPTAIDC_portfolio_linked_141015Archana Belani_SAPTAIDC_portfolio_linked_141015
Archana Belani_SAPTAIDC_portfolio_linked_141015
 
The future is modulair - new approach to web design
The future is modulair - new approach to web designThe future is modulair - new approach to web design
The future is modulair - new approach to web design
 
Deeo Design and Engineering - What We Do presentation
Deeo Design and Engineering - What We Do presentationDeeo Design and Engineering - What We Do presentation
Deeo Design and Engineering - What We Do presentation
 
Blackcoffer Business development
Blackcoffer Business  developmentBlackcoffer Business  development
Blackcoffer Business development
 
Blackcoffer Business Development
Blackcoffer Business Development Blackcoffer Business Development
Blackcoffer Business Development
 
Digital Reality
Digital RealityDigital Reality
Digital Reality
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 

Dfuzr d3 Abstraction

  • 1. D3.JS AND DATA VISUALIZATION MEETUP: ABSTRACTING VISUALIZATION LOGIC TO CREATE 1000S OF CHARTS August 20, 2015 Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
  • 2. DFUZR DFUZR Dfuzr: n. /d-fūz-er/ Dfuzr is a full-service digital agency. Our small, high- performance teams of expert creative and technology consultants transform ideas into positive brand interactions through media and technology. Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
  • 3. VALUEVALUE We work side-by-side with clients across the globe to help them refine their product vision and turn ideas into actionable strategies. We contribute where we create the highest impact: customer insights and research; personas and user journeys; information architecture and content strategy; graphic and interaction design; hi-fidelity / production-ready prototypes; application architecture and development; continuous integration and ongoing refinement. WE WORK WITH YOU TO DETERMINE WHERE — TOGETHER — WE CAN DELIVER THE MOST VALUE. Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
  • 4. BACKGROUND SITUATION: Client delivers highly customized complex visualizations to customers in the financial services industry. Their business is scaling rapidly. Their old approach of manually coding one-off charts per visualization “works” but it will not scale and is not easily maintained. CHALLENGE: Architect and deliver a system that is massively scalable, easy to maintain and extend, and is capable of generating 1000s of visualizations. Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
  • 5. APPROACH • Analyze 60+ visualizations • Assess current off-the-shelf abstracted visualization solutions: c3, nvd3, etc. • Because of the high level of customization required we decided no existing solution would be suitable without significant refactoring… so we borrowed concepts :) • Define a common, reusable set of components • Decide how to abstract tasks <—This is where “When to use d3 for what it is good at” came from • Ingest: data parsing/preparation • Digest: component instantiation • Rendering and display • Devise a json-based configuration format • Hand code visualizations then abstract them <—This is where our code walkthrough will focus Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
  • 6. WHAT IS D3 GOOD AT? • Extensibility • Customization • Drawing • Element attribution • Some array functions • Magic <— Not always what we want/need • SCALES!!!! Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
  • 7. PRACTICE Abstract a simple bar chart for re-use Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder
  • 8. THANK THANK YOU WE LOOK FORWARD TO WORKING WITH YOU YOU
  • 9. 1971 8th St. Boulder, CO 80302 303.579.9648 www.dfuzr.com Twitter: @dfuzrindustries Facebook: Dfuzr Industries LinkedIn: Dfuzr Industries #D3Boulder