developing a modern mobile app strategy

Post on 15-May-2015

3.731 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

twitter

@telerik.com

employer

email

Thanks!

top related