Effective Vector Data Transmission and Visualization Using HTML5



Similar documents
Vector Web Mapping Past, Present and Future. Jing Wang MRF Geosystems Corporation

OSM-CAT: A Java tool for OpenStreetMap Contributor Analysis. Peter Smith and Peter Mooney

A FRAMEWORK FOR ONLINE SPATIO-TEMPORAL DATA VISUALIZATION BASED ON HTML5

FIVE SIGNS YOU NEED HTML5 WEBSOCKETS

Research on HTML5 in Web Development

HTML5 the new. standard for Interactive Web

Research of Web Real-Time Communication Based on Web Socket

Study of GML-Based Geographical Data Visualization Strategy

Interoperable Solutions in Web-based Mapping

Real Time Data Communication over Full Duplex Network Using Websocket

Upgrade to Microsoft Web Applications

Programming in HTML5 with JavaScript and CSS3

Developing Fleet and Asset Tracking Solutions with Web Maps

Christian Thum, Michael Schwind, Martin Schader

Step into the Future: HTML5 and its Impact on SSL VPNs

ArcGIS Platform. An Integrated System. Portal

Web Design Specialist

Web Interface using HTML5 for Interaction between Mobile Device & Cloud- Services

Introduction to BlackBerry Smartphone Web Development Widgets

County of Los Angeles. Chief Information Office Preferred Technologies for Geographic Information Systems (GIS) September 2014

Native, Hybrid or Mobile Web Application Development

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Outline. CIW Web Design Specialist. Course Content

How To Write An Ria Application

All You Can Eat Realtime

RIA Technologies Comparison

An architecture for open and scalable WebGIS

Next Generation Lab. A solution for remote characterization of analog integrated circuits

HTML5 : carrier grade

JavaFX Session Agenda

ArcGIS 10.1 Web Apps and APIs. John Hasthorpe & Kai Hübner

Rich Internet Applications

Web Foundations Series Internet Business Associate

NoSQL storage and management of geospatial data with emphasis on serving geospatial data using standard geospatial web services

separate the content technology display or delivery technology

Research and Performance Analysis of HTML5 WebSocket for a Real-time Multimedia Data Communication Environment

SUMMER SCHOOL ON ADVANCES IN GIS

information planning communication art place making Visual Communication Methods

Experimenting in the domain of RIA's and Web 2.0

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

INFORMATION TECHNOLOGY STANDARD

AN INTRODUCTION TO MAPBOX TOOLS AND SOFTWARE. Matt Gregory 24 July 2013

Chapter 12: Advanced topic Web 2.0

Create Cool Lumira Visualization Extensions with SAP Web IDE Dong Pan SAP PM and RIG Analytics Henry Kam Senior Product Manager, Developer Ecosystem

Web Application Development

Study of HTML5 WebSocket for a Multimedia Communication

SAP BusinessObjects Design Studio Deep Dive. Ian Mayor and David Stocker SAP Session 0112

Curl Building RIA Beyond AJAX

Rich Internet Applications

WORKING PAPERS SERIES

Visualisation in the Google Cloud

Visualization Method of Trajectory Data Based on GML, KML

A Tool for Evaluation and Optimization of Web Application Performance

Simply type the id# in the search mechanism of ACS Skills Online to access the learning assets outlined below.

Design Requirements for an AJAX and Web-Service Based Generic Internet GIS Client

Dealing with the Dilemma: Mobile App Development Approach & Decisions

An Architecture for Web-based DSS

Web Cloud Architecture

Study on Parallax Scrolling Web Page Conversion Module

Modern Technologies in Client-Server Architecture for Geo-based Interactive Web Portals

Titolo del paragrafo. Titolo del documento - Sottotitolo documento The Benefits of Pushing Real-Time Market Data via a Web Infrastructure

Developing ASP.NET MVC 4 Web Applications MOC 20486

Technical Specification. Solutions created by knowledge and needs

DISMAR implementing an OpenGIS compliant Marine Information Management System

Data Visualization Frameworks: D3.js vs. Flot vs. Highcharts by Igor Zalutsky, JavaScript Developer at Altoros

INFORMATION TECHNOLOGY STANDARD

Web Apps The Next Generation

The next computing phase: Mobile + Cloud

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Developing ASP.NET MVC 4 Web Applications

<Insert Picture Here> Web 2.0 Data Visualization with JSF. Juan Camilo Ruiz Senior Product Manager Oracle Development Tools

Responsive Web Design. vs. Mobile Web App: What s Best for Your Enterprise? A WhitePaper by RapidValue Solutions

