SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Building Mobile Dashboard
Using D3.js & Google Charts
Ramanathan Pachaiyappan
Sr. Software Engineer
Comity Designs Inc.
@rpachaiyappan
Agenda
Building Mobile Web Dashboards/Visualization app which
works in multiple devices using Web Technologies.
We use JQuery Mobile, Google Charts/D3, Force.com to build
our app.
Responsive Design
RWD consist of 1. CSS Media Queries, 2. Fluid Grid, 3. Flexible Image/Media
(as per JQM site)
Progressive Enhancement

Like Un-obstrusive Javascript, provide basic
HTML feature which is accessible across all

IE 6

browser and enhance user experience using
CSS & Javascript based on Browser Grade
(JQM grades browser as A, B, C)

IE
7/8

IE 9

IE
10
JQuery Mobile(JQM) - Why?
▪ Based on Response Design & Progressive Enhancement
Philosophy
▪ Touch Optimized cross platform UI Framework
▪ Provides Event Handling, Navigation, History, UI
Widgets, Theme roller
▪ Easy to get started with application design using JQM if
you used JQuery before
JQM Page
JQM Multi-Page
Popups,
Navbars, DataTheme, Panel
Charts/Visualization – Google Charts
• Google Charts – Based on HTML/JS/SVG/VML
technologies
• Easy to use and well documented. Provides out of the box
charts (data table, pie, bar, line, bubble, geo, etc).
• Self Optimizing – Scale, Input Domain, Output Range,
Width/Height
• DataTable is the base data structure for all charts, its
analogues to excel.
Google Charts
Charts/Visualization – D3.JS
• D3.JS stands for Data Driven Documents
• An interactive visualization library for building your own
Charts/Visualization or any shapes using SVG.
• There is dependency on SVG which provides seamless
experience across all browser.
• D3 steps – Load, Bind, Transform & Transition of elements in
DOM
Bar Chart in D3
Force.com Features
Visualforce Remoting – Using Javascript you can call Visualforce controller
methods and get results through call back mechanism, its simple and elegant
option
Analytics API (REST) – It’s a new feature, GA in Winter 14, using this API you
can access your tabular/summary/matrix report data and meta data to build
some cool charts/visualization and automates complex aggregation using
reports
Demo
Limits
1. Script Limit/CPU Timeout
2. Analytics API 2K rows
3. SOAP/REST API 2K Rows per request (Query more pattern)
4. Rollups per Object (10), Roll ups can't have date time filter, SOQL query
rows 50K
5. Viewstate 6MB
Scalability
Snapshots - See if you can solve your use case with standard
analytics snapshots which helps to pre-aggregate rows (Materialized
View like) into desired format
Batch Apex - Consider writing batch apex for large data sets with
custom snapshots which provides more flexible choices (ex:
traversing account hierarchy with 5 level depth which can’t be done
using standard analytics snapshots)
All about Comity Designs Inc

Salesforce CRM Product Development and Implementation
Solution Provider. http://Salesforce CRM Product
Development and Implementation Solution Provider. http:
//www.comitydesigns.com
Resources
Source Code Github

JQM

https://github.com/ramanathansj/mobile-dashboard-dreamforce-2013

http://api.jquerymobile.com

Force.com Reference

http://view.jquerymobile.com/1.3.2/dist/demoshttp://view.jquerymobile.com/1.
3.2/dist/demos/

http://www2.developerforce.com/en/mobile/getting-started

RWD

http://blogs.developerforce.com/developer-relations/2013/09/using-thesalesforce-analytics-api-on-a-visualforce-page.htm

http://alistapart.com/article/responsive-web-design

http://www.salesforce.com/us/developer/docs/pages/

Google Charts

http://blogs.developerforce.com/engineering/2013/08/designing-dashboardsand-reports-for-force-com-implementations-with-large-data-volumes.html

https://developers.google.com/chart/interactive/docs/gallery

https://github.com/developerforce/Force.com-JavaScript-REST-Toolkit

https://code.google.com/apis/ajax/playground/?type=visualization

http://www.salesforce.com/us/developer/docs/api_analytics/index.htm

D3.JS

http://view.jquerymobile.com/1.3.2/dist/demos/intro/rwd.html

https://developers.google.com/chart/interactive/docs/reference

http://d3js.org
https://github.com/mbostock/d3/wiki/API-Reference
http://biovisualize.github.io/d3visualization/
http://www.youtube.com/user/d3Vienno
SVG
http://www.w3schools.com/svg/
Ramanathan
Pachaiyappan
Comity Designs Inc, Sr.
Software Engineer
@rpachaiyappan
Building Mobile Dashboards With D3 and Google Charts

