MDC Mobile: Using ipad s for Collecting Field Data. Joel Sartwell Systems Analyst Missouri Department of Conservation

Similar documents
ASP.NET AJAX adds Asynchronous JavaScript and XML. ASP.NET AJAX was up until the fall of 2006 was known by the code-known of Atlas.

JSON as an XML Alternative. JSON is a light-weight alternative to XML for datainterchange

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes

JSON is a light-weight alternative to XML for data-interchange JSON = JavaScript Object Notation

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN

2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development

REST. Web-based APIs

OpenEdge 11 Strategy & Roadmap. Jarmo Nieminen Senior Solution Engineer, Nordics

Making Sense of Schema-on-Read

Design Document V2 ThingLink Startup

AJAX: Rich Internet Applications

Why attend a Lianja training course? Course overview. Course Details

Introduction to Web Services

Oracle Application Express

TNM STAGING AS AN HTTP SERVICE

Programming in HTML5 with JavaScript and CSS3

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services

Alternative Data Models Toward NoSQL

Getting Started with the ArcGIS API for JavaScript. Julie Powell, Paul Hann

imaint/imaint Fleet 3.5 System Requirements

ThingLink User Guide. Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon

GOING MOBILE: Setting The Scene for RTOs.

Jquery Ajax Json Php Mysql Data Entry Example

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

The Internet, the Web, and Electronic Commerce The McGraw-Hill Companies, Inc. All rights reserved.

Full Stack boot camp

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 06 (Haup-ach)

20486-Developing ASP.NET MVC 4 Web Applications

20480B: Programming in HTML5 with JavaScript and CSS3

Databases : Lectures 11 and 12: Beyond ACID/Relational databases Timothy G. Griffin Lent Term 2013

Software Platforms. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

Programming in HTML5 with JavaScript and CSS3

Web Development. With PHP. Web Development With PHP

Beyond Cookies: Persistent Storage for Web Applications. Brad Neuberg Google

Microsoft Programming in HTML5 with JavaScript and CSS3

XML JavaScript Object Notation JSON Cookies Miscellaneous What Javascript can t do. OOP Concepts of JS

Manually Windows Update Vista Not Work In

Viewports. Peter-Paul Koch CSS Day, 4 June 2014

What the Bayeux? Filip Hanik. SpringSource Inc Keystone, Colorado, Slide 1

Course 20480: Programming in HTML5 with JavaScript and CSS3

