SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Using Web Standards to
create Interactive Data
 Visualizations for the
          Web


   Nicolas Garcia Belmonte - Dec. 2009
Agenda

• JavaScript InfoVis Toolkit Overview
• Web Standards, JavaScript and Graphics
• What’s next for the JIT (v. 1.2)
• What’s next for Web Standards (WebGL)
• Introducing V8-GL
JavaScript InfoVis Toolkit

• Web Based Interactive Data Visualizations
• Multiple Graph/Tree Layouts
• Modular, Extensible, Composable
• Web Standards Based
Graph/Tree Layouts
Modular
       Grab only what you need

HyperTree
                                    SunBurst
TreeMap
             JavaScript InfoVis
                                  ForceDirected
                  Toolkit
 RGraph
                                      Icicle
SpaceTree
Extensible
• Define custom Nodes and Edges
• Add Custom Animations (linear,
  Elastic, etc.)
Composable
Add Visualizations as Node/Edge rendering
     functions to other visualizations
Web Standards Based
Web Standards
          JavaScript


• Dynamic, Expressive, Powerful
• Support in all Browsers
• Large Community
Web Standards
JavaScript: Language Features

 • Dynamic
 • Weakly typed
 • Differential Inheritance
 • First-class Functions
 • Object Mutability
 • Booleans as Defaults
 • etc.
Web Standards
                                              JavaScript: 100% Faster
SunSpider runs per minute




                            65.00

                            48.75

                            32.50

                            16.25

                               0
                                    WebKit 3.0          WebKit 3.1                SquirrelFish SquirrelFish X
                                         Source: http://webkit.org/blog/214/introducing-squirrelfish-extreme/
Web Standards
Everybody wants to make JavaScript Faster




   • Apple Safari - SquirrelFish Extreme
   • Mozilla Firefox - TraceMonkey
   • Google Chrome - V8
   • Opera - Carakan
Web Standards


   HTML Document
Web Standards
  HTML5
                          Header

• Audio                            Nav
• Video                            Form
• Drag n Drop   Section


• Canvas                           Image


• Storage                 Footer
• etc.
Web Standards
   CSS3
                           Header


• Gradients                         Nav

• Text Effects   Section
                                    Form

• Transforms                        Image
• Animations
• etc.                     Footer
Canvas
“A Scriptable Image Tag”
Canvas
                    Initialization


<canvas id=”tutorial” width=500 height=500></canvas>



  var canvas = document.getElementById(“tutorial”);
  var ctx = canvas.getContext(“2d”);
Canvas
          Drawing Shapes


ctx.fillStyle = “rgb(200, 0, 0)”;
ctx.fillRect(10, 10, 55, 50);

ctx.fillStyle = “rgba(0, 0, 200, 0.5)”;
ctx.fillRect(30, 30, 55, 50);
Canvas

    Benefits            Weak Points
Good Performance   No notion of elements
   Simple API      Code gets too verbose
Why JS + Canvas?

 • Native Browser Technologies
 • Seamless Integration
 • High Interoperability
 • No third-party libraries
 • Access to a large community
JavaScript InfoVis Toolkit
      Applications
  Visualizing Linux Package Dependencies




          Source: http://demos.thejit.org/example/rgraph/example1/
JavaScript InfoVis Toolkit
      Applications
   Visualizing Artist-Band Relationships




         Source: http://demos.thejit.org/example/hypertree/example1/
JavaScript InfoVis Toolkit
      Applications
    Some (public) user Applications

        CRS Management UI
       ROOT project at CERN
     Project at Macalester College
        Game Stats at Dystopia
     Neural Network Visualization
What’s next for the JIT?
                Version 1.2

• SunBurst, Icicle and
  Force-Directed
  Visualizations
• Mouse Controlled
  Transforms
• And more...
What’s next for the
            Web?

                    WebGL