Mais conteúdo relacionado

Mais procurados

Microsoft Modern Analytics
Microsoft Modern AnalyticsMicrosoft Modern Analytics
Microsoft Modern AnalyticsMSDEVMTL
 
Power BI for Data Science and Machine Learning - Data Science Portugal meetup
Power BI for Data Science and Machine Learning  - Data Science Portugal meetupPower BI for Data Science and Machine Learning  - Data Science Portugal meetup
Power BI for Data Science and Machine Learning - Data Science Portugal meetupRui Quintino
 
SQL Server Reporting Services 2016 Features
SQL Server Reporting Services 2016 FeaturesSQL Server Reporting Services 2016 Features
SQL Server Reporting Services 2016 FeaturesHARIHARAN R
 
Deploy PowerPivot Enterprise Wide
Deploy PowerPivot Enterprise WideDeploy PowerPivot Enterprise Wide
Deploy PowerPivot Enterprise Widewww.panorama.com
 
Compelling SAS Reports/Dashboard/Applications with Rich Internet Applications
Compelling SAS Reports/Dashboard/Applications with Rich Internet ApplicationsCompelling SAS Reports/Dashboard/Applications with Rich Internet Applications
Compelling SAS Reports/Dashboard/Applications with Rich Internet Applicationssimienc
 
Create Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechCon
Create Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechConCreate Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechCon
Create Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechConSPTechCon
 
Data Visualization with Microsoft Reporting Services
Data Visualization with Microsoft Reporting ServicesData Visualization with Microsoft Reporting Services
Data Visualization with Microsoft Reporting ServicesChris Price
 
Power BI Deep Dive - Tips and Tricks From the Preview Program
Power BI Deep Dive - Tips and Tricks From the Preview ProgramPower BI Deep Dive - Tips and Tricks From the Preview Program
Power BI Deep Dive - Tips and Tricks From the Preview ProgramJohn White
 
01 mvp skill_power platform overview
01 mvp skill_power platform overview01 mvp skill_power platform overview
01 mvp skill_power platform overviewKumton Suttiraksiri
 
Understanding Power BI Data Model
Understanding Power BI Data ModelUnderstanding Power BI Data Model
Understanding Power BI Data ModelHARIHARAN R
 
SAP BI Dashboards (Xcelsius) - Tutorial1
SAP BI Dashboards (Xcelsius) - Tutorial1SAP BI Dashboards (Xcelsius) - Tutorial1
SAP BI Dashboards (Xcelsius) - Tutorial1Obily W
 
Power BI Days - Power Bi and PowerShell
Power BI Days - Power Bi and PowerShellPower BI Days - Power Bi and PowerShell
Power BI Days - Power Bi and PowerShellGaston Cruz
 
04 power apps-platform-boonthawee
04 power apps-platform-boonthawee04 power apps-platform-boonthawee
04 power apps-platform-boonthaweeKumton Suttiraksiri
 
Dynamics 365 saturday 2018 - data migration story
Dynamics 365 saturday   2018 - data migration storyDynamics 365 saturday   2018 - data migration story
Dynamics 365 saturday 2018 - data migration storyAndre Margono
 
SQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BISQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BIMSDEVMTL
 
Big data models with Power BI - Composite Models and Aggregations
Big data models with Power BI  - Composite Models and AggregationsBig data models with Power BI  - Composite Models and Aggregations
Big data models with Power BI - Composite Models and AggregationsGaston Cruz
 
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI Builder
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI BuilderDynamicsPower! Melbourne AI for everyone: Virtual Agent & AI Builder
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI BuilderAndre Margono
 

Mais procurados (20)

Microsoft Modern Analytics
Microsoft Modern AnalyticsMicrosoft Modern Analytics
Microsoft Modern Analytics
 
Power BI for Data Science and Machine Learning - Data Science Portugal meetup
Power BI for Data Science and Machine Learning  - Data Science Portugal meetupPower BI for Data Science and Machine Learning  - Data Science Portugal meetup
Power BI for Data Science and Machine Learning - Data Science Portugal meetup
 
SQL Server Reporting Services 2016 Features
SQL Server Reporting Services 2016 FeaturesSQL Server Reporting Services 2016 Features
SQL Server Reporting Services 2016 Features
 
Deploy PowerPivot Enterprise Wide
Deploy PowerPivot Enterprise WideDeploy PowerPivot Enterprise Wide
Deploy PowerPivot Enterprise Wide
 
