Cross-Platform Mobile Development for Spatial Biological Databases

Slides:



Advertisements
Similar presentations
A Roadmap of Open Source components for GI Web Services and Clients A Paul R Cooper MAGIC.
Advertisements

New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Building Mobile Apps in the Cloud – Comparing Approaches.
Amanda Silver Director of Program Management Visual Studio Tools for Client Applications Cross-Platform Development using Visual Studio.
© 2010, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet 1.
1 Computing for Todays Lecture 22 Yumei Huo Fall 2006.
Tutorial 11: Connecting to External Data
Presented by Mina Haratiannezhadi 1.  publishing, editing and modifying content  maintenance  central interface  manage workflows 2.
Development of mobile applications using PhoneGap and HTML 5
Is Mobile the Future of GIS? Matt Sheehan WebMapSolutions.
Web Design Basic Concepts.
Company/Product Overview. You have lots of files all over the place.
OMap By: Haitham Khateeb Yamama Dagash Under Suppervision of: Benny Daon.
1 ADVANCED MICROSOFT WORD Lesson 15 – Creating Forms and Working with Web Documents Microsoft Office 2003: Advanced.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
VoiceXML Builder Arturo Ramirez ACS 494 Master’s Graduate Project May 04, 2001.
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
Lightning Talk Fred Rodriguez Nguyen Do CPSC 473 May 6, 2012.
Classroom User Training June 29, 2005 Presented by:
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
First things, First Do you belong in here? – 10 – 12 – Comp. Discovery or Keyboard/Comp Apps – Do you have any experience with Web Page Design?????
AIRNow Web Services Data to Go! Prepared by Steven A. Ludewig, Timothy S. Dye Sonoma Technology, Inc. Petaluma, CA John E. White U.S. Environmental Protection.
Unit 1 – Web Concepts Instructor: Brent Presley. ASSIGNMENT Read Chapter 1 Complete lab 1 – Installing Portable Apps.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
Apache Cordova Tools in Visual Studio
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
1 Overview Finding and importing data sets –Searching for data –Importing data_.
learn. do. dream. Going Native Native Application Integration Attachments Camera GPS Mail Maps Phone Voice Input.
Form Processing Week Four. Form Processing Concepts The principal tool used to process Web forms stored on UNIX servers is a CGI (Common Gateway Interface)
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
Ionic & Cordova crash course Ivan Varga
Don’t Duck Metadata March 2005 Introducing Setting Up a Clearinghouse Node Topic: Introduction to Setting Up a Clearinghouse Node Objective: By.
Lost/Found Group 04 Angel De La Torre Irving Ramirez Maria Rivera.
Here are some things you can do while you wait 1.Open your omeka.net site in your browser (e.g. 2.Open.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
APP DESIGN AND DEVELOPMENT WITH THE IONIC FRAMEWORK Chuck Leone
Generating XML Data from a Database Eugenia Fernandez IUPUI.
XP Creating Web Pages with Microsoft Office
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
A little more App Inventor and Mind the GAP!
Xamarin Development with
Beginning of Xamarin for iOS development
Mapping for the interwebs
Physics validation database
Flanders Marine Institute (VLIZ)
Project 1 Introduction to HTML.
The Transition to Modern Office Add-in Development
Hybrid Mobile Applications
Section 10.1 YOU WILL LEARN TO… Define scripting
Web App vs Mobile App.
The Re3gistry software and the INSPIRE Registry
Populating a Data Warehouse
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Information Technology Ms. Abeer Helwa
The 1st International Open Science Conference
Building an online tool for spatial joins using open source software
And I have to create mobile apps too?
Lesson 11: Web Services and API's
QGIS, the data model, use and storage
Mendeley Overview VISHAL GUPTA Customer Consultant South Asia
Office 365 Development.
Tutorial 6 PHP & MySQL Li Xu
Introduce to Angular 6 Present by: Võ Văn Hào
Mendeley Overview VISHAL GUPTA Customer Consultant South Asia
Web Application Development Using PHP
Presentation transcript:

Cross-Platform Mobile Development for Spatial Biological Databases Csaba Szugyiczki, Viktoria Kurjak, Gergely Kovasznai, Miklos Ban ICAI 2017 Januar 31, 2017 Eger, Hungary

OpenBioMaps http://openbiomaps.org Biological databases Queries Open data Free Exportable data Databases of unique structure. Example: Database with unique and complicated structure about parasites and their hosts. Unique databases Customizable interfaces Importable data

Used by Whom and for What? Environment protection: National park (Duna-Ipoly NP, Bükk NP) Social associations (Milvus Group, Romania) Research: Universities (University of Debrecen, Eotvos Lorand University, Eszterhazy Karoly University) Research centres (Senckenberg Biodiversity and Climate Research Centre (BiK-F), Germany) Data collection Data management Data sharing

OpenBioMaps Server background Linux host servers Apache webserver Standard relational database backend PostgreSQL Standard OGC compatible GIS (Geographic Information System) tools PostGIS Mapserver ogr2ogr, gpsbabel PostGIS: A GIS extension of postgreSQL. MapServer: A standard open source platform for publishing spatial data and interactive mapping applications to the web. OGR2OGR, GPSBABEL: Popular GIS tools. ogr2ogr is part of the GDAL (Geospatial Data Abstraction Library of OSGEO ( Open Source Geospatial Foundation)) We use these well-known, popular and standard GIS tools for importing, converting, transforming, organizing and visualizing GIS data.

OpenBioMaps DB Network Private Users Node 5. Duna-Ipoly NP Budapest Node 4. MILVUS Marosvasarhely Node 1,2. DE Debrecen Node 3. ELTE Budapest Node 7. Bukk NP Budapest Node 6. BikF Frankfurt Private Users data connection archive connection Public Users

OpenBioMaps DB Structure Operational Database GIS Database Projects' metadata tables Translations Statistics Logs User informations OAuth2 Forms Projects' tables History tables Temporary tables Shared data GIS connection WEB & API interface 2019.04.09.

What is the Problem to Solve? When collecting data on site, how to upload it into OBM? (Lame) Solutions: Users write their notes on paper which then need to be entered on computer. Why to do the work twice? Users use their computers on site. Do I need to carry my notebook everywhere? Users use different available mobile applications for collecting different types of data. Do I need to switch between apps? IoT, EKU, consortium. Alternative apps for data collection. Not unified. Solution: Dedicated OBM mobile application

Android App Data are bound to geographics coordinates. Recording the position by Using the phones’s GPS. Entering manually. Choosing on the online map. Recorded position can be visually checked on map. Developed in Android Studio.

Android App Components of notes: Text note Position + date and time Sound recording Photos 2019.04.09.

Android App Saved notes can be exported as .zip files to phone’s memory. Data can be archived or processed later by other applications. Saved notes are automatically uploaded to the server when being online. Uploading to the server: Retrofit Background synchronization when being online: SyncAdapter Retrofit: Less code is necessary for the app to access the internet. SyncAdapter: Encapsulates those codes that are necessary for exchanging data between the client and the server.

Further Requests from Users „What if my phone’s operating system is not Android?” „Could you please make the form elements fully customizable?” „Is it possible to automatically fill the form elements that are frequently used?” „Let’s develop a cross-platform mobile application!” 2019.04.09.

Cross-Platform Application Browser and platform independent Using HTML5, CSS or SASS, JavaScript or TypeScript Instead of platform-specific APIs Has to be developed only once Instead of developing a separate native app for each platform Unified outlook and functions on all the platforms Disadvantage: Slower than native apps Angular2 + Apache Cordova + Ionic2 Angular2: To load dynamic forms ( + SPA = Single Page Application --- more dynamic apps). Cordova+Ionic : To develop to mobil devices by using web technologies. Cordova: To access native functionalities (e.g., GPS, camera, internet). Ionic: Provides CLI (Command Line Interface) -> We can use simple command-line commands for e.g. creating a project.

How to the OBM cross-platform app? The user constructs the form he/she needs on PC, w.r.t. the database. The user uploads the form to the server. The OBM app downloads the form from the server (JSON). The user fills the form on site which is saved to the phone’s database (SQLite). No internet connection is required! Later, when being online, the app uploads the filled form to the server (JSON). 2019.04.09.

How does this work?

How to Create a Form? Form name Table name Access (public, private) Form type Here you can give the name of the form, which table it relates with, what its accessibility is, what the form’s type is.

How to Create a Form? Include? Column Required Description Type Length Default value 2019.04.09.

Form Elements (JSON) [ { key: 'date', label: 'Date', value: 'auto-fill', type: 'date', required: true, order: 1 }, key: 'position', label: 'Position', type: 'gps', order: 2 key: 'note', label: 'Note', type: 'text', required: false, order: 3 } ] 2019.04.09.

Data (JSON) SQLite Database { date: "2017-01-31T19:55:14", position: {lat: "47.684378", lon: „19.765450"}, note: „Deer" } SQLite Database

Conclusion Platform independent Customizable forms Multilingual user interface Data assigned to geographics positions Form functionality (to save and/or automatically fill the content of certain fields) Future work: Tracklog functionality Data assigned to polygons (instead of points) User management Using offline maps

Thank you for your attention!