Already available in WebKit and Firefox nightlies (*)
V8-GL
Write Hardware Accelerated Desktop Graphics with JS




           http://github.com/philogb/v8-gl/
Questions?

  philogb@gmail.com
   http://blog.thejit.org
http://github.com/philogb
    http://thejit.org

Más contenido relacionado

La actualidad más candente

Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotchaphegaro
 
Building single page apps with Durandal js
Building single page apps with Durandal jsBuilding single page apps with Durandal js
Building single page apps with Durandal jsAlex Andreu Sánchez
 
From Junior Dev to Senior Dev
From Junior Dev to Senior DevFrom Junior Dev to Senior Dev
From Junior Dev to Senior DevJohn Reginald
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgDr. Arif Wider
 
Sinatra and Heroku - A comfortable ruby way for web service
Sinatra and Heroku - A comfortable ruby way for web serviceSinatra and Heroku - A comfortable ruby way for web service
Sinatra and Heroku - A comfortable ruby way for web serviceTony Zhang
 
Building Rich Internet Apps with Silverlight 2
Building Rich Internet Apps with Silverlight 2Building Rich Internet Apps with Silverlight 2
Building Rich Internet Apps with Silverlight 2Microsoft Iceland
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.jsKasey McCurdy
 
ApacheCon North America - Introduction to FlexJS
ApacheCon North America - Introduction to FlexJSApacheCon North America - Introduction to FlexJS
ApacheCon North America - Introduction to FlexJSYishay Weiss
 
Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)David Trattnig
 
The Changing Face Of The Web
The Changing Face Of The WebThe Changing Face Of The Web
The Changing Face Of The WebDavid Chou
 
Next Generation UI
Next Generation UINext Generation UI
Next Generation UIvmalinouski
 
Wittyminds portfolio tech courses
Wittyminds portfolio tech coursesWittyminds portfolio tech courses
Wittyminds portfolio tech courseswiTTyMinds1
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson
 
Cloud Computing Training
Cloud Computing TrainingCloud Computing Training
Cloud Computing TrainingDeccansoft
 

La actualidad más candente (20)

Wheel.js
Wheel.jsWheel.js
Wheel.js
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
Building single page apps with Durandal js
Building single page apps with Durandal jsBuilding single page apps with Durandal js
Building single page apps with Durandal js
 
From Junior Dev to Senior Dev
From Junior Dev to Senior DevFrom Junior Dev to Senior Dev
From Junior Dev to Senior Dev
 
Silverlight 3
Silverlight 3Silverlight 3
Silverlight 3
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
 
Sinatra and Heroku - A comfortable ruby way for web service
Sinatra and Heroku - A comfortable ruby way for web serviceSinatra and Heroku - A comfortable ruby way for web service
Sinatra and Heroku - A comfortable ruby way for web service
 
Building Rich Internet Apps with Silverlight 2
Building Rich Internet Apps with Silverlight 2Building Rich Internet Apps with Silverlight 2
Building Rich Internet Apps with Silverlight 2
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
Html5 Intro
Html5 IntroHtml5 Intro
Html5 Intro
 
ApacheCon North America - Introduction to FlexJS
ApacheCon North America - Introduction to FlexJSApacheCon North America - Introduction to FlexJS
ApacheCon North America - Introduction to FlexJS
 
Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)Grails in 5mins (2010-v0.3)
Grails in 5mins (2010-v0.3)
 
SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
 
The Changing Face Of The Web
The Changing Face Of The WebThe Changing Face Of The Web
The Changing Face Of The Web
 
Svghtml5 Meetup
Svghtml5 MeetupSvghtml5 Meetup
Svghtml5 Meetup
 
Next Generation UI
Next Generation UINext Generation UI
Next Generation UI
 
Wittyminds portfolio tech courses
Wittyminds portfolio tech coursesWittyminds portfolio tech courses
Wittyminds portfolio tech courses
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev Conf
 
Cloud Computing Training
Cloud Computing TrainingCloud Computing Training
Cloud Computing Training
 

