Landscape Change Mapper Ryan Feather and Dan Halloran 4/30/15.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler.
Recruitment Booster.
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
Prepared by: Prepared by: Jameela Rabaya Jameela Rabaya Fatima Darawsha Fatima Darawsha.
HNA-Drive Familiarization Presentation. From the address bar in your preferred internet browser, navigate to Site supports: Internet.
Objectives Moodle is an online learning environment where instructors & their students interact. In this workshop you will learn: 1.Configure system requirements.
Dynamic Web Pages. Web Programming  All our web pages so far have been static pages. 1. We create a web page 2. We upload it to the web server 3. People.
School location collector
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to AppInventor Dr. José M. Reyes Álamo.
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
A detailed guide on how to set-up your printing storefront. Please Note: Storefronts are compatible with all browsers, however for optimal use of the admin.
Presented by…. Group 2 1. Programming language 2Introduction.
Mobile Programming Lecture 1 Getting Started. Today's Agenda About the Eclipse IDE Hello, World! Project Android Project Structure Intro to Activities,
Project Rickshaw SEARCH - FIND - GO. Project Rickshaw TEAM MEMBERS KEVIN AUGUSTINO – MATT FOX – DAVID MOORE SPONSORS KARASU TECHNOLOGIES - ERIK PAUL -
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Lecture 3 – Data Storage with XML+AJAX and MySQL+socket.io
December 10th Inservice Presenter: Linda Lopresti 9-10 English Department (K112) Contact Info: twitter:
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
Confidential - © 2012 StreamWIDE © StreamWIDE
CS378 - Mobile Computing Web - WebView and Web Services.
Microsoft Azure Introduction ISYS 512. Microsoft Azure Microsoft Azure is a cloud.
Build a Free Website1 Build A Website For Free 2 ND Edition By Mark Bell.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
CSE 403 Section: SRS and Use Cases January 14, 2010.
DUE Hello World on the Android Platform.
CS378 - Mobile Computing Intents.
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
COMP3121 E-Commerce Technologies Richard Henson University of Worcester November 2011.
CS378 - Mobile Computing Intents. Allow us to use applications and components that are part of Android System – start activities – start services – deliver.
ECE 3553 Final Project by Brian Robl. What is Eventor? A simple, yet effective, website for event planning and searching.  Influence from Facebook Events.
BIT 285: ( Web) Application Programming Lecture 15: Tuesday, February 24, 2015 Microsoft Azure Instructor: Craig Duckett.
MAKANI ANDROID APPLICATION Prepared by: Asma’ Hamayel Alaa Shaheen.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Dean Anderson Polk County, Oregon GIS in Action 2014 Modifying Open Source Software (A Case Study)
HW#9 Clues CSCI 571 Fall, HW#9 Prototype
How Your Customers Will Pay Online & by Phone
ICM – API Server & Forms Gary Ratcliffe.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 1: Introduction to IS2803 Rob Gleasure
TODAY Android Studio Installation Getting started Creating your 1 st App Beginning to understanding Intents.
This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC Michigan State.
Dextrosoft SCHEDULED PHONE BACKUP Backup your mobile life Version Copyright © 2015 Dextrosoft Private Limited. All Rights Reserved.
EBay Searcher Brian Payton, Jason Nowakoski, Justin Szeluga, Salvatore Siragusa, David Wolkiser.
Fab25 User Training Cerium Labs LabCollector - LIMS Lynette Ballast.
Exploring Networked Data and Data Stores Lesson 3.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
EVERNOTE & PENULTIMATE iPad Applications In Education…
Digital Gujarat Portal – Citizen User Manual. How Do I Open A Portal? Go to the URL :- Screen 1.1:-
Enis Microsoft Avoiding common Windows Phone and Windows Store app certification failures.
A little more App Inventor and Mind the GAP!
ICE Integrated Cloud Environment Cloud Scanning and Mobile Printing
EZ MESSENGER CUSTOMER portal training
Using AppInventor2 for teaching
Schoology at GRMS Schoology is a new communication platform for teachers, students, and parents. We hope this will assist in creating a culture at GRMS.
Schoology at FCMS Schoology is a new communication platform for teachers, students, and parents. We hope this will assist in creating a culture at GRMS.
Tracking and Booking Taxi
DCR ARB Presentation Team 5: Tour Conductor.
PHP / MySQL Introduction
CMPE419 Mobile Application Development
Application Development A Tutorial Driven Course
Office 365 Development.
Introduction to AppInventor
Tiffany Ong, Rushali Patel, Colin Dolese, Joseph Lim
MyLion Registration Website | Mobile device
CMPE419 Mobile Application Development
Schoology at GRMS Schoology is a new communication platform for teachers, students, and parents. We hope this will assist in creating a culture at GRMS.
Presentation transcript:

