Pro Yearly is on sale from $80 to $50! »

Overcoming the challenges of mobile development in the enterprise

Overcoming the challenges of mobile development in the enterprise

Presentation delivered at AppDevTrends, part of Live360 2017 in Orlando, FL.


Roy Cornelissen

December 08, 2016


  1. ADH10 Overcoming the Challenges of Mobile Development in the Enterprise

    Roy Cornelissen Mobile Lead Consultant Xpirit Netherlands @roycornelissen
  2. None
  3. Pretty pictures are for consumers... We could get away with

    applications that looked like this. @roycornelissen
  4. • IT department dictates • “It’s ready when it’s ready”

    • Siloed architectures • ”The ESB fixes everything” • No need for fancy UI’s @roycornelissen
  5. @roycornelissen

  6. § Catching the Mobile Moment § Delivering software at a

    different pace § Mobile isn’t neutral § Distribution § New types of architecture @roycornelissen
  7. Catching the mobile moment Identify Design Engineer Analyze IDEA Cycle

    Forrester Research @roycornelissen
  8. Catching the mobile moment @roycornelissen Product vs Project

  9. Mobile isn’t neutral On desktop, you designed for the web

    On mobile, you design for the platform @roycornelissen
  10. BYOD @roycornelissen

  11. Enterprise Management @roycornelissen

  12. All devices by @roycornelissen

  13. Corporate Data to @roycornelissen

  14. Intune

  15. @roycornelissen

  16. What about Privacy?

  17. What about Older devices?

  18. What about Low end devices?

  19. @roycornelissen

  20. @roycornelissen

  21. @roycornelissen

  22. @roycornelissen

  23. @roycornelissen

  24. @roycornelissen

  25. Vendor “Magic box” Xamarin App logic

  26. @roycornelissen

  27. @roycornelissen

  28. Wrapper App EMM API @roycornelissen

  29. Wrapper Core OS layer API layer Cross platform layer Application

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

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

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

  33. Wrapper App Requires an SDK @roycornelissen

  34. right there m’kay? @roycornelissen

  35. “We don’t see much demand” @roycornelissen

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

  37. @roycornelissen

  38. Let’s stick to standards Forget custom solutions @roycornelissen

  39. @roycornelissen

  40. @roycornelissen

  41. Leverage OS features instead Wrapping is too cumbersome @roycornelissen

  42. var keyValue = NSUserDefaults .StandardUserDefaults .DictionaryForKey ("") ["name_of_setting"] .ToString ();

  43. var keyValue = NSUserDefaults .StandardUserDefaults .DictionaryForKey ("") ["name_of setting"] =

    "value"; @roycornelissen
  44. <?xml version="1.0" encoding="utf-8"?> <restrictions xmlns:android= "" > <restriction android:key="string" android:title="string

    resource" android:restrictionType="bool" android:description="string resource" android:entries="string-array resource" android:entryValues="string-array resource" android:defaultValue="reference" /> <restriction ... /> ... </restrictions> @roycornelissen
  45. <application ... > <meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions" /> ... </application> @roycornelissen

  46. android.intent.action .APPLICATION_RESTRICTIONS_CHANGED @roycornelissen

  47. UserManager .getApplicationRestrictions() @roycornelissen

  48. Core OS layer API layer Xamarin Application layer ModernHttpClient VPN

    per App @roycornelissen
  49. @roycornelissen

  50. 1 @roycornelissen

  51. @roycornelissen

  52. @roycornelissen

  53. EMM platforms are immature @roycornelissen

  54. EMM platforms are unaware of cross platform tools @roycornelissen

  55. Assess every architectural decision or guideline @roycornelissen

  56. Data protection and policies should be built into the app

  57. Use mobile optimized middleware for integration @roycornelissen

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

  59. @roycornelissen

  60. @roycornelissen