Destacado

Eviden untuk guru bengkel
Eviden untuk guru   bengkelEviden untuk guru   bengkel
Eviden untuk guru bengkelshaan7821
 
Oficce 2010 Un Nuevo Futuro
Oficce 2010 Un Nuevo FuturoOficce 2010 Un Nuevo Futuro
Oficce 2010 Un Nuevo Futurojonathan abraham
 
Dsp moral t3 sjkt
Dsp moral t3 sjktDsp moral t3 sjkt
Dsp moral t3 sjktshaan7821
 
Sc E Learning
Sc E LearningSc E Learning
Sc E Learningjohnnybiz
 
Simpulan bahasa
Simpulan bahasaSimpulan bahasa
Simpulan bahasashaan7821
 
Kata kerja 1
Kata kerja 1Kata kerja 1
Kata kerja 1shaan7821
 
Kata kerja 1
Kata kerja 1Kata kerja 1
Kata kerja 1shaan7821
 

Destacado (8)

Eviden untuk guru bengkel
Eviden untuk guru   bengkelEviden untuk guru   bengkel
Eviden untuk guru bengkel
 
ask your sef
ask your sefask your sef
ask your sef
 
Oficce 2010 Un Nuevo Futuro
Oficce 2010 Un Nuevo FuturoOficce 2010 Un Nuevo Futuro
Oficce 2010 Un Nuevo Futuro
 
Dsp moral t3 sjkt
Dsp moral t3 sjktDsp moral t3 sjkt
Dsp moral t3 sjkt
 
Sc E Learning
Sc E LearningSc E Learning
Sc E Learning
 
Simpulan bahasa
Simpulan bahasaSimpulan bahasa
Simpulan bahasa
 
Kata kerja 1
Kata kerja 1Kata kerja 1
Kata kerja 1
 
Kata kerja 1
Kata kerja 1Kata kerja 1
Kata kerja 1
 

Similar a Talk Paris Infovis 091207132953 Phpapp01(2)

Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaAlexandre Morgaut
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An OverviewNagendra Um
 
Women Who Code, Ground Floor
Women Who Code, Ground FloorWomen Who Code, Ground Floor
Women Who Code, Ground FloorKatie Weiss
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgetsromek
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Reviewnetc2012
 
Html5 Whats around the bend
Html5 Whats around the bendHtml5 Whats around the bend
Html5 Whats around the bendRaj Lal
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG PresentationDerrick Bowen
 
6 weeks 6 months live project summer industrial training in cmc limited 2012
6 weeks  6 months live project summer industrial training in cmc limited  20126 weeks  6 months live project summer industrial training in cmc limited  2012
6 weeks 6 months live project summer industrial training in cmc limited 2012CMC Limited
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5Doris Chen
 
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudWindows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudMichael Collier
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Jeremy Likness
 
Sugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeSugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeEinar Ingebrigtsen
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesWesley Hales
 

Similar a Talk Paris Infovis 091207132953 Phpapp01(2) (20)

Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
 
Women Who Code, Ground Floor
Women Who Code, Ground FloorWomen Who Code, Ground Floor
Women Who Code, Ground Floor
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgets
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
Silverlight 5
Silverlight 5Silverlight 5
Silverlight 5
 
Html5 Whats around the bend
Html5 Whats around the bendHtml5 Whats around the bend
Html5 Whats around the bend
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG Presentation
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
6 weeks 6 months live project summer industrial training in cmc limited 2012
6 weeks  6 months live project summer industrial training in cmc limited  20126 weeks  6 months live project summer industrial training in cmc limited  2012
6 weeks 6 months live project summer industrial training in cmc limited 2012
 
jQuery On Rails
jQuery On RailsjQuery On Rails
jQuery On Rails
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
 
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudWindows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
 
Sugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeSugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a time
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devices
 
