SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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

Mais conteúdo relacionado

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Último (20)

Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 

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