Slide 1

Slide 1 text

ADH10 Overcoming the Challenges of Mobile Development in the Enterprise Roy Cornelissen Mobile Lead Consultant Xpirit Netherlands @roycornelissen

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Pretty pictures are for consumers... We could get away with applications that looked like this. @roycornelissen

Slide 4

Slide 4 text

• IT department dictates • “It’s ready when it’s ready” • Siloed architectures • ”The ESB fixes everything” • No need for fancy UI’s @roycornelissen

Slide 5

Slide 5 text

@roycornelissen

Slide 6

Slide 6 text

§ Catching the Mobile Moment § Delivering software at a different pace § Mobile isn’t neutral § Distribution § New types of architecture @roycornelissen

Slide 7

Slide 7 text

Catching the mobile moment Identify Design Engineer Analyze IDEA Cycle Forrester Research @roycornelissen

Slide 8

Slide 8 text

Catching the mobile moment @roycornelissen Product vs Project

Slide 9

Slide 9 text

Mobile isn’t neutral On desktop, you designed for the web On mobile, you design for the platform http://ben-evans.com/benedictevans/2015/9/26/mobile-is-not-a-neutral-platform @roycornelissen

Slide 10

Slide 10 text

BYOD @roycornelissen

Slide 11

Slide 11 text

Enterprise Management @roycornelissen

Slide 12

Slide 12 text

All devices by @roycornelissen

Slide 13

Slide 13 text

Corporate Data to @roycornelissen

Slide 14

Slide 14 text

Intune

Slide 15

Slide 15 text

@roycornelissen

Slide 16

Slide 16 text

What about Privacy?

Slide 17

Slide 17 text

What about Older devices?

Slide 18

Slide 18 text

What about Low end devices?

Slide 19

Slide 19 text

@roycornelissen

Slide 20

Slide 20 text

@roycornelissen

Slide 21

Slide 21 text

@roycornelissen

Slide 22

Slide 22 text

@roycornelissen

Slide 23

Slide 23 text

@roycornelissen

Slide 24

Slide 24 text

@roycornelissen

Slide 25

Slide 25 text

Vendor “Magic box” Xamarin App logic

Slide 26

Slide 26 text

@roycornelissen

Slide 27

Slide 27 text

@roycornelissen

Slide 28

Slide 28 text

Wrapper App EMM API @roycornelissen

Slide 29

Slide 29 text

Wrapper Core OS layer API layer Cross platform layer Application layer @roycornelissen

Slide 30

Slide 30 text

Wrapper Core OS layer API layer Xamarin Application layer ModernHttpClient @roycornelissen

Slide 31

Slide 31 text

APK File I/O SQLite IOCipher SQLCipher Java .dll @roycornelissen

Slide 32

Slide 32 text

iOS 6: DIY iOS 7+: requires PIN @roycornelissen

Slide 33

Slide 33 text

Wrapper App Requires an SDK @roycornelissen

Slide 34

Slide 34 text

right there m’kay? @roycornelissen

Slide 35

Slide 35 text

“We don’t see much demand” @roycornelissen

Slide 36

Slide 36 text

“The API’s are not ready yet” @roycornelissen

Slide 37

Slide 37 text

@roycornelissen

Slide 38

Slide 38 text

Let’s stick to standards Forget custom solutions @roycornelissen

Slide 39

Slide 39 text

appconfig.org @roycornelissen

Slide 40

Slide 40 text

@roycornelissen

Slide 41

Slide 41 text

Leverage OS features instead Wrapping is too cumbersome @roycornelissen

Slide 42

Slide 42 text

var keyValue = NSUserDefaults .StandardUserDefaults .DictionaryForKey ("com.apple.configuration.managed") ["name_of_setting"] .ToString (); @roycornelissen

Slide 43

Slide 43 text

var keyValue = NSUserDefaults .StandardUserDefaults .DictionaryForKey ("com.apple.feedback.managed") ["name_of setting"] = "value"; @roycornelissen

Slide 44

Slide 44 text

... @roycornelissen

Slide 45

Slide 45 text

... @roycornelissen

Slide 46

Slide 46 text

android.intent.action .APPLICATION_RESTRICTIONS_CHANGED @roycornelissen

Slide 47

Slide 47 text

UserManager .getApplicationRestrictions() @roycornelissen

Slide 48

Slide 48 text

Core OS layer API layer Xamarin Application layer ModernHttpClient VPN per App @roycornelissen

Slide 49

Slide 49 text

@roycornelissen

Slide 50

Slide 50 text

1 @roycornelissen

Slide 51

Slide 51 text

@roycornelissen

Slide 52

Slide 52 text

@roycornelissen

Slide 53

Slide 53 text

EMM platforms are immature @roycornelissen

Slide 54

Slide 54 text

EMM platforms are unaware of cross platform tools @roycornelissen

Slide 55

Slide 55 text

Assess every architectural decision or guideline @roycornelissen

Slide 56

Slide 56 text

Data protection and policies should be built into the app @roycornelissen

Slide 57

Slide 57 text

Use mobile optimized middleware for integration @roycornelissen

Slide 58

Slide 58 text

AppConfig initiative looks promising but it’s just a start @roycornelissen

Slide 59

Slide 59 text

@roycornelissen roycornelissen.wordpress.com [email protected]

Slide 60

Slide 60 text

@roycornelissen roycornelissen.wordpress.com [email protected] xpir.it/XpiritMagazine