2nd Annual Conference on Scalable Vector Graphics
The courses are sorted by the primary instructor's last name, which is underlined.
| Introduction to the DOM | |
| Instructors: |
Jarrett Bulat, Software Developer, Blast Radius Michael Gannon, Software Developer, Blast Radius |
| Target Audience: | Software Developers with limited familiarity to the DOM |
| Time: | Sunday / 13 July - 9:00 am - 12:30 pm |
| Room: | Chehalis |
| Duration: | Half Day |
| Description: | This tutorial is designed to introduce programmers to the fundamental concepts of the W3C Document Object Model (DOM). The DOM is a standards based application programming interface (API) to XML documents such as SVG images. The DOM is implemented as a parser in numerous programming and scripting languages, such as ECMAScript/JavaScript, C++, Java, and Python. A DOM parser reads XML into an in-memory tree structure containing various types of nodes. The API provides a wide variety of methods for examining or changing individual parts of the tree. The DOM is a powerful and flexible means of accessing SVG images. Introduction to the DOM can be used as a prerequisite to Intermediate DOM. It is aimed at developers with little or no knowledge of the DOM, or those who have used the DOM in the past but would like a refresher on the fundamental concepts. Practical examples using ECMAScript/JavaScript and group interaction will be used throughout the course. At the end of this tutorial, you will have a basic understanding of the DOM, its API, and how it can be used in SVG applications.
|
| Table of Contents: |
|
| Introduction to GML | |
| Instructor: |
Dr David Burggraf, Head of Research & Development, Galdos Systems Inc |
| Target Audience: | Technical Professionals |
| Time: | Monday / 14 July - 2:00 pm - 5:30 pm |
| Room: | Seymour |
| Duration: | Half Day |
| Description: | This half-day course is designed to get you started regardless of your previous exposure to GML. Except for the first three introductory topics, this is a technical course, which assumes previous exposure to XML technologies and a working knowledge of programming languages and system modeling concepts (including UML). The first topic is non-technical and is intended to give a conceptual picture of what GML offers and the benefits it offers over similar technologies available today. The course will provide additional detail on key XML technologies at a technical level including, in particular, XML Schema, XLink and XPointer.
|
| Table of Contents: |
|
| Advanced SVG Programming | |
| Instructor: |
Kurt A Cagle, Author, Cagle Communications |
| Target Audience: | Intermediate Programmers |
| Time: | Sunday / 13 July - 9:00 am - 5:30 pm |
| Room: | Cypress 2 |
| Duration: | Full Day |
| Description: | This full day course will look at a number of "advanced" techniques for building applications with the SVG DOM (Adobe's ASV version), including the use of Regular Expressions, Text manipulation, animating classes, building SVG trees, browser access (IE), XSLT, and more. This class assumes that the users are familiar with SVG and Javascript. |
| Table of Contents: |
|
| Map Production with SVG for Beginners | |
| Instructors: |
Tobias Dahinden, PhD student, Institute of Cartography - ETH Zurich Yvonne Isakowski, Research Assistant, Institute of Cartography, ETH Zurich Michael Cooper, Institute of Cartography - ETH Zurich |
| Target Audience: | SVG beginners |
| Time: | Monday / 14 July - 9:00 am - 5:30 pm |
| Room: | Oak 1 |
| Duration: | Full Day |
| Description: | The course has the target to produce a map with some interaction. We start with a simple 'hello world' graphic. Then we merge our graphic with a more complex graphic (obtained by a SVG export) and add a pixel background image. In a second part we add some simple JavaScript Code to introduce interaction.
|
| Table of Contents: |
The documentation is available via http://www.karto.ethz.ch/td/gps/ |
| Cross-platform application development using the Mobile DOM | |
| Instructor: |
Andrew Emmons, Senior Software Developer, BitFlash |
| Target Audience: | Software developers, mobile computer solutions, specialists in multimedia |
| Time: | Sunday / 13 July - 2:00 pm - 5:30 pm |
| Room: | Cypress 1 |
| Duration: | Half Day |
| Description: | It's possible that the Mobile DOM may be a superior API for developing applications on mobile devices. Besides allowing developers to render high-quality graphics and handle events, the main benefits of using SVG and the Mobile DOM are:
View Course Slides |
| Table of Contents: |
|
| Introduction to SVG | |
| Instructor: |
Darryl Fuller, Senior Software Engineer, SchemaSoft |
| Target Audience: | Developers interested in learning the basics of SVG |
| Time: | Sunday / 13 July - 9:00 am - 12:30 pm |
| Room: | Oak 1 |
| Duration: | Half Day |
| Description: | This course is an introduction to SVG, its capabilities, basic principles and syntax, and some advanced features. No prior knowledge of SVG is assumed. The course has three major parts. The first part is an overview of SVG's features and an overview of currently available tools. The second part, the bulk of the course, is a hands on session teaching SVG's document structure, co-ordinate system, basic shapes, text, paths, transformations, use of CSS, linking, and re-usable symbols. The third and final part of the course is a tour of some of SVG's advanced features.
View Course Slides |
| Table of Contents: |
|
| Intermediate DOM | |
| Instructors: |
Michael Gannon, Software Developer, Blast Radius Jarrett Bulat, Software Developer, Blast Radius |
| Target Audience: | Software developers with some DOM experience |
| Time: | Sunday / 13 July - 2:00 pm - 5:30 pm |
| Room: | Chehalis |
| Duration: | Half Day |
| Description: | This tutorial is designed to teach the more advanced topics of the Document Object Model (DOM). The DOM is a W3C standard that defines a tree based interface to documents, primarily XML documents. It is defined in CORBA IDL, but implemented in many different languages, ranging from Javascript to Java to Python. It allows a programmer to refer to, retrieve, and change nodes within an XML tree. It was designed to be easy to use, yet powerful enough to perform the necessary tasks. This tutorial is aimed at developers with some basic knowledge of the DOM, and also assumes a good working knowledge of XML. Topics covered in this tutorial include the key DOM concepts, advanced DOM mutations, namespaces, advanced DOM methods and the DOM Events model. Also an introduction to the SVG DOM will be given. Throughout this tutorial, examples will be given in Javascript and shown in Internet Explorer. Where Internet Explorer diverges from the standards, both syntaxes will be taught. By the end of this tutorial, you should have a clear understanding of the DOM and its relevance to your software development. You will have learned the key concepts and interfaces described in the DOM specification, and also the events mechanism relating to the DOM. You should be able to access and modify complex XML documents and successfully use the DOM within your application development.
|
| Table of Contents: |
|
| Designing and Building Web Sites that use SVG | |
| Instructor: |
Daniel German, Assistant Professor, University of Victoria |
| Target Audience: | People who know the basics of SVG and build Web sites |
| Time: | Sunday / 13 July - 2:00 pm - 5:30 pm |
| Room: | Oak 1 |
| Duration: | Half Day |
| Description: | This course is intended to be an introduction to the main principles behind SVG and how to successfully use it within a Web site. The course will start with a quick overview of sites that use SVG, both effectively and ineffectively. We will then discuss the ways in which SVG can enhance a Web site: static and dynamic graphics, text labels, navigational bars, gradients, etc. The second part of the course will concentrate on how to use these "building blocks" in the construction of a successful Web Site and will attempt to answer the questions: when is it appropriate to use SVG? what parts of a Web site will benefit the most from SVG? how accessible to users will the site be? how can someone tackle the complexity of designing and building a site that includes SVG? how can SVG graphics be automatically generated? The course will end with a discussion on the future of SVG. This course assumes basic knowledge of SVG and other Web related technologies, such as XHTML, XML, and CSS. |
| Table of Contents: |
|
| SVG from Database Content | |
| Instructor: |
Dr. Graciela Gonzalez, Assistant Professor, Sam Houston State University |
| Target Audience: | Developers new to web services and data access, managers |
| Time: | Sunday / 13 July - 9:00 am - 12:30 pm |
| Room: | Cypress 1 |
| Duration: | Half Day |
| Description: | A picture is worth a thousand words... but what if you have a million words to say differently to thousands of people? This course is aimed at given an overview of all the comnponents and standards needed to generate SVG files dynamically from database queries. It will include an overview of each of the required "tools": Web Services and related technologies (XML, SOAP, WSDL), transformation tools (XSL, XSLT), with a presentation of an application that implements such a system. |
| Table of Contents: |
|
| Advanced webmapping with SVG | |
| Instructors: |
Mr Georg Held, SVG Freelancer Mr. Andreas Neumann, Ph. D. Student, Institute of Cartography, ETH Zurich Mr Olaf Schnabel, Ph.D. Student, Institute of Cartography - ETH Zurich |
| Target Audience: | People with good SVG and scripting knowledge who are interested in cartographic applications |
| Time: | Monday / 14 July - 9:00 am - 5:30 pm |
| Room: | Thompson [Computer Lab] |
| Duration: | Full Day |
| Description: | The aim of this course is to learn advanced techniques of webmapping. |
| Table of Contents: | 1. Introduction 2. Advanced clientside techniques
|
| Building Smart Graphics Solutions with Corel Smart Graphics Studio | |
| Instructor: |
Mr Tom Hoferek, Senior User Experience Designer, Corel Corp |
| Target Audience: | Designers and developers who are interested in learning about Corel Smart Graphics Studio and how it is used to build SVG-based smart graphics solutio |
| Time: | Monday / 14 July - 2:00 pm - 5:30 pm |
| Room: | Oak 2 |
| Duration: | Half Day |
| Description: |
Objectives Topics Covered
|
| Electronic Publishing with XML Technologies | |
| Instructor: |
Mr Benjamin Jung, Lecturer, Trinity College Dublin |
| Target Audience: | Web Developers, Web Content Managers |
| Time: | Sunday / 13 July - 9:00 am - 5:30 pm |
| Room: | Thompson [Computer Lab] |
| Duration: | Full Day |
| Description: | This is a Full Day course with extensive Hands On sessions. The Extensible Markup Language (XML) is a meta-language used to create markup vocabularies for structuring domain-specific information. In general an XML document does not contain any information on how it should be displayed. To display an XML document as anything other than raw markup content requires a style sheet and/or some form of transformation. An XML document can be formatted for display using a style sheet language such as Cascading Style Sheets (CSS). Alternatively the XML document could be transformed into a display-oriented format such as XHTML. The Extensible Stylesheet Language (XSL) was specifically developed for publishing XML documents both online and in print. It consists of a transformation language and a set of formatting properties. This tutorial, as presented at various XML conferences in Europe and the US, provides an excellent introduction to the important technologies for publishing XML content. In particular it will focus on using XSL Transformations (XSLT) to transform XML content for publication. Each stage in the process of creating an electronic publication is examined in detail including maintenance issues and best practices. This process will be demonstrated through the creation of textual content for publication on the Web but is applicable to other types of electronic publishing such as SVG. Delegates attending this tutorial will obtain a theoretical and practical understanding of the technologies involved in electronic publishing with XML and XSLT including the creation of Web content. The theoretical portion of this tutorial explains the relevant specifications and technologies including DTD, XML, XSL (XSLT, XPath) and CSS. Prior knowledge of these specifications would be useful, but is not required. In the practical section delegates will use an integrated XML editor (XMLCooktop, Freeware) to gain some hands-on experience using the technologies introduced in the theoretical section. In this section each delegate will actively participate in the creation and maintenance of an electronic publication. Delegates will be guided through the entire process and individual help will be provided where necessary. |
| Table of Contents: |
|
| SVG GUI | |
| Instructors: |
Christopher T Lewis, Graduate Student / Bioinformatics Analyst, University of Saskatchewan / Agriculture and Agri-food Canada Mr Ronan LM Oger, Director, RO IT Systems Gordon Bowman, Lead Developer, New Ventures, Corel Corporation |
| Target Audience: | Web Developers/SVG GUI developers |
| Time: | Monday / 14 July - 9:00 am - 12:30 pm |
| Room: | Seymour |
| Duration: | Half Day |
| Description: | Half-day workshop This workshop has two main objectives:
A number of projects have sought to fill the short term need for SVG UI elements. Kevin Lindsey provides a number of SVG GUI widgets on his site, www.kevlindev.com, and started the SVgUI project (currently headed by Mark Robinson and Richard Bennett). Christopher Lewis produced the Custom GUI (CGUI) toolkit, available at http://homepage.usask.ca/~ctl271/cgui which was used for scientific visualization at brassica.agr.gc.ca. Together these three projects comprise the largest collection of publicly available SVG GUI components and functionality, but there are also commercial projects emerging to fill the desire for SVG GUI components (see for example www.corel.com/smartgraphics). The question becomes: How can these diverse projects work together to provide users with the most complete set of widgets and prevent duplicate efforts within the different projects? The SPARK project (www.schemasoft.org) was created in response to this question. The initial aim of SPARK is to develop an API and programmatic conventions for ECMAScript/SVG to provide a framework for interoperability among SVG GUI components. There are a number of direct benefits to the SVG standard that will result from the creation of well-designed SVG GUI architecture. For example, SVG will become a more attractive option for web based applications and allow SVG to gain momentum in a market dominated by Macromedia® Flash®. The added visibility will in turn increase interest in and use of SVG. The scientific community (outside GIS) is starting to produce SVG as an output format for their applications, and a well defined SVG GUI architecture will allow them to exploit further the capabilities of SVG. The creation of these projects should push the boundaries of the specification and highlight potential areas for expansion of the standard. However, to ensure that we reap the benefits of an SVG GUI architecture, many standards of best practice must be developed, publicized, and adhered to. This will require collaborative planning by the major groups/individuals who are involved?or should be involved?in the creation of SVG GUI standards. Part three of this workshop will foster communication among these individuals with a view to promoting informed decision making about SVG GUI standards and architecture. The results of this meeting will be published on the SPARK website, and worked into the standards developed as a part of that project. |
| Table of Contents: |
|
| Getting the server involved in SVG | |
| Instructor: |
Jim Ley |
| Target Audience: | Developers of SVG applications |
| Time: | Monday / 14 July - 9:00 am - 12:30 pm |
| Room: | Oak 2 |
| Duration: | Half Day |
| Description: | The course will illustrate various techniques for updating SVG on the client, either in response to user request, or to "push" new content to the user. The motivation for doing this is to improve the user-experience by merging real-time information and the power of SVG images. Other than a single rather poor method, this updating requires ECMAscript, so the course will include considerable scripting portions, particularly the methods getURL and postURL, and how to manipulate the DOM to display the new information. Data formats for the transmission of the data will also be discussed. All methods will be illustrated by various examples. The course will also show how the same semantic information transferred for the SVG can be used in HTML to provide alternative accessible versions of the same content. Outline: Motivation for dynamically updating SVG documents at the client. HTML methods. Scriptless SVG methods. Modifying XLink's with ECMAScript. ECMAScript HTTP methods. |
| Generating an SVG Garden Map from an XML Plant Database | |
| Instructor: |
Richard W Pearman, Boss, PixelPalaces |
| Target Audience: | Gardeners, those interested in generating SVG with XSLT or those interested in useing XML for biological applications |
| Time: | Monday / 14 July - 9:00 am - 5:30 pm |
| Room: | Chehalis |
| Duration: | Full Day |
| Description: | You've probably seen maps of gardens that are given out at Botanical gardens or next to photographs in magazines. These are a stylized picture of the garden with numbers representing plants and a key to show what plant each number represents. This is easy enough for a photograph but a real garden will keep changing so the map will need frequent updating. This course explains how to do an interactive SVG version of this where if you click on a number, information about the plant is displayed. This may include a list of photographs and clicking on this list will display the photos in pop-up windows. Updating is facilitated by generating the SVG map from an XML database using XSLT. This will be useful for serious gardeners and plant collectors. However it uses principles with more general applications: the applicability of XML to taxonomy (biological classification) and generating SVG with XSLT. A map of this type can be seen at www.PixelPalaces.com - go to the portfolio page or the SVG gallery. As it's rather complicated this is a two-part (full day) course.
|
| Table of Contents: | Part I Developing an XML database of the plants, classifying them in families, genera, species etc. but also adding details like common names and location in the garden. This will include an explanation of taxonomy and how its structure is similar to that of XML. Developing an XSLT stylesheet to add the plants (as numbers) to the map. This covers basic XSLT, using and applying templates, using data from current database element. Part II Adding the XSLT code to display plant information. This involves extracting data from ancestors, siblings, siblings of ancestors, and descendents of the current element in the XML database. It also addresses the issue of displaying text in SVG without a word wrap (assuming a word wrap hasn't been implemented in a common viewer by then). Displaying images of plants in pop-up windows. It will be explained that this requires the SVG map to be displayed in an XHTML page. This involves using XSLT to generate somewhat complicated JavaScript arguments. |
| XSLT Quickstart | |
| Instructor: |
Mr. Paul A Prescod, Technical Architect, Blast Radius |
| Target Audience: | Programmers and power users |
| Time: | Sunday / 13 July - 9:00 am - 5:30 pm |
| Room: | Oak 2 |
| Duration: | Full Day |
| Description: | XSLT is the most popular way to turn one XML vocabulary into another. This is important in a variety of domains. In publishing, it is necessary to turn specialized vocabularies into display-specific ones like HTML (for the Web) or XSL-FO (for print). In e-business, it is necessary to translate between various organization or industry-specific vocabularies into more generic ones. And most interesting for SVG Open attendees, it is possible to use XSLT to translate from various data sources into SVG graphics. XSLT is an indispensible part of a well-rounded XML developer's toolkit. XSLT is a sophisticated side-effect-free language based upon years of research and experimentation with various XML transformation techniques. This full-day class will teach basic XSLT techniques and advanced techniques specifically appropriate to transformations into SVG. It will start by teaching the XPath language embedded in XSLT, continue by showing how to use XSLT to pull data out of XML documents, then show how to build transformations with multiple templates and more complicated flows of control. XSLT is a full programming language and could require several days to teach in its entirety. This course will cover enough of the language to handle simple input and output formats, including basic diagrams. |
| Table of Contents: |
|