Compelling SAS Reports/Dashboard/Applications with Rich Internet Applications
Compelling SAS Reports/Dashboard/Applications with Rich Internet ApplicationsCompelling SAS Reports/Dashboard/Applications with Rich Internet Applications
Compelling SAS Reports/Dashboard/Applications with Rich Internet Applications
 
Create Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechCon
Create Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechConCreate Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechCon
Create Dynamic Interactive Reports Using Power View by Peter Serzo - SPTechCon
 
Data Visualization with Microsoft Reporting Services
Data Visualization with Microsoft Reporting ServicesData Visualization with Microsoft Reporting Services
Data Visualization with Microsoft Reporting Services
 
Power BI Deep Dive - Tips and Tricks From the Preview Program
Power BI Deep Dive - Tips and Tricks From the Preview ProgramPower BI Deep Dive - Tips and Tricks From the Preview Program
Power BI Deep Dive - Tips and Tricks From the Preview Program
 
01 mvp skill_power platform overview
01 mvp skill_power platform overview01 mvp skill_power platform overview
01 mvp skill_power platform overview
 
Understanding Power BI Data Model
Understanding Power BI Data ModelUnderstanding Power BI Data Model
Understanding Power BI Data Model
 
Roadmap slides
Roadmap slidesRoadmap slides
Roadmap slides
 
SAP BI Dashboards (Xcelsius) - Tutorial1
SAP BI Dashboards (Xcelsius) - Tutorial1SAP BI Dashboards (Xcelsius) - Tutorial1
SAP BI Dashboards (Xcelsius) - Tutorial1
 
Www.sandeepsachan.com
Www.sandeepsachan.comWww.sandeepsachan.com
Www.sandeepsachan.com
 
02 power bi in a day champ
02 power bi in a day champ02 power bi in a day champ
02 power bi in a day champ
 
Power BI Days - Power Bi and PowerShell
Power BI Days - Power Bi and PowerShellPower BI Days - Power Bi and PowerShell
Power BI Days - Power Bi and PowerShell
 
04 power apps-platform-boonthawee
04 power apps-platform-boonthawee04 power apps-platform-boonthawee
04 power apps-platform-boonthawee
 
Dynamics 365 saturday 2018 - data migration story
Dynamics 365 saturday   2018 - data migration storyDynamics 365 saturday   2018 - data migration story
Dynamics 365 saturday 2018 - data migration story
 
SQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BISQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BI
 
Big data models with Power BI - Composite Models and Aggregations
Big data models with Power BI  - Composite Models and AggregationsBig data models with Power BI  - Composite Models and Aggregations
Big data models with Power BI - Composite Models and Aggregations
 
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI Builder
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI BuilderDynamicsPower! Melbourne AI for everyone: Virtual Agent & AI Builder
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI Builder
 

Destaque

Salesforce1 Analytics API Hands-On Training
Salesforce1 Analytics API Hands-On TrainingSalesforce1 Analytics API Hands-On Training
Salesforce1 Analytics API Hands-On TrainingSalesforce Developers
 
Data to Go: Mobile API Design
Data to Go: Mobile API DesignData to Go: Mobile API Design
Data to Go: Mobile API DesignChuck Greb
 
Google Charts for native Android apps
Google Charts for native Android appsGoogle Charts for native Android apps
Google Charts for native Android appsChuck Greb
 
Veracity Embracing Uncertainty
Veracity Embracing UncertaintyVeracity Embracing Uncertainty
Veracity Embracing UncertaintyGalen Murdock
 
How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...
How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...
How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...Ari Lerner
 
Talk on Google Charts API at GDays Bangladesh
Talk on Google Charts API at GDays BangladeshTalk on Google Charts API at GDays Bangladesh
Talk on Google Charts API at GDays BangladeshSyed Rakib Al Hasan
 
Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)
Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)
Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)Maximilian Lenkeit
 
Introduction to data visualisation with D3
Introduction to data visualisation with D3Introduction to data visualisation with D3
Introduction to data visualisation with D3Aleksander Fabijan
 
Open Source Web Charts
Open Source Web ChartsOpen Source Web Charts
Open Source Web ChartsHaNJiN Lee
 
D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015Brian Coffey
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

Destaque (17)

Salesforce1 Analytics API Hands-On Training
Salesforce1 Analytics API Hands-On TrainingSalesforce1 Analytics API Hands-On Training
Salesforce1 Analytics API Hands-On Training
 
Data to Go: Mobile API Design
Data to Go: Mobile API DesignData to Go: Mobile API Design
Data to Go: Mobile API Design
 
Google Charts for native Android apps
Google Charts for native Android appsGoogle Charts for native Android apps
Google Charts for native Android apps
 
