Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No...

48
Consumerisation what does it mean to a developer? 5883 Chris Swan @cpswan

Transcript of Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No...

Page 1: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Consumerisation – what does it mean to a developer?

5883

Chris Swan

@cpswan

Page 2: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Why me?

Page 3: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Agenda

• Strategy

• Consumerisation

• Users

• Containers

• Frameworks

• Desktop

• Wrap up

Page 4: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Strategy

Page 6: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Why?

• To give people what they want

– Why do they want these things?

• Travel weight

• Endurance

• Collaborative experience

• Cool factor – Don’t let this be dismissed as ‘executive jewellery’

Page 7: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Consumerisation

Page 8: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers
Page 9: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Enterprise doesn’t choose stuff

People do

Some of those people work for Enterprise

Page 10: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Users

Page 11: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Who are the users?

Page 12: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Don’t let things get too complex (and try not to let Conway’s law take hold)

Page 13: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

User profiles

13

Page 14: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Users vs things you care about

14

Page 15: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

How - Controls

15

Page 16: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Who - Ownership

16

Page 17: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

What – Application Distribution

17

Page 18: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Etc.

18

Page 19: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Containers

Page 20: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Frameworks

Container

Frameworks and Containers - Overview

20

Native

Web Hybrid (HTML5)

Page 21: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Why have a container?

Stuff you care about (=== local state)

Container

Everything else

Everything else

Everything else

Everything else

Everything else

Page 22: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Containers enforce policy

Stuff you care about Container

• Authentication • Encryption

• Key management • Network connectivity • Jailbreak detection • Remote wipe • Etc.

Page 23: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Mobile device management (MDM)

• The device is the container

• This is how things have worked in the Enterprise PC world for many years. So many people are comfortable with the model.

Container

Page 24: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Mobile application management (MAM)

• The application is the container

• This is relatively new, and hence a little scary.

Container

Page 25: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

MDM and MAM aren’t mutually exclusive

Container

Container

Page 26: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

MAM can be multi tenant

Container

Container

Container

Container

Page 27: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

And diverse

Container

Container

Container

Container

Container

Container

Page 28: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

And connected

Container

Container

Container

Container

Container

Container

Page 29: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

MAM vs MDM

29

Page 30: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Frameworks

Page 31: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Frameworks

Container

Frameworks and Containers – Overview (Redux)

31

Native

Web Hybrid (HTML5)

Page 32: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Framework characteristics

Web Hybrid Native

Cross platform Yes Yes No

Local state (offline capable)

Limited Yes Yes

Access camera, GPS & accelerometers

No Yes Yes

Dev tools HTML5/CSS/JS Mostly HTML5/CSS/JS [1]

Various (Java, Objective C, etc.)

'Shiny'[2] Good Better Best

Performance OK OK Optimal

32

[1] NB Hybrid development still requires platform specific development effort for each platform targeted, and should not be considered an easy/default option [2] 'Shiny' is used to describe the look and feel of applications relative to embedded or exemplar applications on a given platform

Page 33: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Can HTML5 ever be enough?

The YES camp The NO camp

Page 34: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Can HTML5 ever be enough?

The don’t seem to care camp

Page 35: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

This is not a hybrid strategy

xkcd.com/1174/

Page 36: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

There is another way

Page 37: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Commercial MAM

In house container

Frameworks and Containers – full Picture

37

Native

Web Hybrid (HTML5)

3rd party apps

Mobile SDK

Web SDK

Thin client enabled

legacy apps

Page 38: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Desktop

Page 39: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

IE sucks!

• Or at least the versions that most banks and other (large) financial services companies have on their desktop.

• This does not encourage an HTML5 everywhere approach.

Page 40: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

A Chromebook diversion

• HMTL5 mostly

• NaCl takes up the slack – SSH

– RDP

– Games?

• Seems like a toy?

Page 41: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Chromium to the rescue

Page 42: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Wrap up

Page 43: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Users’ why drives the who, what, how and when

43

Page 44: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Use a container to enforce policy

Stuff you care about (=== local state)

Container

Everything else

Everything else

Everything else

Everything else

Everything else

Page 45: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Choose frameworks to suit use cases

45

Native

Web Hybrid (HTML5)

Page 46: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

The jury is still out

46

Page 47: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers

Thanks for listening

Are there any questions?

Page 48: Consumerisation what does it mean to a developer? 5883...Web Hybrid Native Cross platform Yes Yes No Local state (offline capable) Limited Yes Yes Access camera, GPS & accelerometers