Invited Speaker Sessions Nov 12, 2013 3pm - 5pm (Broadway 3 & 4) Facilitator: Mickey Dietrich, Tug Hill Commission; Mobile App Development Workshop Kiichi Takeuchi Senior Software Developer Adjunct Professor http://facebook.com/LIUMobileGIS Long Island University http://liu.edu/gis
Agenda Presentation 1. Introduction 2. Overview of App Development 3. Installation Process 4. Q&A (break) Lab BYOD: Android Workshop - Hello Map!
About Me Computer + Earth Science
In University ● Full Time .NET Developer ● Distributed 15,000+ iPads with Apps ● Launched Online Campus: "Mobile GIS"
Mobile GIS Smartphone Development G eographic Computer I nformation Science S ystems
Mobile GIS Requirements 502: Introduction to 501: Introduction to GIS Computer Science Electives (Pick Two) 503: iOS 504: Android 503: Web App
In My Company ● CTO ● Developing Apps since day 1 of App Store ● More than 180+ apps: iOS, Android, and Windows Phone
Why Mobile?
Sensors ○ How many sensors?
Sensors ○ GPS: Lat / Lng ○ Magnetometer ○ Accelerometer: Tilt - X,Y,Z ○ Gyroscope : Pitch, Yaw and Roll ○ Proximity Sensor ○ Camera ○ Microphone ○ Barometer ○ Bluetooth (e.g. iBeacon) etc...
Store Locator ● Typical Store Locator ● Distance Search ● Direction ● Multi-Platform: iOS/Android Phone/Tablet
Store Locator ● Typical Store Locator ● Distance Search ● Direction ● Multi-Platform: iOS/Android Phone/Tablet
Tracker ● Draw Polyline ● Calculate Geographic Distance ● Calculate Speed
iSeismometer
User Experience ● Multi-Touch Screen ● Portability ● Simplicity
Measure Apps Tap to draw polygon & calculate the area or distance
Elevation - In classroom
Elevation - In classroom
Elevation App - Android & iOS
Elevation - Mount St. Helens
Web Apps
Scope of Apps ● What is the role of mobile device? ● Data Collection? Portable Viewer? As a part of software suite? … but try to avoid "Everything in one app"
Wifi Mapper - iOS Version ● Data Recording App ● Record Wifi strength and GPS coordinates ● Export data as Excel format ● Display recorded locations as markers
Wifi Mapper - Android Version ● Data Recording App ● Record Wifi strength and GPS coordinates ● Export data as Excel format ● Display recorded locations as markers
Wifi Mapper - Desktop to Web App gis.liu.edu
Other GIS Apps ● Mailbox Finder / Fleet ● Store Locator ● Campus Map ● WiFi Mapper ● Geo Measure ● Tracking Apps ● Shoreline AR App ● Checkin Apps ● Shapefile Loader ● Data Collection Apps, etc...
About Accuracy and Precision
Consideration ● Maintenability ● Accuracy of Data ● Battery Life ● Compliance / Liability ● Variety of Usecases
iOS v.s Android
Development Environment iOS Android OS MacOS Only Windows & MacOS JDK SDK ADT XCode IDE Eclipse, IntelliJ, and Android Studio Plugin Google Play Services Language Objective-C Java Regular Test Simulator Emulator Map SDK Google, ArcGIS, etc... Apple, Google, ArcGIS, etc... Map App Device Only(?) Simulator and Device Map App Test Difficult (e.g. Use 3rd Party App) Easy on Simulator
Suggestion #1 "Buy a device for Android Development"
Why Device? ● Faster ● Only $200 ● Map App does not work on Emulator
Suggestion #2 "If you have a choice to buy Mac or Windows, buy a Macbook."
In Short... "You need only Mac for iOS but you need a device for Android. "
Distribution iOS Android Test Distribution AdHoc Provision Just Send .APK Demo Android Screencast AirServer Store Review (7 - 10 days) No Review Compatibility Only Few Variations Diverse Slow Update Fast Update
Suggestion #3 "Android Development is easier, faster, and cheaper because of Java and Open Source? There is a catch"
iOS Setup for Map App 1. Buy a Mac 2. Download XCode from App Store 3. Done!
Android Setup for Map App 1. Setup Environment: a. Eclipse + ADT + JDK b. IntelliJ + ADT + JDK c. Android Studio + JDK 2. Device Driver 3. Plugin: Google Play Service 4. Generate Hash on the device 5. Create Generate Key at Google API Console 6. Configure the App
Web App v.s Native App
Web Apps v.s. Native Apps Web Native Rendering Browser Rendering OpenGL Language Objective-C, Java, etc... HTML5 & JavaScript Usability B+ A Flexibility A B Development Cost A C Capability B- (getting better!) A
Data Format Format Rating CSV Easy and there are a lot of libraries, but limited features GeoJSON Easy and take advantage JSON Library KML Midium and take advantage existing xml library ShapFile Difficult, Slow and Limited Access to Libraries ESRI Web Service Easy and use API from ESRI
ShapeFile & ArcGIS Web Services ● OpenMap Library for ShapeFile ● ESRI ArcGIS SDK for Web Services
Testing
TestFlight is your buddy
Why TestFlight? ● Automate Test Binary Distribution ● Measurement: Sessions, Crush Report, ● Management: Issue Tracker, Bug Reporter, Check-Point etc… Get a free account today testflightapp.com
Thank you Lab Session http://bit.ly/geocon2013 kiichi@liu.edu http://www.liu.edu/gis
Recommend
More recommend