Web Development News, Tips and Tutorials

GIS AS A DECISION SUPPORT FOR SUPPLY CHAIN MANAGEMENT

GEOPROCESSING IN THE MICROSOFT CLOUD COMPUTING PLATFORM - AZURE

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

Portal for ArcGIS. Satish Sankaran Robert Kircher

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

Drag and Drop in HTML5

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

M-GIS Mobile and Interoperable Access to Geographic Information

Enabling AJAX in ASP.NET with No Code

An Esri White Paper June 2010 Tracking Server 10

Visualize your World. Democratization i of Geographic Data

Information Management & Design Course Descriptions Contact Drew Hunt at Andrew.hunt@kctcs.edu for more information

Chapter 10: Multimedia and the Web

Web Designing with UI Designing

Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7

An Overview of HTML5 and Deciding When to Use It. Robby Robson, Ph.D. & Heather L. Jones, MCT Eduworks

Mashup Development Seminar

Addressing Mobile Load Testing Challenges. A Neotys White Paper

AJAX: Highly Interactive Web Applications. Jason Giglio.

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

WebCenter User experience. John

Web Based 3D Visualization for COMSOL Multiphysics

Outline. 1.! Development Platforms for Multimedia Programming!

Trends in HTML5. Matt Spencer UI & Browser Marketing Manager

Transcription:

Effective Vector Data Transmission and Visualization Using HTML5 Padraig Corcoran 1, Peter Mooney 1, Adam Winstanley 1 and Michela Bertolotto 2 1 Department of Computer Science, National University of Ireland Maynooth. email: padraigc@cs.nuim.ie Tel: 353 (1) 2680100, Fax: 353 (1) 2680199 http://www.cs.nuim.ie/ padraigc/ 2 School of Computer Science and Informatics, University College Dublin. ABSTRACT: In this paper we evaluate the potential of the next major revision of HTML (Hypertext Markup Language), that is HTML5, to provide an effective platform for the transmission and visualization of vector based geographical data. Relative to the current version of HTML, HTML 4.01, HTML5 offers an improved platform to perform these tasks through greater interoperability with existing technologies and the introduction of many new API s. Visualization of vector data can be achieved using the new methods of inline-svg and the Canvas API. An analysis of the pros and cons of each method is presented. HTML5 introduces a novel WebSocket API which defines a full-duplex communication channel between client and server. This provides improved data communication both in terms of bandwidth utilization and network latency relative to existing push technologies. To demonstrate the effectiveness of HTML5 for vector data delivery a novel selective progressive transmission methodology is implemented using the WebSocket and Canvas API s. KEYWORDS: HTML5, Web-Mapping, Progressive Transmission 1. Introduction Web application development is in the middle of a paradigm shift (Kuuskeri and Mikkonen; 2009). The web browser is rapidly evolving from a renderer of simple HTML into a runtime environment capable of delivering rich interactive applications across many application domains (Melamed and Clayton; 2010). From the users perspective, web-based applications are becoming more like traditional desktop applications. Despite this progress, web-mapping applications still significantly linger behind their corresponding desktop counterparts in terms of both interface and functionality (Shi et al.; 2009). Much of this discrepancy can be attributed to a number of limitations of the current version of HTML. In this paper we focus on two limitations in particular. These are the inability to effectively visualize data or to perform efficient communication between client and server. We discuss how HTML5 overcomes these issues and demonstrate this through a corresponding implementation. The layout of this paper is as follows. In section 2 we introduce the Canvas API and inline-svg which represent the methods HTML5 provides for data visualization. Section 3 describes the websocket API which HTML5 provides for effective communication between client and server. Section 4 describes a selective progressive transmission implementation which uses the Canvas and websocket API s. Finally in section 5 we draw conclusions with some caveats about the use of HTML5.

