SlideShare a Scribd company logo
1 of 63
Download to read offline
More than a 1000 words:
scripts and techniques for putting interactive
graphics on webpages.


Timothy M. Kunau, MS

c: +011 1 612 701 0735
e: tkunau@gmail.com
w: http://kunau.us/
t: @tkunau




                                                 1
2
Data is all over the web




                           3
... and it is getting more complex over time.




                                                4
5
6
Semiology – the study of symbols and signs




                                             7
σημειωτικός

Semiotics

From the Greek semeiotikos, which means “interpreter of signs”.

Signs underly all forms of communication.

Anything used for human communication is defined as a sign:
gestures, facial expressions, poetry, rituals, clothes, food, music,
morse code, color, shape, etc.



                                                                       8
What is a sign?

• Anything that carries
  meaning - whether it’s a
  word, a symbol/image, or
  a sound.

• Signs form part of a
  coded system within
  media and text




                             http://www.cs.dartmouth.edu/~rockmore/semaphore.html
                                                                                    9
Trouser Semaphore




                    http://thechap.net/

                                          10
Everything is a sign

Signs can be read

Signs exist in a structure
and context




                             11
The ability of the audience to decode and
understand a graphic design becomes a major
limitation governing its form and content.
From Type and Image: The Language of Graphic Design, Philip B. Meggs




                                                                       12
Semiology of Graphics

• Properties of information


• Properties of image


• Rules mapping information
  to images


• Analytical tasks
                                Jacques Bertin
• First and most broad effort
                                   (1918-2010)
  to provide a theoretical
  foundation for Information
  Visualization
                                                 1967



                                                        13
Language Perspective

• Semiology – the study of symbol systems


• Sender and receiver use a language with
  symbols


  • Establish code and conventions


  • Sender encodes information in these
    symbols


  • Receiver decodes information from
    these symbols




                                            14
• [x,y]

   • Position

• [z]

   • Shape

   • Size

   • Texture

   • Intensity/Value

   • Color/Hue

   • Orientation

Bertin, J. (1983). Semiology of graphics.
Madison, Wis.: University of Wisconsin Press.

                                                15
Data will dictate display.




                             16
Story will dictate display.




                              17
• [x,y]

   • Position

• [z]

   • Shape

   • Size

   • Texture

   • Intensity/Value

   • Color/Hue

   • Orientation

Bertin, J. (1983). Semiology of graphics.
Madison, Wis.: University of Wisconsin Press.

                                                18
So, how does this apply to interactive graphics on
webpages?

There are some new techniques and tools that take advantage of
Javascript API and HTML5: <canvas>.

Bertin’s Semiology of Graphics can help us form the best context
for our data and the broadest range of receivers.




                                                                   19
Tools

• InfoViz

• Raphaël

• jQuery
  Visualize
  Plugin

• Protovis

• Processing.js




                  20
InfoViz

• Author: Nicolas Garcia Belmonte


• Available: http://thejit.org/


• License: GNU GPL v3


• Current Release: 2.0.0 - beta


• Acquired by Sencha:
  www.sencha.com




                                    21
InfoViz: joys