Landscape Change Mapper Ryan Feather and Dan Halloran 4/30/15

 As a user who is hiking in the Black Hills, I would like to…  Report a landscape change event  Provide details about the event  Include pictures I have taken  So that I can..  Improve public knowledge about my environment  Report events that pose threats / cause concern Primary User Story

 Citizens able to submit/view landscape events  Event information and pictures  Robust search  Data gathered for research  Toolset for scientists  Anonymous or registered  Extend to new technology Goals

 Proof of Concept  Crowd Sourcing  Citizen Science  Mobile Applications  Open Source Software/Data  USGS “Did You Feel It” Background

 Agile Model – Sprints and evolving requirements  Atlassian Jira – Issue tracking, Sprint planning and storyboarding  Atlassian Stash (Git) – Version control and code repository Project Management

Phase 1 - Website

 Bootstrap  HTML/CSS  Javascript  JQuery  Async POST requests  JSON - Serialization  Leaflet.js  Leaflet.draw  Mapbox  PHP  Apache  Amazon Web Services  MongoDB Technologies Used

 User Login / Registration  Event Creation  Search Tools  Event Details Page Components

Search

  Feel free to try it yourself Small Demonstration

Map Thumbnail

API Example

 Database has Collections(tables)  Event – Submitted event info  Files –Uploaded images (gridFS)  User – User information.  Happen – Happening now events (described later)  GoogleAuth – Links user table with google API Oauth2 (for Glass)  All database reads / writes through php driver  Passes queries using php arrays. Database

 Relatively new trend  Allows previously unheard of flexibility  “Schemaless” means that data can be inserted regardless of previous records.  Generally has an “implied” schema rather than an “explicit”  Great for rapid prototyping and key-value stores. Not so great for data security and data consistency. NoSQL Database

 Same functionality/database as website  Increase crowd sourcing  Keep it simple  Mobile concerns  Network connectivity  Battery life  Screen size Phase 2 – Android App

 Android Studio  User friendly (suggestions/auto completion)  Version control built in  Powerful emulator  Debug on physical devices  Layouts in XML  Rest in Java IDE

 Stack of activities (screens)  User quits activity with back arrow  Suspends activity with home button  Navigation add layers  Programatically  Don’t keep login/register activity  Intent starts new activity Android Lifecycle

 Android permission to view connectivity  Check network is enabled  Check if network has internet access  Error if not connected  If valid connection enable login or register button Network Connectivity

 All fields filled out  Passwords match if registering  validation  Built in android pattern matcher Form Validation

 Persistent key value pairs stored to phone  Each app has own storage  Not secure, but hard to access  Used to remember login  Encrypt password stored on phone Shared Preferences

 Application not responding in 5 seconds  Important for network tasks  Thread off of main UI thread  Used frequently in app  Asynch built in with return methods Asynch Task

 Similar to login/register activities  Validate all fields filled in  Build JSON object  Async post to server  Check return data Create Event

 Three different ways to make app  Traditional android app installed on device  Glass Development Kit installed on device  Mirror using google API service Phase 3 – Google Glass App

 Built same as cell phone app  Familiar  Great documentation and samples  Layouts might not work correctly  Can’t use glass features  Text to speech  Gestures  Timelines/cards Traditional Android App

 Android (API 19) and glass development kit preview in the SDK  Compile with GDK  Works in most Android IDE’s  No theme  Has glass features available  Not full network support Glass Development Kit

 Nothing installed on device  Data accessed through RESTful API  Code is stored on server  Support for most languages (PHP)  User’s google account gives permission  LCM linked to google account and stored in server  Service inserted into glass  Picture is sent to google API  Server requests updates from API node Mirror (What we used)

Setting up API

Mirror PHP Quick Start

Linking Google Account

 JSON object that glass sends to API  Contains all information about picture  Date, speakable text, attachments, location, etc  Has everything we would want  Stored in Google’s API server  Timeline is sent to server when requested  Create scheduled task on server  “Happening Now” Timeline Card

 App on Android phone paired with Glass  Helps pair and setup  Screen mirrors Glass display on phone  Device info  Last known location My Glass

Questions?