You are on page 1of 19

MOBILE APP ROADMAP

VICTOR CHAKRAVARTY ENTERPRISE.ARCHITECT@MAINE.GOV MAINE OFFICE OF INFO. TECH. MAINE DIGITAL GOVERNMENT SUMMIT NOVEMBER 19, 2013

THE CHALLENGE
The mobile landscape is diverse and fastchanging. Multiple operating systems, form factors, processors, screen resolutions, & browsers How to create/maintain apps for this landscape? How to provide the best app user experience at an optimal cost? How to create apps that survive over time when the underlying technology keeps changing?
Nov. 19, 2013 Maine Digital Govt. Summit 2

DIVERSITY
OS: Android (fragmented), iOS, Windows RT, BlackBerry Screen Resolution: 320x480 thru 2560x1600 Screen Orientation: Portrait & Landscape Processor: 600 MHz Single Core thru 2.9 GHz Quad Core Memory: 512 MB thru 16GB Keyboard: Virtual or Physical Pointer: Fingertip, Stylus, Mouse Browser: Microsoft Internet Explorer, Firefox, Google Chrome, Safari, Blackberry
Nov. 19, 2013 Maine Digital Govt. Summit 3

DEFINITIONS (1)
Native App: App created for a specific OS. Responsive Web App: DHTML app that adapts to various form factors and browsers. Hybrid App: Combines Native & Web. Uses the browser engine, but NOT the actual browser. Special container has deeper access to OS than browser. App Development Middleware: Converts input code in one language into several native/hybrid languages. Divided into two sub-groups. One subgroup uses open-source input language, the other uses proprietary input language.
Nov. 19, 2013 Maine Digital Govt. Summit 4

DEFINITIONS (2)
Hosted Virtual Desktop (HVD): Both client OS & apps delivered from a remote server. Client device is just for user input-output. Workspace Aggregation: Provisions portfolio of apps & data across diverse client fleet, based upon policies. Remote Terminal: App executes on a remote server. Client device may or may not have its own OS. Part of both HVD and Workspace Aggregation. For this presentation, Remote Terminal is the catch-all term.
Nov. 19, 2013 Maine Digital Govt. Summit 5

ASSUMPTION
Why does a user choose a particular mobile device? Because they like the native features and ecosystem. (The marginal utility of the native features and ecosystem exceeds the price paid.) This may appear to be a frivolous statement. But in reality, many thorny questions can be answered based upon this statement.

Nov. 19, 2013

Maine Digital Govt. Summit

MOBILE APP OPTIONS


Three distinct options: Native, Web, & Remote Terminal. Plus Hybrid. Total four options. Native: Some processing happens on device OS. Rest on server. Web: Some processing happens on device browser. Rest on server. Remote Terminal: Entire processing on server. Hybrid: Some processing on device, combination OS & browser engine. Rest on server.

Nov. 19, 2013

Maine Digital Govt. Summit

THIS SESSION
Three presentations, followed by Q&A First presentation: Surveys the landscape. Compares the options. Provides general recommendations. Second presentation: Deeper comparison between Web & Native, by Ian Talmage of InforME. Third presentation: Lenovo Stone-Ware Unified Cloud Workspace Aggregation, by Ken Quinton.
Nov. 19, 2013 Maine Digital Govt. Summit 8

WEB TOOLKITS

Nov. 19, 2013

ClickSoftware Dojo GWT, GwtMobile, mGWT, gwt-phonegap Modernizr QuickConnectFamily Sencha Starlit Bedrock (Maine-based) yuilibrary WrapBootstrap
Maine Digital Govt. Summit 9

REMOTE TERMINAL

Nov. 19, 2013

ASG VisionApp CloudCockpit Catavolt Centrix WorkSpace Universal Citrix Receiver dinCloud dinHVD Ericom AccessToGo Framehawk Lenovo Stone-Ware VMware Horizon
Maine Digital Govt. Summit 10

MIDDLEWARE: OPEN-SOURCE INPUT


3CInteractive Switchblade Adobe PhoneGap Apache Cordova Appcelerator Appscend AppFurnace Appspresso Corona-Lua Covertigo FeedHenry Genuitec MobiOne IBM Worklight jQuery-Mobile jQTouch Jo Kony MoovWeb Motorola Rhomobile Netbiscuits Oracle ADF Mobile Telerik Icenium/Kendo Usablenet
11

Nov. 19, 2013