Automated UI Testing
Automated UI TestingAutomated UI Testing
Automated UI Testing
 

Último

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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
 

Talk Paris Infovis 091207132953 Phpapp01(2)

  • 1. Using Web Standards to create Interactive Data Visualizations for the Web Nicolas Garcia Belmonte - Dec. 2009
  • 2. Agenda • JavaScript InfoVis Toolkit Overview • Web Standards, JavaScript and Graphics • What’s next for the JIT (v. 1.2) • What’s next for Web Standards (WebGL) • Introducing V8-GL
  • 3. JavaScript InfoVis Toolkit • Web Based Interactive Data Visualizations • Multiple Graph/Tree Layouts • Modular, Extensible, Composable • Web Standards Based
  • 5. Modular Grab only what you need HyperTree SunBurst TreeMap JavaScript InfoVis ForceDirected Toolkit RGraph Icicle SpaceTree
  • 6. Extensible • Define custom Nodes and Edges • Add Custom Animations (linear, Elastic, etc.)
  • 7. Composable Add Visualizations as Node/Edge rendering functions to other visualizations
  • 9. Web Standards JavaScript • Dynamic, Expressive, Powerful • Support in all Browsers • Large Community
  • 10. Web Standards JavaScript: Language Features • Dynamic • Weakly typed • Differential Inheritance • First-class Functions • Object Mutability • Booleans as Defaults • etc.
  • 11. Web Standards JavaScript: 100% Faster SunSpider runs per minute 65.00 48.75 32.50 16.25 0 WebKit 3.0 WebKit 3.1 SquirrelFish SquirrelFish X Source: http://webkit.org/blog/214/introducing-squirrelfish-extreme/
  • 12. Web Standards Everybody wants to make JavaScript Faster • Apple Safari - SquirrelFish Extreme • Mozilla Firefox - TraceMonkey • Google Chrome - V8 • Opera - Carakan
  • 13. Web Standards HTML Document
  • 14. Web Standards HTML5 Header • Audio Nav • Video Form • Drag n Drop Section • Canvas Image • Storage Footer • etc.
  • 15. Web Standards CSS3 Header • Gradients Nav • Text Effects Section Form • Transforms Image • Animations • etc. Footer
  • 17. Canvas Initialization <canvas id=”tutorial” width=500 height=500></canvas> var canvas = document.getElementById(“tutorial”); var ctx = canvas.getContext(“2d”);
  • 18. Canvas Drawing Shapes ctx.fillStyle = “rgb(200, 0, 0)”; ctx.fillRect(10, 10, 55, 50); ctx.fillStyle = “rgba(0, 0, 200, 0.5)”; ctx.fillRect(30, 30, 55, 50);
  • 19. Canvas Benefits Weak Points Good Performance No notion of elements Simple API Code gets too verbose
  • 20. Why JS + Canvas? • Native Browser Technologies • Seamless Integration • High Interoperability • No third-party libraries • Access to a large community
  • 21. JavaScript InfoVis Toolkit Applications Visualizing Linux Package Dependencies Source: http://demos.thejit.org/example/rgraph/example1/
  • 22. JavaScript InfoVis Toolkit Applications Visualizing Artist-Band Relationships Source: http://demos.thejit.org/example/hypertree/example1/
  • 23. JavaScript InfoVis Toolkit Applications Some (public) user Applications CRS Management UI ROOT project at CERN Project at Macalester College Game Stats at Dystopia Neural Network Visualization
  • 24. What’s next for the JIT? Version 1.2 • SunBurst, Icicle and Force-Directed Visualizations • Mouse Controlled Transforms • And more...
  • 25. What’s next for the Web? WebGL Already available in WebKit and Firefox nightlies (*)
  • 26. V8-GL Write Hardware Accelerated Desktop Graphics with JS http://github.com/philogb/v8-gl/
  • 27. Questions? philogb@gmail.com http://blog.thejit.org http://github.com/philogb http://thejit.org