• Data embedded as JSON objects. (http://json.org)


• On-line API doc: http://thejit.org/static/v20/Docs/files/Core/
  Core-js.html


• http://groups.google.com/group/javascript-information-
  visualization-toolkit/topics


• Open Source: https://github.com/philogb/jit


•




                                                                  22
InfoViz: demo

• President Obama's proposed budget for 2012,


  • http://www.whitehouse.gov/winning-the-future/interactive-budget




                                                                      23
InfoViz: concerns

• .onClick events and multi-touch and label
  stacking


• Larger graphs can be slow to render and
  navigate in < IE9.


• Larger datasets can produce mixed results
  (5677 nodes in this example)


• Recent purchase by Sencha.




                              Image: http://www.flickr.com/photos/nsomnac/5427000353/

                                                                                       24
Raphaël

• Authors: Dmitry Baranovskiy


• Available: http://raphaeljs.com/


• License: MIT license, http://
  raphaeljs.com/license.html




                                     25
Raphaël: joys

• Light-weight file size              • Animated transitions*


• Less complex than InfoViz and      • Multi-touch friendly (ios/webkit)
 Protovis


• Open Source: https://github.com/
  DmitryBaranovskiy/raphael/




                                                                           26
Raphaël: demo




                27
Raphaël: example

• Data for this and the
  previous object is coded
  into an HTML table, not
  a JSON object.


• Fail-back is useful even
  when JavaScript is not
  available.




                             28
Raphaël: concerns

• Not all graph formats fail-back
  gracefully.


• Embedded data relies on
  cleverness using HTML
  <table> declarations (like
  jQuery Visualize plugin) --
  clever kills.


• Recent purchase by Sencha.




                                    29
jQuery Visualize Plugin

• Authors: the Filament Group (the core developers of jQuery UI)


• Available: http://dwpe.googlecode.com/files/dwpe-code-public-latest.zip


• License: MIT License




                                                                           30
jQuery Visualize Plugin:
joys

• Bases chart on data already in the
  page in an HTML table element


• Fails gracefully


• Works with screen-readers


• Written by the jQuery UI group, it
  will likely incorporate support for
  multi-touch environments


• Packaged as a downloadable jQuery
  plugin called Visualize



                                        31
jQuery Visualize Plugin:
demo

 .addTouch();

 .draggable();




                           32
jQuery Visualize Plugin: concerns

• Small range of possible charts     • Multi-touch interaction is buggy


• Cleverness (though possibly out-   • Work-arounds require third-party
  weighed by the breadth of the        plugins (jPooky, TouchSwipe, et al.)
  jQuery community)




                                                                              33
Protovis

• Authors: Mike Bostock and Jeff Heer of the Stanford Visualization Group


• Available: http://vis.stanford.edu/protovis/


• License: BSD License




                                                                            34
Protovis: joys

• JavaScript and SVG     • All things to all people.


• Mature, v3.2 (881KB)   • Interactivity is very good.




                                                         35
Protovis: conventional




                         36
Protovis: maps




                 37
Protovis: hierarchies




                        38
Protovis: custom




                   39
Protovis: statistics




     Note: if you are really into stats vis, look at R and MATLAB.

                                                                     40
Protovis: networks




                     41
Protovis: art




                42
Protovis: interactive




                        43
Demo




       44
Protovis: concerns

• All things to all people.      • Download heavy for handheld
                                   devices.
• Complexity rises quickly for
  composition graphs.            • No multi-touch support, yet.




                                                                  45
46
47
Processing.js

• Authors: Originally developed by Ben Fry
  and Casey Reas, ported to Javascript by
  John Resig (the creator of jQuery).


• Available: http://processingjs.org/


• License: MIT


• Version: Release 1.1, available March 1st,
  2011.


• This is a raster graphics framework.




                                               48
Processing.js: joys

• JavaScript port of the Java-based
  Processing graphics API and language
  which renders to HTML 5 canvas.


• Code using the Processing language,
  include it in your web page, and
  Processing.js does the rest


• Great for novel visualizations


• Active project and communities of users




                                            49
Processing.js: joys

• Release 1.1 adds:

  • Webkit native touch events on
    webkit browsers and iOS
    devices

  • mouseOver and mouseOut
    events were added to allow
    events to take place when the
    user enters and leaves a canvas




                                      50
Processing.js: demo




            http://askken.heroku.com/

                                        51
Processing.js: concerns

• JAVA-like, in the bad ways too


• Raster primitives feel like building
  with an Erector Set.


• You can use JavaScript to write
  processing code that is translated
  by Processing.js into HTML5.


• Nearly all, though not entirely
  Processing compatible. The
  community is working towards a
  100% compatible API.




                                         52
What’s next?




               53
WebGL




        54
http://media.tojicode.com/q3bsp/

                                   55
http://plumegraph.org/


                         56
Limitations of interactive graphics on the web

•Sender encodes information in symbols

•Receiver decodes information from symbols

 •Browsers, in all their many forms

 •Consumers, in all their many forms




                                                 57
http://en.wikipedia.org/wiki/File:Timeline_of_web_browsers.svg

                                                                 58
• [x,y]

   • Position

• [z]

   • Shape

   • Size

   • Texture

   • Intensity/Value

   • Color/Hue

   • Orientation

Bertin, J. (1983). Semiology of graphics.
Madison, Wis.: University of Wisconsin Press.

                                                59
[When] you see excellent graphics, find out how
they were done. Borrow strength from
demonstrated excellence. The idea for information
design is: Don’t get it original, get it right.

—Edward Tufte




                                                    60
Interactive analysis should consider

• Selection (multi-touch)   • Calculation

• Filtering                 • Grouping and Aggregation

• Sorting




                                                         61
Questions




            62
More than a 1000 words:
scripts and techniques for putting interactive
graphics on webpages.


Thank you!

Timothy M. Kunau, MS

c: +011 1 612 701 0735
e: tkunau@gmail.com
w: http://kunau.us/
t: @tkunau




                                                 63

More Related Content

Viewers also liked

儿童互联网实验室 1.0版
儿童互联网实验室 1.0版儿童互联网实验室 1.0版
儿童互联网实验室 1.0版mingxia
 
Using video online to increase sales slideshare
Using video online to increase sales slideshareUsing video online to increase sales slideshare
Using video online to increase sales slideshareDIYMarketers
 
Introduction to Indie GameDev India
Introduction to Indie GameDev IndiaIntroduction to Indie GameDev India
Introduction to Indie GameDev IndiaKinshuk Sunil
 
Типичные ошибки продвижения проекта в Интернете — Максим Спиридонов
Типичные ошибки продвижения проекта в Интернете — Максим СпиридоновТипичные ошибки продвижения проекта в Интернете — Максим Спиридонов
Типичные ошибки продвижения проекта в Интернете — Максим СпиридоновMaria Podolyak
 
2.1 Web Programming - InternetBasics
2.1 Web Programming - InternetBasics2.1 Web Programming - InternetBasics
2.1 Web Programming - InternetBasicsIntan Jameel
 
Educon Encienda 2015: Students, Families, Teachers: One Team
Educon Encienda 2015: Students, Families, Teachers: One TeamEducon Encienda 2015: Students, Families, Teachers: One Team
Educon Encienda 2015: Students, Families, Teachers: One TeamJennifer Orr
 
Our school in winter
Our school in winterOur school in winter
Our school in winterGavranica
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionLuciano Rocha
 
Как мониторинг социальных медиа помогает найти инсайты — Анна Рокина
Как мониторинг социальных медиа помогает найти инсайты — Анна РокинаКак мониторинг социальных медиа помогает найти инсайты — Анна Рокина
Как мониторинг социальных медиа помогает найти инсайты — Анна РокинаMaria Podolyak
 
Ilona fpra luncheon
Ilona fpra luncheonIlona fpra luncheon
Ilona fpra luncheonilona418
 
Stazione Termini
Stazione TerminiStazione Termini
Stazione Terminiwillylorbo
 
Shapes learning
Shapes  learningShapes  learning
Shapes learningGavranica
 
Donde esta el Dios de justicia
Donde esta el Dios de justiciaDonde esta el Dios de justicia
Donde esta el Dios de justiciaPaulo Arieu
 

Viewers also liked (20)

儿童互联网实验室 1.0版
儿童互联网实验室 1.0版儿童互联网实验室 1.0版
儿童互联网实验室 1.0版
 
Using video online to increase sales slideshare
Using video online to increase sales slideshareUsing video online to increase sales slideshare
Using video online to increase sales slideshare
 
Introduction to Indie GameDev India
Introduction to Indie GameDev IndiaIntroduction to Indie GameDev India
Introduction to Indie GameDev India
 
Типичные ошибки продвижения проекта в Интернете — Максим Спиридонов
Типичные ошибки продвижения проекта в Интернете — Максим СпиридоновТипичные ошибки продвижения проекта в Интернете — Максим Спиридонов
Типичные ошибки продвижения проекта в Интернете — Максим Спиридонов
 
Reflections
ReflectionsReflections
Reflections
 
2.1 Web Programming - InternetBasics
2.1 Web Programming - InternetBasics2.1 Web Programming - InternetBasics
2.1 Web Programming - InternetBasics
 
Unit 1.1
Unit 1.1Unit 1.1
Unit 1.1
 
Opiate Project
Opiate ProjectOpiate Project
Opiate Project
 
Educon Encienda 2015: Students, Families, Teachers: One Team
Educon Encienda 2015: Students, Families, Teachers: One TeamEducon Encienda 2015: Students, Families, Teachers: One Team
Educon Encienda 2015: Students, Families, Teachers: One Team
 
Our school in winter
Our school in winterOur school in winter
Our school in winter
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and Subversion
 
Как мониторинг социальных медиа помогает найти инсайты — Анна Рокина
Как мониторинг социальных медиа помогает найти инсайты — Анна РокинаКак мониторинг социальных медиа помогает найти инсайты — Анна Рокина
Как мониторинг социальных медиа помогает найти инсайты — Анна Рокина
 
Ilona fpra luncheon
Ilona fpra luncheonIlona fpra luncheon
Ilona fpra luncheon
 
M02 un04 p02
M02 un04 p02M02 un04 p02
M02 un04 p02
 
Stazione Termini
Stazione TerminiStazione Termini
Stazione Termini
 
Q.Ind.Quimica
Q.Ind.QuimicaQ.Ind.Quimica
Q.Ind.Quimica
 
Shapes learning
Shapes  learningShapes  learning
Shapes learning
 
Shandy Engaging The Social Media
Shandy Engaging The Social MediaShandy Engaging The Social Media
Shandy Engaging The Social Media
 
Artist Showcase (2008)
Artist Showcase (2008)Artist Showcase (2008)
Artist Showcase (2008)
 
Donde esta el Dios de justicia
Donde esta el Dios de justiciaDonde esta el Dios de justicia
Donde esta el Dios de justicia
 

Similar to More than a 1000 words

Doug McCune - Using Open Source Flex and ActionScript Projects
Doug McCune - Using Open Source Flex and ActionScript ProjectsDoug McCune - Using Open Source Flex and ActionScript Projects
Doug McCune - Using Open Source Flex and ActionScript ProjectsDoug McCune
 
Graph visualization options and latest developments
Graph visualization options and latest developmentsGraph visualization options and latest developments
Graph visualization options and latest developmentsLinkurious
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply ResponsiveDenise Jacobs
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)AI4BD GmbH
 
