Location-Based Services Using HTML5 Geolocation and Google Maps APIs
|
|
|
- Moses Nicholson
- 10 years ago
- Views:
Transcription
1 Location-Based Services Using HTML5 Geolocation and Google Maps APIs Wen-Chen Hu Department of Computer Science University of North Dakota Grand Forks, ND Naima Kaabouch Department of Electrical Engineering University of North Dakota Grand Forks, ND Hung-Jen Yang Department of Industrial Technology Education National Kaohsiung Normal University Kaohsiung City, Taiwan Xiwei Wang Department of Computer Science University of North Dakota Grand Forks, ND Abstract A location-based service (LBS) is a service based on the geographical positions of mobile handheld devices such as smartphones or tablet computers. Though location-based services are popular and useful, most developers are not familiar with its development because it used to be complicated and difficult. However, the introduction of HTML5 Geolocation and various map APIs (Application Programming Interfaces) has made the LBS construction easy. Geolocation, a feature of the HTML5 specification and API, is used to pinpoint the user s location without needing the GPS support directly. Additionally, one of the popular map APIs is Google Maps APIs, which provide a powerful and convenient tool for map applications. This article introduces the HTML5 Geolocation and Google Maps APIs by constructing a simple LBS. LBS developers quickly learn how to build an LBS application by studying this article.
2 1 Introduction Mobile computing research evolves constantly and swiftly. New mobile devices, technologies, methods, or applications are introduced every day. One of the mobile applications, location-based service (LBS), has attracted great attention recently. A location-based service is a service based on the geographical positions of mobile handheld devices such as smartphones and tablet computers. Two of the LBS examples are finding a nearby ethnic restaurant and comparing prices of a product from different stores. The future of the LBS is bright according to the following market research: Gartner (2012, October 11) expected almost 800 million location-based service users worldwide by the end of the year 2012 and revenue generated by consumer location-based services is forecast to reach $13.5 billion in Owing to different factors such as increasing smartphone adoption, continued growth of mobile advertising, and the wider coverage and higher speeds of mobile networks, the location-based services revenue is expected to reach $10.3 billion in 2015 up from $2.8 billion in 2010 according to Pyramid Research (2012, May). Federal Communications Commission (2012, May 25) reported that as of May 2011, 28 percent of adult Americans used mobile LBS and LBS are expected to deliver $700 billion value to consumers and business users over the next decade. Though location-based services are popular, most developers are not familiar with their development because it used to be complicated and difficult. However, since the introduction of HTML5 Geolocation and Google Maps APIs, LBS development becomes a kind of Web development and many IT developers are already familiar with Web development. This research builds a simple LBS application by using HTML5 Geolocation and Google Maps APIs. Detailed design and implementation are described in this paper. IT workers could quickly join the LBS development after studying this article. The rest of this paper is organized as follows. Section 2 gives a generic LBS architecture and an LBS example showing how LBS work. The proposed LBS application is given in Section 3, which includes two sub-sections: the system structure and the simple geographical database of the proposed system. Section 4 explains how to retrieve and update locations by using HTML5 Geolocation and PHP (Hypertext Preprocessor). The query processing is described in Section 5 including code of applying Google Maps APIs. The final section summarizes this study and gives possible LBS projects. 2 Location-Based Services (LBS) This section introduces location-based services including a generic LBS architecture and an LBS example. 1
3 2.1 An LBS Architecture A location-based service is a service based on the geographical position of a mobile handheld device (Kupper, 2005; Kolodziej & Hjelm, 2006). Two of the LBS examples are (i) finding a nearby ethnic restaurants and (ii) locating a nearby store with the best price of a product. A system structure of location-based services, shown in Figure 1, includes five major components (Steiniger, Neun, & Edwardes, 2006): (a) Mobile handheld devices, which are small computers that can be held in one hand. For most cases, they are smartphones. (b) Positioning system, which is a navigation satellite system that provides location and time information to anyone with a receiver. (c) Mobile and wireless networks, which relay the query and location information from devices to service providers and send the results from the providers to devices. (d) Service providers, which provide the location-based services. (e) Geographical data providers, which are databases storing a huge amount of geographical data such as information about restaurants and gas stations. Figure 1: A System Structure of Generic Location-Based Services. 2.2 An LBS Example The previous descriptions gave a generic LBS system structure. To help readers understand LBS, an example of our proposed system is given step by step as follows: 1. The tablet computer (a) includes our application of finding classmates on the go. 2. The user submits a query of finding his/her classmates of CSci457 along with the location information from a positioning system (b), HTML5 Geolocation in this case, from the application program. 3. The application program calls the server-side programs (d) located at the Aerospace School of the University of North Dakota along with the location information via mobile or wireless networks (c). 2
4 4. The programs at the servers perform the searches using a MySQL database (e) which stores geographical data. 5. The results such as a map with markers or directions are sent back to the user. A nice introduction of LBS technologies and standards is given by Wang, Min, & Yi (2008, May 19-23). 3 The Proposed Location-Based Service The main purpose of this article is to explain how to implement an LBS application by using HTML5 Geolocation and Google Maps APIs, so the proposed LBS application is made simple on purpose. It is to find classmates, who are constantly moving. For example, an assignment is due tomorrow and a student is urgent to find a classmate to help solving his/her assignment problems. The proposed LBS application keeps track of the whereabouts of the classmates, who have signed up the application, by using the methods watchposition and clearwatch of HTML5 Geolocation. Once the classmates locations are located, the direction between the student and the selected classmate is then given by using Google Maps APIs. 3.1 The System Structure Figure 2 shows the system structure of the proposed system, which can be shared by many users. In order to use this system, users have to sign up first by entering their information such as names and classes. Once the application is running on a user s browser, he/she can start querying the whereabouts of his/her classmates. At the same time, his/her location information will be updated from time to time in the server. Client #n Browser Client #1 Query and/or location Query results Client #s Browser Query and/or location Server LBS software Geographical database Geographical data Browser Figure 2: System Structure of the Proposed System. 3
5 Figure 3 shows the workflows of the proposed method. The users/clients communicate with the server via two paths: If the user does not submit a query, his/her location information is sent to the server automatically from time to time as long as the application is active. If the user submits a query along with his/her location information, the query results such as walking directions will be sent back from the server. Client Result Location Query & location LBS software at server LBS software at server Location Query & location Data Geographical database Geographical database Figure 3: Workflows of the Proposed Method. 3.2 The Geographical Database Geographical databases are usually provided by a third party such as GeoNames (n.d.). This project creates its own simple geographical database, GeoDB, as shown in Figure 4, which includes three tables: (a) Users table, (b) Courses table, and (c) Enrollments table. The attribute time of the Users table is used to validate the location, e.g., the location is valid only if it was updated within one hour. Location and Time PID Name Latitude Longitude Time 1 Poke Mon :59:11, 03/17/2013 n Digi Mon :34:29, 03/10/2013 (a) CID Name Credit Hours CSci260 Web Programming 3 CSci515 Data Engineering 3 (b) PID CID Semester 1 CSci457 13S n CSci370 12F (c) Figure 4: Geographical Database, GeoDB, Used in This Project Including (a) Users Table, (b) Courses Table, and (c) Enrollments Table. 4
6 The Users table is created by using the following SQL (Structured Query Language) commands (Oracle, n.d.): mysql> CREATE TABLE Users ( > PID int NOT NULL AUTO_INCREMENT, > name VARCHAR(64), > latitude DOUBLE, > longitude DOUBLE, > time DATETIME, > PRIMARY KEY (PID) ); Other two tables can be created by similar commands. Users have to sign up for the system and enter their information such as names and classes taking before using the application. The attributes of latitude, longitude, and time of the Users table will be updated automatically from time to time while the application is active. The following SQL command is used to enter the user data when signing up: mysql> INSERT INTO Users ( name, latitude, longitude, time ) > VALUES ( 'Poke Mon', , , NOW() ); The HTML5 Geolocation watchposition method invokes the update command whenever user position changes. To update the location information, the following SQL command is embedded in a PHP script: mysql> UPDATE Users SET latitude=$lat, longitude=$long, > time=now( ) WHERE PID=$id; where $lat and $long are found by the HTML5 Geolocation method watchposition and $id is the user id sent with the latitude and longitude. 4 Location Information Updating There are a couple of versions of HTML (HyperText Markup Language) such as (i) HTML, each version of HTML adding more tags, (ii) HTML 4.0, trying to clean up the standard by marking some of the tags as deprecated, and (iii) XHTML (extensible HTML), a reformulation of HTML 4.0 in XML. Though HTML was well established and defined for most of the requirements of static Web pages, there were several areas that were missing from the previous HTML specifications. Without those missing specifications, each browser or software had its unique way of specifying certain objects. HTML5 is therefore proposed to improve and standardize the HTML specifications. Geolocation is a feature of the HTML5 specification and API. It is used to find users locations, though the location accuracy is not guaranteed. 5
7 4.1 HTML5 Geolocation APIs HTML5 Geolocation (W3C, 2012, May 10) is dense and powerful. Table 1 shows the five interfaces provided by the HTML5 Geolocation. Interface Geolocation PositionOptions Position Coordinates PositionError Interfaces of HTML5 Geolocation Description The Geolocation is the main object in the API and is used to obtain the location information of devices and users. The getcurrentposition and watchposition methods accept PositionOptions objects as their third argument. Same as Coordinates The coordinates of a geographical location The error information if the geographical information cannot be obtained Table 1: HTML5 Geolocation Interfaces. Geolocation is the most important interface of the HTML5 Geolocation. Table 2 shows the three methods, clearwatch, getcurrentposition, and watchposition, provided by the Geolocation interface. Methods of Geolocation Interface Method Description clearwatch Stop the watch process identified by the watchid argument. getcurrentposition Get the current location in latitude and longitude coordinates. watchposition Continue to monitor the position and invoke callback function when position changes. Table 2: Methods of HTML5 Geolocation Interface. The getcurrentposition or watchposition method takes one, two or three arguments. When called, it must immediately return and then asynchronously attempt to obtain the current location of the device. If the attempt is successful, the callback function must be invoked with a new Position object, reflecting the current location of the device. Table 3 gives the attributes of the Postion interface. 6
8 Position Interface Attribute Value Unit Description coords.latitude double degrees The latitude of postion coords.longitude double degrees The longitude of position coords.accuracy double or null meters The accuracy of position coords.altitude double or null meters The altitude above the mean sea level coords.altitudeaccuracy double or null meters The altitude accuracy of position coords.heading double or null degrees clockwise The heading from the true north coords.speed double or null meters/second The speed of the device Timestamp DOMTimeStamp like the Date object The date/time of the response Table 3: Attributes of the Position Interface. 4.2 Updating Locations and Times Figure 5 shows two of the system interfaces. Once the user clicks the button Update Location! in Figure 5.a, the application becomes active and the location information will be sent to the server whenever the location is changed. At the same time, the interface in Figure 5.b will appear and allow user to start looking for his/her classmates on the go. CSci260 ID: 1 CSci370 CSci457 Start Looking! Update Location! CSci513 CSci515 (a) (b) Figure 5: System Interfaces Including: (a) Sending Location and (b) Looking for Classmates. The getcurrentposition or watchposition method is used to get the user s position. The difference between the two methods is the former only retrieves the position once and the latter keeps monitoring and sending positions until the method clearwatch is issued. Program 1 is a simple Geolocation example returning the latitude and longitude of the user s position by using HTML5 Geolocation and JavaScript (Mozilla Developer Network, n.d): 7
9 1. Call the JavaScript function getlocation by the event onclick. 2. Check if window.navigator.geolocation is supported. 3. If it is supported, run the watchposition method. 4. If it is not supported, display a message to the user at the location found by document.getelementbyid.innerhtml. 5. If the watchposition method is successful, it calls a callback function specified in its argument (sendlocation in this example) with a position object, which stores the returned location information. 6. The asynchronous callback function sendlocation retrieves the latitude and longitude from the attribute coordinates of the position object and calls the PHP program updatelocation.php to update the location information in the geographical database, GeoDB, at the server. <!DOCTYPE html> <html> <body> ID: <input type="text" size="4" id="id" value="1" /> <button onclick="getlocation( )">Update Location!</button> <p><div id="mydiv"></div></p> <script> var x = document.getelementbyid( "mydiv" ); var id = document.getelementbyid( "id" ).value; function getlocation( ) { if ( navigator.geolocation ) navigator.geolocation.watchposition( sendlocation ); else x.innerhtml = "Geolocation not supported!"; function sendlocation( position ) { var url = "updatelocation.php?id=" + id + "&lat=" + position.coords.latitude + "&long=" + position.coords.longitude; window.open( url, "_self" ); </script> </body> </html> // Calling updatelocation.php Program 1: Watching for Current Location and Calling a Server Program to Update It. The Program 2, a PHP (Hypertext Preprocessor Group, n.d.) program embedded with SQL commands, is called from Program 1. It is used to update the location and time information where the location along with the ID are sent by the GET method from the JavaScript in Program 1. 8
10 <?php $id = $_GET[id]; // From URL $lat = $_GET[lat]; // From URL $long = $_GET[long]; // From URL $username = "username"; $password = "passwd"; $database = "database"; $host = "mysql.eng.university.edu"; $conn = mysql_connect( $host, $username, $password ); if (!$conn ) { die( 'Could not connect: '. mysql_error( ) ); else { mysql_select_db( $database, $conn ); $sql = "UPDATE Users SET latitude=$lat, longitude=$long, time=now( )"; $sql.= " WHERE PID=$id"; if (!mysql_query( $sql, $conn ) ) { echo "Error updating alocation: ". mysql_error( ); die( "Unable to update a location" ); mysql_close( $conn ); echo "Update done!";?> Program 2: Updating User s Latitude, Longitude, and Time. 5 Location-Based Query Processing The focus of this research is to show the technologies of HTML5 Geolocation and Google Maps APIs. Therefore, the proposed LBS is made simple on purpose. It is to find a classmate closest to the user. However, it is different from traditional LBS, such as finding a closest gas station, because the targets are moving constantly. 5.1 Marking the Client s Location on a Map Many times the location-based services need to mark the users locations on a map. Program 3 (W3School, n.d.) displays an interactive map with a marker and the options of zoom and drag. The map is sent back to the client browser from the server by using the PHP script, which generates the HTML page for the map by the command echo. Not only HTML5 Geolocation, this program also uses a couple of Google Maps APIs: The URL stores the JavaScript file that loads all of the symbols and definitions for using the Google Maps APIs. The google.maps.map constructor creates a new map inside a specified HTML element and the google.maps.marker constructor creates a marker. 9
11 <?php echo '<!DOCTYPE HTML> <html> <body> <div id="mapcanvas"></div> <script src=" <script> var mapcanvas = document.getelementbyid( "mapcanvas" ); if ( navigator.geolocation ) navigator.geolocation.getcurrentposition( showposition ); else mapcanvas.innerhtml = "Geolocation not supported!"; function showposition( position ) { latitude = position.coords.latitude; longitude = position.coords.longitude; loc = new google.maps.latlng( latitude, longitude ); mapcanvas.style.height = "250px"; mapcanvas.style.width = "500px"; var mapoptions = { center: loc, zoom: 12, maptypeid: google.maps.maptypeid.roadmap, maptypecontrol: false, navigationcontroloptions: { style: google.maps.navigationcontrolstyle.small ; var markmap = new google.maps.map( document.getelementbyid ( "mapcanvas" ), mapoptions ); new google.maps.marker ( { position: loc, map: markmap, title: "Hello!" ); </script> </body> </html>';?> Program 3: Marking the User s Location on a Map. Figure 6 shows an exemplar map generated from Program 3. The map is centered at the location found by HTML5 Geolocation method getcurrentposition and the location is marked by using the Google Maps API google.maps.marker. 10
12 Figure 6: An Example of Program 3 Execution Results. 5.2 Drawing a Direction on a Map Once the LBS server receives the query and location information from a user, it finds the best matches from the geographical database, GeoDB. For the proposed LBS, it finds the closest classmate with a valid location, whose time is within one hour, for example. The server then draws a direction from the user to the classmate found. Program 4 (Google, n.d.) is used by the server to send a map with a direction to the client by using the PHP command echo. It uses a couple of Google Maps APIs to draw a direction on a map: The class google.maps.directionsservice computes directions between two or more places. The class google.maps.directionsrenderer renders directions retrieved in the form of a DirectionsResult object retrieved from the DirectionsService. The method google.maps.directionsservice.route initiates a directions request to the DirectionsService. It requires passing a callback function which executes upon completion of the service request. <?php echo '<!DOCTYPE HTML> <html> <body onload="initialize( )"> <div id="map_canvas" style="width:96%;height:400px"></div> <script src=" </script> <script> var directionsdisplay; var directionsservice = new google.maps.directionsservice( ); var map; function initialize( ) { directionsdisplay = new google.maps.directionsrenderer( ); var GF = new google.maps.latlng( , ); // Changeable 11
13 var mapoptions = { zoom: 12, maptypeid: google.maps.maptypeid.roadmap, center: GF map = new google.maps.map( document.getelementbyid('map_canvas'), mapoptions ); directionsdisplay.setmap( map ); calcroute( ); function calcroute( ) { var request = { origin: "the ralph, grand forks, nd", destination: "streibel hall, grand forks, nd", travelmode: google.maps.directionstravelmode.walking ; directionsservice.route( request, function( response, status ) { if ( status == google.maps.directionsstatus.ok ) directionsdisplay.setdirections( response ); ); </script> </body> </html>';?> // Changeable // Changeable Program 4: Drawing a Direction on a Map. Figure 7 shows an example of the Program 4 execution results. The origin and destination are the ralph, grand forks, nd and streibel hall, grand forks, nd, respectively in the Program 4. Instead of text locations, the locations could use latitude and longitude, too. Another map can be easily generated by replacing the origin and destination. Figure 7: An Example of Program 4 Execution Results. 12
14 6 Summary Nowadays there are more smartphones and tablet computers than PCs and servers. The omnipresence of smartphones and tablet computers makes location-based services like Foursquare (n.d.) extremely popular. Many mobile users depend on LBS such as navigation and recommendations to live their daily lives. Previously the LBS construction had to rely on complicated and difficult methods and procedures; e.g., the LBS developers had to be familiar with the details of various map utilities, like Google Maps and Bing Maps, and platforms, like Android and ios. To make things worse, each map or platform has its own unique features and is not compatible with others. On the other hand, the platform of HTML5 Geolocation and Google Maps APIs is the browser, like Internet Explorer or Firefox. The developers jobs become much easier because most developers are familiar with browser environment. Additionally, HTML5 Geolocation allows users to retrieve location information without needing the direct GPS support and Google Maps APIs can be easily applied without knowing the details. With them, LBS developers can quickly build an LBS application without needing to handle many details such as how to render maps and retrieve locations. This article proposes a simple LBS application and shows how it can be built by using HTML5 Geolocation and Google Maps APIs and hope more IT workers can join the LBS development after studying it. The proposed LBS is made simple on purpose because this article focuses on the methods and technologies used instead of the LBS itself. Readers may apply the knowledge and technologies learned from this article to the following suggested applications: Find the interesting nearby places such as ethnic restaurants and movie theaters. Compare prices and perform product research. Advertisements and coupons are displayed based on users locations. Use social networks to connect people within a short distance. The following location-based research can also be considered: Detect any route anomalies. For example, an alert is generated if a pupil does not follow his/her regular route to school. Find travel recommendations based on route trajectories. For example, most people probably never heard the world s largest truck stop at Walcott, Iowa. With this feature, the drivers on the highway I-80 will be notified this interesting place when they are near Walcott. Indoor positioning and navigation are used to help users have a better visiting experience. Pre-fetch and cache map tiles based on drivers current locations so maps can be displayed in time and power consumption is reduced. 13
15 Acknowledgments This work is partially supported by the NSF (National Science Foundation) Grant #EPS The authors thank Dr. Martin Allen and reviewers for their valuable comments and great help. References Federal Communications Commission. (2012, May 25). Location-Based Services Report. Retrieved January 23, 2013, from Foursquare. (n.d.). About Foursquare. Retrieved February 25, 2013, from Gartner. (2012, October 11). Gartner Highlights Top Consumer Mobile Applications and Services for Digital Marketing Leaders. Retrieved February 18, 2013, from GeoNames. (n.d.). About GeoNames. Retrieved February 27, 2013, from Google. (n.d.). Google Maps API. Retrieved January 21, 2013, from Kupper, A. (2005). Location-Based Services: Fundamentals and Operation. Wiley. Mozilla Developer Network (MDN). (n.d.). JavaScript. Retrieved December 02, 2012, from Oracle. (n.d.). MySQL Document: MySQL Reference Manual. Retrieved January 15, 2013, from PHP Group. (n.d.). PHP: Hypertext Preprocessor. Retrieved December 18, 2012, from Pyramid Research. (2011, May). Location-Based Services: Market Forecast, Retrieved March 02, 2013, from Location-Based-Services.htm Steiniger, S., Neun, M., & Edwardes, A. (2006). Foundations of Location-Based Services. Retrieved December 13, 2012, from W3Schools. (n.d.). HTML5 Geolocation. Retrieved January 25, 2013, from Wang, S., Min, J., & Yi, B. K. (2008, May 19-23). Location based services for mobiles: technologies and standards. In Proceedings of the IEEE International Conference on Communication (ICC), Beijing, China. World Wide Web Consortium (W3C). (2012, May 10). Geolocation API Specification. Retrieved February 6, 2013, from 14
Visualizing a Neo4j Graph Database with KeyLines
Visualizing a Neo4j Graph Database with KeyLines Introduction 2! What is a graph database? 2! What is Neo4j? 2! Why visualize Neo4j? 3! Visualization Architecture 4! Benefits of the KeyLines/Neo4j architecture
Short notes on webpage programming languages
Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of
A table is a collection of related data entries and it consists of columns and rows.
CST 250 MySQL Notes (Source: www.w3schools.com) MySQL is the most popular open-source database system. What is MySQL? MySQL is a database. The data in MySQL is stored in database objects called tables.
the intro for RPG programmers Making mobile app development easier... of KrengelTech by Aaron Bartell [email protected]
the intro for RPG programmers Making mobile app development easier... Copyright Aaron Bartell 2012 by Aaron Bartell of KrengelTech [email protected] Abstract Writing native applications for
AJAX The Future of Web Development?
AJAX The Future of Web Development? Anders Moberg (dit02amg), David Mörtsell (dit01dml) and David Södermark (dv02sdd). Assignment 2 in New Media D, Department of Computing Science, Umeå University. 2006-04-28
Visualizing an OrientDB Graph Database with KeyLines
Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines 1! Introduction 2! What is a graph database? 2! What is OrientDB? 2! Why visualize OrientDB? 3!
SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1
SUBJECT TITLE : WEB TECHNOLOGY SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1 16 02 2. CSS & JAVASCRIPT Test
MASTERTAG DEVELOPER GUIDE
MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...
Keywords LBS, Continuous Query, Range Query, Google API s, GPS.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Android Based Continuous
A Cost Effective GPS-GPRS Based Women Tracking System and Women Safety Application using Android Mobile
A Cost Effective GPS-GPRS Based Women Tracking System and Women Safety Application using Android Mobile Devendra Thorat, Kalpesh Dhumal, Aniket Sadaphule, Vikas Arade B.E Computer Engineering, Navsahyadri
Location-Based Services Design and Implementation Using Android Platforms
Location-Based Services Design and Implementation Using Android Platforms Wen-Chen Hu Department of Computer Science University of North Dakota Grand Forks, ND 58202 [email protected] Hung-Jen Yang Department
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
Client-side Web Engineering From HTML to AJAX
Client-side Web Engineering From HTML to AJAX SWE 642, Spring 2008 Nick Duan 1 What is Client-side Engineering? The concepts, tools and techniques for creating standard web browser and browser extensions
Performance Testing for Ajax Applications
Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies
Implementation of a system of the mobile terminal position tracking using Google Maps
Computer Applications in Electrical Engineering Implementation of a system of the mobile terminal position tracking using Google Maps Sławomir Pluta Opole University of Technology 45-758 Opole, ul. Prószkowska
CS587 Project final report
6. Each mobile user will be identified with their Gmail account, which will show up next to the Tastes. View/Delete/Edit Tastes 1. Users can access a list of all of their Tastes. 2. Users can edit/delete
RFID Based 3D Indoor Navigation System Integrated with Smart Phones
RFID Based 3D Indoor Navigation System Integrated with Smart Phones Y. Ortakci*, E. Demiral*, I. R. Karas* * Karabuk University, Computer Engineering Department, Demir Celik Kampusu, 78050, Karabuk, Turkey
Designing and Implementing an Online Bookstore Website
KEMI-TORNIO UNIVERSITY OF APPLIED SCIENCES TECHNOLOGY Cha Li Designing and Implementing an Online Bookstore Website The Bachelor s Thesis Information Technology programme Kemi 2011 Cha Li BACHELOR S THESIS
It is highly recommended that you are familiar with HTML and JavaScript before attempting this tutorial.
About the Tutorial AJAX is a web development technique for creating interactive web applications. If you know JavaScript, HTML, CSS, and XML, then you need to spend just one hour to start with AJAX. Audience
About the Salesforce1 Mobile App Workbook...1. Tutorial 1: Initial Set Up...2. Tutorial 2: Use the Mobile App...4
Table of Contents Table of Contents About the Salesforce1 Mobile App Workbook...1 Tutorial 1: Initial Set Up...2 Step 1: Get a New DE Org...2 Step 2: Create an App...2 Step 3: Download the Salesforce1
Implementing a Web-based Transportation Data Management System
Presentation for the ITE District 6 Annual Meeting, June 2006, Honolulu 1 Implementing a Web-based Transportation Data Management System Tim Welch 1, Kristin Tufte 2, Ransford S. McCourt 3, Robert L. Bertini
A Tale of the Weaknesses of Current Client-side XSS Filtering
A Tale of the Weaknesses of Current Client-side XSS Filtering Sebastian Lekies (@sebastianlekies), Ben Stock (@kcotsneb) and Martin Johns (@datenkeller) Attention hackers! These slides are preliminary!
Spectrum Technology Platform
Spectrum Technology Platform Version 8.0.0 SP2 RIA Getting Started Guide Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor or
Development and Implementation of Location Based Native Mobile Application
Development and Implementation of Location Based Native Mobile Application Case Study Zlatko Čović Subotica Tech College of Applied Sciences, Department of Informatics, Marka Oreškovića 16, Subotica, Serbia
Cross-Platform Mobile Geolocation Applications Based on PhoneGap
Cross-Platform Mobile Geolocation Applications Based on PhoneGap Niyigena Jean Pierre, Fan Xiumei, Gakwaya Daniel, and Gombaniro Jean Claude Abstract Building mobile applications have been a big challenge.
Smart Home Security System Based on Microcontroller Using Internet and Android Smartphone
International Conference on Materials, Electronics & Information Engineering, ICMEIE-205 05-06 June, 205, Faculty of Engineering, University of Rajshahi, Bangladesh www.ru.ac.bd/icmeie205/proceedings/
TIME SCHEDULE OBJECTIVES
COURSE TITLE : WEB DESIGN COURSE CODE : 3073 COURSE CATEGORY : B PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Internet fundamentals 18 2 Html, css and web design
A Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
Yandex.Widgets Quick start
17.09.2013 .. Version 2 Document build date: 17.09.2013. This volume is a part of Yandex technical documentation. Yandex helpdesk site: http://help.yandex.ru 2008 2013 Yandex LLC. All rights reserved.
Software Requirements Specification For Real Estate Web Site
Software Requirements Specification For Real Estate Web Site Brent Cross 7 February 2011 Page 1 Table of Contents 1. Introduction...3 1.1. Purpose...3 1.2. Scope...3 1.3. Definitions, Acronyms, and Abbreviations...3
Research on HTML5 in Web Development
Research on HTML5 in Web Development 1 Ch Rajesh, 2 K S V Krishna Srikanth 1 Department of IT, ANITS, Visakhapatnam 2 Department of IT, ANITS, Visakhapatnam Abstract HTML5 is everywhere these days. HTML5
Accessing External Databases from Mobile Applications
CENTER FOR CONVERGENCE AND EMERGING NETWORK TECHNOLOGIES CCENT Syracuse University TECHNICAL REPORT: T.R. 2014-003 Accessing External Databases from Mobile Applications Version 2.0 Authored by: Anirudh
Slide.Show Quick Start Guide
Slide.Show Quick Start Guide Vertigo Software December 2007 Contents Introduction... 1 Your first slideshow with Slide.Show... 1 Step 1: Embed the control... 2 Step 2: Configure the control... 3 Step 3:
Introduction. Mobile GIS emerged in the mid-1990s to meet the needs of field work such as surveying and utility maintenance.
Mobile GIS Introduction With more than 6.8 billion mobile cellular subscribers, (2013), wireless communication and mobile computing have gained acceptance worldwide with speed that has surpassed many other
JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK
Programming for Digital Media EE1707 JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK 1 References and Sources 1. DOM Scripting, Web Design with JavaScript
Implementation of Location based Services in Android using GPS and Web Services
www.ijcsi.org 237 Implementation of Location based Services in Android using GPS and Web Services Manav Singhal 1, Anupam Shukla 2 1 ABV-Indian Institute of Information Technology and Management Gwalior,
Documentation for Online Travel Site. Ashish Khullar Dushyant Bansal Saurabh Gupta Vianyak Bhavnani
Documentation for Online Travel Site Ashish Khullar Dushyant Bansal Saurabh Gupta Vianyak Bhavnani 17th September 2008 Contents 1 Introduction 3 2 Features Offered 4 2.1 Hot Destinations.........................
InPost UK Limited GeoWidget Integration Guide Version 1.1
InPost UK Limited GeoWidget Integration Guide Version 1.1 Contents 1.0. Introduction... 3 1.0.1. Using this Document... 3 1.0.1.1. Document Purpose... 3 1.0.1.2. Intended Audience... 3 1.0.2. Background...
ACCESSING THE PROGRESS OPENEDGE APPSERVER FROM PROGRESS ROLLBASE USING JSDO CODE
ACCESSING THE PROGRESS OPENEDGE APPSERVER FROM PROGRESS ROLLBASE USING JSDO CODE BY EDSEL GARCIA, PRINCIPAL SOFTWARE ENGINEER, PROGRESS OPENEDGE DEVELOPMENT 2 TABLE OF CONTENTS Introduction 3 Components
Working with Indicee Elements
Working with Indicee Elements How to Embed Indicee in Your Product 2012 Indicee, Inc. All rights reserved. 1 Embed Indicee Elements into your Web Content 3 Single Sign-On (SSO) using SAML 3 Configure an
Implementing Specialized Data Capture Applications with InVision Development Tools (Part 2)
Implementing Specialized Data Capture Applications with InVision Development Tools (Part 2) [This is the second of a series of white papers on implementing applications with special requirements for data
IMRG Peermap API Documentation V 5.0
IMRG Peermap API Documentation V 5.0 An Introduction to the IMRG Peermap Service... 2 Using a Tag Manager... 2 Inserting your Unique API Key within the Script... 2 The JavaScript Snippet... 3 Adding the
Script Handbook for Interactive Scientific Website Building
Script Handbook for Interactive Scientific Website Building Version: 173205 Released: March 25, 2014 Chung-Lin Shan Contents 1 Basic Structures 1 11 Preparation 2 12 form 4 13 switch for the further step
VEHICLE TRACKING SYSTEM USING GPS. 1 Student, ME (IT) Pursuing, SCOE, Vadgaon, Pune. 2 Asst. Professor, SCOE, Vadgaon, Pune
VEHICLE TRACKING SYSTEM USING GPS Pooja P. Dehankar 1, 1 Student, ME (IT) Pursuing, SCOE, Vadgaon, Pune Prof. S. P. Potdar 2 2 Asst. Professor, SCOE, Vadgaon, Pune Abstract- Global Positioning System is
Web Design Technology
Web Design Technology Terms Found in web design front end Found in web development back end Browsers Uses HTTP to communicate with Web Server Browser requests a html document Web Server sends a html document
Pay with Amazon Integration Guide
2 2 Contents... 4 Introduction to Pay with Amazon... 5 Before you start - Important Information... 5 Important Advanced Payment APIs prerequisites... 5 How does Pay with Amazon work?...6 Key concepts in
Designing for Dynamic Content
Designing for Dynamic Content Course Code (WEB1005M) James Todd Web Design BA (Hons) Summary This report will give a step-by-step account of the relevant processes that have been adopted during the construction
Login with Amazon. Getting Started Guide for Websites. Version 1.0
Login with Amazon Getting Started Guide for Websites Version 1.0 Login with Amazon: Getting Started Guide for Websites Copyright 2016 Amazon Services, LLC or its affiliates. All rights reserved. Amazon
DESIGNING HTML HELPERS TO OPTIMIZE WEB APPLICATION DEVELOPMENT
Abstract DESIGNING HTML HELPERS TO OPTIMIZE WEB APPLICATION DEVELOPMENT Dragos-Paul Pop 1 Building a web application or a website can become difficult, just because so many technologies are involved. Generally
Developing Fleet and Asset Tracking Solutions with Web Maps
Developing Fleet and Asset Tracking Solutions with Web Maps Introduction Many organizations have mobile field staff that perform business processes away from the office which include sales, service, maintenance,
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &
WIRIS quizzes web services Getting started with PHP and Java
WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS
Real SQL Programming 1
Real 1 We have seen only how SQL is used at the generic query interface an environment where we sit at a terminal and ask queries of a database. Reality is almost always different: conventional programs
Portals and Hosted Files
12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines
Multimedia im Netz Online Multimedia Winter semester 2015/16. Tutorial 03 Major Subject
Multimedia im Netz Online Multimedia Winter semester 2015/16 Tutorial 03 Major Subject Ludwig- Maximilians- Universität München Online Multimedia WS 2015/16 - Tutorial 03-1 Today s Agenda Quick test Server
WebRTC_call. Authorization. function logintowsc() { var wscdemobaseurl = "http://host:port/demo.html"; window.location.href =
WebRTC_call API allows for establish audio/video call between two BROWSERS or between BROWSER and SIP CLIENT. Before establishing the call it is necessary to REGISTER in Orange IMS network using API. To
A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 2, February 2015,
PHP Tutorial From beginner to master
PHP Tutorial From beginner to master PHP is a powerful tool for making dynamic and interactive Web pages. PHP is the widely-used, free, and efficient alternative to competitors such as Microsoft's ASP.
Wildix WebRTC Kite & MCU Videoconference. Quick Start Guide
Wildix WebRTC Kite & MCU Videoconference Quick Start Guide Version 20.04.2015 Wildix Kite is a professional solution based on WebRTC technology for real-time communication with the customer through the
Taxi Service Design Description
Taxi Service Design Description Version 2.0 Page 1 Revision History Date Version Description Author 2012-11-06 0.1 Initial Draft DSD staff 2012-11-08 0.2 Added component diagram Leon Dragić 2012-11-08
Website Login Integration
SSO Widget Website Login Integration October 2015 Table of Contents Introduction... 3 Getting Started... 5 Creating your Login Form... 5 Full code for the example (including CSS and JavaScript):... 7 2
USING GOOGLE MAP API FUNCTIONS TO CREATE APPLICATIONS USING GEOGRAPHIC SPATIAL DATA.
USING GOOGLE MAP API FUNCTIONS TO CREATE APPLICATIONS USING GEOGRAPHIC SPATIAL DATA. Ass. prof.d-r. Plamen Maldzhanski 1,Hristo Smirneski Blvd., 1046 Sofiq, Bulgaria Phone: +359 888976924 WEB:http://www.uacg.bg/UACEG_site/acadstaff/viewProfile.php?lang=en&perID=424
eattendance System for Academic Institutions
, March 18-20, 2015, Hong Kong eattendance System for Academic Institutions Gaurav Madan, Yashasvi Vedula, Anubha Varshney, Ranoo Sharma, B Vijayakumar Abstract This paper summarizes the work towards building
AliPay International Services
Title Page AliPay International Services Using the Simple Order API September 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information
USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)
USING MYWEBSQL MyWebSQL is a database web administration tool that will be used during LIS 458 & CS 333. This document will provide the basic steps for you to become familiar with the application. 1. To
CPE111 COMPUTER EXPLORATION
CPE111 COMPUTER EXPLORATION BUILDING A WEB SERVER ASSIGNMENT You will create your own web application on your local web server in your newly installed Ubuntu Desktop on Oracle VM VirtualBox. This is a
Operational Decision Manager Worklight Integration
Copyright IBM Corporation 2013 All rights reserved IBM Operational Decision Manager V8.5 Lab exercise Operational Decision Manager Worklight Integration Integrate dynamic business rules into a Worklight
Other Language Types CMSC 330: Organization of Programming Languages
Other Language Types CMSC 330: Organization of Programming Languages Markup and Query Languages Markup languages Set of annotations to text Query languages Make queries to databases & information systems
Healthwatch Web Jargon-buster
Healthwatch Web Jargon-buster Accessibility - The degree to which a website is available to as many people as possible; this includes aspects of development like browser compatibility (making sure that
deskspace responsive web builder: Instructions
deskspace responsive web builder: Instructions Site Manager Editor Viewer Settings Features The Free & Personal Licenses cover these features. The Pro Licenses add these additional features. Pro screen
Sensors talk and humans sense Part II
Sensors talk and humans sense Part II Athena Vakali Palic, 6 th September 2013 OSWINDS group Department of Informatics Aristotle University of Thessaloniki http://oswinds.csd.auth.gr SEN2SOC Architecture
PROJECT MANAGEMENT SYSTEM
Requirement Analysis Document v.2 14.12.2009 CENG-401 SOFTWARE ENGINEER PROJECT MANAGEMENT SYSTEM (Project Manager) Ahmet Edip SEÇKİN 07010555 (Developer) Erhan ŞEN 07010507 (Developer) Semih Serdar CENGİZOĞLU
Overview. In the beginning. Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript
Overview In the beginning Static vs. Dynamic Content Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript AJAX Libraries and Frameworks
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Written by: Chris Jaun ([email protected]) Sudha Piddaparti ([email protected]) Objective In this
PLAYER DEVELOPER GUIDE
PLAYER DEVELOPER GUIDE CONTENTS CREATING AND BRANDING A PLAYER IN BACKLOT 5 Player Platform and Browser Support 5 How Player Works 6 Setting up Players Using the Backlot API 6 Creating a Player Using the
Developing Offline Web Application
Developing Offline Web Application Kanda Runapongsa Saikaew ([email protected]) Art Nanakorn Thana Pitisuwannarat Computer Engineering Khon Kaen University, Thailand 1 Agenda Motivation Offline web application
ATLAS CARTOGRAPHIC TECHNOLOGIES LTD. (ATLASCT) Dedicated Geo-Server. Business Proposal
ATLAS CARTOGRAPHIC TECHNOLOGIES LTD. (ATLASCT) Dedicated Geo-Server Business Proposal Contents Introduction... 3 Dedicated Geo-Server Solution... 4 Functionality... 5 Usage examples... 6 Included products
Firefox for Android. Reviewer s Guide. Contact us: [email protected]
Reviewer s Guide Contact us: [email protected] Table of Contents About Mozilla Firefox 1 Move at the Speed of the Web 2 Get Started 3 Mobile Browsing Upgrade 4 Get Up and Go 6 Customize On the Go 7 Privacy
A Geographic Interactive Supply Chain Management System for Construction Projects
, 23-25 October, 2013, San Francisco, USA A Geographic Interactive Supply Chain Management System for Construction Projects Mansour N. Jadid and Mobin M. Idrees Abstract The diversity of the construction
LAB MANUAL CS-322364(22): Web Technology
RUNGTA COLLEGE OF ENGINEERING & TECHNOLOGY (Approved by AICTE, New Delhi & Affiliated to CSVTU, Bhilai) Kohka Kurud Road Bhilai [C.G.] LAB MANUAL CS-322364(22): Web Technology Department of COMPUTER SCIENCE
Mobile Web Applications using HTML5. L. Cotfas 14 Dec. 2011
Mobile Web Applications using HTML5 L. Cotfas 14 Dec. 2011 Reasons for mobile web development Many different platforms: Android, IPhone, Symbian, Windows Phone/ Mobile, MeeGo (only a few of them) Reasons
Verizon Wireless Family Locator 4.9 User Guide Contents
Verizon Wireless Family Locator.9 User Guide Contents Let s get started... Sign up, then activate phones!... Use the Activation Wizard... Set Up an Android... Set Up a BlackBerry... 6 Set Up a Feature...
ANGULAR JS SOFTWARE ENGINEERING FOR WEB SERVICES HASAN FAIZAL K APRIL,2014
ANGULAR JS SOFTWARE ENGINEERING FOR WEB SERVICES HASAN FAIZAL K APRIL,2014 What is Angular Js? Open Source JavaScript framework for dynamic web apps. Developed in 2009 by Miško Hevery and Adam Abrons.
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
Example. Represent this as XML
Example INF 221 program class INF 133 quiz Assignment Represent this as XML JSON There is not an absolutely correct answer to how to interpret this tree in the respective languages. There are multiple
JavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved.
1 6 JavaScript: Introduction to Scripting 2 Comment is free, but facts are sacred. C. P. Scott The creditor hath a better memory than the debtor. James Howell When faced with a decision, I always ask,
1.5.3 Project 3: Traffic Monitoring
1.5.3 Project 3: Traffic Monitoring This project aims to provide helpful information about traffic in a given geographic area based on the history of traffic patterns, current weather, and time of the
Further web design: HTML forms
Further web design: HTML forms Practical workbook Aims and Learning Objectives The aim of this document is to introduce HTML forms. By the end of this course you will be able to: use existing forms on