Maine Digital Govt. Summit

MIDDLEWARE: PROPRIETARY INPUT


Antenna AppPoint DSIGlobal Embarcadero RAD Studio Force.com Globo KidoZen Mendix MicroStrategy Mobinex Smartface

PocketMobile QualComm Brew SAP Mobile IDE (Includes Sylco & Sybase-Afaria. Also supports open-source input.) Servie2Media TigerLogic Omnis Verivo (includes Pyxis) Xamarin
12

Nov. 19, 2013

Maine Digital Govt. Summit

COMPARISON(1)
Client Device Capability: Native fully leverages device. Web only leverages browser. Remote Terminal does NOT leverage device. Multithreading: Native can be fully multithreaded. Even though HTML5 does some multithreading, it has limitations. Remote Terminal can be fully multi-threaded on server. Memory Management: Native can do manual memory management. Web has less-efficient automated memory management. Remote Terminal can do manual memory management. Network Bandwidth: Native: Low. Web: Medium. Remote Terminal: High.
Nov. 19, 2013 Maine Digital Govt. Summit 13

COMPARISON(2)
Personalization: Native: High. Browser: Medium. Remote Terminal: High. Complex UI: Native is best. Web and Remote Terminal have limitations. Experience: Native always beats Web. Remote Terminal is alien experience. Disconnected Mode: Native: Highly possible. Web: Sort-of possible. Remote Terminal: Impossible. Data Residence: Native: On device, temporary or permanent. Browser: Temporarily on device. Remote Terminal: Never on device. Universal Reach: Native: Low. Web: High. Remote Terminal: Medium.
Nov. 19, 2013 Maine Digital Govt. Summit 14

COMPARISON(3)
Search Engine Optimization: Native: NO. Web: YES. Remote Terminal: NO. Security Risk: Native: Can be High because entire OS is available. Can be Low because more lockdown can happen. Web: Medium. Remote Terminal: Low. Flexibility: Native: Constrained due to App Store. Web: High. Remote Terminal: High Legal/Policy Complication: Native: High. Browser: Medium. Remote Terminal: Low. Support Expense: Native: High. Browser: Medium. Remote Terminal: Low. (Sometimes Native must target not just specific OS, but specific release.)
Nov. 19, 2013 Maine Digital Govt. Summit 15

RECOMMENDATIONS(1)
Native is always more efficient and experientially richer than Web. But Native is also the most expensive. In most cases, Native must be deployed through the App Store, which creates vetting delays. Also makes updating app more complicated. Also means dealing with restrictions. (iOS forbids apps from taking donations. Serious problem for nonprofits!) With Native, targeting a wide spectrum of devices demands dedicated code stacks. Native demands narrow, specialized skill sets.
Nov. 19, 2013 Maine Digital Govt. Summit 16

RECOMMENDATIONS(2)
Three ways to do Native. In increasing order of expense: Open-Source Input Middleware, Proprietary Input Middleware, Native Software Development Kit. In many cases, Hybrid is probably good substitute for Native. Remote Terminal is the least expensive, but, being divorced from native features and ecosystem, do not endear themselves to users. If it is a matter of immediately rolling out a legacy app to a mobile workforce, Remote Terminal is the best option.
Nov. 19, 2013 Maine Digital Govt. Summit 17

RECOMMENDATIONS(3)
If it is a basic data gathering/presentation app, probably Web is the best solution. If app requires heavy use of device-specific capabilities, such as location-awareness, barcode scanning, still photography, audio/video recording, gyro, accelerometer, proximity, etc., then Native is probably the best option. HTML5 is attempting to bridge the native gap; It can handle Geolocation. Apache Cordova does allow access to the camera & accelerometer. If the goal is to extract the most out of the device (such as gaming apps), Native is indeed the best option.
Nov. 19, 2013 Maine Digital Govt. Summit 18

RECOMMENDATIONS(4)
For a government with financial constraints, the default option is Web. For those cases where Web does not cut it, try Hybrid via Open-Source Input Middleware. Disconnected-mode Cached Apps: In case of upload/capture, is the data needed by somebody else in real time? In case of download/reference, is that data being changed by somebody else in real time? If the answer is No, then disconnectedmode fine. Although HTML5 provides CACHE MANIFEST, extensive disconnected-mode probably requires Hybrid or Native.
Nov. 19, 2013 Maine Digital Govt. Summit 19

You might also like