consumerisation – what does it mean to a developer?
DESCRIPTION
From finance, technology and implementation track at QCon London 2013TRANSCRIPT
![Page 1: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/1.jpg)
Consumerisation –what does it mean to a developer?
Chris Swan@cpswan
![Page 2: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/2.jpg)
Why me?
![Page 3: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/3.jpg)
Agenda
• Strategy• Consumerisation• Users• Containers• Frameworks• Desktop• Wrap up
![Page 4: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/4.jpg)
Strategy
![Page 5: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/5.jpg)
TacticalChoices= When
PurchasingDecisions
= Who
Implementation Details= What
OperationalDetails= How
blog.gardeviance.org/2012/09/whats-my-it-strategy.html
![Page 6: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/6.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/7.jpg)
Consumerisation
![Page 8: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/8.jpg)
![Page 9: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/9.jpg)
Enterprise doesn’t choose stuff
People do
Some of those people work for Enterprise
![Page 10: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/10.jpg)
Users
![Page 11: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/11.jpg)
Who are the users?
![Page 12: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/12.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/13.jpg)
13
User profiles
![Page 14: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/14.jpg)
14
Users vs things you care about
![Page 15: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/15.jpg)
15
How - Controls
![Page 16: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/16.jpg)
16
Who - Ownership
![Page 17: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/17.jpg)
17
What – Application Distribution
![Page 18: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/18.jpg)
18
Etc.
![Page 19: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/19.jpg)
Containers
![Page 20: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/20.jpg)
20
Frameworks
Container
Frameworks and Containers - Overview
NativeWeb Hybrid(HTML5)
![Page 21: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/21.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/22.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/23.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/24.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/25.jpg)
MDM and MAM aren’t mutually exclusive
Container
Container
![Page 26: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/26.jpg)
MAM can be multi tenant
Container
Container
Container
Container
![Page 27: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/27.jpg)
And diverse
Container
Container
Container
Container
Container
Container
![Page 28: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/28.jpg)
And connected
Container
Container
Container
Container
Container
Container
![Page 29: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/29.jpg)
29
MAM vs MDM
![Page 30: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/30.jpg)
Frameworks
![Page 31: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/31.jpg)
31
Frameworks
Container
Frameworks and Containers – Overview (Redux)
NativeWeb Hybrid(HTML5)
![Page 32: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/32.jpg)
32
Framework characteristicsWeb 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
[1] NB Hybrid development still requires platform specific development effort foreach 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 embeddedor exemplar applications on a given platform
![Page 33: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/33.jpg)
Can HTML5 ever be enough?
The YES camp The NO camp
![Page 34: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/34.jpg)
Can HTML5 ever be enough?
The don’t seem to care camp
![Page 36: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/36.jpg)
There is another way
![Page 37: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/37.jpg)
Commercial MAM
In house container
Frameworks and Containers – full Picture
37
NativeWeb Hybrid(HTML5)
3rd partyapps
Mobile SDK
Web SDK
Thin clientenabled
legacy apps
![Page 38: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/38.jpg)
Desktop
![Page 39: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/39.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/40.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/41.jpg)
Chromium to the rescue
![Page 42: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/42.jpg)
Wrap up
![Page 43: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/43.jpg)
43
Users’ why drives thewho, what, how and when
![Page 44: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/44.jpg)
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?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/45.jpg)
45
Choose frameworks to suit use cases
NativeWeb Hybrid(HTML5)
![Page 46: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/46.jpg)
46
The jury is still out
![Page 47: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/47.jpg)
Thanks for listening
Are there any questions?
![Page 48: Consumerisation – what does it mean to a developer?](https://reader035.vdocuments.net/reader035/viewer/2022070301/5462fe71af79599e2c8b4de7/html5/thumbnails/48.jpg)