2. Data Visualization Before the arrival of HTML5, client based data visualization could only be performed through plugins such as Adobe Flash and Scalable Vector Graphics (SVG) (Lubbers et al.; 2010). Although such plugins provide the required functionality they reduce the Web s openness and platform independence, and tend to lock users to specific technologies and vendors (Vaughan-Nichols; 2010). In fact, Ian Hickson, one of the W3C s HTML5 editors, states that One of our goals is to move the web away from proprietary technologies. Due to the inability of the current version of HTML to visualize data, without the addition of a plugin, only pre-rendered data may be displayed. In the context of web mapping this means that the client browser cannot visualize 2-D vector map data. To overcome this problem most web-mapping applications, such as Google maps and OpenStreetMap, pre-rendered the data on the server and transmit the corresponding images to the client. The client cannot perform any spatial analysis using such an image-based representation. They also cannot personalize the map visualization process in any way - for example changing the colouring of objects. This represents a significant loss in functionality relative to desktop GIS applications. When working with large scale maps of high detail it is necessary to reduced such detail to prevent user information overload. The most common means of reducing such detail, and in turn information overload, is map generalization which is a well studied cartographical process (Corcoran et al.; 2011). Map generalization is a progressive process where details are gradually removed to produce a corresponding set of multi-scale maps. It is necessary to allow the user of any web-mapping application to freely choose and move between this set of scales. If the multi-scale maps are transmitted in their original vector format, any scale may be represented by the set of simplifications or refinements which must be applied to the previous scale (Corcoran and Mooney; 2011). The data size corresponding to these simplifications or refinements only represents a small percentage of the overall dataset size which would otherwise be transmitted. Therefore if a client requests a particular scale, using a vector representation reduces the data size which must be transmitted. On the other hand, if the multi-scale maps are transmitted in an image-based format and a particular scale is requested, the entire data set corresponding to the scale in question must be transmitted. This generates significant network traffic and latency. To overcome the above issues, HTML5 introduces two methods for data visualization. These are the Canvas API and inline-svg which provide pixel and vector based visualization solutions respectively. Canvas is a scripting based graphics environment which transforms drawing commands into a corresponding raster or image. Cartagen (Boulos et al.; 2010) is an open-source vector mapping framework developed at the MIT Media Lab which allows OpenStreeMap XML data to be downloaded and visualized using Canvas. SVG is a language used to describe two-dimensional objects in XML is now supported as standard by most browsers. Much research on the applications of SVG to map representation has been performed (Wang and Meng; 2010). With HTML5, SVG has been natively integrated through a new <svg> element. Thus, you can now create web pages with inline-svg graphics, where the SVG graphics are fully integrated with the rest of the page; e.g. following CSS styling, allowing JavaScript to interact with SVG objects, drawing graphics, or creating effects on hover-over of certain SVG objects (Pfeiffer; 2010). SVG represents a higher level means for visualization compared to the Canvas API. SVG provides a DOM (Document Object Model) and has an event model not available to Canvas. Thus, for applications that require graphics with interactivity, SVG represents the better platform. In cases where such functionality is not required, the Canvas provides better performance. It is worth nothing that Adobe Flash/Flex and Microsoft Silverlight have each arrived at the fact that both pixel and vector based visualization solutions are necessary. Consequently each technology has implemented corresponding solutions very similar to the Canvas API and inline-svg.

3. Client-Server Communication Before discussing client-server communication we introduce the concepts of network bandwidth and latency which are fundamental attributes of network performance. The bandwidth of a network is equal to the number of bits that can be transmitted over the network in a certain period of time. Network latency equals the time it takes a message to travel from one end of a network to the other. Typically communication between a client and server operates as follows. The client generates an HTTP request; this is sent to the server which acknowledges this request and sends back the response. In certain cases the information contained in the response may become outdated over time. This would be the case if the information requested was current stock prices. To receive real time information the client may continuously refresh that page manually but this is not an elegant solution. Current attempts to provide real-time web information generally use polling and other push technologies, the most notable of which is Comet, which delays the completion of an HTTP response. Push technologies exhibit a number of disadvantages. All communication involves HTTP request and response headers, which contain additional unnecessary header data and introduce latency. To simulate full-duplex communication over half-duplex HTTP, two connections are used and this is very computationally inefficient. Lubbers et al. (2010) states that simply put, HTTP wasnt designed for realtime, full-duplex communication. This has obvious implications when attempting to transmit vector data over the internet. To overcome these limitations HTML5 introduces the WebSocket API which provides a full-duplex communication channel that operates through a single socket over the web. This approach to client server communication provides a significant improvement in network performance, both in terms of network bandwidth and latency, when compared to existing push technologies (Lubbers et al.; 2010). 4. Selective Progressive Transmission In order to demonstrate the potential of HTML5 to provide effective web-mapping solutions a progressive transmission strategy for the transmission and visualization of vector data was implemented using HTML5. This work represents an implementation of some concepts presented in Corcoran and Mooney (2011). The data used in this work was taken from OpenStreetMap (OSM). The data is downloaded initially in OSM XML format. It is then processed, generalized and stored on the server. Client interaction with the map, in the form of zooming and panning, is continuously tracked to allow the current viewing window to be determined; this information is in turn continuously transmitted to the server. Upon processing the server determines what data must be added or removed from the clients local data set and this is subsequently transmitted. This step uses an R-tree data structure to perform spatial queries (Samet; 2006). If the client performs a map zooming, detail is added only to those objects in the view window such that they are represented at a finer scale. This implements the concept of selective progressive transmission. Figure 1(a) displays the Canvas element of the proposed web-mapping system for a given view. Following a zooming by the client the map is progressively refined to increase detail; the corresponding result is displayed in Figure 1(b). All communication between server and client is performed using the WebSocket API. The vector data is visualized using the HTML5 Canvas API. The Canvas was chosen over inline-svg because this application does not required the user to select individual objects in the map. The proposed system differs from the Cartagen project (Boulos et al.; 2010), which also uses the Canvas API, by the fact that it is an implementation of selective progressive transmission and the Cartagen project is not. Network bandwidth performance of the proposed system was determined using the Linux tool iptraf. When compared to OSM, which is a tile-based mapping system, the proposed system exhibited significant superior bandwidth performance.

