SlideShare a Scribd company logo
Canvas Based Presentation using
 Scalable Vector Graphics and
          JavaScript

   (Arvind Krishnaa .J) S.Srikrishnan, V.Vishal Gautham
         (31508104017),31508104099, 31508104120
                           Guided By
                       Dr. R.S.Milton
                          Professor

     Department of Computer Science and Engineering
              SSN College of Engineering

                 First Review - 19th January, 2012
Outline


  1   Recap
  2   Exploring Possibilities
  3   Using jQuery SVG
  4   SVG and jQuery SVG
  5   Architecture
  6   Implementation
  7   References
Recap

    Slide based paradigm
        Information is organized into slides
        Each slide typically consists of a list of bulleted points
        Disadvantage
             Might distract the audience
             Single pre-set path
    Edward Tufte’s views
    Canvas based paradigm
        The material to be presented is laid out in a large canvas
        without any page (slide) boundaries
        View can change orientation to suit the information to be
        presented
        Advantages
             Reflects the presenter’s flow of thought process
             Tweaked to the level of detail the presenter wants to express
Technological Aspects



     Scalable Vector Graphics (SVG)
         Animates the presentation elements.
         Open standard
         Supported by modern browsers
     JavaScript
         Programmatically manipulate the components of the
         presentation
     W3 Compliant web browser as presentation tool
Upto Zeroth Review




    Work done till Zeroth review:
        Collection of background data
        Exploring design possibilities
    Work done till First review:
        Decision on design technique
        Study of various JavaScript libraries
        Implementation
Possibility 1 : Extension to Inkscape



     Inkscape - Free and Open Source Vector Graphics Editor
     Use the extension subsystem of Inkscape to add functionality -
     Bridge Design Pattern
     Advantages
         Allows programmers to implement their extension in a number
         of ways
     Disdvantages
         SVG code generated is too long; Uses namespaces such as
         sudopodi etc.
         Parsing of SVG code takes a longer time
Possibility 2 : Using Apache Batik


     A Java-based toolkit used for applications or applets that
     want to use images in SVG format for various purposes, such
     as display, generation or manipulation
     Advantages
         Very standard compliant
         SVG generator module to export an applet’s graphics to SVG
         SVG viewing component to very easily integrate SVG viewing
         and interaction capabilities
     Disdvantages
         Batik archive is quite big
         Some browsers, notably mobile browsers running Apple iOS or
         Android do not run Java applets at all
         Often has high execution time
Possibility 3 : Using JavaScript Libraries


     Raphael JS
         JavaScript library that simplifies the work with vector graphics
         on the web
         Advantages
              Simple to use framework for creating graphics
              Has an extensible architecture - Plugins can be added
         Disdvantages
              Creates a layer over the actual SVG markup
              Difficult to use in complex applications
     jQuery SVG
     Yahoo User Interface (YUI)
Using jQuery SVG



    Written as a plugin to jQuery library
    Lets you interact with an SVG canvas
    Advantages
        Provides native access to the elements - what we wanted!
        Has an extensible architecture - Plugins can be added
        Suitable for complex implementations
    Code can be easily written if SVG elements and its attributes
    are known
More on jQuery SVG


    Main package for drawing primitives : jquery.svg.js
    Many extensions also available jQuery SVG
        jquery.svgadmin.js
        jquery.svgfilter.js
        jquery.svggraphs.js
    Using jQuery plugin is simple
        Include the CSS and the Javascript file
        Add any extension package needed
        Attach a SVG canvas to div using its selector
        Once loaded, retrieve the SVG instance to use it
        Additional parameters may be passed to the initial attachment
        call - Supports overloading
SVG and jQuerySVG

  SVG

  <rect x="20" y="50" width="100" height="50"
         fill="yellow" stroke="navy" stroke-width="5">

  <g transform="translate(175 220)>"

  jQuery SVG

  svg.rect(20, 50, 100, 50,{fill: ’yellow’,
                stroke: ’navy’, strokeWidth: 5});

  var g = svg.group({transform: ’translate(175 220)’});
