Mobile Application Development · Mobile Application Development 7 (Source: Pew Research Center,...

Post on 29-Sep-2020

0 views 0 download

transcript

Mobile Application

Development

Erik Ferrari iSolutions Manager

Chris Taylor Solutions Architect

Publishing

Agenda

State of the mobile

Digital and mobile convergence

Understanding the user

Software development disruption

Mobile strategy

Challenges

User expectations

Web development

Native development

Hybrid

Q&A

Mobile Application Development 2

Mobile Application Development 3

We Pick Up Our Smartphones 1,500 Times a Week,

Stare at Them 3 Hours a Day - Tecmark 2014

Mobile Application Development 4

Mobile Application Development 5

Mobile Application Development 6

(Source: Toluna, 2014)

69% of Australian Smartphone users say their phone is the first

thing they look at every day.

34% of adults own a tablet device.

(Source Pew Research, 2013)

Mobile Application Development 7

(Source: Pew Research Center,

2013)

63% of mobile owners use their phones to go

online.

(Source: Pew Research Center, 2014)

(Source: Pew Research Center,

2013)

34% of mobile owners go online mostly using their phones.

Mobile devices accounted for 55% of Internet usage in the

United States in January 2014.

Mobile Application Development 8

(Source: Nielsen, 2013)

Smartphone users spent 87% of their time using mobile

apps.

(Source: Nielsen, 2013)

Smartphone users spent 13% of their time using the

mobile web.

Mobile Application Development 9

Mobile Application Development 10

Mobile Application Development 11

Considerations for a mobile strategy

Mobile Application Development 12

Understand your users, user expectations, and usage

scenarios

Define your application goals and features

Budget and timeline

Mobile Application Development 13

Mobile is disrupting software

development.

Yesterday

14 Mobile Application Development

New School Expectations

Simplicity

Speed

User Experience (UX)

15 Mobile Application Development

16 Mobile Application Development

UI is harder than ever.

Testing is harder than ever.

Change is happening faster than ever.

17 Mobile Application Development

18 Mobile Application Development

19 Mobile Application Development

Continuous Delivery

At Amazon, new code is deployed at a rate of once

every 11.6 seconds (3000 times a day)

At Google, 50% of the code will be changed in any

given month.

Facebook updates their mobile app every 4 weeks

20 Mobile Application Development

Mobile Application Development 21

We need a strategy

Mobile Solution Strategies

3 Primary Strategies:

—Mobile Web

—Native Applications

—Hybrid Applications

22 Mobile Application Development

23 Mobile Application Development

How do you know which approach is

right for your app?

24 Mobile Application Development

40% Developers starting a

native app that should

have been built with

HTML5

31% Developers starting a

HTML5 app that should

have been built with

native

Source: Kendo UI Global Developer Survey, 2013

25 Mobile Application Development

“Do it wrong quickly”

“Fail fast, recover quickly”

Mobile Web

26 Mobile Application Development

Mobile Web Defined

Mobile web solutions are built with server-side technology that renders

HTML that is optimized for mobile devices.

27 Mobile Application Development

Two options

Separate sites (the m. strategy)

— m.smh.com.au

Responsive sites

28 Mobile Application Development

Responsive vs. Separate Mobile Site

Single site

Flexible layout,

images and media

queries with CSS

Complex code

Client interprets

code.

Multiple sites

Complete control

over HTML structure

and images

Complex admin

Server responsible

for redirecting to

mobile version

Mobile Application Development 31

Mobile Web

Pros

Cross-platform

Common web technologies =

lower cost

Centralized, immediate

updates

Reach / Unrestricted

distribution

SEO

Cons

No App Store

Device must be online /

connected

No native integration / limited

features

Mobile Application Development 32

Native Apps

Mobile Application Development 33

Mobile Application Development 34

Native apps are built for a specific platform using an SDK, a specific

language, and an IDE provided by the platform vendor.

Native apps are designed to target a specific platform.

Mobile Application Development 36

Native Apps

Access to contacts or address book

Accelerometer (motion detection)

Camera

Data storage – local / offline

Accessing network properties and conditions

Geolocation

Notifications / Push

…and more

Mobile Application Development 37

Platform Language IDE SDK App Store

iOS Objective C,

Swift

Xcode (Mac

OS X)

iOS SDK App Store

Windows

Phone

C#, VB.NET Visual Studio,

Blend

(Windows)

Windows

Phone SDK

Windows

Phone

Marketplace

Android Java Eclipse,

Android

Studio

(Windows or

Mac OS X)

Android SDK Google Play

Skills and Tools

Native Apps

Pros

Rich, integrated

experience

Performance

Access to device

hardware features

Monetization / App Store

Offline Capabilities

Cons

*Single platform / develop

app per platform

*Cost to maintain and

develop (learning curve)

App Store rules / policies

Device variation

Mobile Application Development 38

*(see next slide)

Mobile Application Development 39

*(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

Hybrid Applications

Mobile Application Development 40

Mobile Application Development 41

Hybrid apps run on the device inside a native container

that uses the browser engine for rendering and executing

HTML, JavaScript, and CSS.

The major mobile platforms support Hybrid Apps!

Mobile Application Development 42

Hybrid Apps

App Store!

Access to device capabilities — Contacts / Address book

— Accelerometer

— Camera

— Data storage

— Network properties and conditions

— Local file system

— Geolocation

— Notifications

How is this different than the mobile web option?

Mobile Application Development 43

HTML, JavaScript, and CSS

“packaged” with application

Open Source JavaScript layer gives

access to device APIs

Leverage web services for

integration

Use native “web view” on device

Mobile Application Development 44

“Our biggest mistake was relying too much on HTML 5 and not on native apps.”

-- Mark Zuckerberg

Is Hybrid just as good?

Hybrid Apps

Pros

Monetization / App Store

Cross Platform

Familiar Web Technologies

Access to Device Capabilities

Offline support (kind of)

Shared / Common Codebase

Cost to support / maintain

Cons

Performance

Achieving Native UI when

targeting cross-platform

Limited device API access

Debugging can be difficult

Mobile Application Development 45

Summary

Mobile Application Development 46

Mobile Application Development 47

Web based approach to

mobile app dev. / deploy

Pro

• Time to

market/releases

• Leverage skills

• Cross platform

• Lower cost

• Centralized

Con

• Potential performance

• User experience

• Not an app in store

Web

Native “shell” with

embedded HTML, CSS,

and JavaScript

Pro

•Cross platform

•Native experience

•Access to onboard

resources

•Lives in app stores

Con

•Potential performance

•Potentially multiple

codebases

Hybrid

Fully native mobile

application

Pro

• Performance

• Native experience

• Lives in app stores

Con

• Adds time / cost

• Potentially multiple

codebases

• Increased support

• Slower release cycle

Native

Mobile Application Development 48

Future of mobile apps?

Mobile Application Development 49

“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."

-Gartner, 2013

Mobile Application Development 50

Mobile Application Development 51

Understand your users and user expectations

Understand usage scenarios

Do you need device capabilities?

Know your application goals

Budget and timeline

There isn’t a one-size-fits-all solution… It’s based on the required

features and expectations of your users.

Know your requirements

What is your mobile strategy?

Mobile Application Development 52