(a) (b) Figure 1: Progressive transmission of the map is performed when the client performs map zooming. 5. Conclusions In this paper we demonstrate that HTML5 represents an effective platform for the effective transmission and visualization of vector data. Despite this it is advised that developers should proceed with caution. HTML5 is still in development and many of its features are not widely supported by different browsers. It is estimated that it will be 2013 at the earliest until HTML5 achieves a sufficient level of browser support to be considered reliable enough for deployment (Vaughan-Nichols; 2010). Also many people have raised security concerns regarding HTML5 which must be considered (Mansfield-Devine; 2010). 6. Bibliography Boulos, M., Warren, J., Gong, J. and Yue, P. (2010). Web GIS in practice VIII: HTML5 and the canvas element for interactive online mapping, International Journal of Health Geographics 9(1): 14. Corcoran, P. and Mooney, P. (2011). Topologically Consistent Selective Progressive Transmission, 14th AGILE International Conference on Geographic Information Science (Springer Lecture Notes in Geoinformation and Cartography), Utrecht, The Netherlands. Corcoran, P., Mooney, P. and Winstanley, A. C. (2011). Planar and Non-Planar Topologically Consistent Vector Map Simplification, International Journal of Geographical Information Science In Press. Kuuskeri, J. and Mikkonen, T. (2009). Partitioning web applications between the server and the client, Proceedings of the 2009 ACM symposium on Applied Computing, SAC 09, ACM, New York, NY, USA, pp. 647 652. Lubbers, P., Albers, B. and Salim, F. (2010). Pro HTML5 Programming: Powerful APIs for Richer Internet Application Development, Apress. Mansfield-Devine, S. (2010). Divide and conquer: the threats posed by hybrid apps and html5, Network Security 2010(3): 4 6. Melamed, T. and Clayton, B. (2010). Mobile Computing, Applications, and Services, Springer, chapter A Comparative Evaluation of HTML5 as a Pervasive Media Platform, pp. 307 325. Pfeiffer, S. (2010). The Definitive Guide to HTML5 Video, Apress. Samet, H. (2006). Foundations of Multidimensional and Metric Data Structures, Morgan Kaufmann.

Shi, W., Kwan, K., Shea, G. and Cao, J. (2009). A dynamic data model for mobile gis, Computers and Geosciences 35(11): 2210 2221. Progressive Transmission of Spatial Datasets in the Web Environment. Vaughan-Nichols, S. (2010). Will HTML 5 Restandardize the Web?, Computer 43(4): 13 15. Wang, Y. and Meng, H. (2010). Managing multi-scale spatial data for mobile application, seventh international conference on Fuzzy systems and knowledge discovery (fskd), Vol. 6, pp. 2839 2843. 7. Biography Padraig Corcoran is a lecturer and post-doctoral researcher in the Department of Computer Science at NUI Maynooth. Peter Mooney is a research fellow at the Department of Computer Science NUI Maynooth and he is funded by the Irish Environmental Protection Agency STRIVE programme (grant 2008-FS-DM-14-S4). Adam Winstanley is the head of Computer Science at NUI maynooth and a Co-PI on the Strategic Research Cluster in Advanced Geocomputation (StratAG) funded by Science Foundation Ireland under the National Development Plan (07/SRC/I1168). Michela Bertolotto is a senior lecturer in the School of Computer Science and Informatics at UCD and is also a Co-PI on StratAG.