Architecture
Libraries Used




     jQuery
     jQuerySVG
     jQueryUI
     jQueryContextMenu
     Panzoom.js
Partial Implementation




     Viewport panning and zooming
     Elements insertion and drag drop
     Creation of tiles for canvas background
     jQueryContextMenu
     Creation of Text (Preliminary)
Screenshot - User Interface
Screenshot - SVG Drag and Drop
Screenshot - Text manipulation
Screenshot - Tiles, Context Menu
Implementation issues to be resolved



     Animation Editor’s selected functionalities
          Creation of Motion Paths
          Translating and scaling the viewport
     Text editor’s selected functionalities
          Adding text objects
          Edit the existing text objects
          Aligning the text contents
          Formatting text contents
     Nesting of frames and text SVG objects
References

  [1] Edward R. Tufte, The Visual Display of Quantitative
  Information, Second Edition, Graphics Press LLC, 2001.

  [2] W3C Recommendations, Scalable Vector Graphics (SVG) 1.1
  (Second Edition) http://www.w3.org/TR/SVG/

  [3] Taymjong Bah, Inkscape guide to a vector drawing program?,
  Third Edition, Prentice

  [4] Raphael.js, a cross-browser JavaScript library for drawing vector
  graphics on websites http://www.raphaeljs.com

  [5] Apache Batik, Java classes for manipulating SVG
  http://xmlgraphics.apache.org/batik/javadoc/

  [6] Prezi, a cloud based SaaS presentation software
References

  [7] jQuery, a JavaScript library to simplify scripting in HTML
  http://www.jquery.com/

  [8] jQuery Plugins http://archive.plugins.jquery.com/

  [9] jQuery UI, a jQuery user interface library
  http://www.jqueryui.com/

  [10] jQuery ContextMenu, a jQuery plugin for context menus
  http://medialize.github.com/jQuery-contextMenu/

  [11] jQuery SVG, a jQuery plugin to interact with SVG
  http://keith-wood.name/svg.html

More Related Content

Viewers also liked

Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...
Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...
Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...
Mohammad Subhan
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
JADE aisbl
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
JADE aisbl
 
Huracan alex mty 01 jul 2010
Huracan alex mty 01 jul 2010Huracan alex mty 01 jul 2010
Huracan alex mty 01 jul 2010
Daniel Oropeza
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
JADE aisbl
 
Actualize Consulting Overview
Actualize Consulting OverviewActualize Consulting Overview
Actualize Consulting Overview
guestdc4d74
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
Parag Gajbhiye
 

Viewers also liked (20)

Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...
Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...
Bahan asdep standarisasi jabatan sosialisasi permenpan 13 2014 surabaya 26 ju...
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
 
Periodesystemet
PeriodesystemetPeriodesystemet
Periodesystemet
 
CambridgeIP: Marketing Your Technology in the Credit Crunch
CambridgeIP: Marketing Your Technology in the Credit CrunchCambridgeIP: Marketing Your Technology in the Credit Crunch
CambridgeIP: Marketing Your Technology in the Credit Crunch
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
 
