text:
Alexander Adam (examotion GmbH, CEO)
Alexander Adam is the CEO of examotion GmbH. He worked for EvolGrafiX at the beginning of SVG, then switched over to become a freelancer for SVG related work. Now he is with examotion GmbH. He has also written a book on SVG.
Show Abstract
"SVG is a dead format" is what some people are saying. And they might be right when only looking at today's market share of SVG on the overall web content. But what they don't know is how SVG is really used, often behind the scenes and not apparent to the user. There are many reasons why SVG is going to be popular in future web applications and I will list quite a few of them, presenting real world facts and also real world applications. I will also discuss existing and upcoming technologies like Flash and Silverlight/WPF and where SVG can and will take its place.
Hide Abstract
Jon A. Cruz (Inkscape, Developer and Board Member)
Jon A. Cruz is a professional software developer with over 20 years of experience, has worked extensively in multimedia, including programming and 3D art creation. His work includes research and development for mobile and other devices, back end support for large mail and messaging systems, enterprise security applications, and user interface design and development. Currently his main participation in Open Source is as a core developer and board member with the Inkscape team. His recent work on Inkscape includes more comprehensive integration of LittleCMS and color management features, tablet enhancements and general UI feature work.
Inkscape is an Open Source SVG editor with capabilities similar to Illustrator, CorelDraw, Visio, etc. Supported SVG features include basic shapes, paths, text, alpha blending, transforms, gradients, node editing, filters, svg-to-png export, grouping, and more.
Inkscape's main motivation is to provide the Open Source community with a fully XML, SVG, and CSS2 compliant SVG drawing tool. Since the project's inception in 2003, Inkscape has quickly grown to be the premier Open Source solution for vector graphics creation and editing. Much of this success can be attributed to the rapid development and refinement of features along with a strong focus on usability and providing a strong solution for end users of all types.
This talk will begin with a basic introduction to Inkscape and its use in creating and editing SVG, along with a quick overview of SVG itself. Advantages of being both cross-platform and Open Source will be discussed, followed by how that flows into the interoperability and collaboration that Inkscape strives for. Technically interacting with other software, both Open Source and proprietary, and also freely collaborating with commercial and Open Source groups themselves brings many benefits for end users.
Recent additions to Inkscape will be spotlighted, including docking UI, on-canvas gradient editing, paint bucket fill tool, 3D box tool, tweak tool, live path effects, SVG filters and color management.
Various types of users have found Inkscape to be quite useful for a diverse range of applications. A few representative uses will be covered to illustrate the range of work users of Inkscape can use it to achieve. Additionally, some of the diverse user communities dedicated to different uses of Inkscape that have grown will be touched upon.
One key to the project's success has be the establishment of a friendly, open, community-oriented development process. Focusing on a low barrier to entry has allowed for the development community to thrive, and for individuals to come by and add features as they find need of them. Scripting and other extensions help to facilitate this. There has also been a strong effort made to avoid the separation of "developer" and "user", and instead embrace all as "contributors". Benefits to this will be covered, including the addition of new features that might otherwise have never been envisioned, let alone implemented.
Finally, the future of Inkscape will be discussed. Planned enhancements such as DOM and script bindings, editable color palettes, general Swatch Book support, extensions API enhancements, animation, and SVG Mobile will be covered. SVG Tiny 1.1 is the immediate near-term goal. Implementation will move on to target full SVG 1.1 with SVGT 1.2 features intermixed as feasible.
Andrew Emmons (Quickoffice, Engineering Director, SVG Business Unit)
Andrew Emmons has been developing SVG implementations since 2001, and is currently the Engineering Director at Quickoffice for the SVG Business Unit. This includes the BitFlash SVG Engine, which is widely distributed in the mobile devices market. He also has the pleasure of being Co-Chair of the SVG Working Group, where he helps lead development of future SVG versions. Before joining BitFlash, a pioneer in Mobile SVG applications, Andrew was the Lead Programmer for 5 years at Sir-Tech Canada, a critically-acclaimed PC game development company.
The adoption of SVG has been increasing at an unprecedented rate over the last few years, and the technology is being used in areas you may find surprising. In this talk, Andrew will discuss success stories where the power and flexibility of SVG was leveraged to solve real-world problems. In addition to outlining what benefits SVG brought to each problem domain, he will also explore some of the challenges encountered. Finally, Andrew will discuss what the future holds for SVG, not only from a technical point of view, as co-chair of the SVG Working Group, but also from a market share perspective.
Jon Ferraiolo (IBM, Web Architect)
Jon Ferraiolo manages operations and chairs various activities in the OpenAjax Alliance. He is an employee of IBM, working within its Emerging Internet Technologies group. Before joining IBM in 2006, Jon worked at Adobe for 13 years where he was an architect, engineering manager and product manager on multiple Adobe products and where he participated in various standards activities. At Adobe, Jon was one of the main drivers of SVG in the early days. He was the principal author of the PGML submission, was a leading participant in the SVG Working Group from 1998-2005, was sole editor of the SVG 1.0 specification, and at Adobe contributed as an architect to various SVG product activities, including Adobe SVG Viewer, Adobe Illustrator, the PDF-in-XML Mars project (which uses SVG for page images), and Adobe Digital Editions (which includes SVG support within its support of industry-standard OPS 2.0).
Much has changed with SVG since the first years of this decade. In the wake of the approval of the SVG 1.0 specification as a W3C Recommendation in 2001 and the release of the Adobe SVG Viewer (ASV), SVG became a popular web format for desktop computers, particularly among Enterprise web developers, who appreciated its openness, its rich feature set (including scripting, animation, and Ajax-like background HTTP requests to servers), its commonality with HTML, and its easy integration with XML workflows. In the 2002-2003 timeframe, SVG was on the verge of becoming a major Web format. However, with Adobe's abandonment of ASV, followed by an end-of-life announcement, and continued lack of SVG support within IE, SVG's popularity within desktop browsers plunged.
Now, years later, SVG is in the midst of a resurrection of sorts. On mobile phones, SVG Tiny has achieved widespread deployment and adoption. In additional to being an industry standard (not only a W3C standard, but also part of standards from 3GPP, OMA and JCP), SVG Tiny technically is the only widespread rich experience format (proprietary or otherwise) that is available on a wide range of volume cell phones and is performant on those devices. This is because SVG Tiny was designed and implemented by the mobile industry itself from scratch, versus various attempts to shove heavyweight proprietary desktop formats onto volume phones. SVG Tiny now ships on hundreds of millions of phones and is used to power many mobile applications, including mobile TV and video applications.
The SVG comeback also extends to the desktop due to strong SVG support in Firefox/Mozilla, Safari/Webkit and Opera, along with the emergence of Ajax libraries such as dojo.gfx that can deliver the SVG graphics model into IE by converting into VML or Silverlight. As mobile devices increasingly support desktop browsers, such as what we are seeing today with phones from Apple, Nokia, Google Android, and Opera licensees, SVG comes along for the ride and becomes a standard feature in future phones.
Another key development over recent years is the Ajax phenomenon. Since the term "AJAX" was first dubbed in early 2005, the industry has seen an explosion of Ajax products and technologies, with hundreds of commercial Ajax products and dozens of open source Ajax projects. Within a little more than 3 years, Ajax has moved from an idea to a mature product category that is now an integral part of most company's web development efforts.
As a result, Ajax is big in the industry and SVG is part of Ajax. However, the landscape is complex due to major differences in SVG support within browsers and lack of SVG support within IE. Today, you really can't just use SVG on a cross-browser basis without using ASV with IE, and achieving interactive SVG across Firefox, Safari and Opera is highly complex. In this talk, Jon Ferraiolo will review current industry trends with regard to browser technologies and will demonstrate how far one can go today to use SVG by leveraging Ajax techniques to abstract away browser differences. Finally, Jon will offer predictions for what the future holds for SVG.
Show Biography
Papertopic: SVG Authoring Tools and Techniques
Author(s): Adam, Alexander (examotion GmbH)
Presentation of the Renesis(r) Technology Platform:
Renesis Player
The Renesis Player is an SVG 1.1/1.2 compatible player for SVG Contents. It features an Internet Explorer Plugin, a Windows Explorer Plugin for thumbnails, a Standalone Application and easy integration possibilities. This presentation shows a few applications done within Renesis Player.
Renesis Rave
Rave is the forthcoming authoring tool for authoring SVG Documents and interactive applications. It features vector illustration capabilities as well as live-editing and animations. It provides a new, unique way to allow developers, designers and creatives to work within one single authoring environment and helps in creating more SVG Documents
Papertopic: Business Cases and Case Studies
Papertopic: SVG for Webmapping and Online GIS/GML
Author(s): Antoniou, Vyron (University College London)
Since the World Wide Web became a medium to serve spatial information there have been different methods to deliver a map over the Web. These methods vary from a trivial use of HTML's element to highly complex and sophisticated ones like distributed GIS services. Three of these methods are going to be briefly discussed due to their roles in the formation of Web mapping and Web GIS knowledge domain. These approaches are: (i) a methodology, followed by major commercial vendors, which rely on on-the-fly generation of raster maps on the server; (ii) an architecture proposed by OGC, a leading international organization, and introduces the concept of Web mapping services; and (iii) a solution based on popular APIs from companies like Google, Microsoft and Yahoo, that is considered as a start of a new era in Web mapping.
While these solutions have managed to deliver spatial content to the users, they are heavily based on the pre-rendering of spatial information in a raster format. Such a strategy, though, bears a number of limitations. Limitations such as content inflexibility, limited interactivity and animation, limited functionality in the applications, non-conformance to a bi-directional Web, make this strategy not fit-for-purpose when it comes to special applications and visualization of XML-based data. This will be examined in order to justify the need for vector data on the client.
While there is a growing need of vector encoding on the client, the fact remains that still there has not been a widespread acceptance and progress of mapping applications that use SVG though there are alternatives through hybrid mapping applications.
A number of limitations are associated with vectors that range from intrinsic characteristics of the encoding to corporate decisions that should provide a focus for scholars and developers. The size of the XML-based files, the difficulties in holistically determining and modelling the cartographic process of generalization and unresolved issues related to efficient progressive transmission of vector data are major drawbacks. Moreover, the open structure of XML encoding raises intellectual property protection and rights management issues when serving spatial information. Finally, the denial of native support from IE, the predominant web browser, and the discontinuity in development from Adobe of the most popular plug-in deters the adoption of SVG.
In the context of the aforementioned theoretical background a series of real world examples is examined. Vendor APIs of mapping applications are examined and the role of SVG in these is evaluated. Additionally, the effort to build task oriented applications like routing services (from vendors like Google, Yahoo and Microsoft) using SVG is discussed. Also, the realisation of bi-directional Web applications and the rise of volunteered geographic information is examined using wikimapia.org as a paradigm. Finally, a case study of delivering legislation, planning and building regulation information with the help of a WebGIS will be presented. This application was built using PostgreSQL (with PostGIS) as the spatial database and SVG to deliver maps.
After the first wave of enthusiasm for the new mapping era based on popular APIs that led to the boom of mash-ups, the need for the next step in the evolution of Web mapping applications has emerged. It is clear that a raster only solution, though capable of providing an overwhelming amount of information, has a number of limitations due to the nature of raster files and thus vector overlays are needed to cover these limitations. In an effort to determine the most promising way for further research in vector transmission, a set of preliminary tests were undertaken in order to evaluate the efficiency of a hybrid mapping application using SVG, AJAX and the Google Maps API. These experiments show the inadequacy of Google Maps API to provide ways for efficient transmission of vector data. On the contrary, the use of Google Maps as a backdrop overlaid with spatial data encoded in SVG proves to be considerably more dynamic and efficient solution. Moreover, in these examples a new approach for the use of AJAX techniques in the transmission process of vector data is introduced that takes advantage of the particularities of SVG grammar. The characteristic of this method is the minimization of network latency and thus smooth rendering of vector data on the client without delays or "loading…" messages.
Author(s): Mufatti, Alex (Mikron Agno SA), Rigillo, Francesco (Mikron Agno SA), Ballabio, Carlo (Isola Software), Sozzi, Gabriele (Mikron Agno SA), Roggero, Giulio (Isola Software), Fabiano, Domenico (Isolasoftware), Ghislandi, Fabio M. (Ghislandi) and Marco Beretta (Mikron SA Agno)
In this paper we aim to investigate how SVG can be adopted to improve the quality of a HMI (Human Machine Interface) application. Our approach exploits AJAX and Web Services in the area of Machining Technologies. We compare the performance of our run-time engine with those the current HMI software. We present also a configuration engine based on SVG/XSLT/DOM/.NET that permits to design new HMI pages, linked to the real data of machines, just using a simple SVG editor without writing a single line of code.
The subject of this paper is miHMI software, a project developed in Mikron Agno SA to provide a new HMI framework for Transfer Machines.
The primary requirements for miHMI are flexibility and adaptivity because it must be installed on the several different lines of products that the company sells. To reduce time and costs, miHMI should provide also a simple configuration editor that permits, without programming skills, to simply design the pages for controlling and monitoring the machines.
To satisfy all these requirements we chose to use a web based architecture, almost completely based on SVG to manage the data visualization and the user interactions. In this way, we obtained an extremely flexible and scalable application that can be easily surfed with any input device, from a touch screen to a mouse pointer.
Being based on web technology, the application is completely accessible in remote and suitable for supervision of production by remote positions. The web based structure also allows to obtain, in an easy way, a nice look and feel and to include into the pages different contents such as images, texts, videos or sounds.
The major strength of this architecture, as well as the fundamental requirement, is the ease and the quickness with which even an inexperienced user can modify or create pages with the only use of office software.
To help the user during page elaboration, we also create a set of dedicated stencils which includes the most used controls and figures that can be inserted into the page by drag end drop. The user can however design its own image and add it to the SVG.
When the page layout is completed, it is possible to associate, still from the editor through the use of custom properties, a stencil or a group of figures to some values coming from the real time control system that is on the machine. With the use of custom properties it is also possible to define the animations types of the single object in the page. For example, if the page includes a bar linked to an oil level sensor, you can set how it will react to physical level changes; you can make it change its color, increase or decrease its dimension or display a text with the current level.
The actual link between stencil and real time data is made server-side by a dynamic runtime parser which extracts custom properties from the SVG page, analyzes them and, based on stencil type and on configurable rules, instruments the SVG with the needed JavaScript code to animate the page client-side.
Moreover, to help the user in drawing complex geometrical figures, we propose an engine, based on XSLT technology, to apply geometrical transformations to SVG pictures.
Finally, the SVG pages are included into an ASP.NET framework using AJAX.NET technology that also manages intuitive tab navigation. The navigation window is then handled by a client WPF application, which controls some advanced functions such as integration of third party tools (typically real-time control software or other hardware component software) and language selection.
miHMI is installed on customer machines and it is currently used daily to manage several thousands of data. The performance results in the first version are interesting; currently miHMI provides data within 150ms from field to user interface on pages that monitors about 100 of data at the same time. We are working on the new version that will provide data at even higher rate.
miHMI is flexible enough to be adopted in other areas such as Water Flow monitor or Robotic control. We will present two demos for this conference: Lego Mindstorm NTX control and MFT Machine simulator.
seit 2006: Mitarbeit im DIN-Ausschuss NA 005-03-03 AA "Kartographie und Geoinformation" (CEN/TC 287 und ISO/TC 211)
seit 2002: Professor für Geoinformatik an der Hochschule für Technik, Stuttgart
Lehre in den Studiengängen Vermessungswesen und Geoinformatik (BSc), Photogrammetry and Geoinformatics (MSc), Informationslogistik (BSc), Informatik (BSc), Wirtschaftsinformatik (BSc), Vermessung (MSc)
GIS-Projekte im kommunalen Unfeld
1989 - 2002: Angestellter bei Graphservice GmbH, einem Unternehmens der graphischen Datenverarbeitung und Informationstechnologie, im Bereich geographisch-technischer Informationssysteme als Systemanalytiker, GIS-Consultant und Anwendungsentwickler.
Author(s): Behr, Franz-Josef (University of Applied Sciences Stuttgart) and Hui Li (M-Way Solutions GmbH)
In web cartography the Web Map Service Implementation Specification (WMS) developed by the Open Geospatial Consortium (OGC) has been published as ISO Standard 19128. According to this specification maps of spatially referenced data are produced dynamically from geographic information. Scalable Vector Graphics (SVG) standardized by W3C, with its capabilities of transformations, scalable geometries, and strong extensibility, is one of the recommended formats for WMS output.
An OGC compliant WMS applies to three different operations: GetCapabilities, GetMap and GetFeatureInfo, with the first two being mandatory. Sending a GetCapabilities request is the first step in the communication between client and server. On receiving such a request, the server returns a Capabilities file mostly encoded in XML, describing the service, including the map content available and which request parameters to use. Based on the information provided, the client can send a GetMap request. Afterwards, the GetFeatureInfo operation returns information about a map feature at a particular point on the map. For each of these requests, the parameters are described in the standard.
In this paper the development of a Web Map Server named SUAS MapServer, programmed in PHP, is described. It is part of an open source based Web Map Service and Web Feature Service framework, for publishing geographic data in both raster and vector image formats according to WMS and WFS specifications.
All tools and techniques used are open source, including Apache web server, PHP (with additional modules like GD, SWF, PDF, and ExpatXML Library), MySQL database management system, PHPMyAdmin, Ajax, SVG, X3D and KML.
SUAS MapServer can respond to the requests described above according to WMS specification. After having validated a user's GetMap request, required data are retrieved from the database. Depending on the format the user has required, a raster image or a vector dataset is generated. For SVG Tiny (SVGT) and SVG Basic (SVGB), KML, VRML and X3D, SUAS can directly generate the code in XML format, optionally compressed.
SUAS supports Styled Layer Descriptors (SLD) specification; it can produce map with different styles, allowing user-defined symbolization of feature data. With the additional operations DescribeLayer, GetLegendGraphic and GetStyles, this server can retrieve features from a Web Feature Service. This is suitable for style flexibility and vividness of SVG.
In contrast to other traditional Map Servers, SUAS can produce not only static map clients, but also a user-interactive map. SVG and JavaScript techniques combine both GetMap and GetFeatureInfo requests in one application. Users can browse attached attribute information of interesting features in form of popping up dialog containers or other information containers; can show or hide multilayers, or link to extended datasets, so that the map can contain multi-dimensional geo-information.
The server application offers several options to import different formats of spatial data into MySQL database momentarily; including using SVG formatted files directly, describing all geographic information by SVG geometry elements.
A prototype for a client especially able to use data provided in SVG and Raster format was also developed. Using Ajax techniques it can dynamically send map server requests, providing a map with navigation functions, such as zoom and pan. Additionally a client named MoWMS for mobile devices is available supporting WMS requests. With the Tinyline SVG engine, it can display SVGT maps on mobile devices.
The development proves that open, XML-based standards in combination with modern programming languages and integrated development environments allow rapid implementation of recommendations and standards in geo-informatics.
Papertopic: Mobile SVG Solutions
Author(s): Temmos, Jean-Marc (Visteon Software Technologies), Othman Abdallah, Mohamad (Ecole des Mines de Paris) and Sébastien Boisgérault (Ecole des Mines de Paris - Paris Tech)
Information systems and control interfaces available in the automotive exhibit a wide collection of configurations and platforms. Classic mechanical systems, such as head units or instrument clusters, coexist and compete increasingly with many types of graphic displays ranging from basic segmented screens to complex multi-functional devices and reconfigurable instrument clusters. Advanced applications found in high-class vehicles or prototypes make good use of the flexibility of such complex displays. They leverage them to provide innovative user interaction schemes and specialized data visualisation components for applications related for instance to navigation and traffic, vehicle communication or automatic guidance.
We address the definition of an open core model for the description of such user interfaces, the analysis and improvement of current design work-flows and the integration of associated software tools into the EDONA platform. EDONA (http://www.edona.fr) is an ongoing french project of the competitive cluster System@tic Paris-Région that gathers the major national actors of the automotive industry. This project promotes an approach based on shared development tools and standards for the design of embedded systems for the automotive. It aims to deliver an open technological platform as well as several specialized development environments.
The SVG standard has many features that are adequate for user interface modelling. For instance:
- SVG drawings are vector-based, interactive and dynamic,
- Graphic elements provide a low-level description of interface graphics, whereas container elements allow a management at component-level.
- Component configuration is available with styles, layouting with transforms, etc.
In this respect, many user interface design tools aimed at automotive platforms such as Altia Design, Rapid+ and Vaps XT have models that are similar to some extent but proprietary. To the best of our knowledge, none of them has embraced SVG as their core graphic representation, as we have done. We will present evidence that supports this choice.
Finally, a user interface model is not comprehensive without the description of its behavior: how user interaction is handled, what logic governs changes in the graphic state and triggers animations, how the interface is connected with external systems. The dominant methodology to describe this functional layer favors, instead of using general purpose programming languages to complement the graphic model, the entire description of the user interface in a model. This modelling stage is done with specific execution frameworks popular in the design of embedded systems such as state charts and data flow diagrams.
We will explain the reasons behind the adoption of this design methodology, demonstrate the type of frameworks used to model user interface behaviors, and discuss the interaction between functional and graphic layers.
Ms Manti Bose is an R&D Engineer working on the SVG Tiny1.2 platform for past 2 and 1/2 years. She started her career in graphics and imaging domain and was involved in the implementation of the parser and player for SVGTiny 1.2 from scratch, developed on top of OpenVG graphics library in C language. Then she has also designed and implemented a full-fledged SMIL timing and animation module in C++ for SVGTiny 1.2, that supports declarative animation for SVG graphics objects, text, multimedia elements.
Author(s): Bose, Manti (Samsung India Software Operations (SISO))
This paper discusses the feasibility and the implementation aspects of developing a collaborative web conferencing application, primarily using the Scalable Vector Graphics (SVG) Platform for memory constrained devices. This tool enables multiple users dispersed at different geographic locations to share and exchange text-based notes, drawings, files simultaneously with other users.
One of the usages of collaborative computing is in Computer Supported Cooperative Work (CSCW).
The user data that includes audio, video, images, text and personalized notes, can be embedded within SVG exploiting its rich set of graphical objects. The features present in SVG that will enhance and support this conferencing application are as follows.
• SVG's content creation tools allows a user to save his work in the SVG file format,irrespective of whether he is online,that can be later archived for future use.
• SVG supports ECMAScript [1] and eventing that makes it dynamic and interactive for multiuser interaction over the internet.
• The collaboration tool must be scalable for extending the capabilities of the application by adding it to auxillary applications like chat whereby a user can draw something in the drawing area, paste image or text from other application or insert images from the local filesystem. The extensibility of XML allows SVG to have embedded metadata in proprietary formats without affecting the presentation.
• There is a tremendous scope of implementing Zoomable User Interfaces (ZUI), with the zoom and pan features of the SVG platform. The scalable display additionally solves the problem of presenting the data, at different resolutions.
[1] http://www.w3.org/TR/SVGMobile12/refs.html#ref-ECMAScript
Papertopic: File Format Conversion
Author(s): Buck, Thomas (Universidade Salvador (UNIFACS)) and Bernardo Camargo Silva (Universidade Salvador - UNIFACS)
Imagine the following scenario. For a typical discipline setting, the teacher makes some planning before the classes begin. When he goes to classroom, he wants to follow that planning. In this case, he has a few options: 1) he has to remember everything, i.e., he doesn't need any other help except his memory; 2) he makes some written notes, and take those notes with him to class; 3) in the classroom, he has access to a PC with PPT presentation software; and 4) he has a mobile phone with Scalable Vector Graphics (SVG) presentation software. Let's quickly analyze these options: 1) the teacher doesn't like technology, so this paper is not for him; 2) the teacher has only one hardcopy of his classes, with all the known consequences – maybe he doesn't like technology either; 3) he (or the institution) needs to buy a machine and pay for a license; and 4) voilá, the teacher goes to the classroom with his preferred cell phone. Nowadays presentation software for SVG format is free, the mobile phone itself is getting cheaper, and, of course, there are many cell phones capable of displaying SVG files [1]. That's exactly the scenario were this project is inserted.
There are other advantages when using the SVG format. As it is a vector format, the presentation quality is not affected when viewed on portable devices, which have low resolution, like mobile phones. The size of the files is normally less than the PPT version of them, which is desirable in the case of using portable devices. And, as SVG is XML based, the files, once uploaded to the internet, can be searched based on their content. This is very useful when the teacher tries to find similar material, for example.
The conversion from PPT to SVG is done with open source software, and in the near future it will be easily executed with a web service. As a matter of fact, the teacher can create his classnotes in a software like Inkscape [2], which is free of charge and generates SVG files directly, but why do someone needs to learn another software interface if PPT software is well known and can be converted automatically? Similar arguments can be used against the approach shown in [3].
This paper will show how to build a conversion application which transforms a PPT file with N slides into a set of N SVG files, which is then transferred to the mobile phone. In other words, the teacher plans his classes at home, or somewhere else, and then uploads the content into his pocket. He is now ready to teach.
One last piece of information: maybe in the near future cell phones will incorporate projector technology [4]. Can you believe that?
[1] http://www.svg.org/special/svg_phones/
[2] http://www.inkscape.org/
[3] http://www.svgopen.org/2004/papers/SVGSlidePresentationEditor/
[4] Linda Dailey Paulson, Proposed Technology Could Add Tiny Image Projectors to Cell Phones, Computer 39(2): 22, February 2006.
Papertopic: Server-side SVG Generators and Manipulators
Author(s): Herdy, Ken (Simon Fraser University) and Rob Cameron (Simon Fraser University)
A performance study considering several alternatives for the visualization of geographic information (GI) in on-demand web-based mapping systems focused primarily on server-side generation of SVG from data encoded in Geography Markup Language (GML). In that context, a detailed performance comparison of GML to SVG transformation using several XML transformation technologies was carried out, including Java-based XSLT technologies, direct SAX implementations in both Java and C++, as well as high performance implementations using the recently released Intel XML Software Suite 1.0 and the new high performance XML technology based on parallel bit streams (Parabix).
Other alternatives considered in the traditional 3-tier architecture for on-demand web-based mapping systems include the visualization of GI using Keyhole Markup Language (KML) as an alternative to SVG and the possibility of using streaming SVG technologies and progressive rendering to reduce latency.
Other alternatives considered in the traditional 3-tier architecture for on-demand web-based mapping systems include the use of data parallel, AJAX-based architectures, as an alternative to traditional multi-threaded, server-side approaches in the generation of SVG map layers. The possibilities of using streaming SVG technologies and progressive rendering to reduce latency are also investigated.
Whereas XSLT technologies were found to be competitive to direct implementation with SAX-based implementations within a factor of two, implementation using the high-performance Parabix framework offered the best performance and were found to offer a speed-up over worst case XSLT of well over an order of magnitude. This performance improvement is primarily due to the reduction of XML parsing cost using parallel bit stream technology, but care is required in using the framework in order to avoid other bottlenecks in the transformation process. For example, an initial C-based implementation on top of Parabix was found to have a significant remaining bottleneck in formatted output, which was eliminated by careful reimplementation.
The client-side translation and scaling features of SVG were found to be of substantial value in addressing server-side performance. While the initial naive XSLT implementations performed transformations from world to screen using XSLT extension functions within the GML to SVG software, it proved possible to avoid this work by providing the client with the appropriate transformation matrix parameters. With some GML data sets dominated by long lists of coordinate data, this optimization proved quite valuable in all implementations of the GML to SVG transformation benchmarks. Overall, the highly efficient parallel bit stream based scanning routines of the Parabix engine provided the best performance results in the parsing of long coordinate lists. No apparent client-side performance degradation due to client side coordinate transformation was observed on any of the test platforms.
Although programming within the Parabix framework is similar in nature to programming under SAX, it would ultimately be desirable to provide high-performance alternatives using high-level programming paradigms such as that of XSLT. Implementation of a high-performance XSLT processor using Parabix is an active focus of our ongoing research. A further research direction worth considering is the possibility of deploying Parabix on the client-side to provide performance improvements in SVG rendering performance.
Author(s): Li, Yan (School of Computer, South China Normal University), Huang, Haosheng (Guangzhou Institute of Geochemistry, Chinese Academy of Sciences, Guangzhou, China), Chi, Guobin (Spatial Information Research Center, South China Normal University) and Yang Cao (Spatial Information Research Center, South China Normal University)
The main characteristics of GIS functionality are the definitions of spatial position, the spatial analysis and symbols representation but SVG specification is focused on graphic representation which is not involved in such a series of the functions.
This paper introduces representing, positioning and analyzing vector map of spatial information on the Web using Scalable Vector Graphics (SVG) based on the spatial characteristics. In this point, it covers a design of SVG spatial representing model, SVG topology model, SVG Symbol base and visualizing database structure; a formal description of the objects including point, curve, polygon, relations between them and attributes related in the models and the database; and a creation of module functions of geographical coordinate transform, topology operators, basic spatial analyzing operators and SVG visualizing database in order to support the spatial position, spatial query and spatial analysis of GIS main functionalities with SVG. And it also emphasizes the importance of symbols representation of the spatial information and gives a solution of concurrent markup issue which is a common case to represent more than one attributes on one point or coordinate for overlapping hierarchies and visualizing concurrent in spatial representation. Taking example of filling both color and symbols with a centriod of polygon or two languages connected to one point etc, it is proved that the effect of the concurrent markup solution for SVG.
By the experiments and comparison with other technologies for similar purposes, these algorithms designed can be used not only to implement the spatial query like accessing spatial geometric elements and attributes, map symbols representation, spatial measurement and spatial direction definition but also to create the spatial topological operators such as 'TOUCH', 'CROSS', 'DISJOINT', 'WITHIN' and 'OVERLAP' for basic spatial relation analysis and to define the topology judging operators such as 'BUFFER', 'INTERSECTION and 'UNION' operators for spatial overlapping analysis. At same time, these functions developed with JAVA Script it can be used as an extension of SVG Specification. Finally, these approaches were implemented and supported to create a software platform called 'Spatial Information Service System' which focus on the integration and analysis with multiply sources of spatial information as a delivering and serving platform for various applications in different fields.
Key Words: SVG-based Spatial Information analysis, topological representation, SVG geographical projection, symbols representation.
Author(s): Locati, Mario (Istituto Nazionale di Geofisica e Vulcanologia) and Andrea Cassera (Istituto Nazionale di Geofisica e Vulcanologia)
In our working group at the INGV Milano (Istituto Nazionale di Geofisica e Vulcanologia) we have to deal with the geographical representation and manipulation of data of historical earthquakes.
We first collect and store scientific papers and documents (called "Studies") supplying such data covering a thousand years of earthquakes, then a record for each collected item is added to our earthquake inventory.
Often happens that a single earthquake is being studied by multiple Studies, so we have to make connection between already collected items and analyze the differences.
The third step is to extract from the Study the distribution in time and space of the effects of the described earthquake.
In this way each collected Study item produce the so called "intensity distribution map" of an earthquake: a list of places cited, each with a level of damage effect.
We are involved with European Community research projects and we have to share the entire research process among researcher spread in many countries. We are also an Italian public financed research institute and so we have to spread knowledge to the public. The only viable solution is to use web based tools.
We decided to develop our own tools as our tasks are not fitting very well with the commercially available web mapping software analyzed.
Pre-packed software solutions are too constraining for our purposes as our workflow is always changing and standardisation is not always possible in a research environment.
So, why our mapping tools are using SVG?
In our working group we've already got a couple of web developers that deal everyday with html and javascript issues; the approach to XML first, then to the SVG subset was not difficult being everything a coherent scheme.
Developed code protection is not an issue for us: the European Community, that often funds our projects, requests us to deliver as open source our internally developed solutions.
SVG solutions helps unload our server computational power as the graphical side is delegated to the client.
The SVG is easy to manipulate and interact with; using a common and very basic webserver configuration (Apache and a general version of MySql not spatially aware) we found the possibility to develop very focused applications that satisfy our specific tasks.
So far we have developed and published:
- a public website with a thousand maps showing the geographical distribution of effects of a thousand years of earthquakes; maps can be zoomed, panned, searched trough.
The website was published in March 2007 and maps are viewable on every browser, but zoom and pan are just available with the Adobe SVG Viewer. Analysis of the page request reveals that people are using it comfortably and visitors are steadily increasing;
- an internal website with the inventory of the collected Studies of historical earthquakes, with source studies each with an intensity distribution map;
- a place finder tool with facilities helping reviewing and managing the places described in the collected Studies; places lists can be stored in the researcher online account, saved as spreadsheet tables and loaded from online databases or from offline files.
Being the development process done, a major revision of the source code is planned; this will be necessary as many of our partners wants to use these tools with their own data. A documented Open Source release is planned.
The presentation will show the SVG flexibility in our research environment demonstrating our online tools.
Author(s): Rodríguez Mota, Abraham (The University of Sheffield) and Anthony Cowling (University of Sheffield)
This paper presents a software tool that applies Scalable Vector Graphics (SVG) representation to produce, store and maintain a set of light-weight software documentation, where an important feature of the tool is that it must keep this documentation in synchrony with the code of the software being developed. The tool is focused, but not restricted, to help developers who follow an agile approach to software development. Therefore, we explain the rationale behind the implementation of an Eclipse plug-in, named Extreme Programming Design (XPD) tool, based on Batik 1.7 API from the Apache project, which enforces synchronization between code and UML diagrams in real time. The proposed tool is part of a project called Toward Extreme Design, at the Verification and Testing Lab in the Department of Computer Science at the University of Sheffield, for which the main focus is to develop guidelines and tools for the implementation of agile design strategies.
From the point of view of software developers, documenting software designs and decisions are highly time consuming tasks in a software development process, whether following a prescriptive process or an agile methodology. Hence agile methodologies, being consistent with their simplicity principle, aim to reduce time and effort when producing documents in order to keep themselves light. This often leads to documents containing models of the system other than code being omitted completely. This difference is the source of some of the bitter debates between the agile and prescriptive followers. To address it one of the main questions of our research concerns how agile design and XP design could be performed if models were not that expensive to produce. Thus, we are challenging the idea that documentation processes must be highly expensive and difficult to keep in synchronisation with code during a development process.
Currently in the market there are tools for handling UML diagrams which also implement conversion of these diagrams to SVG representation. Also efforts to represent software design models in other formats based on Extensible Markup Language (XML), such as the Extensible Markup Language Metadata Interchange (XMI) promoted by the OMG, exist as well. These approaches are focused on using XML representation mainly for improving portability and models exchange. However, our research aims to explore the benefits of drawing diagrams directly in SVG representation in order to exploit the fact that information represented in SVG format is accessible, easily searched, zoomable, lightweight, structured, and suitable to be modified dynamically and interactively. Therefore, we aim to integrate SVG representation capabilities into the software development process instead of using it just as another graphic format representation.
At this stage the tool is being developed to produce support for capturing static information (a portion of the UML class diagram specification) at the detailed design level of a XP software development process. At the same time the tool might also support the construction of the code for the software being developed, and must keeps the code in synchrony with the diagrams, and so the tool must handle an abstract representation of the code as well as the SVG representation of the diagrams, and must maintain consistency between these two representations. Therefore, XPD (which can be pronounced "speed") is based on the processing of Abstract Syntax Trees (AST) and the Eclipse Java Model produced in real time from the code alongside the diagrams that are presented using Scalable Vector Graphics (SVG).
As well as describing the tool, the paper discusses the main design challenges. These are the implementation of parallel models that map between code structure and diagram representation, synchronization from code editing to diagrams representation and from diagram editing to code representation as well, and the need to differentiate information that is better represented in diagrams from information better represented in code.
In the case of parallel models production, we decided to isolate pure code structure information from diagram representation, hence we devised a specific XML representation of the code where the code structure is stored. Therefore when information is represented in SVG the tool only deals with the inclusion of the graphic elements. This design idea is reinforced by the use of Cascading Style Sheets (CSS) to simplify SVG DOM editing.
Differentiation of information is being done by the division and restriction of editing functionalities. We explain the decision to restrict creation and modification of some graphic elements, such as relationships, from the code editor where relations only would be coded after being drawn.
Challenges arriving from integration with and use of the Eclipse Framework are also discussed. Some design decisions that wrapped interaction and functionality from Batik to cope with Eclipse out-of-the-box functionalities are presented. In particular, issues relating to the management of focus within the Eclipse framework, such as the need to contain references to Eclipse resources in the SVG code.
Author(s): Duce, David (Oxford Brookes University), Coyne, Mike (System Simulation) and Bob Hopgood (Oxford Brookes University)
Computer software making use of vector graphics to produce images has been present since the 1950s and vector graphics applications have been extensive. They range from computer art and computer-aided graphic design to science, computer-aided engineering and cartography. Ensuring that there can be access to vector graphics material in the future poses a series of challenges. With changes in technology, information systems lose their ability to access digital material created in earlier forms. The reality of the prospective loss of significant amounts of digital material demands attention. This paper reports the results of a study into the preservation of vector images carried out by the authors under the Digital Preservation and Records Management Programme of JISC, the Joint Information Systems Committee of the UK Higher Education funding bodies. The study was completed in November 2007 (Coyne et al, 2007). One of the key recommendations of the study was that WebCGM, SVG 1.1 and PDF/A be used as archival formats for 2D vector graphics.
The study was grounded in a framework provided by the JISC-Funded InSPECT project (InSPECT, 2008). InSPECT is building on earlier work and, in particular, an approach to digital preservation based on the notion of significant properties. The notion owes much to work by the National Archives of Australia (NAA) and The National Archives in the UK, as well as a series of earlier JISC-funded projects. InSPECT defines Significant Properites as "the characteristics of digital objects that must be preserved over time in order to ensure the continued accessibility, usability, and meaning of objects".
The major activities of the present study of 2D vector graphics were:
A novel aspect of our approach was to marry the notion of significant properties with the levels of abstraction for computer graphics identified in the ISO/IEC Computer Graphics Reference Model (CGRM). The CGRM identifies five levels of abstraction (called environments): construction, virtual, viewing, logical, and realization. Properties of differing importance are bound at different levels. A typical example of a significant property is dash pattern. In some applications dash pattern has significance in the application context (e.g. a map following particular cartographic conventions), in other cases dash pattern is used merely to differentiate between different classes of primities in a scene, the precise dash pattern chosen has no other significance (e.g. in data visualization to differentiate between lines representing different data sets in composite line graphs). In the former case the property would be bound in the construction environment (closest to the application), in the latter case bound in the realization environment (closest to the display device). We proposed a property hierachy and numerical significance values in the range 0 to 9 as follows:
The aim is to use the values 0, 2, 5, and 8 as the main differentiators and then use the values above and below to shade the significance of properties when there are several with the same value.
The study then explored the application of these ideas in the context of particular application areas including archaeological data sets and computer graphics (vector) art.
The paper will describe the notion of significant properties, and case studies with SVG documents. We also explore the positive and negative aspects of SVG as an archival format. Positive benefits include the advantages of declarative animation, the functionality to define and embed fonts, to embed (RDF) metadata and to link external metadata to SVG content. On the negative side, properties and atttributes do not map onto the CGRM as well as they might. A pilot tool to aid in the extraction of significant properties (with human input) from SVG documents will also be described. The study raised questions about why digital objects are being preserved, by whom, and for what purpose. The paper will also open up these issues to wider debate.
Mike Coyne, David Duce, Bob Hopgood, George Mallen, Mike Stapleton (2007), "The Significant Properties of Vector Images". Available from http://www.jisc.ac.uk/media/documents/programmes/preservation/vector_images.pdf [Accessed 7 March 2008]
InSPECT (2008). Investigating the Significant Properties of Electronic Content Over Time (INSPECT). http://www.jisc.ac.uk/whatwedo/programmes/programme_rep_pres/inspect.aspx [Accessed 7 March 2008]
Author(s): Cruz, Jon A. (Inkscape)
Open Source has traditionally been seen as lacking in full support of the needs of artists and graphic professionals. The most cited problem is a lack of color management systems (CMS) in Open Source applications such as GIMP and Inkscape. However, the landscape has changed greatly over the past year with major advancements on several fronts. The reality for Open Source graphic applications and their users is now significantly improved.
This talk will present an overview of color management in Open Source applications including GIMP, Scribus and Inkscape, and on various operating systems including Linux, OS X and MS Windows. Any user of graphic applications from professionals though hobbyists and beginners can benefit from color management and color managed applications.
After covering basics and tools to support color management, the new features in Inkscape related to color management will be explored, including how different users might leverage them for different needs and how color management for SVG differs from usual color management.
Finally pending improvements in color managed workflows for SVG will be examined, including planned collaboration and interoperability with Scribus.
Tobias Dahinden (b. 1973) studied geodesy at the swiss federal institute of technology (ETH Zurich). He wrote a PhD-thesis at the Institute of Cartography of the ETH Zurich. It is about rock presentation in topographic maps. Currently he's a research associate at the Institute of Cartography and Geoinformatics at Leibniz University of Hanover. He is working with SVG since spring 2000 and was part of the organization committee of the 1st SVGopen conference.
Author(s): Dahinden, Tobias (Leibniz University Hannover)
The prevalence of bovine fasciolosis (liver fluke) is about 8.4 to 21.4 % in switzerland. The parasite (fasciola hepatica) uses a snail called lymnea truncatula as intermediate host for its development. The free living stages of the parasite and the snail require moisture and a moderate climate for survival, reproduction, and transmission. An evolution model based on environmental conditions was created. The model is based on temperature and rainfall data, soil conditions including ground water and forest cover. The potential of evolution of bovine fasciolosis was calculated according to the model in a raster of 100 by 100 meter for whole switzerland for each month.
The results were published in a interactive map as well as in a printed map. The interactive map combines raster and vector data and includes also an animation with the change of the potential. For the presentation we used SVG with the map navigation elements provided by Andres Neumann (available on carto.net).
Papertopic: Interactivity and Scripting
Author(s): Dahlström, Erik (Opera Software)
This talk will show you how to use AJAX techniques to create a dynamic photo gallery using SVG. We'll explore some various options for how to serve the photos and how it might be extended to fetch photos from photohosting sites such as flickr.
Papertopic: SVG Viewer Implementations
An overview of what's cooking in Opera's labs with regards to web technologies and SVG in particular. New features in current Opera products at the time of the conference. This will include details on the full range of platforms that Opera ships on.
Papertopic: Panel Discussions
The SVG Working Group would like to make themselves available for a question and answer panel.
Such a panel has proved popular in previous years. Discussion topics in the past have included among other things: current and past specifications, errata, test suites, and implementation status.
This talk will focus on the ways you can use javascript and declarative animation in SVG together to speed up developing interactive SVG content.
We will go through a range of techniques based on the SVG 1.1 DOM, with examples that work straight out of the box in your webbrowser.
I have worked with SVG for about 6 years now, having previously dabbled with VML. I teach a bit of it in an interface design class, since it forces students out the HTML mold and gives more freedom for design of screen, animation, and interactivity. I have previously taught mathematics and psychology at half a dozen other colleges and universities from Alaska to Massachusetts.
Papertopic: Graphic Design with SVG
Author(s): Dailey, David (Slippery Rock University)
As an expressive medium, SVG with its filters, gradients, patterns, animation and scripting offers the author great flexibility.
This paper considers the extent to which several special effects may be
produced by the combination of various of these aspects of SVG's arsenal. It is compendium of general and specialized solutions or approaches to a broad range of problems, as well as some suggestions for where the SVG standard might be
More generally the paper will seek to explore some of the limitations or
boundaries of filters, gradients, and SMIL animation. In general, the
investigations have proceeded from the premise, following some sense of
parsimony or elegance, that if something can be done with declarative animation, that is preferable to the use of script. Another general premise at play is that less markup is better than more for the same task -- reuse through either grouping, the use tag, or script is beneficial if it results in smaller and more readable source code.
Among the topics covered will be short case studies of the following:
How to make or use
simulated cylindrical rotation: This can be done either by animating and inserting stops into a gradient or by moving cylindrical tiles through a clipPath.
linear motion that appears nonlinear: By allowing objects to move over an animated grid which uses a displacement filter to adjust their positions, a variety of nonlinear motion may be accomplished without script.
circular motion with SMIL but without rotation: By adjusting the time signature of a SMIL animation, linear interpolation between two points can become nonlinear.
nondeterministic landscapes: It is fairly each to create series of random piecewise monotonic functions from segments of bezier curves. Filling these with gradients can generate appealing animation on-the-fly.
text animated along a curvilinear path: Animating the start-offset of a text layed out along a path results in an appealing textual effect.
animated posterization of a bitmap: The use of a composite filter involving feComponentTransfer, feGaussianBlur and feColorMatrix can create a smoothed posterization resembling a vectorization of a bitmapped graphic.
natural textures: Several textures including wood grain, masonry and filagree can be created using composite filters that includ feTurbulance.
water effects including rippling: Using animated gradients and feDisplacementMap or by using feFlood, feColorMatrix an feTurbulance together one may produce a variety of aquatic themes.
recycled animations: After an animation has been dynamically created
through script and has run its course, might we save some of the effort in
recreating a new one from scratch by simply adjusting an attribute or two and restarting the animation? The answer is yes.
non-rectangular tilings: The pattern tag in SVG allows the rectangular tessellation of the plane with whatever material we place inside a rectangle. How might we tessellate more freely?
gradients that are neither linear nor radial: Because the gradients
specified by SVG are either radial or linear, it is natural to investigate ways of transcending this limitation. One approach involves tessellation of piecewise conformant gradient tiles, another is to use symbols that are small pieces of linear gradient and to lay those out along a text path.
clippaths to simulate nonaffine warping: SVG comes with transformations of type rotate, translate, scale, skew and matrix. Suppose we wish to warp an
image in some other way. Then how might we use individualized distortions on a
decomposition of the image into clipPaths to accomplish that?
animations that traverse nondeterministic bezier patterns: This investigates methods of stitching together various segments of knots to create a non-deterministic fabric of traversable threads.
David Duce is a Professor in Computer Science in the Department of Computing, School of Technology at Oxford Brookes University.
He has been involved in computer graphics since 1975. He was one of the editors of the ISO/IEC standard for computer graphics, the Graphical Kernel System (GKS), and have co-author of books on GKS, PHIGS and Graphics Standards. I was also involved in the development of the Computer Graphics Reference Model and Presentation Environments for Multi-media Objects (PREMO). Most recently I was co-editor for Portable Network Graphics (PNG) second edition, which is a W3C Recommendation and an ISO/IEC standard (ISO/IEC 15948:2004). Together with Bob Hopgood I contributed to the early stages of the development of SVG.
He has occupied several positions in the Eurographics Association, currently as Chairman, and has been involved in the organization of a substantial number of the Association's conferences and workshops. Together with Carlo Vandoni he was co-chair of the Eurographics 2000 conference and with Juan Carlos Torres of the Eurographics 2003 conference.
He was co-chair of the Workshop Program for the 9th International World Wide Web Conference held in May 2000. In May 2002 he was elected a member of the International World Wide Web Conference Committee, IW3C2 and is now the treasurer.
He was programme co-chair for the Web3D 2005 Symposium, held at the University of Wales, Bangor, 29 March - 1 April 2005 and of the Theory and Practice of Computer Graphics conference held there in June 2007.
He is course leader for the MSc in Web Technologies at Oxford Brookes University. He is currently engaged in research projects concerned with web graphics, digital forensics and distributed cooperative visualization.
He was elected to membership of the UK Computing Research Committee (UKCRC) in 2004.
Author(s): Edwards, Peter (e-2.org limited) and Nat Goodden (University of Gloucestershire)
In 2006, e-2 started a project with artist Nat Goodden which maps key cultural figures by using information about their acquaintanceship with others to link them together. The name of the project is Who knew Whom, and the first working prototype of the SVG interface can be found at http://culturalcartography.net/ (the SVG "view" can be activated from within each of the biographical pages).
The ideal tool for the artist to input entries was a wiki, so we used MediaWiki, the software behind WikiPedia. The capability to engage large numbers of contributors in the future was one of the criteria for this, as was the ability of the software to map links between pages. The artist wanted an interface similar to ThinkMap's visual thesaurus (http://www.visualthesaurus.com/), which shows how an imaginative understanding of both visual and conceptual semantics can draw the viewer in to an understanding of highly complex interrelationships. In our case, individual names are animated amongst a field of other connected names, and can be clicked to move them to the foreground, and potentially change most of the interface elements. We chose SVG for the interface, as we had previous experience of using SVG to animate text and had found that it out-performed all alternatives.
This paper focuses on the way in which we developed custom solutions for font handling, animation and the use of AJAX in realising the project. Font embedding in SVG viewers is badly supported, and we needed to include a cursive font in the interface and have it display correctly in SVG viewers which did not support SVG fonts. We therefore embedded the font definition as a set of paths, themselves derived from the TrueType font. Kerning information was derived in the same way and made available to the application as a JSON object, and all text operations were carried out using scripts. Animation of the interface was to be handled entirely using scripts, as declarative animation suffered from a similar lack of support. AJAX was needed to constantly update the interface, and to retrieve more in-depth information about each subject.
The project illustrates the efficacy with which SVG can lend itself to interface design, and it also indicates that the fledgling support for SVG in modern browsers such as Safari and Firefox is very good, and can be harnessed in ways which can sidestep the lack of certain features in their implementations.
Author(s): Förster, Klaus
This paper will show how to make us of mozStorage to create offline clientside, database driven applications with Javascript, SVG and SQLite. It's targeted at SVG developers with a sorrow knowledge of scripting and beginning to intermediate knowledge of relational databases, respectively the use of SQL.
As this example demonstrates clientside database storage it must be run locally. Please download hello.tar.gz, unpack it and open hello.svg with Firefox 2 or 3. To demonstrate the basics of clientside database usage let's start with a simple "Hello SQLite world" application that accomplishes the following tasks:
Once you've downloaded the prebuilt SQLite binaries for your platform [4] the process of creating the database with a table and populating some column with text is straight forward (see hello.sh). If you prefer a GUI to perform these steps you may also install and use the Firefox SQLiteManager extension [5].
hello.js contains two functions that allow to connect to a database and execute statements. As mozStorage operates on local files, security restrictions apply and prior to connecting or executing the script has to be given appropriate permissions by setting netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"). This will prompt the user to grant the required permissions. Be sure to check "remember decision" as this will prevent you from being prompted whenever you execute statements.
hello.svg consists of a script element that contains calls to the previously built Javascript library and adds an onclick eventListener to a text-element that is used to display the current database content. This text is set onload to the value of column msg in table hello. Clicking it prompts for a new string that is to be written to the msg column instead.
Extending the concept of our simple Hello SQLite World example, it is possible to build more complex applications like the one being presented in the "Tasmania SQLiteSVG workshop proposal". It shows how to create a map for Tasmania with geometry layers, configurable annotation and queryable thematic data coming solely from SQLite (see screenshot).
The concept of clientside database storage as chosen by Mozilla way back when they designed Firefox 2 is by no means unique. Goggle gears provides a similar mechanism [6] and even more important than that, the WHATWG working group has added a "Clientside database storage" section to the HTML5 specification draft [7]. This will standardize the API and help to harmonize different approaches for solving the same task in the future. Let us explore these new possibilities!
Page: http://svg.cc/sqlite/abstract.html
Author: Klaus Förster
Version: $Id: abstract.html 105 2008-08-19 09:39:04Z klaus $
Author(s): Toddenroth, Dennis (University of Muenster) and Thomas Frankewitsch (University of Muenster)
In 2004 the Medical Faculty at the University of Muenster introduced a modular reorganization of several clinical courses changing the focus of teaching from subject (e.g. radiology) to topic (e.g. heart and vessels). Additionally, testing was centralized using multiple-choice questions (MCQs). In this context a database was developed to support the processes of student registration, content editing, preparation of individual test sheets, and score calculation. The demand for uniformly computed evaluations of the quality of large numbers of test items led to the design of a software module for the automation of this reporting procedure.
Key steps of the Java-based implementation include allocating the relevant data with SQL queries, computing statistical parameters and arranging these values with the MCQ contents in an intermediary XML-stream (straightforward format). Vector graphics are created during the subsequent XSL-transformation and are integrated into print-oriented XSL-FO using XML-namespaces. The resulting standard-compliant stream comprises a synopsis of the MCQ contents with the statistical parameters and graphics. In the final step this monolithic XML-source is converted into a PDF-file for printing or electronic transmission via email or HTTP.
All inferences about the quality of a single item are based on the assumption that the overall score (i.e. the fraction of correct answers) permits the discrimination of the individual candidate 'competence'. Agreement between the scores for a single question and the aggregate student abilities is considered to indicate high quality items. Students who are more 'competent' in summary are also more likely to answer correctly in these cases. This presumptive correlation is evaluated both statistically and graphically. Deviations from this pattern can point to problems such as ambiguous phrasing.
The output files contain for each possible answer bar charts and Tukey's box plots illustrating the sizes and 'competence'-distributions of the relevant subpopulations (i.e. the different candidate groups which were making either the correct choice or were deluded by one of the distractors). The visual representations of differences in 'competence' among these groups are reinforced with color-gradients. This color-encoding in conjunction with a consistent graphical layout intends to provide quickly accessible conclusions about the item quality.
The software module is based on the FOP library from the Apache XML Graphics Project [1], invoked for rendering the PDF-files. The combined use of this print formatter, XSL-transformations, and SVG has quickened the expansion of the available functionality. At the same time this approach supported a maintainable separation of program logic and output layout. The inclusion of vector graphics allowed the automatic production of integrated files with efficient filesizes, facilitating a network-based distribution of the reports without compromising image quality.
[1] http://xmlgraphics.apache.org/
Author(s): Fujisawa, Jun (Canon, Inc.) and Anthony Grasso (Canon)
SVG Tiny 1.2 as a stand alone specification is very useful for simple 2D vector drawings and animations. However, by itself can produce limitedpseudo 3D effects (aka 2.5D).
2.5D user interfaces are becoming increasingly popular on both consumer devices and personal computers. With the enhancement of the Filters, Compositing and Transformations module, SVG Tiny 1.2 can be used to produce graphically rich 2.5D interfaces.
The SVG Filters Module allows a series of graphical operations to be applied to a given bitmap to produce a modified result. The SVG Compositing module extends the Simple Alpha Compositing model in SVG Tiny 1.2. The Compositing module allows layered objects to be combined together in a varitey of ways to produce different effects. The Transformations module allows vector paths to be transformed to give a perspective effect on an object.
This presentation will provide overviews and examples of how to use the Filters module, Compositing module and Transformations module to achieve the 3D look on objects and user interfaces.
Nat Goodden is senior lecturer in the department of Art and Design at the University of Gloucestershire. He lives in London, and has a degree in sculpture and an MA in electronic arts. He has exhibited work at the Serpentine Gallery and at the seminal artist-run Matt's Gallery, London.
Anthony Grasso undertook a bachelor degree in Computer Systems Engineering at James Cook University in 1999 and graduated at the end of 2002 with honors. Over the past five and a half years at Canon Information Systems Research Australia he has been involved in SVG, printing and display related projects. He is currently a Canon representative on the W3C SVG working group and is an editor of the SVG Print, Compositing, Transforms and Tiny 1.2 specifications.
Torkel Hambraeus holds a Master of Science in applied physics from the Royal Institute of Technology, Stockholm, Sweden. Torkel has been working in the field of graphics for embedded systems and has experience both from programming and system engineering within the area. Currently he is senior technical lead at Ikivo AB in Sweden and is active within standardization of rich media environments for mobile devices.
Author(s): Hambraeus, Torkel (Ikivo AB)
With the addition of the uDOM in SVG Tiny 1.2, scripting became a possibility in SVG Tiny content. This allows competitive applications to be created in SVG. Especially the inclusion of XMLHttpRequests in the uDOM allows AJAX style of applications to be created. To obtain efficient content creation the new features in SVG Tiny 1.2 requires changes to the tool chains used for creating SVG Tiny content. Not only must the graphics be created but logic in the form of scripting or programming must be possible to develop with support from tools. Although scripting logic or programming always can be done in a basic text editor, development speed can be greatly increased by utilizing advanced environments combining editor, debugger and emulator into one tool known as an Integrated Development Environment, IDE. The increased complexity in the applications increases the savings made using a tool as compared to traditional development and has been a driving force for the current development of IDEs.
The present paper presents tool chains available for developing applications with SVG graphics for two categories of mobile devices: Those supporting the Java interface, JSR 226 to SVG Tiny and those supporting the SVG Tiny natively either in a dedicated SVG player or as part of a browser. The methods used to develop the applications make use of tool chains including an animation tool for adding declarative animations to the content and IDEs for adding advanced logic executing based on events received by the display system. The combined tool, with integrated emulator, makes it possible to do testing with high fidelity early in the development, thus assuring early on that the result corresponds to the actual requirements of the application. In general the amount of errors in the first release can be greatly reduced.
The paper shows that the methodology for developing Java applications and JavaScript applications is very similar. It also demonstrates that the entire development process has tools support both for Java and JavaScript.
For SVG applications using JavaScript the present paper presents a novel IDE focusing on the creation and debugging of SVG Tiny 1.2 applications targeting the mobile domain. The tool has refined the important script development and device emulation parts of the tool chain for SVG Tiny 1.2 content. The tool is based on the eclipse IDE platform and contains, apart from the regular editor, also static syntax checking of scripts. The integrated SVG Tiny 1.2 viewer adds dynamic debugging capabilities to the tool chain and offers testing of user interaction and a preview of the graphics.
Application development for Java and the JSR226 is also discussed. The application creation process is very similar to creating JavaScript applications. Also for this development there exists an IDE with debugging and previewing capabilities. The paper shows that SVG can be easily integrated to Java applications.
The presentation will contain a demonstration of the tools.
Tobias Hauser is consultant, trainer and project manager with focus on web technologies. He speaks at developer conferences around the globe, and regularly contributes to various IT magazines. He is one of the authors of SVG Unleashed (Sams Publishing), but has also written on topics like XML, PHP, ASP.NET, Ajax and Flash.
Author(s): Hauser, Tobias (Arrabiata Solutions GmbH)
A current trend in the web is to use a strict separation of code and content for modern UIs, by using an XML dialect for the layout and a programming language to add the logic. Actually that's something SVG has been doing for years.
Adobe is offering Flex, a technology that creates Flash movies (SWF files) out of MXML (an XML dialect) and ActionScript code (based on ECMAScript), whereas the upcoming Silverlight 2 from Microsoft uses their own XML format (XAML) and languages like C# and Visual Basic in the background.
This talk examines the technical differences between these technologies and how to use SVG know-how for them It also focuses on preparing you for the impacts of those format on your daily work and on SVG's chances in the market. Important questions are: Will Silverlight get a part of the Internet or is it just Windows-based? Will Flex help to even increase the market share of the Flash player? Will SVG increase its influence in today's RIA (Rich Internet Application) market? The presenters have worked on successful projects with all of these technologies and are looking forward to sharing their experiences.
Long term user of SVG
Haosheng Huang received his Master degree and Bachelor degree both in computer science in South China Normal University, China. Now he is a project assistant and PhD student in Vienna University of Technology.His research interest includes SVG-based GIS, mobile GIS, LBS, and semantic web.
He started his research in using SVG for webmapping and GIS four years before. He mainly foucs on using SVG to support spatial information publishing and analysis in web environment, and have published some papers about using SVG for spatial information applications.
Author(s): Huang, Haosheng (Guangzhou Institute of Geochemistry, Chinese Academy of Sciences, Guangzhou, China) and Yan Li (School of Computer, South China Normal University)
With the rapid development of the Internet, web-based spatial information system is an inevitable trend. After carefully analyzing the state of the art in web-based spatial information application, we draw the conclusion that there are little effective tools to support web-based spatial analysis. When performing spatial analysis tasks, we always need to install corresponding software on our computer, and carry out the task in stand-alone or LAN (Local Area Network) environment.
This paper designs and implements a novel web-based spatial analysis tool to support spatial analysis (such as map overlap, buffering, feature fusion, etc.) on the web browser side. This tool is based on XML/GML/SVG, uses SVG to represent geospatial data, and provides an SVG-based Spatial Extended SQL (SSESQL) to carry out spatial analysis with geospatial data in different data formats.
The flow of spatial analysis includes four steps: 1) define the goal and evaluation criteria; 2) prepare and represent the needed geospatial data; 3) carry out spatial query and analysis with spatial tool; 4) Result appraisal and explanation. Step 1 and step 4 need domain knowledge and are mainly carried out by human. Step 2 and step 3 need spatial application tools to support human-computer interaction. The proposed tool is designed to assist step 2 and step 3.
1) For step 2, since SVG is developed primarily as a XML-based publishing standard of 2D graphics, text, and image, in order to make it suitable to publishing geospatial information, we design a generic SVG spatial representational model based on spatial data modeling. Some transformation modules which can be used to transform different geospatial dataset in different data formats to SVG based on the generic SVG spatial representational model are provided. There are Shp2SVG, E002SVG, Mif2SVG, and GML2SVG modules.
2) For step 3, we design different spatial operators such as attribute access operators, spatial topological operators, spatial order operators, spatial metric operators, geometrical operators, and then design and implement an SVG-based Spatial Extended SQL (SSESQL), which extends the traditional SQL by integrating these spatial operators, to support spatial query and analysis on geospatial data represented in SVG. The compiler of SSESQL is implemented with Java as a Java Applet. The Java Applet and the SVG created in step 2 are embedded in a web page, which provides UI for inputting SSESQL sentences and displaying analysis results.
Finally, in order to prove the proposed tool is useful to support spatial analysis in web environment, this paper designs two case studies. The results of the case studies prove that the suggested tool is useful for carrying out spatial analysis task with different geospatial dataset on the web browser side. The proposed tool has the following benefits:
1) When this tool is configured on a web server (such as IIS), other people can access this tool simply with a web browser (for example, IE) which contains an SVG plug-in or SVG viewer. They don't need to install any GIS software.
2) This tool inherits the characteristics brought by XML/GML/SVG solution. XML/GML/SVG-based solution is viewed as a promising solution for solving the problems of spatial information sharing and integration.
3) This tool supports different data formats. When using the proposed tool to carry out spatial analysis, users can choose different data formats, such as Shapefile, E00, Mapinfo or GML. The only thing they need to do is to upload them. The tool will translate the original geospatial data to SVG document automatically.
4) When using the proposed tool, all the spatial analysis operations are executed on the web browser side, and can be executed in an off-line environment during spatial analysis. As spatial analysis is a complex task, the users always have to try different query solutions before they are satisfied with the result. This tool will ease the transmission overload between the server side and the web browser side.
5) For the response time during spatial analysis, the delay time of the spatial analysis based on the proposed tool is the time consumed by the SSESQL compiler to process the query sentence. For some other network-based spatial information systems which always carry out the spatial analysis on the server side and send the result to the client, the delay time includes two parts: delay caused by the network transmission and delay caused by spatial analysis operations in server side. Currently, the delay caused by the network has a higher proportion, so delay of spatial analysis based on the proposed tool will be less than that of other spatial information systems.
Papertopic: GUI Frameworks for Web Applications
Author(s): Palacz, Krzysztof (Sun Microsystems Laboratories) and Daniel Ingalls (Sun Labs)
Lively Kernel runs in SVG-enabled Web browsers without installation or plug-in requirements; it offers a compact and extensible set of user interface components, as a result, it supports familiar desktop-style applications with the expected user interface functionality and direct manipulation capabilities; it enables application development and deployment in a Web browser with no installation or upgrades, using only existing Web technologies. In addition to its application execution capabilities, the Lively Kernel also functions as an integrated development environment (IDE), as a result, it is self-supporting and able to improve and extend itself dynamically. Lively Kernel is currently also one of the most sizable dynamic SVG frameworks available, and has become an important test case for SVG implementations in Web browsers.
The Morphic framework also provides a library of higher level user interface components, such as buttons, lists, menus, windows, etc., composed from the basic graphical objects, as well as a Model-View-Controller infrastructure for abstracting visual representation of data from application logic. The default configuration of the Lively Kernel offers a familiar desktop metaphor with multiple applications running concurrently, however, standalone applications are also supported.
Barend Köbben holds an MSc in Geography, specialising in Cartography, from Utrecht University in The Netherlands. He worked for 9 years as a Lecturer in cartography at that University and then moved to the International Institute for Geo-information Sciences and Earth Observation (ITC). The ITC is an international school providing courses on GIS and Remote Sensing to students from all around the world, ranging from commercial short courses, through 12 month Professional Master and 18 month MSc degree courses to PhD programmes. Here he is at present Senior Lecturer in GIS and cartographic visualisation in the Department of GeoInformation Processing (GIP).
His teaching subjects include WebGIS and WebCartography, 3D visualisation, multimedia and image mapping. Furthermore, supervision of PM Final Assignments and MSc thesis work in the fields of WebGIS and WebCartography and other subjects involving web cartography.
Barend participates within the research activities concerning Distributed GeoServices, which deals with Geodata infrastructure, Internet & Web, Mobile GIS and Multi-scale spatial data.
He has been involved in various consultancy projects in The Netherlands, Malaysia, Iran, Zambia, South Africa and India.
He is the Webmaster of the Dutch website for Cartography (http://www.kartografie.nl) and is Map Editor an a member of the editorial board of Geografie, the journal of the Royal Dutch Society for Geography.
Author(s): Köbben, Barend (International Institute for Geo-Information Science and Earth Observation (ITC))
Geoinformatics deals with spatio-temporal data. That means for depicting many datasets it's important that the temporal or time aspect of that data can be visualised. Animation is an effective way of doing this, and the open standard Scalabe Vector Graphics format (SVG) is suited well for constructing interactive animations, because of its built-in JavaScript language and SMIL animation tools.
The Open Geospatial Consortium's Web Map Service (WMS) specification is no doubt the most widely implemented of OGC's Open Standards. It allows output of spatial data in the form of Maps and map like graphics. It's standardized interface describes mechanisms to request maps of a specific spatial extent , but also of a specific time extent. At present this has been used mostly for extracting static maps of one specific time, or dynamic animation of series of satellite images (in raster animated formats such as animatedGIF). At present no system exist that employs vector data of time series depicted as vector animations.
The goal of our project is to look into the possibility of extending the WMS service with the output of vector time series data as animated, interactive vector maps. This paper will present the outcomes of our research on the standards specifications and the theoretical possibilities, and of our efforts to build a proof-of-concept application using the technologies from the RIMapperWMS project, a WMS application that outputs SVG maps
The test case we use is visualising flood risk models and scenario's.
Author(s): Korhonen, Jarmo (Nokia)
JSR 287 defines a Java Micro Edition optional package for rendering enhanced 2D vector graphics and rich media content based on SVG Tiny 1.2. The primary use cases for this API include entertainment, vector graphics-based mapping solutions, scalable user interfaces, games, enterprise applications, interactive rich media services, and other compelling vector graphics applications aimed at mobile devices. The API is primarily targeted for Java ME's MIDP / CLDC environment, but it is designed to be implemented and usable also on other profiles such as CDC / PBP and Java SE platforms.
JSR 287 is a successor to JSR 226, builds on top of it and therefore remains fully backwards compatibility to JSR 226 applications. JSR 287 provides support for rendering rich vector graphics content based on SVG Tiny 1.2 features. The features include basic shapes, paths, animations, event management, audio, video, advanced text support and much more.
In addition to the ability to load and display SVG Tiny content, the API also offers powerful content modification functionality based of W3C DOM Level 3 Core to enable flexible applications with enhanced user experience. A key feature included in this JSR is the ability to serialize or "save" the DOM for content sharing applications. Using SVG to create compelling Java applications is further enabled by providing the ability to register Java handlers to graphical objects in SVG to facilitate callbacks and enhance interactivity.
The JSR also provides an optional advanced immediate-mode rendering API for vector graphics: a low-level high-performance API designed to be platform agnostic and therefore used with multiple profiles for example MIDP and PBP. The design maximizes performance by matching the API with the functions of lower level rendering engines and hardware graphics accelerators such as Khronos OpenVG API.
This presentation aims to provide an in-depth view of JSR 287 goals, the API, its architecture, and supported features.
Presentation outline:
- Introduction to SVG Tiny 1.2 and JSR 287
- JSR 287 API and Architecture
- Overview of SVG Document API
- Overview of "immediate-mode" API
- Potential Applications using JSR 287
- Summary
Author(s): Langfeld, Dorothee (University of Onsbrueck), Kunze, Ralf and Oliver Vornberger (University of Osnabrück)
SVG Web Mapping – Four-dimensional visualization of time- and geobased data
A tool to generate a complete SVG Web Mapping Application from ESRI Shapefiles (a quasi standard for geodata) was developed at the University of Osnabrueck. In addition to the geodata of any Shapefile any other georeferenced information can be included. The combination of geodata and georeferenced information can easily be visualized and published in this way. The application has been already used to visualize climate data. Examples are available at http://www.inf.uos.de/svgopen2008/. In a current project in cooperation with DDG Gesellschaft für Verkehrsdaten mbH traffic information will be visualized and animated.
A Java program is used to generate the SVG graphics and scripts. The result is an application which takes advantage of many techniques of interaction. PHP is used on server side to manage the SVG files. The client needs a browser which can display SVG. ECMAScript is used to control the application on the client side. The developed SVG application shows how comfortable and efficient an SVG application can be implemented.
It is reasonable to use a Template Design Pattern as it exists in higher programming languages. The developed template concept behaves similar to PHP-Template concepts, because the displayed content of the presented application has to be updated repeatedly. Another advantage of using this concept is the separation of the different application components. The separate parts like script elements and server side data can be developed independently.
The whole application works with the AJAX concept. First, the template is loaded, which in turn loads the necessary script to generate the control elements and initializes the application with some data. While using the application, data will be added or exchanged, so only the current necessary data must be loaded first. Details can be inserted later without loading the whole dataset, as would be required in a pixel-based approach.
The whole controlling of the application, especially the interaction of the client with the maps, is implemented with ECMAScript. The user is able to interact with the maps when the application is loaded completely. Some of the most important implemented functions are navigation in each direction, zooming and panning and selecting a rectangular region of the map. Different layers can be switched on and off and different points in time can be selected. Currently the possibility to execute an animation of the time steps automatically is implemented especially to view the change of the traffic state.
As mentioned before, a Java program is used to generate the Web Mapping Application. It can be customized via an XML configuration file, how the contained data is visualized and which layers are displayed.
The conversion of different formats to SVG is done by the Java program. The different data formats are read. Up to now ESRI Shapefiles has been used as input. The geographic shapes are described in vector coordinates so it is easy to convert the data into SVG. Also raster formats can be included, for example GRIB Files are supported as input for weather data. Before creating SVG graphics some algorithms to vectorize the data are applied in this case. The program is very modular, so it is easy to include any other georeferenced data. In the current project the program is enhanced and XML-Files with traffic data are processed.
When geographical data is read, some map projections can be applied. The different geographic objects are stored in Java Objects which represent points, lines and polygons. Furthermore, the data may be generalized to decrease the size of the SVG representation. In addition to this it is possible to divide the map data into tiles. That is necessary for loading as little data as possible depending on the zoom step. For creating tiles the different objects can be clipped. The use of existing algorithms for clipping lines and polygons like the popular and efficient algorithm of Sutherland and Hodgeman causes undesired effects while painting SVG map graphics. Special adapted algorithms are implemented to solve this problem.
By using the developed software it is very easy to create an interactive SVG Web Mapping Application. The configuration is simple because just one XML file has to be written or an existing one has to be modified. The generated SVG application has many function and several advantages in comparison with pixel-based approaches.
The user of the Web Mapping Application can explore four-dimensions: the two-dimensional geography, the overlaying data and the time. In this way, the user can easily understand complex amounts of data and can better comprehend the temporal relation (e.g. weather or traffic changes), especially when he is able to use an automatic execute of the animation of points in time.
Author(s): Lang, Ruth (uismedia Lang & Müller) and Armin Müller (uismedia Lang & Müller)
As known, SVG offers an interesting medium for Web Mapping applications. Within this background the presenters developed an extention for the ESRI GIS software products. MapViewSVG allows the user to convert maps from ArcGIS/ArcView GIS into the SVG format and then publish them on the web or on CD/DVD. MapViewSVG is available since 2002 and is now one of the most well known extensions to publish ArcGIS maps on the web. MapViewSVG is situated in the low cost application area and is best suitable for smaller projects.
The main goal of MapViewSVG is to translate the ArcGIS project (data frame) "as it is" into an interactive SVG mapping project. This includes properties of the data frame itself (e.g. measurement units, drawing order of layers) as well as the layers with their rendering types, symbols and layer properties (map tips, hyperlinks, scale ranges for layer visibility, etc.). The user should be able to do most of the settings within the GIS software (where he is familiar with) and finally export his project at the push of a button. The SVG mapping project is available out of the box, no explicit SVG or other web programming knowledge is (should be) necessary.
Inside the MapViewSVG wizard, the user only defines the final web layout and the GIS functionalities he wants included in the SVG mapping project.
Within the SVG mapping project, different GIS functionalities are implemented like identifying features on the map, hyperlinking, map tips, measuring distances, selecting features by attributes (query builder), creating statistics and having other kind of visualization of data (e.g. graphs, charts and attribute tables including the linking to the features on the map). For this, different technologies are used like ECMA Scripting, XMLHttpRequest (AJAX), XSLT, DOM support. The presenters will show a few examples and the underlaying technologies for a few available tools within MapViewSVG.
Unlike developing one's own application, the programmers have to face much more what the user wants to have or the user's lack of knowledge how SVG works best. The requirements come either from ArcGIS - supporting the different symbol types, rendering types, data formats - or from the requested results, like having specific funcionalities and design conceptions. Beside this, also SVG itself imposes some restrictions, which will be discussed and some solutions will be presented.
Beside developing the software product MapViewSVG, the presenters also do work on specific applications. A few examples will be shown and discussed. Also what the next steps within the software development will be.
Jochen Lang is currently an Assistant Professor at the University of Ottawa, Canada. He received his M.Sc. in Computer Science from York University, Toronto, Canada and his Ph.D. from the University of British Columbia, Vancouver, Canada in 1996 and in 2001, respectively. He holds a B.Eng.(Hons) and a Dipl.-Ing.(FH) in Electrical and Electronic Engineering and is a Professional Engineer (PEng). He gained industrial experience in real-time systems, system verification and computer vision in Canada and Germany. He was a researcher at the Max-Planck-Institut für Informatik, Saarbrücken, Germany from 2002 to 2004. His research focuses on image-based modeling in the area of visual computing combining techniques from computer graphics and computer vision. He has published on image and measurement-based modeling in the fields of computer graphics, robotics and computer vision.
Author(s): MacDonald, Darren and Jochen Lang (University of Ottawa)
We present a method for converting bitmap images into a multi-level
scalable vector graphics in SVG format. Various methods have been
introduced in recent years at this and other venues for the conversion
of natural images in raster to a vector representation. Excellent
results are achieved by methods which segment the raster image first,
followed by a conversion of the segment boundaries into a vector
format. The conversion is lossy, however, we attempt to be accurate to
the image data using a minimally complex SVG, in terms of path lengths
and number of polygons. Our goal is to achieve high quality conversion
and to motivate the use of hierarchical vector graphics.
A desirable segmentation of an image groups pixels corresponding to
objects in the scene. This correspondence establishes a semantics for
the vectorized image and is useful for various vector image
applications. Our method could serve usefully as a tool for graphic
design or as part of a SVG-based image browser where user may want to
interact with the image on an object level rather than on a image
feature-level, e.g., colours or pixels. However, valid segmentations
of images exist at varying levels of detail. For example, an image of
a house may be considered to contain a single house object at a very
high level but at a more detailed level, the house object contains a
roof, windows, walls, doors, etc.. These sub-parts of the house may be
considered objects in their own right and are comprised of further
objects at a even finer level of detail. The most desirable level of
detail for the image representation depends on the intent of the
observer and on the capability of the display device. The same vector
images should be displayed at the best level of detail for each
display device and each user's intent. Hence an ideal vector image
format should encode all levels and let the rendering engine decide
what to display.
In our method, conversion is performed by segmentation followed by
simplification. A segment is a region of the bitmap image. It is the
set theory equivalent of a polygon. The segmentation algorithm uses a
statistical merging criterion involving the important visual
characteristics of size, shape, colour and brightness. The relative
influences of these factors were optimized in ground-truth based
tests. The criterion is optimized by alternating steps of merging and
refining. In a post-processing step, we refine the boundary between
pixels classified by the segmentation based on a novel use of active
contours. This refinement process is characterized by region
competition which allows good contour localization in the absence of a
steep gradient. Good contour localization ensures that vectorized
images approximate the raster image at high level-of-detail. Our path
simplification uses the method of Heckbert and Garland, with an
adjustable trade off between accuracy and file length.
Our images can be rendered by any SVG compliant render engine,
however, the full potential of the hierarchical representation
requires a hierarchical rendering strategy. In our approach, we render
the segments as a stack of vector drawings with increasing levels of
resolution rather than applying a stopping criterion. These levels
reflect different levels of the segmentation process. Scripting allows
the user to adjust the level of detail dynamically. Moreover, since
lower-detail image segments can be obtained by merging high-detail
segments, we encode the SVG as a hierarchy of elements with
tags. Dynamic level of detail trims off data that is at too small a
scale to be significant, which is useful in applications such as
mapping and especially in cases of limited bandwidths and screen
sizes. The polygon hierarchy may also be useful in computer vision
applications such as depth perception and object labeling.
Finally, we demonstrate our results against the results of related
software packages. We can show that the polygons generated by
our automatic method have good spectral agreement with the bitmap and
also tend to reflect the different objects in the scene.
Author(s): Lazutkin, Eugene (dojotoolkit.org)
What applications are needed now and in the near future:
- interactive graphics (compelling UI, animation)
- multimedia (video, games)
- photographic pictures (show, process, modify)
- location-based services (mapping)
- mobile applications (including all the above)
- seamless custom graphics (math, charts, diagrams)
- printing and publishing
Both interactive graphics and multimedia require several common things to be resolved:
- API for scripting to create and modify graphics
- Events, and possibly callbacks, so graphics can interact with scripting
- Synchronization with other subsystems (e.g., sound)
Important case: video. Supported only by Flash and Silverlight at the moment.
Falling prices on digital cameras, and bundling them with cell phones led to explosion of amature photography --- we need to figure out how to cater to this market:
- client-side image preprocessing before uploading to servers
- client-side editing of server-based pictures
Location-based services are growing fueled by mobile applications (cell phone-based, car-based):
- spatial on-demand features (routes, places, various serch results, GPS location) make server-side generation impractical
- current client-side technologies are impractical to generate basemaps, usually a mix of images and vector graphics is used limiting interactivity
Mobile users demand more and more "desktop" functionality in a small form factor.
Technical users are currently underserved --- not enough expressiveness on the web forcing to resort to pregenerated images or proprietory solutions for simple technical drawings, or even formulas.
Web printing is treated as an afterthought forcing users to use proprietory formats just for printing. What's wrong with web printing? Just take a look at another vector-based layout system from 70s --- TeX. Many people are forced to provide special versions of their content for printing as Postscript or PDF.
Where are we now? We have: SVG, VML, Canvas, Silverlight, Flash, Java, PDF. The biggest problem is integration of these technologies with the rest of web stack (HTML, CSS, JavaScript). This talk will review the existing technologies, coverage gaps, technical and conceptual problems, with emphasis on programmability using the Dojo Toolkit and dojox.gfx/dojox.charting as examples. We will discuss the lessons learned, discovered problems, and how SVG (the current web graphics leader) can help us to solve them in the future.
Yan LI Professor, vice director, School of Computer, South China Normal University and Director of Spatial Information Research Center, South China Normal University and her main focus on the theory and methods of spatial information. She has been working on "A XML based spatial information service system" including GML and SVG for five years. At same time, given the bilingual courses on "Multimedia System" in English and "Introduction to Spatial Information System" to undergraduate students, and also given the MSc courses of the theory and methods of spatial information, Virtual reality and UML spatial modeling etc
Louis Ling is a Research Affiliate with the Information Technology Department, Malaysia University of Science and Technology. The paper on the novel application of SVG in UML system modelling explains the crux of the prototype thin-client Web-based collaborative CASE tool that is developed as part of the fulfilment of the requirements for the degree in Master of Science in Information Technology.
Author(s): Ling, Louis (Malaysia University of Science and Technology, Malaysia) and Sellappan Palaniappan (Malaysia University of Science and Technology)
With globalization, collaborative software system development enters a new dimension with competitive advantage and evolving business models. Software houses, seeking to reduce ever escalating software costs and tap into global talent pools, are outsourcing their software processes. This raises an important question: how can software developers who are geographically distributed get together and collaborate on a software project? One way is by providing a new software tool or development environment. This paper presents eEEL, a prototype thin-client Web-based collaborative CASE tool that supports collaborative software modeling. The tool provides automatic rendering of UML visual models in asynchronous mode. Developers can create, discuss and archive software artifacts in a centralized repository. The artifacts include UML visual models, use case narratives, threaded discussions (comments) and glossary.
The tool provides a mechanism to automate the processes of creating high-quality, resolution-independent graphics for UML visual modelling, thus eliminating the need to model UML models manually that is prevalent with current CASE tools. Developers specify their software requirements as a collection of UML triplets and the tool automatically generates the visual models that are textually defined in SVG documents. The mechanism is implemented using several modules: UML triplet management, virtual canvas management, unique filename generation, SVG document authoring, and HTML document authoring. It produces two documents – SVG and HTML. The SVG document contains information to instruct the SVG rendering engine in Web browser, which is inherent via plug-in or native support, to render UML visual models. As UML visual models tend to be large to fit in a display screen, the sole purpose of the HTML document is to extend the horizontal and vertical scrolling capability in the HTML document to the SVG document, thus enhance the presentation of the visual content in the SVG document.
The current version can generate three UML diagrams - use case, sequence and class diagrams. The system is implemented using Active Server Page (ASP), the Microsoft's server-side script engine, and written in the Microsoft's Visual Basic Scripting (VBScript).
Mario Locati took his university degree in Interaction Design at Politecnico di Milano in 2000. He now works at the Istituto Nazionale di Geofisica e Vulcanologia within the historical earthquake macroseismic team; acts as a data warehouse architect and helps both identifying and developing online software solution.
Author(s): Maddox, Jerrold (Penn State University)
As I have in several SVG Open conferences in the past, I would like to suggest ways to make SVG richer visually and more refined in color and form.
This time I would like to take a look at using Unicode shapes - the Dingbat Range, Arrow symbols, Miscellaneous Technical shapes, Miscellaneous Symbols, Box Drawing Characters and Geometric Shapes - to make pattern and shape relationships in an interesting and economical ways.
Here is an example using a bullseye (x25CE):
And another using a diamond within a diamond (Unicode x25C8):
A third using a dingbat (Unicode x2725):
A fourth using a box drawing character (x256C):
And a fifth using half-filled circle (x25D3):
All of these could be used as desktop icons or id marks and can be seen on this site:
(Presently they only work in Opera and Safari, soon I hope it will work in Firefox.)
I plan to extend the examples of ways to use Unicode shapes a half dozen different ways and have several dozen examples which explore form and color for pleasing and varied effects.
Author(s): Magalhães, Helder (Efacec Engenharia), Sousa, A. Augusto (FEUP, INESC Porto) and Paulo Rodrigues (Efacec Engenharia)
SCADA (Supervisory Control And Data Acquisition) systems aim to provide control over medium to large sets of underlying devices, usually acting as information concentrators. They are commonly found in power systems automation, subway stations, airports and shoppings, just to name a few. One of its main components is the synoptic, which consists of an animated schematic diagram representing part or the whole system and usually allowing interaction, often in real-time, with the system itself.
One of the usually found issues with synoptics (and SCADA systems in general) resides in remote access. Security and performance requirements tend to oppose, respectively, to flexibility and bandwidth restrictions usually available.
In this article a solution which addresses the problem is presented, based in SVG (Scalable Vector Graphics) and other Web-related technologies. The graphically complex nature of this kind of graphics, allied to low latency and high responsive requirements lead to employing an adapted version of the MVC (Model/View/Controller) triad of classes for performance, efficiency and function encapsulation reasons. The solution enables omnipresent access to the system while fulfilling performance requirements for a responsive and low operating bandwidth solution. An embeddable server approach further allows future deployments of the solution in simpler devices.
Armin Müller is a landscape ecologist specialising in GIS and worked with SVG since 2002. Co-founder of uismedia (1998) which develop Web Mapping and GeoWeb solutions based on the SVG technology (expl. MapViewSVG).
Andreas Neumann received a masters degree in Geography/Cartography from Vienna University, in 2001. In 1999 he joined the Cartographic Institute of the Swiss Federal Institute of Technology, first as a system administrator and later as a teaching and research assistant, and finally as a PhD student. At the same institute Neumann advised several thesis and student projects in the webmapping domain. From 2001 to 2003 he was employed as a GIS specialist at a Zurich based geology consulting company. Andreas was one of the initiators of the SVG.Open 2002 conference in Zurich, the first international SVG developers conference, co-organized by the W3C consortium. In late 2005 he joined the W3C SVG working group to support the work on the upcoming SVG 1.2 mobile and full version. From June 2007 on he is employed by the City of Uster, Kanton Zurich, where he works as a GIS manager and coordinator.
Papertopic: Publishing and Printing with SVG
Author(s): Neumann, Andreas (City of Uster)
The paper presents a workflow for generating high quality, database-driven reports using XSL-FO and SVG technology. The task was to automatically generate reports from database tables for the green corridors and parks in the city of Uster, Switzerland. The reports should contain text with lists and tables, graphics/charts and maps. For the layouting part of the application XSL-FO was chosen. The data is transfered from the various database tables to a temporary XML file, using PHP and SQL. A XSLT File is responsible for the conversion of the XML file to the temporary XSL-FO file containing the page description language.
The XSLT-transformation is handled by Saxon9B, since some of the new XSLT 2.0 features, such as grouping, were required. The map and charting part is handled by SVG. SVG is a supported graphics format in XSL-FO. The vector parts of the SVG maps and charts are generated using PHP scripts and the Postgis AsSVG() command is generated directly from the Postgis spatial database. The raster part involves the UMN mapserver and the WMS interface. Another PHP script creates dynamic map legends and scale-bars.
Combining the XSL-FO and the SVG files and feeding them to an XSL-FO processor leads to a final output document in formats the FO-processor supports. The PDF-format was chosen as the final ouptut, since the reports were primarily needed for printing. Apache FOP was chosen as a FO-processor, which makes use of the Batik component for interpreting SVG files. This ensures a high quality rendering of the SVG parts of the documents while also supporting a rich featureset of SVG.
The final result proves that it is possible to efficiently create nice-looking, high quality reports from databases containing text, tables, maps and charts, using open source software. All involved software components are available for free and with source code. SVG proved to be a valuable and flexible part of the workflow when it comes to embedding graphics, charts and maps into the reports. However, SVG could also be the output format of the rendering process. The paper and presentation will show the detailed workflow, the input material, discuss the XSLT file and demonstrate the results. Finally, some problems which came up during the project and the chosen solutions will be discussed.
Juliana Neumann studied Cartography and Geomediatechnology at the University of Applied Sciences in Munich. She is currently working as a cartographer and GIS-Specialist at a geology firm in Zurich.
Author(s): Neumann-Williams, Juliana (Dr. Heinrich Jäckli AG)
Employees in a geological firm wanted to be able to turn to a fast and intuitive webmapping system when looking up past reports for reference when preparing for studies to be conducted in similar areas.
To satisfy these requests, an online geographic report information system was created. The project allows the user to pull up an interactive online map of Switzerland and start looking for the area of interest. He has the ability to search for the area either by providing coordinates, a known report number or choosing a canton, district and/or commune. He can also use the spatial navigation tools to navigate to the desired region. Once he has reached the area he has chosen, the user can locate previous reports which have already been made and generate a list of the reports in that area. Reports may either be represented by point symbols, lines or areas. The majority of the reports are represented as point objects. Symbols indicate the type of study a report corresponds to and whether or not the groundwater had been analyzed. Stroke color, shape and fill color are used for this purpose.
If wanted, the user can also print a section of the map with the chosen reports. Apart from the reports, other data such as groundwater, protected areas, wells, geothermal probes, and gas pipes can be shown. This information is crucial when deciding about future boreholes. PDFs are created using the svgrasterizer of the Apache Batik project. SVG files are created and then converted to PDFs which can be saved and printed.
Data for this projects was obtained from various sources. They were compiled and completed within desktop GIS-Systems and some gdal utilities. The vector data was transferred to an open source spatial database (PostGIS) which supports spatial queries, intersections, simplifications and SVG output. Additional raster data is also requested from UMN Mapserver using WMS queries.
The webmapping client is entirely written in SVG and ECMA-Script and runs in every web browser with native SVG support, in browsers and operating systems supported by the Adobe SVG viewer as well as in the stand-alone Apache Batik viewer. After loading the initial graphic user interface, the client makes requests to the spatial database and WMS in order to receive the map and report data. Network requests are made either through XMLHttpRequests or the getURL() functionality present in a browser or SVG viewer. The client allows navigation in bigger datasets, as a result of a specified level of detail concept. Every time the user navigates, he is presented with a customized section of the map.
Sellappan Palaniappan is an Associate Professor with the Information Technology Department, Malaysia University of Science and Technology.
Joe Prosser is a long standing member of the Embedded Software Engineering Team at Cabot Communications, working in both the UI and platform development areas of the Consumer Electronics Industry. His past experience includes work in the fields of Space, Defence, Broadcasting, and Telecoms. Prior to his work at Cabot, Joe represented Logica as part of the JAIN Java Community Process.
Papertopic: SVG and Digital Television
Author(s): Prosser, Joe (Cabot Communications)
SVG: a key element in achieving product differentiation & comptetive advantage in the DVB market
In the increasingly crowded and competitive digital receiver marketplace, the ability to create branded, differentiated products is critical for manufacturers to attain market advantage. One of the most effective ways to achieve this level of differentiation is through the development of User Interfaces (UIs) which can differ throughout the product line and across multiple regions. However, the UI development process is often fraught with difficulty. Traditional development techniques often make it extremely difficult to develop, simulate and test new interfaces to the levels of robustness required at the speed the digital receiver market requires. Implementing a new graphical design for a new or legacy application demands a critical amount of precious engineering resource both for development and testing.
In order to support manufacturers who need to create differentiated UIs within short product development timescales, Cabot Communications have developed a SVG processing module that interacts with Cabot's more traditional C++ based UI Framework. The features of the SVG processing module enable visual UI changes to be made by graphical designers instead of software engineers, effectively freeing up precious engineering resources. SVG provides a mechanism that is reusable and requires less engineering resource for any future UI iterations, negating the need for reprogramming for differentiated UIs, and allowing mission critical robust functionality to be maintained in C++.
The development of a SVG support module enables the implementation of skinnable applications, where the definition of the look and feel of the UI has been separated from the application code. This provides a mechanism which allows the UI to be designed independently and for production engineers to use and deploy the new design very quickly; as it enables only the completeness and usability of the new look and feel to be tested, independently of existing underlying product functionality.
The SVG processing module liberates design creativity by enabling esthetic graphical drawings defined by SVG instead of the traditional method which could only accept small images suitable for embedded systems. With SVG, manufacturers are able to provide new UI designs and their SVG definitions so that they can be easily integrated to applications with minimal time and effort. In addition, SVG enables graphical designers to easily see how their design looks on the resultant application through Cabot's dynamic PC based SVG simulator which provides an instant UI visualization, allowing greater experimentation.
Cabot has developed a SVG engine that processes a subset of SVG Profile Basic 1.1. The SVG elements that are supported by our SVG engine are line, rectangle, circle, ellipse, polygon, polyline, path and linked images. In DVB UIs, we commonly need widgets, such as buttons, text boxes, selection boxes, list boxes, scrollbars, etc. We have also developed C++ widget classes that can process and use the graphical designs defined by SVG.
Each skinnable UI dialog and widget type has corresponding SVG files that describe their graphical, scallable, and positional aspects for each state that they may be in. Hence a SVG file describing a dialog is a template, containing the background visual appearance and the size and position of any widgets or optional elements. Simple id fields are used to identify SVG elements to the C++ implementation, where the application functionality resides.
To summarise, we feel that SVG provides our customers with a number of competitive advantages:
• Flexibility: Commercial graphical tools support SVG for complete flexibility in creating customised UIs
• Efficiency: SVG enables UIs to be easily created and modified without the constraints of traditional UI development tools which require engineering time and effort. In addition, greater re-use is encouraged.
• Quality: The perceived quality of the UI is greatly enhanced when graphical design experts are used
• Liberates existing applications: Tested legacy applications can be deployed to different customers with ease.
• Hardware independence: The entire application can be developed within a PC environment before being moved to the receiver hardware
• Complete UI reassurance: Enhanced SVG features dramatically reduce the possibility of UI problems once the product has been deployed, resulting in optimal consumer satisfaction and reduced support calls and product returns
• Cost effective: The benefits delivered by SVG enable manufacturers to reduce the development costs and engineering effort required to make differentiated UIs
• Increased speed to market: The features provided by SVG enable customised UIs to be built, simulated and tested in previously unachievable time scales
Cabot's future plans include extending our SVG processing module to include more SVG features, in order to enable designers to develop even more compelling UIs.
Dave Raggett has been closely involved with the development of core Web standards since 1992, working with W3C, IETF and ECMA on HTTP, ECMAScript, HTML+ through XHTML, MathML, XForms, VoiceXML, multimodal interaction and most recently as the Chair of the W3C Ubiquitous Web Applications working group. He also likes to dabble with open source software including HTML Tidy and Slidy, and has worked on several browsers. He is particularly interested in the potential for declarative end-to-end models for Web applications. Dave is a W3C Fellow and a member of the W3C Team, on assignment from JustSystems. In his spare time he enjoys scuba diving and photography.
Author(s): Raggett, Dave (W3C/JustSystems)
Despite having been very closely involved with the development of HTML, I believe the time has now come to move authoring of Web applications to a new level where the emphasis is on what you want the application to do rather than the details of how this is to be achieved on any given browser or delivery platform.
This talk will describe the goals of a new W3C Incubator Group on applying research on model-based user interfaces and end to end models for a declarative treatment of Web applications that features diagrams and business rules rather than hacking html, CSS and JavaScript.
SVG has an important role to play in this framework, e.g. as a basis for round tripping a variety of diagram notations to XML and back, for presenting application data, for theming controls and for purely decorative purposes.
Extensive research on model-based approaches to designing user interfaces over the last decade has led to a layered architecture where each layer is derived from the previous and expresses the application at progressively finer detail. There are four layers:
1) Application task and domain models
2) Abstract user interface (device independent)
3) Concrete user interface (device dependent)
4) Final user interface
XML is used to represent each of the layers with the possible exception of the final user interface. The abstract UI is device and modality independent, e.g. expressing a set of options for the user to choose between. The concrete UI makes a commitment to how such a choice is to be exposed to the user, e.g. as a set of radio buttons or as a drop down menu. The final UI is generated automatically through a compilation step and addresses the details of a particular delivery platform. This allows authors to write their application once and have it delivered to a variety of platforms (e.g. HTML, Flash, Java and .NET).
I will further report on my progress in building a practical demonstrator for the ideas using a browser based client written in haxe and running on version 9 of the Adobe Flash Player which is available in over 95% of desktop browsers as of early 2008. This includes an implementation of SVG in Flash which is covered in another talk.
For the user interface, I have been looking at combining SVG with XForms and new markup for the layout and controls needed for the concrete UI. This isn't chosen arbitrarily, but has rather been designed to closely match the WAI-ARIA ontology, and is intended to facilitate effective support for assistive technology on the target delivery platform. To understand this we need to step back a little.
For standalone Windows applications, there is a well defined API for assistive technology that provides accessible access to the UI controls that make up typical Windows applications. This relies on application developers using the standard UI controls provided by the operating system. With the advent of rich web applications, developers are increasingly defining their own controls using a mix of HTML, graphics, CSS and scripting.
Such controls are invisible to assistive technogy, and this has led to work on ways to annotate applications with sufficient data for Web browsers to expose author defined controls to assistive technology via the operating system specific accessibility API. By authoring in a higher level framework, these annotations can be provided automatically.
For end-to-end modeling, the user interface is only one part of the overall picture to be drawn. This is where diagrams can be very helpful, and where we can build upon work on UML and other diagram notations. UML consists of a suite of notations that serve complementary purposes. One of these notations is State Charts. W3C is defining an executable XML representation for State Charts, called SCXML (State Chart XML). This can be used to describe event driven behavior, and I am looking at how to combine State Charts with business rule languages as an alternative to having to write lots of server-side scripts.
Diagrams can also make it much easier to create and update ontologies covering the terms and relations needed for application domain models. The idea is to allow authors to manipulate diagrams and to have the authoring tool manipulate the underlying XML representation of the diagram's semantics, whether this is expressed in OWL, SCXML or some other XML standard.
SVG has a valuable role for defining the current state of a given diagram, allowing the diagram to saved and later re-loaded without any loss of information. This is where it makes sense to define an internal XML format that blends SVG with markup for carrying the diagram semantics in a way that enables round tripping through the file system. This document format can then be processed to generate the semantic representation without the layout information. I hope to demonstrate an example of this in practice, using a Flash-based client to download and edit diagrams, saving them to the server and extracting the semantics.
Papertopic: SVG for Multimedia Presentations
Microsoft PowerPoint has been the dominant slide presentation tool for many years. This posed a challenge for how to provide a web-based alternative that wasn't reliant on proprietary formats and which would avoid the need for emailing people slides as large attachments.
The W3C Team generally felt that we should be using Web standards for our presentations, eating our own dog food as it were. The starting point was a way to split a single HTML file into a sequence of linked files that acted as slides. You had to start each slide with an H1 heading element. A Make file was provided to drive the script, but it was fairly cumbersome to use in practice.
This has proven to be quite popular, but a substantial number of people aren't comfortable with authoring HTML, and even people who are, find it challenging to develop style sheets for new slide themes. I therefore started looking for ways to support browser based editing of slides that anyone could use without needing to know anything about markup or CSS.
My starting point was to look at the support for rich text editing first introduced into Internet Explorer and later copied by Firefox, Opera and Safari. The "content editable" feature suffers from a lack of interoperability across browsers as well as being very hard to work with when you want to provide the kind of user experience for editing slides that people expect based upon their familiarity with PowerPoint.
I therefore tried to see if I could instead emulate the text caret and use keystroke event handlers to define my own editing mechanism. This turned out to be just about feasible, but ran into problems with the poor state of browser support for keystroke events. It is a shame that browsers have yet to support DOM3 events with its well thought out solution for keystrokes and text input. A work around proved to be just about do-able, with browser specific fixups [Opera was the hardest to deal with].
Around that time, I decided to explore direct use of SVG, given that several browsers now provide native support for it. One big benefit is the nice way SVG is scaled from the document units to the window. This avoids some of the problems when trying to scale HTML to full screen display on different browsers. Another big advantage is the potential for using SVG for the slide background and to create a drawing tool in SVG with a scripting library.
Whilst SVG is now implemented natively on browsers like Firefox, Opera and Safari, the implementations vary in which features they support including the scripting API. This makes it hard to write cross browser applications. When it comes to text editing, SVG 1.2 is very promising, but unfortunately the browsers for the most part only support SVG 1.1. A work around is to set event handlers for keystrokes and to emulate a text editing caret (see demos for SVG 1.1 and 1.2), but this runs into the same problems with of keystroke event handling as for HTML. A thorough solution is contingent on browser support for DOM3 events and SVG 1.2.
It then occurred to me that maybe the ubiquitous Flash Player might be a better development platform with its much greater penetration than any existing browser. According to Adobe's statistics, version 9 is now on over 95% of desktop browsers, and this number is steadily climbing. I quickly decided against using the Adobe developer tools in favor of the little known "haxe" programming language, which is like a modernized version of Java, and featuring strong type checking, flexible enums, parameterised types and type inference. Haxe allows you to compile to different versions of Flash (version 7-9) as well as to Neko, a very fast virtual machine that is available as an Apache module (mod_neko). Haxe and necko are open source and were both developed by the amazing Nicolas Cannasse.
The idea was to use haxe to design a semantically oriented concise XML language for slides (XML Slidy) and to write a compact Flash application that would support viewing and editing slides, and posting them back to the Web server. XML Slidy combines simple markup for slides and slide themes together with SVG for bullet shapes, slide backgrounds and other graphics.
I chose to define XML Slidy as a compound document format rather than as a microformat within SVG. This is out of a preference for using XML elements to express the semantics directly, rather than burying them within attribute value conventions.
I started from Helen Trialo's Action Script 3 implementation for rendering a subset of SVG paths in Flash. With her permission, I ported her code to a haxe library, changing it a lot along the way, and then set about expanding the subset of SVG it supports. Elliptical arcs proved a little tricky, and I think that the implementation notes in the SVG specification could be easily improved upon.
It isn't possible to implement all features of SVG in Flash due to limitations of the Flash drawing API. In particular, SVG requires support for both the non-zero and even-odd fill rules, while Flash is limited to just the even-odd fill rule. In practice, this isn't a serious limitation as most graphics don't have complex intersecting paths.
I also decided not to support the SVG script element as that would have been very difficult to implement in Flash. Again, this isn't a serious limitation at least in the context of use for slide presentations. I have yet to come across anyone who has used scripting within their PowerPoint presentations, although declarative animations for build effects and slide transitions are another matter.
In conclusion, implementing SVG in Flash has proven to be very practical and avoids the interoperability problems found with native implementations of SVG in current browsers. Flash is also much more widely deployed than even Internet Explorer. Why struggle with existing browsers when you can implement your own XML application that runs on over 95% of browsers including all versions of Internet Explorer! Flash might seem at first to be a competitor to SVG, but it is easy to put Flash to use in SVG-based applications. I am particularly grateful for the SVG test suite as a way of measuring my progress in expanding the subset of SVG supported. The haxe SVG library for Flash 9 is available as open source under the LGPL license.
Author(s): Rindahl, Bruce (Leonard Rice Engineers) and Lori Torikai (Colorado Division of Water Resources)
Faced with ever increasing costs of commercial GIS software and a need to transfer legacy mapping information to GIS format, the State of Colorado, Division of Water Resources (DWR) began in 2006 to develop a custom GIS web interface utilizing SVG technology. The DWR has thousands of paper maps with hand drawn parcel information with the associated well for irrigation permits which need to be converted into GIS format.
In addition, legal descriptions of lands associated with wells have been stored with the well permit information which needs to be converted to GIS format. A spreadsheet that allows the direction and distance of the parcel segments input was modified to convert the coordinate information into SVG format for the web interface.
To save cost, the application utilized the SVG GUI tools developed by Carto.Net. These tools were also enhanced for the particular needs of the State for this application including allowing circular arcs, an interactive measuring tool, and the ability to merge multiple parcels via AJAX technology. The development of this application will be described in detail in our session. In brief, it consists of
Numerous tools and GUI's were integrated into the interface to aid DWR staff in the use of the application. The paper will also focus on the lessons learned in deploying an SVG interface to a general audience as well as future development work.
PhD Student
Department of Computer Science
The University of Sheffield
MSc. in Communications, Computers and Human Centred Systems.
The University of Birmingham
BSc. in Communications and Electronics
ESIME Zacatenco
Working on the Atlas experiment at CERN, in the SemiConductor Tracker; originally in hardware but now in database/web applications for access and display of environmental and configuration parameters for the detector
Papertopic: SVG for Technical Documentation
Author(s): Roe, Shaun (CERN)
Giulio Roggero, PMP, MS in Software Engineering Politecnico of Milan, IEEE & MPI Member. He actually cooperates with different Italian and foreigner companies as a consultant in Industrial Automation, audience measurement systems and diagnostic imaging.
Eclectic, he observes and studies everything innovative in the IT sector, and with curiosity and explorative attitude he has dedicated to many Open Source projects (i.e.TwoLe) to many of which he still cooperates with unchanged interest.
At the same time he continues the collaboration with the Politecnico of Milan for the realization and implementation of didactic and work tools.
In 2003 he founded Isola Software, an IT consultancy web-oriented technology office. The office cooperates with small and medium companies for the coordination, architectural planning and training on Edge technologies: AJAX, .NET 3.5, Java 6, PHP 5, UML 2, software life cycle.
He also provides training and refreshing sessions for his cooperators with patience and optimism, showing noticeable project management skills.
Exploiting his passion for boardgames, in 2004 he founded the portal www.giochidatavolo.net with his friend and cooperator Andrea Bolognini. Today this sites has got more than 4,500 members and in the specific sector it represents one of the main portals at a national level.
Coming from the Cusian Region, in 2004 he realizes a DVD on the Lake Orta. He is very committed to this work and this year he is going to release an updated, re-designed and multi-lingual version of the project.
Among the various publications, we remember the IEEE project The Laser Cutting System.
Author(s): Rusin, Zack
KDE is an international technology team that creates Free Software for desktop and portable computing. Among KDE's products are a modern desktop system for Linux and UNIX platforms, comprehensive office productivity and groupware suites and hundreds of software titles in many categories including Internet and web applications, multimedia, entertainment, educational, graphics and software development.
KDE 4 is the latest release of the KDE software stack. One of the most notable changes in KDE 4 is a very pervasive usage of SVG. SVG files are used for themes, icons, storage system and transport. They are at the beating heart of beauty of the KDE 4 interfaces.
Furthermore, the whole graphics stack utilized by KDE has been heavily influenced by the SVG standard. New Free Software graphics driver model, called Gallium3D, has been written in order to utilize modern graphics hardware for accelerating API's such as OpenVG and OpenGL to assure real time rendering of SVG files using minimum amount of resources. On top of that the Qt library, which KDE is layered upon, has a graphics API fully compatible with the SVG rendering model.
To cope with variety of uses of the SVG technology KDE comes with two SVG rendering engines. SVG 1.2 Tiny compliant QtSvg library, which is meant to be a minimal rendering engine, suitable for things like icons and QtWebKit's SVG which is a full SVG engine.
KDE 4 has just begun its existence and almost every day engineers working on it come up with new and creative ideas, tools and use cases for how to better utilize SVG. Unlike most of the technologies leveraging SVG, KDE's focus is on interactivity and animation. A whole set of tools and utilities has been developed to aid that goal. The best example of such uncommon usage of the SVG standard is the Plasma project, which comes with its own animation framework layered on top of the SVG rendering model.
The openness of the SVG standard aided by the creativity of the Free Software engineers created something truly unique and exceptional.
Doug Schepers is a long-time and active member of the SVG community. He is currently the W3C Team Contact for the SVG, WebAPI, and CDF Working Groups.
Author(s): Schepers, Doug (W3C)
This panel will feature implementors of the SVG specification on a variety of user agents, from desktop to mobile, from toolkits to libraries to authoring tools. The format is a moderated question-and-answer session, with both prepared topics and audience participation. The panel will begin with an introduction by each panelist, who will talk about their company or organization, give a brief overview of their implementation, and talk about their role in the project. This panel will focus on the technical issues of the implementations, issues of market and distribution, plans for future development, and a variety of other topics that will provide the audience with a good sense of the current state of SVG implementations, and will provide an opportunity for dialog between different implementors with different use cases.
The list of participating panelists is not yet settled, but we are aiming for a comprehensive array of people. Among the more likely participants would be:
In addition, there will be a general call for participation from other implementors, with inclusion based on market relevance and breadth of scope for the panel as a whole.
Due to general interest in this topic, the ideal duration for this panel would be 1.5 hours, and broad audience attendance is expected.
Information Architect at Tektronix.
Seasoned XML Developer.
Co-chair OASIS XLIFF (XML Localization Information File Format) Technical Committee.
Member OASIS DITA Technical Committee.
Papertopic: SVG Text and Internationalization
Author(s): Schnabel, Bryan (Tektronix)
For years publishing groups have grappled with a daunting challenge. How do they ensure quality and consistency of translation of text strings in images, for a reasonable price? Combine two critical developments and an answer emerges. Since SVG files are XML, and since XML-based open standards are now in place to facilitate efficient translation, the challenge has a solution.
In this talk, an exact architecture and blue print will be provided that walks the participants through real-world examples. Using the OASIS XLIFF 1.2 open standard, and SVG, a concrete solution will be demonstrated. It will be demonstrated how the use of these two open standards increases quality and consistency of translation. The use of these XML formats will show a standardized method, the "extract and merge" approach, a traditional approach for XML documents, adapted for graphics.
It will be shown that using industry supported open standards like XLIFF allows localization service providers to focus on the translation aspect, using localization tools (their core competency), rather than training translators to use complex graphic tools, results in measurable savings in cost and time. Attendees will see how traditional devices like translation memory can be efficiently harnessed by combing SVG with XLIFF. Additional translation, localization, and internationalization standards will be addressed as well, including LISA/OSCAR, DITA, and W3C ITS.
Attendees will be shown how the use of SVG graphics in technical documentation, in conjunction with powerful XML formats like XHTML, Docbook and DITA can be translated in a standardized way, with support from the toolmakers and localization service providers. This concept will be demonstrated through use of commercial tools, and also through the use of open source tools.
This is a dynamic, nut and bolts, fun presentation. Attendees experience a minimal amount of slides, but the real learning is accelerated through the use of real-world examples and real-time demonstrations. The depth and duration of the demonstrations is easily adapted to the available time, and the direction and wishes of the audience.
Olaf Schnabel is senior teaching assistant at the Institute of Cartography of the ETH Zurich. Since 2002 he works with SVG, ECMAScript and PHP and is one of the organizers of the first SVGOpen conference. In 2006 he completed his PhD on the topic of "User-defined Map Symbols", dealing with the construction of diagrams and other map symbols for web maps. He is the developer of the XML-based description language "Diagram Markup Language" and the interactive web application "Map Symbol Brewer".
Author(s): Schnabel, Olaf (Institute of Cartography, ETH Zurich)
GPS is widely used for the determination of the user's position. To show friends and colleagues the attended hiking track of the last weekend or to visualize the difficult conditions and heights is one of the major use cases of GPS.
Besides GPS devices with mapping software, websites such as "GPS visualizer" (http://www.gpsvisualizer.com) offer services to draw a map or a profile. Even conversions in other file formats such as Google KML and plain text are possible.
But only a few of them have the possibility to create vector maps independent of a fix image resolution. Furthermore, zooming in maps and especially the adaptation of background maps with a resolution higher than 30 meters is not possible, since all of the services make use of free geodata and these data are not available in a high resolution.
Additionally, profiles can only be created as separate service. A connection between the profile and the map is an added value for the user.
As a result of these needs, a GPS visualizing tool was programmed with SVG, PHP and Javascript as well as with the UMN Mapserver and the Batik Toolkit. In a first step, the user can upload his GPX file from local computer or from another web server. On the server, the GPX file is checked for validity and wellformedness. In a next step, the coordinates of the bounding box of the GPS track are determined and converted from latitude/longitude to Swiss coordinates. With this bounding box, a Web Map Service (UMN Mapserver) can be contacted and the resulting background map is integrated in a SVG user interface. Additionally, the track is automatically visualized in the map and in the profile with SVG. With the help of ECMAScript, the user can interactively explore the track in the map and the connected profile. As additional option a PDF of map and profile can be created using the Batik Toolkit on the server. The tool is available on www.carto.net/schnabel/gpstracks.
Simon Shutter, M.Sc., P.Geo. studied Earth Sciences (Hydrogeology) at the University of Waterloo.
He has worked in the private and public sectors and is the owner of Schemax Design, a software consultancy based in Vancouver, British Columbia.
Author(s): Shutter, Simon (Schemax Design)
Up to twelve months of activities can be displayed in a single screen while zoom and pan functions allow the user to focus in on smaller time periods. Activities are displayed in one of three modes: calendar, timeline and bar chart. The latter mode facilitates forecasting of resource utility.
Calendars can be combined. In calendar mode the combined calendars are superimposed on top of each other. By assigning the activities of each resource an opacity proportional to the total number of resources the combined view indicates when all resources are free and when they are busiest. In bar chart mode the combined calendars are aggregated giving a summary of the utility of several resources as a whole.
The SVG generator is written in C# and uses XSLT to calculate coordinates of each activity and the transforms necessary to update the view. The interface relies heavily on the javascript GUI library developed by carto.net. Several SVG transforms are used to switch between calendar modes, toggle working/non-working hours and combine calendars.
Until recently the data source for the calendar data has been Microsoft Outlook and Exchange Server. Implemented as an add-in, Schemax Calendar is tightly integrated with Outlook and allows users to create and edit activities using javascript calls to the Outlook Object Model via .Net and COM. Google Calendar is currently being investigated as an alternative data source.
Author(s): Siemen, Stephan (ECMWF - Graphics Section)
The European Centre for Medium-Range Weather Forecasts (ECMWF) is an international organisation supported by 30 Member States and Co-operating States. ECMWF produces operational medium-range forecasts up to 15 days and extended range forecasts for up to six months in support of Member States forecasting activities. A subset of the products is also made available to the wider meterological community, i.e. WMO members, and to the commercial sector via the catalogue of products.
As part of its commitment, ECMWF provides software to read their data and visualise it. The Magics++ graphics library, freely available
under the Apache license, is developed by ECMWF to display numerical weather analysis and forecast fields and observational data on
geographical maps. Various forms of non-geographical maps, e.g. box plots and bar charts, are also supported.
Currently the main graphical output format is PostScript, which is converted to PNG or PDF for web displays. In a review of graphical output
formats in 2004, alternatives to PostScript were investigated for the main format. SVG looked in theory to be an ideal candidate for this
Following the discussion the decision was made to implement an SVG output driver. Implementing this driver was generally easy, with the
exception of supporting raster satellite data which can be of large volume. To avoid the generation of large SVG files, satellite and other
Even though a successful implementation of an SVG driver was achieved, SVG has not been able to take PostScript's prominent slot in
production. This is due to the lack of SVG support by printers and web browsers, notably Internet Explorer.
The presentation will show examples of weather maps generated with Magics++ and discuss how SVG could be used in the future to replace PostScript in production.
Christophe Strobbe has been involved in research on web accessibility for persons with disabilities since 2001 and has been a member of the Web Content Accessibility Guidelines Working Group (WCAG WG) since April 2005.
Papertopic: Accessibility of SVG
Author(s): Strobbe, Christophe (K.U.Leuven - Dept. of Electrical Engineering - SCD)
The accessibility of SVG became the subject of research and publications even before the W3C published the specification in September 2001. The W3C's Web Accessibility Initiative published a Note on Accessibility Features of SVG [http://www.w3.org/TR/SVG-access/] as early as August 2000. Guillaume Lovet worked on an SVG linearizer tool during an internship at W3C in July-August 2000 [http://www.w3.org/WAI/ER/ASVG/]. His approach built on XML's namespaces to add RDF to SVG (see also SVG Linearization and Accessibility, by Ivan Herman and Daniel Dardailler at SVG Open 2002 [http://www.svgopen.org/2002/papers/herman_dardailler__svg_linearization_and_accessibility/]). Unfortunately, there seems to be no uptake of this approach in mainstream tools.
Although SVG has certain accessibility benefits (notably scaling without loss of information or precision) and in spite of a marked increase in the number of implementations in the last few years (both in desktop browsers and in mobile devices), there are many issues that remain unsolved. This paper will describe these issues. It does not propose new solutions but identifies areas where improvement is needed. This paper will not discuss issues related to mobile devices.
For a long time, the Adobe SVG Viewer was the only real option for viewing SVG in a browser. In recent years, native browser implementations have become available. Unfortunately, none of the existing implementations have been shown to work with a screen reader (an assistive technology used by the blind and some other user groups). Even the Firefox extensions that add speech to the browser (Fire Vox, Fangs and Foxy Voice) ignore almost all SVG content (except for the topmost title element) when SVG files are loaded directly into the browser. For persons who need magnification because of a visual impairment, even SVG's scalability is not as useful as it could be because rescaling may cause text elements to overlap and because some implementations don't support panning.
Users who can't use a pointing device experience problems when SVG requires interaction: keyboard accessibility is usually not available; in fact, the SVG specification failed to address this issue until the draft for SVG 1.2.
Academic research has focused on other ways to make SVG accessible. Martin Rotard and others showed that access to SVG can be provided to blind people using tactile displays. The IVEO software by ViewPlus enables blind users to open SVG files and read them on-screen or with the IVEO Touchpad. Zaineb ben Fredj and David Duce reject the RDF approach described by Ivan Herman and Daniel Dardailler and propose an approach where SVG is only the output of a system with three layers: a semantic layer (a domain-specific language), a structure layer and a presentation layer (SVG or another representation).
Finally, the Web Accessibility Initiative has been working on "Accessible Rich Internet Applications" [http://www.w3.org/WAI/intro/aria], a set of roles (e.g. grid, group, menubar, tree) and properties (e.g. datatype, describedby, readonly, required) that may be added to (X)HTML to compensate for the lack of semantics in HTML for the development of web applications. Although work on WAI-ARIA was originally prompted by shortcomings of (X)HTML, the specification is independent of any markup language and thus may also be applied to SVG. However, it would be better if the next version of SVG were designed to make such additions largely unnecessary.
Ms. Torikai is a GIS professional with 17 years of experience. She holds a B.A and M.A. in Geography specializing in Meteorology. Her experience spans the public and private sectors with the last 10 years in integrating GIS into water resource applications.
Author(s): Trebaol, Gildas
This presentation is the continuation of a previous SVG paper that I presented during the SVG Open 2005 meeting.
I will show how a SVG document can be:
Author(s): Watt, Jonathan
Mozilla Firefox is currently the most widely used Web browser to come with built-in Scalable Vector Graphics support. Since SVG support first made it into an official Mozilla release in Firefox 1.5 back in November, 2005, a lot has happened. There have been many new developments and challenges that impact on SVG, both in Mozilla, and in the wider world. This paper will provide some insight into both the past and the future of SVG and Mozilla from a Mozilla developer's perspective. Subjects to be addressed include: implementation progress since Firefox 1.5; current and future implementation goals; quality assurance; the state of SVG on the Web; "Mozilla's" attitude to SVG; Mozilla SVG on mobile devices; changes to the SVG working group and process; competitors to the SVG format; implementer collaboration and interoperability; community involvement, and how you can help.
Rob joined Qualcomm Europe in October 2007 as Senior Manager for third party operating systems (such as Windows Mobile / Linux / Android) and Graphics technologies (2D/3D user interfaces, browsers, application stacks) working across the ecosystem with OEM's, operators and strategic partners.
Before joining Qualcomm, Rob enjoyed two years travelling around the world. Previous to that, he worked at Macromedia (now Adobe). He was the first full-time mobile and devices employee in Europe and was part of the global team that propelled the company into the mobile market, signing strategic licensing deals with all the top mobile handset manufacturers.
Rob has a masters degree in management and a BA in music, both from Durham University, UK.
Author(s): Woodford, Robert (Qualcomm Europe)
As Qualcomm and its partners continue to evolve the mobile SVG market and disseminate SVGT content and players around the world, a natural "tier" effect has been realized. In this session, Qualcomm will introduce the new "SVG Ensemble" benchmark effort that will soon be made publicly available, including details about the three initial tiers of benchmark files and corresponding device capabilities. Ikivo will also explain the benchmark content creation effort and what to expect from the final set of files.