Software, from Code into the Clouds
Software, from Code into the CloudsSoftware, from Code into the Clouds
Software, from Code into the CloudsJorn Bettin
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)NETUserGroupBern
 
Adobe MAX: Rapidly Build HTML5 Apps with Sencha Designer
Adobe MAX: Rapidly Build HTML5 Apps with Sencha DesignerAdobe MAX: Rapidly Build HTML5 Apps with Sencha Designer
Adobe MAX: Rapidly Build HTML5 Apps with Sencha DesignerAaron Conran
 
Complex Networks: Science, Programming, and Databases
Complex Networks: Science, Programming, and DatabasesComplex Networks: Science, Programming, and Databases
Complex Networks: Science, Programming, and DatabasesS.M. Mahdi Seyednezhad, Ph.D.
 
Introduction to wireframing ux and design
Introduction to wireframing ux and designIntroduction to wireframing ux and design
Introduction to wireframing ux and designKevin Picalausa
 
Principles of New Media [Fall 2012 RTF 319 Session 02]
Principles of New Media [Fall 2012 RTF 319 Session 02]Principles of New Media [Fall 2012 RTF 319 Session 02]
Principles of New Media [Fall 2012 RTF 319 Session 02]William J. Moner
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondDenise Jacobs
 
Summer Presentation A L L
Summer Presentation  A L LSummer Presentation  A L L
Summer Presentation A L Lcameronparkins
 