Veracity Embracing Uncertainty
Veracity Embracing UncertaintyVeracity Embracing Uncertainty
Veracity Embracing Uncertainty
 
How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...
How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...
How to create a 3.2 billion dollar business in 20 minutes: combining AngularJ...
 
Introduction to D3
Introduction to D3Introduction to D3
Introduction to D3
 
Google charts
Google chartsGoogle charts
Google charts
 
Google chart
Google chartGoogle chart
Google chart
 
Talk on Google Charts API at GDays Bangladesh
Talk on Google Charts API at GDays BangladeshTalk on Google Charts API at GDays Bangladesh
Talk on Google Charts API at GDays Bangladesh
 
Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)
Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)
Building Custom Controls to Visualize Data (UI5Con 2016 Frankfurt)
 
D3
D3D3
D3
 
Introduction to data visualisation with D3
Introduction to data visualisation with D3Introduction to data visualisation with D3
Introduction to data visualisation with D3
 
Google charts
Google chartsGoogle charts
Google charts
 
Open Source Web Charts
Open Source Web ChartsOpen Source Web Charts
Open Source Web Charts
 
D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015
 
D3.js workshop
D3.js workshopD3.js workshop
D3.js workshop
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Semelhante a Building Mobile Dashboards With D3 and Google Charts

Station Four: Web Redesign Presentation
Station Four: Web Redesign PresentationStation Four: Web Redesign Presentation
Station Four: Web Redesign Presentationcolberding
 
Vivek_Ojha (1)
Vivek_Ojha (1)Vivek_Ojha (1)
Vivek_Ojha (1)Vivek Ojha
 
Sanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev Kumar Paul
 
Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)Rajeev Singh
 
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UIChandra Sekhar
 
Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead Nitesh Dasari
 
Swaminathan_JAVA_JEE_13_Years_IT_Experience
Swaminathan_JAVA_JEE_13_Years_IT_ExperienceSwaminathan_JAVA_JEE_13_Years_IT_Experience
Swaminathan_JAVA_JEE_13_Years_IT_ExperienceSwaminathan Umapathy
 
Sid K
Sid KSid K
Sid KSid K
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechDivante
 
Introduction to Visual studio 2012
Introduction to Visual studio 2012 Introduction to Visual studio 2012
Introduction to Visual studio 2012 Prashant Chaudhary
 
dan_labrecque_web_resume
dan_labrecque_web_resumedan_labrecque_web_resume
dan_labrecque_web_resumeDan Labrecque
 

Semelhante a Building Mobile Dashboards With D3 and Google Charts (20)

Nilesh umaretiya CV 2016
Nilesh umaretiya CV 2016Nilesh umaretiya CV 2016
Nilesh umaretiya CV 2016
 
Station Four: Web Redesign Presentation
Station Four: Web Redesign PresentationStation Four: Web Redesign Presentation
Station Four: Web Redesign Presentation
 
Vivek_Ojha (1)
Vivek_Ojha (1)Vivek_Ojha (1)
Vivek_Ojha (1)
 
Ziad Resume_New
Ziad Resume_NewZiad Resume_New
Ziad Resume_New
 
Sanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-Latest
 
Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)
 
VenkateshVG
VenkateshVGVenkateshVG
VenkateshVG
 
Spsmi13 charts
Spsmi13 chartsSpsmi13 charts
Spsmi13 charts
 
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UI
 
Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead
 
Rinzu_Dongol-CV
Rinzu_Dongol-CVRinzu_Dongol-CV
Rinzu_Dongol-CV
 
Swaminathan_JAVA_JEE_13_Years_IT_Experience
Swaminathan_JAVA_JEE_13_Years_IT_ExperienceSwaminathan_JAVA_JEE_13_Years_IT_Experience
Swaminathan_JAVA_JEE_13_Years_IT_Experience
 
Sid K
Sid KSid K
Sid K
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
Introduction to Visual studio 2012
Introduction to Visual studio 2012 Introduction to Visual studio 2012
Introduction to Visual studio 2012
 
PRASHANT RATHOR
PRASHANT RATHORPRASHANT RATHOR
PRASHANT RATHOR
 
Ranjith_Reddy Yallampalli Resume
Ranjith_Reddy Yallampalli ResumeRanjith_Reddy Yallampalli Resume
Ranjith_Reddy Yallampalli Resume
 
AHSAN_Mosaddek0312
AHSAN_Mosaddek0312AHSAN_Mosaddek0312
AHSAN_Mosaddek0312
 
dan_labrecque_web_resume
dan_labrecque_web_resumedan_labrecque_web_resume
dan_labrecque_web_resume
 