Data formats. { "firstname": "John", "lastname" : "Smith", "age" : 25, "address" : { "streetaddress": "21 2nd Street",

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Exploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation

Programming in HTML5 with JavaScript and CSS3

SUPPLY OF MEASUREMENT RESULTS OF SPRING WIRE TESTS ON THE INTERNET. M. Braunschweig / M. Weiß / K. Liebermann. TU Ilmenau

Mobile Technologies. Types of Apps

Web Development 20480: Programming in HTML5 with JavaScript and CSS3. Upcoming Dates. Course Description. Course Outline

Mobile Application Strategy

The Internet, the Web, and Electronic Commerce The McGraw-Hill Companies, Inc. All rights reserved.

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

DE-2310 Developing Web Applications Using Microsoft Visual Studio 2008 SP1

CPD Online System Requirements and Browser Settings

Beginning JavaScript (Programmer To Programmer) By Paul Wilton

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

20480B - Version: 1. Programming in HTML5 with JavaScript and CSS3

Expense Reimbursement System (ERS) Frequently Asked Questions

! The final is at 10:30 am, Sat 6/4, in this room. ! Open book, open notes. ! No electronic devices. ! No food. ! Assignment 7 due 10pm tomorrow

iphone ios 8.x (4s, 5, 5s & 5c, 6, 6+ models) ipad ios 8.x (all models) Android OS or higher

Programming Fundamentals of Web Applications

Break out of The Box Integrate existing Domino data with modern websites. Karl-Henry Martinsson, Deep South Insurance

Client Side JavaScript and AJAX

Basics of Web. First published on 3 July 2012 This is the 7 h Revised edition

Department of Computer Science and Engineering The University of Texas at Arlington. Team: TimeKeepers. Project: Volunteer Tracking System

System requirements for Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. All rights reserved.

Web Programming Pre-01A Web Programming Technologies. Aryo Pinandito, ST, M.MT

Quick Start Guide. For more information, please visit us at

CLIENT/SERVER. Development of Client-/Server-Applications. Intelligent Solutions Consulting Roland Stephan. Sonntag, 15.

In this exercise we shall be using jsfiddle.net to build a simple data driven web site in HTML5. Building Blocks

Wema Payment Gateway. API Specification

Hosted Encore 5 Desktop Installation Guide

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Creative Techniques for Loading Web Pages Faster

Collecting Data on your Phone or Tablet. Tyler Gakstatter Resource Supply LLC Lake Oswego, OR

Modern App Architecture

Task 1: JavaScript Video Event Handlers

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett

Family Map Server Specification

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

DE Introduction to Web Development with Microsoft Visual Studio 2010

The Discussion of Cross-platform Mobile Application Development Based on Phone Gap Method Limei Cui

City of Mobile GIS Web Mapping Applications: New Technology, New Expectations

Basics of Web Development

Version 8.5 PENTAGON 2000 SOFTWARE. iphone Apps

ETC1010: Data Modelling and Computing. Lecture 6: Reading di erent data formats

Wireless Presentation Gateway User Guide

Custom Embedded Tabs, on page 1 Configure Cisco Jabber for Android on Chromebook, on page 8 Cisco Jabber Mobile App Promotion, on page 9

MongoDB Web Architecture

Exploring.Net Orcas. Contents. By Punit Ganshani

REST AND AJAX. Introduction. Module 13

CIW 1D CIW JavaScript Specialist.

Web Design Tips For Dummies 3rd Edition Epub

Career Central Learning Support Tips

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

ASP.NET MVC Training

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

PROJECT REPORT. TweetMine Twitter Sentiment Analysis Tool KRZYSZTOF OBLAK C

PHP & MySQL For Dummies, 4th Edition PDF

RPG Web Apps with AJAX, JSON, and jquery. Lab Examples

Alpha College of Engineering and Technology. Question Bank

Transcription:

MDC Mobile: Using ipad s for Collecting Field Data Joel Sartwell Systems Analyst Missouri Department of Conservation

Data Entry on Mobile Devices Before 2012 CMT: CMT-ROS (ROM Operating System) dbase III programming language Data terminals : ROS/DOS C/C++ programming language Pocket PC: Windows Mobile 2003.NET (C#, sql server mobile) ArcPad Trimble Rangers & Nomads Windows Mobile 5 and 6.1.NET (C#, sql ce)

Nature Center Surveys 12 Nature Centers, 4 Hatcheries, 8 Shooting Ranges, 2 Large Conservation Areas 60,000 100,000 Annual Visitors per site

Random one-hour survey periods throughout the year Tally and interview visitors as they leave 6 Ask them a bunch of nosey questions It s a conversation, not an interrogation. Courtesy Tom Treiman 4

Cons: Screen too small Data transfer complicated Expensive.NET Compact Framework (lacking for data entry) Pros: Weather Proof Ruggedized Pros: Big Screen Data transfer simplified ** Inexpensive 3G wireless network Cons: Need protective cover Apple app store

In my ideal world Tough pad with Android for data entry (N/A) Virtual Desktop (expensive, complicated ) MS Access Data Entry Forms as a front end to SQL Server.NET support instead of ADO (N/A) More touch screen functionality (N/A)

Things you might be interested in Web based data entry (HTML5, CSS3, Javascript, JSON, AJAX, JQuery) ipad or other mobile device for data entry. Single cloud database (SQL Server). Web Services (.NET, SQL Server) Browser based data storage (Safari, SQLite) Will work offline using Cache Manifest (HTML5). MS Access Frontend/Backend. Ruggedized and weather resistant ipad case.

.NET web service Firewall.NET Class corresponding to a JSON object Sql Server 2008.NET proxy web service resolves same-origin policy Survey Data Entry Safari Browser JSON.NET web entry Survey Setup and Data Analysis 3G wireless network HTML5/CSS3/JavaScript/ jquery/ajax/json/sqlite MS Access/ODBC

JSON AJAX call to Web Services SQLite Text-based - human readable data Client-side web tools to send/receive data asynchronously w/o interfering with display RDBMS - embedded implements most of the SQL standard { } "firstname": "John", "lastname": "Smith", "age": 25, "address": { "streetaddress": "21 2nd Street", "city": "New York", "state": "NY", "postalcode": "10021" }, "phonenumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] function retrieveconfigurationobj(centerid) { var surveyyear = $('#surveyyear').val(); var dnlddto = {'centerid': centerid, 'surveyyear': surveyyear}; $.ajax({ type: "POST", contenttype: "application/json; charset=utf-8", url: url1, data: JSON.stringify(dnldDTO), datatype: "json", crossdomain: true, success: function (data) { $.each(data.d.configurationrecs, function(i, item) { insertconfiguration(item.objectid, item.centerid, item.centername, item.downloaddatestr, I tem.ratingoption, item.optq1wording, item.optq1type,item.optq2wording, item.optq2type, item.colname1, I tem.colname2, item.duration, item.surveyyear); rc1++; }); }, error: Error }); } var db = window.opendatabase("icenterdb", "", "Configuration", 1024*1024); $(document).ready(function() { db.transaction(function(tx) { tx.executesql( 'CREATE TABLE IF NOT EXISTS configuration ( objectid TEXT PRIMARY KEY, centerid INTEGER, centername TEXT, downloaddatestr TEXT, ratingoption INTEGER, optq1wording TEXT, optq1type TEXT, optq2wording TEXT, optq2type TEXT, colname1 TEXT, colname2 TEXT, duration INTEGER, surveyyear INTEGER)', []); }); }

jquery Plug-ins: FullCalendar (Adam Shaw) Confirm Box (Christopher John Paul) jqclock (41031651) Ketchup Form Validation (Sebastian Senf - mustardamus) jquery: JavaScript library that simplifies client-side scripting of html. 1000 s of plug-ins available on the web.

jquery Plugins: Confirm Box (Christopher John Paul) jquery Countdown (Keith Wood) Ketchup Form Validation (Sebastian Senf - mustardamus)

jquery Plugins: Confirm Box (Christopher John Paul) jqgrid (Tony Tomov)

Snags and other problems

Snags and other problems Had to remove primary/foreign key constraints on all tables as well as the not null restrictions. Any time the SQLite database would get a bad entry (say from a hot shut down) the ipad would be unable to upload data. Working with JSON data,.net and Sql Server is very difficult to debug. Be especially vigilant when working with dates in Javascript you will want to treat them as text as often as possible! When it does work, it is time to celebrate!!! There is a very good web based help site for this: http://encosia.com/ I would not be confident of ruggedized cases in more extreme field conditions. Water resistant but not waterproof.

Summary Successful Pilot: Not too many phone calls from users and we are still receiving data! *** The use of a single in-the -cloud database is a big hit! It greatly reduces the work load when combining data from multiple hand-held devices. *** Will we do this again? Yes, we have plans to start another nature center survey in January. However, Tom Treiman informed me he has requested funding for an outside programmer for next year. I can only assume that they would do something different.

Credits Tom Treiman Resource Economist Principal Investigator Linda Chorice, Tamie Yegge, Kathy Cavender, Colleen Scott Nature Center Managers: Survey question design Steve Sheriff Biometrician (retired) Survey sampling design Kirk Keller, Todd Larivee, Jerico Whitaker IT Initial ipad Framework design Julie Fleming Programming/DB Admin: MS Access database front/back end for Sql Server, database interface to sample design and analysis. Jerico Whitaker IT CSS/CSS3 Design, Provided final look to Web app Sartwell - Javascript, jquery, JSON, AJAX, HTML, CSS, Sql Server, Web services (C#.NET)