Open Source Software for Entertainment
Open Source Software for EntertainmentOpen Source Software for Entertainment
Open Source Software for Entertainmentletiziajaccheri
 
Engagement from scratch
Engagement from scratchEngagement from scratch
Engagement from scratchdrpresident
 
Understanding Research 2.0 from a Socio-technical Perspective
Understanding Research 2.0 from a Socio-technical PerspectiveUnderstanding Research 2.0 from a Socio-technical Perspective
Understanding Research 2.0 from a Socio-technical PerspectiveYuwei Lin
 
CSTA2015 Blocks-based Programming: Toolboxes for Many Occasions
CSTA2015  Blocks-based Programming: Toolboxes for Many OccasionsCSTA2015  Blocks-based Programming: Toolboxes for Many Occasions
CSTA2015 Blocks-based Programming: Toolboxes for Many Occasions Josh Sheldon
 
Interactive Visualizations for teaching, research, and dissemination
Interactive Visualizations for teaching, research, and disseminationInteractive Visualizations for teaching, research, and dissemination
Interactive Visualizations for teaching, research, and disseminationScott A. Hale
 
Gephi icwsm-tutorial
Gephi icwsm-tutorialGephi icwsm-tutorial
Gephi icwsm-tutorialcsedays
 
Software Architecture Erosion and Modernization
Software Architecture Erosion and ModernizationSoftware Architecture Erosion and Modernization
Software Architecture Erosion and Modernizationbmerkle
 
Relationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine LearningRelationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine LearningNeo4j
 

Similar to More than a 1000 words (20)

Doug McCune - Using Open Source Flex and ActionScript Projects
Doug McCune - Using Open Source Flex and ActionScript ProjectsDoug McCune - Using Open Source Flex and ActionScript Projects
Doug McCune - Using Open Source Flex and ActionScript Projects
 
Graph visualization options and latest developments
Graph visualization options and latest developmentsGraph visualization options and latest developments
Graph visualization options and latest developments
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply Responsive
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
Software, from Code into the Clouds
Software, from Code into the CloudsSoftware, from Code into the Clouds
Software, from Code into the Clouds
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)
 
Adobe MAX: Rapidly Build HTML5 Apps with Sencha Designer
Adobe MAX: Rapidly Build HTML5 Apps with Sencha DesignerAdobe MAX: Rapidly Build HTML5 Apps with Sencha Designer
Adobe MAX: Rapidly Build HTML5 Apps with Sencha Designer
 
Complex Networks: Science, Programming, and Databases
Complex Networks: Science, Programming, and DatabasesComplex Networks: Science, Programming, and Databases
Complex Networks: Science, Programming, and Databases
 
Introduction to wireframing ux and design
Introduction to wireframing ux and designIntroduction to wireframing ux and design
Introduction to wireframing ux and design
 
Principles of New Media [Fall 2012 RTF 319 Session 02]
Principles of New Media [Fall 2012 RTF 319 Session 02]Principles of New Media [Fall 2012 RTF 319 Session 02]
Principles of New Media [Fall 2012 RTF 319 Session 02]
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to Respond
 
Summer Presentation A L L
Summer Presentation  A L LSummer Presentation  A L L
Summer Presentation A L L
 
Open Source Software for Entertainment
Open Source Software for EntertainmentOpen Source Software for Entertainment
Open Source Software for Entertainment
 
Engagement from scratch
Engagement from scratchEngagement from scratch
Engagement from scratch
 
Understanding Research 2.0 from a Socio-technical Perspective
Understanding Research 2.0 from a Socio-technical PerspectiveUnderstanding Research 2.0 from a Socio-technical Perspective
Understanding Research 2.0 from a Socio-technical Perspective
 
CSTA2015 Blocks-based Programming: Toolboxes for Many Occasions
CSTA2015  Blocks-based Programming: Toolboxes for Many OccasionsCSTA2015  Blocks-based Programming: Toolboxes for Many Occasions
CSTA2015 Blocks-based Programming: Toolboxes for Many Occasions
 
Interactive Visualizations for teaching, research, and dissemination
Interactive Visualizations for teaching, research, and disseminationInteractive Visualizations for teaching, research, and dissemination
Interactive Visualizations for teaching, research, and dissemination
 
Gephi icwsm-tutorial
Gephi icwsm-tutorialGephi icwsm-tutorial
Gephi icwsm-tutorial
 
Software Architecture Erosion and Modernization
Software Architecture Erosion and ModernizationSoftware Architecture Erosion and Modernization
Software Architecture Erosion and Modernization
 
Relationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine LearningRelationships Matter: Using Connected Data for Better Machine Learning
Relationships Matter: Using Connected Data for Better Machine Learning
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

More than a 1000 words

  • 1. More than a 1000 words: scripts and techniques for putting interactive graphics on webpages. Timothy M. Kunau, MS c: +011 1 612 701 0735 e: tkunau@gmail.com w: http://kunau.us/ t: @tkunau 1
  • 2. 2
  • 3. Data is all over the web 3
  • 4. ... and it is getting more complex over time. 4
  • 5. 5
  • 6. 6
  • 7. Semiology – the study of symbols and signs 7
  • 8. σημειωτικός Semiotics From the Greek semeiotikos, which means “interpreter of signs”. Signs underly all forms of communication. Anything used for human communication is defined as a sign: gestures, facial expressions, poetry, rituals, clothes, food, music, morse code, color, shape, etc. 8
  • 9. What is a sign? • Anything that carries meaning - whether it’s a word, a symbol/image, or a sound. • Signs form part of a coded system within media and text http://www.cs.dartmouth.edu/~rockmore/semaphore.html 9
  • 10. Trouser Semaphore http://thechap.net/ 10
  • 11. Everything is a sign Signs can be read Signs exist in a structure and context 11
  • 12. The ability of the audience to decode and understand a graphic design becomes a major limitation governing its form and content. From Type and Image: The Language of Graphic Design, Philip B. Meggs 12
  • 13. Semiology of Graphics • Properties of information • Properties of image • Rules mapping information to images • Analytical tasks Jacques Bertin • First and most broad effort (1918-2010) to provide a theoretical foundation for Information Visualization 1967 13
  • 14. Language Perspective • Semiology – the study of symbol systems • Sender and receiver use a language with symbols • Establish code and conventions • Sender encodes information in these symbols • Receiver decodes information from these symbols 14
  • 15. • [x,y] • Position • [z] • Shape • Size • Texture • Intensity/Value • Color/Hue • Orientation Bertin, J. (1983). Semiology of graphics. Madison, Wis.: University of Wisconsin Press. 15
  • 16. Data will dictate display. 16
  • 17. Story will dictate display. 17
  • 18. • [x,y] • Position • [z] • Shape • Size • Texture • Intensity/Value • Color/Hue • Orientation Bertin, J. (1983). Semiology of graphics. Madison, Wis.: University of Wisconsin Press. 18
  • 19. So, how does this apply to interactive graphics on webpages? There are some new techniques and tools that take advantage of Javascript API and HTML5: <canvas>. Bertin’s Semiology of Graphics can help us form the best context for our data and the broadest range of receivers. 19
  • 20. Tools • InfoViz • Raphaël • jQuery Visualize Plugin • Protovis • Processing.js 20
  • 21. InfoViz • Author: Nicolas Garcia Belmonte • Available: http://thejit.org/ • License: GNU GPL v3 • Current Release: 2.0.0 - beta • Acquired by Sencha: www.sencha.com 21
  • 22. InfoViz: joys • Data embedded as JSON objects. (http://json.org) • On-line API doc: http://thejit.org/static/v20/Docs/files/Core/ Core-js.html • http://groups.google.com/group/javascript-information- visualization-toolkit/topics • Open Source: https://github.com/philogb/jit • 22
  • 23. InfoViz: demo • President Obama's proposed budget for 2012, • http://www.whitehouse.gov/winning-the-future/interactive-budget 23
  • 24. InfoViz: concerns • .onClick events and multi-touch and label stacking • Larger graphs can be slow to render and navigate in < IE9. • Larger datasets can produce mixed results (5677 nodes in this example) • Recent purchase by Sencha. Image: http://www.flickr.com/photos/nsomnac/5427000353/ 24
  • 25. Raphaël • Authors: Dmitry Baranovskiy • Available: http://raphaeljs.com/ • License: MIT license, http:// raphaeljs.com/license.html 25
  • 26. Raphaël: joys • Light-weight file size • Animated transitions* • Less complex than InfoViz and • Multi-touch friendly (ios/webkit) Protovis • Open Source: https://github.com/ DmitryBaranovskiy/raphael/ 26
  • 28. Raphaël: example • Data for this and the previous object is coded into an HTML table, not a JSON object. • Fail-back is useful even when JavaScript is not available. 28
  • 29. Raphaël: concerns • Not all graph formats fail-back gracefully. • Embedded data relies on cleverness using HTML <table> declarations (like jQuery Visualize plugin) -- clever kills. • Recent purchase by Sencha. 29
  • 30. jQuery Visualize Plugin • Authors: the Filament Group (the core developers of jQuery UI) • Available: http://dwpe.googlecode.com/files/dwpe-code-public-latest.zip • License: MIT License 30
  • 31. jQuery Visualize Plugin: joys • Bases chart on data already in the page in an HTML table element • Fails gracefully • Works with screen-readers • Written by the jQuery UI group, it will likely incorporate support for multi-touch environments • Packaged as a downloadable jQuery plugin called Visualize 31
  • 32. jQuery Visualize Plugin: demo .addTouch(); .draggable(); 32
  • 33. jQuery Visualize Plugin: concerns • Small range of possible charts • Multi-touch interaction is buggy • Cleverness (though possibly out- • Work-arounds require third-party weighed by the breadth of the plugins (jPooky, TouchSwipe, et al.) jQuery community) 33
  • 34. Protovis • Authors: Mike Bostock and Jeff Heer of the Stanford Visualization Group • Available: http://vis.stanford.edu/protovis/ • License: BSD License 34
  • 35. Protovis: joys • JavaScript and SVG • All things to all people. • Mature, v3.2 (881KB) • Interactivity is very good. 35
  • 40. Protovis: statistics Note: if you are really into stats vis, look at R and MATLAB. 40
  • 44. Demo 44
  • 45. Protovis: concerns • All things to all people. • Download heavy for handheld devices. • Complexity rises quickly for composition graphs. • No multi-touch support, yet. 45
  • 46. 46
  • 47. 47
  • 48. Processing.js • Authors: Originally developed by Ben Fry and Casey Reas, ported to Javascript by John Resig (the creator of jQuery). • Available: http://processingjs.org/ • License: MIT • Version: Release 1.1, available March 1st, 2011. • This is a raster graphics framework. 48
  • 49. Processing.js: joys • JavaScript port of the Java-based Processing graphics API and language which renders to HTML 5 canvas. • Code using the Processing language, include it in your web page, and Processing.js does the rest • Great for novel visualizations • Active project and communities of users 49
  • 50. Processing.js: joys • Release 1.1 adds: • Webkit native touch events on webkit browsers and iOS devices • mouseOver and mouseOut events were added to allow events to take place when the user enters and leaves a canvas 50
  • 51. Processing.js: demo http://askken.heroku.com/ 51
  • 52. Processing.js: concerns • JAVA-like, in the bad ways too • Raster primitives feel like building with an Erector Set. • You can use JavaScript to write processing code that is translated by Processing.js into HTML5. • Nearly all, though not entirely Processing compatible. The community is working towards a 100% compatible API. 52
  • 54. WebGL 54
  • 57. Limitations of interactive graphics on the web •Sender encodes information in symbols •Receiver decodes information from symbols •Browsers, in all their many forms •Consumers, in all their many forms 57
  • 59. • [x,y] • Position • [z] • Shape • Size • Texture • Intensity/Value • Color/Hue • Orientation Bertin, J. (1983). Semiology of graphics. Madison, Wis.: University of Wisconsin Press. 59
  • 60. [When] you see excellent graphics, find out how they were done. Borrow strength from demonstrated excellence. The idea for information design is: Don’t get it original, get it right. —Edward Tufte 60
  • 61. Interactive analysis should consider • Selection (multi-touch) • Calculation • Filtering • Grouping and Aggregation • Sorting 61
  • 62. Questions 62
  • 63. More than a 1000 words: scripts and techniques for putting interactive graphics on webpages. Thank you! Timothy M. Kunau, MS c: +011 1 612 701 0735 e: tkunau@gmail.com w: http://kunau.us/ t: @tkunau 63