Ashish Garg
Ashish GargAshish Garg
Ashish Garg
 

Mais de Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mais de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Building Mobile Dashboards With D3 and Google Charts

  • 1. Building Mobile Dashboard Using D3.js & Google Charts Ramanathan Pachaiyappan Sr. Software Engineer Comity Designs Inc. @rpachaiyappan
  • 2. Agenda Building Mobile Web Dashboards/Visualization app which works in multiple devices using Web Technologies. We use JQuery Mobile, Google Charts/D3, Force.com to build our app.
  • 3. Responsive Design RWD consist of 1. CSS Media Queries, 2. Fluid Grid, 3. Flexible Image/Media (as per JQM site)
  • 4. Progressive Enhancement Like Un-obstrusive Javascript, provide basic HTML feature which is accessible across all IE 6 browser and enhance user experience using CSS & Javascript based on Browser Grade (JQM grades browser as A, B, C) IE 7/8 IE 9 IE 10
  • 5. JQuery Mobile(JQM) - Why? ▪ Based on Response Design & Progressive Enhancement Philosophy ▪ Touch Optimized cross platform UI Framework ▪ Provides Event Handling, Navigation, History, UI Widgets, Theme roller ▪ Easy to get started with application design using JQM if you used JQuery before
  • 9. Charts/Visualization – Google Charts • Google Charts – Based on HTML/JS/SVG/VML technologies • Easy to use and well documented. Provides out of the box charts (data table, pie, bar, line, bubble, geo, etc). • Self Optimizing – Scale, Input Domain, Output Range, Width/Height • DataTable is the base data structure for all charts, its analogues to excel.
  • 11. Charts/Visualization – D3.JS • D3.JS stands for Data Driven Documents • An interactive visualization library for building your own Charts/Visualization or any shapes using SVG. • There is dependency on SVG which provides seamless experience across all browser. • D3 steps – Load, Bind, Transform & Transition of elements in DOM
  • 13. Force.com Features Visualforce Remoting – Using Javascript you can call Visualforce controller methods and get results through call back mechanism, its simple and elegant option Analytics API (REST) – It’s a new feature, GA in Winter 14, using this API you can access your tabular/summary/matrix report data and meta data to build some cool charts/visualization and automates complex aggregation using reports
  • 14. Demo
  • 15. Limits 1. Script Limit/CPU Timeout 2. Analytics API 2K rows 3. SOAP/REST API 2K Rows per request (Query more pattern) 4. Rollups per Object (10), Roll ups can't have date time filter, SOQL query rows 50K 5. Viewstate 6MB
  • 16. Scalability Snapshots - See if you can solve your use case with standard analytics snapshots which helps to pre-aggregate rows (Materialized View like) into desired format Batch Apex - Consider writing batch apex for large data sets with custom snapshots which provides more flexible choices (ex: traversing account hierarchy with 5 level depth which can’t be done using standard analytics snapshots)
  • 17. All about Comity Designs Inc Salesforce CRM Product Development and Implementation Solution Provider. http://Salesforce CRM Product Development and Implementation Solution Provider. http: //www.comitydesigns.com
  • 18. Resources Source Code Github JQM https://github.com/ramanathansj/mobile-dashboard-dreamforce-2013 http://api.jquerymobile.com Force.com Reference http://view.jquerymobile.com/1.3.2/dist/demoshttp://view.jquerymobile.com/1. 3.2/dist/demos/ http://www2.developerforce.com/en/mobile/getting-started RWD http://blogs.developerforce.com/developer-relations/2013/09/using-thesalesforce-analytics-api-on-a-visualforce-page.htm http://alistapart.com/article/responsive-web-design http://www.salesforce.com/us/developer/docs/pages/ Google Charts http://blogs.developerforce.com/engineering/2013/08/designing-dashboardsand-reports-for-force-com-implementations-with-large-data-volumes.html https://developers.google.com/chart/interactive/docs/gallery https://github.com/developerforce/Force.com-JavaScript-REST-Toolkit https://code.google.com/apis/ajax/playground/?type=visualization http://www.salesforce.com/us/developer/docs/api_analytics/index.htm D3.JS http://view.jquerymobile.com/1.3.2/dist/demos/intro/rwd.html https://developers.google.com/chart/interactive/docs/reference http://d3js.org https://github.com/mbostock/d3/wiki/API-Reference http://biovisualize.github.io/d3visualization/ http://www.youtube.com/user/d3Vienno SVG http://www.w3schools.com/svg/
  • 19. Ramanathan Pachaiyappan Comity Designs Inc, Sr. Software Engineer @rpachaiyappan