developing a modern mobile app strategy
DESCRIPTION
Mobile apps are important. There is little debate of that. But how you build, maintain, and deploy mobile apps remains the source of great debate for CIOs and developers alike. Unfortunately, there is no "one size fits all" mobile app strategy, so it is critical to understand how to choose the right technology for the right app. In this session, we will explore the four key approaches for building mobile apps, and establish a framework that will help you develop a mobile app strategy guaranteed to help you select the right technology for your next project.TRANSCRIPT
Developing a Modern Mobile App StrategyTodd AnglinEVP Product Strategy, Telerik
WhatWhyWhen
How
Strategy Execution
Mobile is disrupting software development.
Yesterday Today
X
#winning
BEFORE
AFTER
82%COMPANIES WITHOUT A MOBILE STRATEGY (YET)
Source: SAP, 2012
40%DEVELOPERS STARTING A NATIVE APP THAT SHOULD HAVE BEEN BUILT WITH HTML5
Source: Kendo UI Global Developer Survey, 2013
31%DEVELOPERS STARTING A HTML5 APP THAT SHOULD HAVE BEEN BUILT WITH HTML5
You need a strategy to deal with this disruption.
@toddanglinEVP Product Strategy
Define the disruption
Define the approaches
Define the strategy
How do you deal with this disruption?
Why does this disruption matter?
UI is harder than ever.
Testing is harder than ever.
Change is happening faster than ever.
UI is harder than ever.
Multiple skillsetsMany platforms
Many SDKsWildly different UX
Unpredictable screensMore time consumingIndirect debuggingRapidly changing
Business logicData layerData validationService API
Windows or Web UI
Business logicData layerData validationService API
Desktop UIPhone UITablet UI[Multi-platform]
SimplicitySpeed
User Experience
MOBILE EXPECTATIONS
UGLY ENTERPRISE APPS DON’T CUT IT ON MOBILE
Testing is harder than ever.
① Simulators are insufficient② App performance varies
GREATLY per device③ More devices, platforms
still arriving
Android fragmentation
Change is happening faster than ever.
Source: Gartner, 2012
I'll just tell my users what device to use."
"-said nobody
On average, CIOs report that they support 3.5
mobile platforms in 2012
Source: Gartner, 2012
Assessing or Implementing
60%
Implemented19%
No plans21%
79%BYOD
Source: Cisco/PC Connection BYOD Survey, 2013
Impr
oved
mob
ility
for t
he w
orkfor
ce
Employ
ees pr
efer
red
own
device
s
Secu
re com
pany
dat
a on
per
sona
l dev
ices
Cost s
avings
Impr
oved
pro
duct
ivity
Easie
r to
man
age
49% 45% 41% 40% 40%
22%
Source: Cisco/PC Connection BYOD Survey, 2013
UI is harder than ever.
Testing is harder than ever.
Change is happening faster than ever.
How do you deal with this disruption?
What's the right way to target mobile?
Reach of
Web
Richness of
Native
Efficiency of
Hybrid
$ $$$
The Approaches
Hybrid
Web
Native
Understanding when to apply each approach is the key to a successful mobile strategy.
How do you know which approach is right for your next app?
Know what you’re building!(in a word: requirements)
NATIVE WEB HYBRID
NATIVE
Use platform-specific APIs and SDKs to build and package apps.
Essential Skills
Objective-C, Java, .NET, HTML/JavaScript
Essential Tools
XCode (for iOS), Eclipse (for Android), Visual Studio (for WinPhone)
Platform Reach
Each app only reaches one platform
Sharable Code
0% (No UI, No logic)
Xcode
UIKitObjC
Eclipse*
XMLJava
Eclipse*
Poly*Poly*
Code: $150/hr * 1,500hrs ~ $225k
x (Number of Platforms)
Design: $150/hr * 225hrs ~ $34k
Other: $100/hr * 150hrs ~ $15k
Cost: $275,000+ Maintanence (~$60k)
NATIVE
PROS CONS
Complete access to device hardware, APIs
Multiple implementations required to reach multiple platforms
Installable, Can be app store deployed
Multiple skill sets and programming languages required
Maximum control over performance
Requires installation (and device provisioning if private deployment desired)
Powerful platform-specific development & debugging tools direct from platform vendors
New tools needed to manage app security, enforce data security policies
(MULTI-PLATFORM) NATIVE
Use a single language to develop applications that targeting an abstraction layer to access native device APIs and SDKs across platforms.
Common Examples: Xamarin, Appcelerator
Essential Skills
Depends on the multi-platform solution (examples: C#, JavaScript)
Essential Tools
Usually a custom development environment
Platform Reach
Limited to platforms supported by underlying compiler
Sharable Code
Partial (UI is generally not sharable)
WEB APPS
INSTALLED APPS
INSTALLED APPS
Deployment Updates
Analytics Security
DEPLOYMENT MANAGEMENT
ANALYTICS SECURITY
Private app storesBeta test user deploymentPublishing & approval
Offline metricsCross-platform viewCrash reports
Device managementUpdating apps
User access to appsRevoking access
Securing data on device
WEB
Use web standards to create applications and the browser to deploy
Essential Skills
HTML, JavaScript, CSS
Essential Tools
Anything capable of developing web apps
Platform Reach
iOS, Android, Windows Phone, or any HTML5 capable mobile browser
Sharable Code
100% (UI + Logic)
RESPONSIVEWEBDESIGN
MOBILEWEBAPPS
DEMOMOBILE WEB APPS
WEB
PROS CONS
Familiar, very low developer learning curve
Limited access to device hardware, APIs
Easy to deploy, No software installs
Poor offline support, requires "always on" Internet connection
Easy to share code with desktop websites
Unable to "install" on a device or publish via an app store
Maximum reach Unable to match native performance for rich, animated interfaces*
Reuse existing security and software management solutions
Open standards-based platform (no vender lock-in)
HYBRID
Use web standards to create applications and
native “wrappers” to package and enrich.
Native Shell +SDK Proxy
NativeApp
HTML/JS/CSS App
Any IDE
HTMLJS
Essential Skills
HTML, JavaScript, CSS, Hybrid container (such as Apache Cordova)
Essential Tools
Anything used for web development* + hybrid SDKs
Platform Reach
Limited to reach of hybrid container, but most reach all major platforms
Sharable Code
Almost 100% (Some platform specific UI may be desired)
DEMOHYBRID MOBILE APPS
HYBRID
PROS CONS
Low learning curve for web developers
Performance limited to WebView perf
Installed, can be app store deployed
Requires installation (and device provisioning if private deployment desired)
One code base for all platforms
New tools needed to manage app security, enforce data security policies
Easy to transition from web to hybrid development, reuse code
Extensive access to device hardware, APIs
NATIVE WEB HYBRID
TIEING IT ALL TOGETHERTHE STRATEGY
MODERNMOBILESTRATEGYDEFINED
Know your app requirements.
You could...
Choose a"one-size-fits-all" solution
Bolt-on a "mobile only"
solution
Create a"mix-and-match" patchwork solution
Inefficient. Unoptimized. Incomplete.
Reach of
Web
Richness of
Native
Efficiency of
Hybrid
Web Hybrid
Native
Web
• No device access needed
• Rapidly changing requirements
Hybrid
• Need basic device hardware or API access
• Need to reach many platforms
Native
• Need maximum hardware access
• Limited platform targets
Hybrid
Middleware
Native Web
Experience Cost
AgilityPerformance
[Forrester]
`
http://bit.ly/mobileapproachstrategy
"Through 2014, JavaScript performance will push HTML5 and the browser as a mainstream application developer environment. There will be long shift to HTML5 from native apps as HTML5 becomes more capable. But native apps won’t disappear, and will always offer best experiences."-Garnter, 2013
A smart mobile strategy uses a mix of web, hybrid, and native development to optimize the time and cost of delivering and maintaining an app to each app's requirements. -Me
@toddanglinname
@telerik.com
employer
Thanks!