Burns night (3ºc 2012 2013
Burns night (3ºc  2012 2013Burns night (3ºc  2012 2013
Burns night (3ºc 2012 2013
 
Huracan alex mty 01 jul 2010
Huracan alex mty 01 jul 2010Huracan alex mty 01 jul 2010
Huracan alex mty 01 jul 2010
 
Elän joka päivä enemmän - miten hyvinvointitietoisuus näkyy kuluttajan valinn...
Elän joka päivä enemmän - miten hyvinvointitietoisuus näkyy kuluttajan valinn...Elän joka päivä enemmän - miten hyvinvointitietoisuus näkyy kuluttajan valinn...
Elän joka päivä enemmän - miten hyvinvointitietoisuus näkyy kuluttajan valinn...
 
Maine Association of Broadcasters - How to Make Money with Social Media
Maine Association of Broadcasters - How to Make Money with Social MediaMaine Association of Broadcasters - How to Make Money with Social Media
Maine Association of Broadcasters - How to Make Money with Social Media
 
First review presentation
First review presentationFirst review presentation
First review presentation
 
Uuden tuotteen lanseerauksen haasteet elintarviketeollisuudessa - miten vältt...
Uuden tuotteen lanseerauksen haasteet elintarviketeollisuudessa - miten vältt...Uuden tuotteen lanseerauksen haasteet elintarviketeollisuudessa - miten vältt...
Uuden tuotteen lanseerauksen haasteet elintarviketeollisuudessa - miten vältt...
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
 
Unit 0
Unit 0Unit 0
Unit 0
 
The Original Adjustable Door Hinge
The Original Adjustable Door HingeThe Original Adjustable Door Hinge
The Original Adjustable Door Hinge
 
On Becoming A Marketing Tour de Force
On Becoming A Marketing Tour de Force On Becoming A Marketing Tour de Force
On Becoming A Marketing Tour de Force
 
Resume M Pitcher 2010 08 27
Resume   M Pitcher 2010 08 27Resume   M Pitcher 2010 08 27
Resume M Pitcher 2010 08 27
 
Actualize Consulting Overview
Actualize Consulting OverviewActualize Consulting Overview
Actualize Consulting Overview
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
Ch25
Ch25Ch25
Ch25
 
Yksi video kertoo enemmän kuin tuhat sanaa
Yksi video kertoo enemmän kuin tuhat sanaaYksi video kertoo enemmän kuin tuhat sanaa
Yksi video kertoo enemmän kuin tuhat sanaa
 

Similar to Canvas Based Presentation tool - First Review

Easy charting with
Easy charting withEasy charting with
Easy charting with
Major Ye
 
Applications use in Java GUIThe Java GUI consists of a separate, .pdf
Applications use in Java GUIThe Java GUI consists of a separate, .pdfApplications use in Java GUIThe Java GUI consists of a separate, .pdf
Applications use in Java GUIThe Java GUI consists of a separate, .pdf
akshay1213
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG Files
Mario Heiderich
 
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docxYeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
adampcarr67227
 
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docxYeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
jeffevans62972
 

Similar to Canvas Based Presentation tool - First Review (20)

First review presentation
First review presentationFirst review presentation
First review presentation
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
 
Easy charting with
Easy charting withEasy charting with
Easy charting with
 
Zeroth review presentation
Zeroth review presentationZeroth review presentation
Zeroth review presentation
 
Practical html5
Practical html5Practical html5
Practical html5
 
Canvas Based Presentation - Zeroth Review
Canvas Based Presentation - Zeroth ReviewCanvas Based Presentation - Zeroth Review
Canvas Based Presentation - Zeroth Review
 
Applications use in Java GUIThe Java GUI consists of a separate, .pdf
Applications use in Java GUIThe Java GUI consists of a separate, .pdfApplications use in Java GUIThe Java GUI consists of a separate, .pdf
Applications use in Java GUIThe Java GUI consists of a separate, .pdf
 
Rich Media Advertising with SVG and JavaScript
Rich Media Advertising with SVG and JavaScriptRich Media Advertising with SVG and JavaScript
Rich Media Advertising with SVG and JavaScript
 
SVG 101
SVG 101SVG 101
SVG 101
 
Multiple Screens
Multiple ScreensMultiple Screens
Multiple Screens
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG Files
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
Complete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysComplete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSys
 
Scenejs
ScenejsScenejs
Scenejs
 
SceneJS
SceneJSSceneJS
SceneJS
 
Next generation Graphics: SVG
Next generation Graphics: SVGNext generation Graphics: SVG
Next generation Graphics: SVG
 
Building Browser VR Experience in React VR
Building Browser VR Experience in React VRBuilding Browser VR Experience in React VR
Building Browser VR Experience in React VR
 
SVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader AccessibilitySVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader Accessibility
 
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docxYeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
 
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docxYeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
Yeshwanth 512-815-6436[email protected]FrontendUI Developer.docx
 

More from Arvind Krishnaa

Twitter Agreement Analysis
Twitter Agreement AnalysisTwitter Agreement Analysis
Twitter Agreement Analysis
Arvind Krishnaa
 
Final review presentation
Final review presentationFinal review presentation
Final review presentation
Arvind Krishnaa
 
Third review presentation
Third review presentationThird review presentation
Third review presentation
Arvind Krishnaa
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
Arvind Krishnaa
 
Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMC
Arvind Krishnaa
 
Smart camera monitoring system
Smart camera monitoring systemSmart camera monitoring system
Smart camera monitoring system
Arvind Krishnaa
 

More from Arvind Krishnaa (16)

Twitter Agreement Analysis
Twitter Agreement AnalysisTwitter Agreement Analysis
Twitter Agreement Analysis
 
Analogical thinking
Analogical thinkingAnalogical thinking
Analogical thinking
 
Recognition of unistroke gesture sequences
Recognition of unistroke gesture sequencesRecognition of unistroke gesture sequences
Recognition of unistroke gesture sequences
 
Human Altruism and Cooperation
Human Altruism and CooperationHuman Altruism and Cooperation
Human Altruism and Cooperation
 
Chowka bhara
Chowka bharaChowka bhara
Chowka bhara
 
Canscape
CanscapeCanscape
Canscape
 
Final review presentation
Final review presentationFinal review presentation
Final review presentation
 
Third review presentation
Third review presentationThird review presentation
Third review presentation
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
 
Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMC
 
Data Binding and Data Grid View Classes
Data Binding and Data Grid View ClassesData Binding and Data Grid View Classes
Data Binding and Data Grid View Classes
 
Smart camera monitoring system
Smart camera monitoring systemSmart camera monitoring system
Smart camera monitoring system
 
Marine Pollution
Marine PollutionMarine Pollution
Marine Pollution
 
Unix Shell and System Boot Process
Unix Shell and System Boot ProcessUnix Shell and System Boot Process
Unix Shell and System Boot Process
 
Multithreading Concepts
Multithreading ConceptsMultithreading Concepts
Multithreading Concepts
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of Algorithms
 

Recently uploaded

Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 

Recently uploaded (20)

Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringBasic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
NCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdfNCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdf
 
The Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational ResourcesThe Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational Resources
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
 
Gyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptxGyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptx
 
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
Advances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdfAdvances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdf
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx
 
B.ed spl. HI pdusu exam paper-2023-24.pdf
B.ed spl. HI pdusu exam paper-2023-24.pdfB.ed spl. HI pdusu exam paper-2023-24.pdf
B.ed spl. HI pdusu exam paper-2023-24.pdf
 
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 

Canvas Based Presentation tool - First Review

  • 1. Canvas Based Presentation using Scalable Vector Graphics and JavaScript (Arvind Krishnaa .J) S.Srikrishnan, V.Vishal Gautham (31508104017),31508104099, 31508104120 Guided By Dr. R.S.Milton Professor Department of Computer Science and Engineering SSN College of Engineering First Review - 19th January, 2012
  • 2. Outline 1 Recap 2 Exploring Possibilities 3 Using jQuery SVG 4 SVG and jQuery SVG 5 Architecture 6 Implementation 7 References
  • 3. Recap Slide based paradigm Information is organized into slides Each slide typically consists of a list of bulleted points Disadvantage Might distract the audience Single pre-set path Edward Tufte’s views Canvas based paradigm The material to be presented is laid out in a large canvas without any page (slide) boundaries View can change orientation to suit the information to be presented Advantages Reflects the presenter’s flow of thought process Tweaked to the level of detail the presenter wants to express
  • 4. Technological Aspects Scalable Vector Graphics (SVG) Animates the presentation elements. Open standard Supported by modern browsers JavaScript Programmatically manipulate the components of the presentation W3 Compliant web browser as presentation tool
  • 5. Upto Zeroth Review Work done till Zeroth review: Collection of background data Exploring design possibilities Work done till First review: Decision on design technique Study of various JavaScript libraries Implementation
  • 6. Possibility 1 : Extension to Inkscape Inkscape - Free and Open Source Vector Graphics Editor Use the extension subsystem of Inkscape to add functionality - Bridge Design Pattern Advantages Allows programmers to implement their extension in a number of ways Disdvantages SVG code generated is too long; Uses namespaces such as sudopodi etc. Parsing of SVG code takes a longer time
  • 7. Possibility 2 : Using Apache Batik A Java-based toolkit used for applications or applets that want to use images in SVG format for various purposes, such as display, generation or manipulation Advantages Very standard compliant SVG generator module to export an applet’s graphics to SVG SVG viewing component to very easily integrate SVG viewing and interaction capabilities Disdvantages Batik archive is quite big Some browsers, notably mobile browsers running Apple iOS or Android do not run Java applets at all Often has high execution time
  • 8. Possibility 3 : Using JavaScript Libraries Raphael JS JavaScript library that simplifies the work with vector graphics on the web Advantages Simple to use framework for creating graphics Has an extensible architecture - Plugins can be added Disdvantages Creates a layer over the actual SVG markup Difficult to use in complex applications jQuery SVG Yahoo User Interface (YUI)
  • 9. Using jQuery SVG Written as a plugin to jQuery library Lets you interact with an SVG canvas Advantages Provides native access to the elements - what we wanted! Has an extensible architecture - Plugins can be added Suitable for complex implementations Code can be easily written if SVG elements and its attributes are known
  • 10. More on jQuery SVG Main package for drawing primitives : jquery.svg.js Many extensions also available jQuery SVG jquery.svgadmin.js jquery.svgfilter.js jquery.svggraphs.js Using jQuery plugin is simple Include the CSS and the Javascript file Add any extension package needed Attach a SVG canvas to div using its selector Once loaded, retrieve the SVG instance to use it Additional parameters may be passed to the initial attachment call - Supports overloading
  • 11. SVG and jQuerySVG SVG <rect x="20" y="50" width="100" height="50" fill="yellow" stroke="navy" stroke-width="5"> <g transform="translate(175 220)>" jQuery SVG svg.rect(20, 50, 100, 50,{fill: ’yellow’, stroke: ’navy’, strokeWidth: 5}); var g = svg.group({transform: ’translate(175 220)’});
  • 13. Libraries Used jQuery jQuerySVG jQueryUI jQueryContextMenu Panzoom.js
  • 14. Partial Implementation Viewport panning and zooming Elements insertion and drag drop Creation of tiles for canvas background jQueryContextMenu Creation of Text (Preliminary)
  • 15. Screenshot - User Interface
  • 16. Screenshot - SVG Drag and Drop
  • 17. Screenshot - Text manipulation
  • 18. Screenshot - Tiles, Context Menu
  • 19. Implementation issues to be resolved Animation Editor’s selected functionalities Creation of Motion Paths Translating and scaling the viewport Text editor’s selected functionalities Adding text objects Edit the existing text objects Aligning the text contents Formatting text contents Nesting of frames and text SVG objects
  • 20. References [1] Edward R. Tufte, The Visual Display of Quantitative Information, Second Edition, Graphics Press LLC, 2001. [2] W3C Recommendations, Scalable Vector Graphics (SVG) 1.1 (Second Edition) http://www.w3.org/TR/SVG/ [3] Taymjong Bah, Inkscape guide to a vector drawing program?, Third Edition, Prentice [4] Raphael.js, a cross-browser JavaScript library for drawing vector graphics on websites http://www.raphaeljs.com [5] Apache Batik, Java classes for manipulating SVG http://xmlgraphics.apache.org/batik/javadoc/ [6] Prezi, a cloud based SaaS presentation software
  • 21. References [7] jQuery, a JavaScript library to simplify scripting in HTML http://www.jquery.com/ [8] jQuery Plugins http://archive.plugins.jquery.com/ [9] jQuery UI, a jQuery user interface library http://www.jqueryui.com/ [10] jQuery ContextMenu, a jQuery plugin for context menus http://medialize.github.com/jQuery-contextMenu/ [11] jQuery SVG, a jQuery plugin to interact with SVG http://keith-wood.name/svg.html