Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Overcoming the challenges of mobile development...
Search
Roy Cornelissen
December 08, 2016
Programming
0
5.5k
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
Tweet
Share
More Decks by Roy Cornelissen
See All by Roy Cornelissen
Running 30-year old software as a cloud native SaaS solution in Azure with Docker and Kubernetes
roycornelissen
0
29
Making your app see, hear and think with Cognitive Services
roycornelissen
0
180
There is no app!
roycornelissen
0
24
Conquer the Network - Techorama 2017
roycornelissen
0
310
Mobile DevOps demystified with Xamarin, VSTS and HockeyApp
roycornelissen
0
5.6k
TechDays App: Behind the Scenes
roycornelissen
0
6.1k
Conquer the Network!
roycornelissen
0
6.2k
Building Microservices in .NET with NServiceBus
roycornelissen
0
7k
There is no app - Blurring the lines between apps and mobile platform
roycornelissen
0
9.6k
Other Decks in Programming
See All in Programming
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
370
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
530
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
230
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
350
株式会社 Sun terras カンパニーデック
sunterras
0
2k
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.2k
CSC307 Lecture 14
javiergs
PRO
0
450
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
160
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
520
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
370
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1k
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Being A Developer After 40
akosma
91
590k
It's Worth the Effort
3n
188
29k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
220
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Abbi's Birthday
coloredviolet
2
5.1k
Designing for Performance
lara
611
70k
The Curse of the Amulet
leimatthew05
1
9.6k
The browser strikes back
jonoalderson
0
760
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Transcript
ADH10 Overcoming the Challenges of Mobile Development in the Enterprise
Roy Cornelissen Mobile Lead Consultant Xpirit Netherlands @roycornelissen
None
Pretty pictures are for consumers... We could get away with
applications that looked like this. @roycornelissen
• IT department dictates • “It’s ready when it’s ready”
• Siloed architectures • ”The ESB fixes everything” • No need for fancy UI’s @roycornelissen
@roycornelissen
§ Catching the Mobile Moment § Delivering software at a
different pace § Mobile isn’t neutral § Distribution § New types of architecture @roycornelissen
Catching the mobile moment Identify Design Engineer Analyze IDEA Cycle
Forrester Research @roycornelissen
Catching the mobile moment @roycornelissen Product vs Project
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
BYOD @roycornelissen
Enterprise Management @roycornelissen
All devices by @roycornelissen
Corporate Data to @roycornelissen
Intune
@roycornelissen
What about Privacy?
What about Older devices?
What about Low end devices?
@roycornelissen
@roycornelissen
@roycornelissen
@roycornelissen
@roycornelissen
@roycornelissen
Vendor “Magic box” Xamarin App logic
@roycornelissen
@roycornelissen
Wrapper App EMM API @roycornelissen
Wrapper Core OS layer API layer Cross platform layer Application
layer @roycornelissen
Wrapper Core OS layer API layer Xamarin Application layer ModernHttpClient
@roycornelissen
APK File I/O SQLite IOCipher SQLCipher Java .dll @roycornelissen
iOS 6: DIY iOS 7+: requires PIN @roycornelissen
Wrapper App Requires an SDK @roycornelissen
right there m’kay? @roycornelissen
“We don’t see much demand” @roycornelissen
“The API’s are not ready yet” @roycornelissen
@roycornelissen
Let’s stick to standards Forget custom solutions @roycornelissen
appconfig.org @roycornelissen
@roycornelissen
Leverage OS features instead Wrapping is too cumbersome @roycornelissen
var keyValue = NSUserDefaults .StandardUserDefaults .DictionaryForKey ("com.apple.configuration.managed") ["name_of_setting"] .ToString ();
@roycornelissen
var keyValue = NSUserDefaults .StandardUserDefaults .DictionaryForKey ("com.apple.feedback.managed") ["name_of setting"] =
"value"; @roycornelissen
<?xml version="1.0" encoding="utf-8"?> <restrictions xmlns:android= "http://schemas.android.com/apk/res/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
<application ... > <meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions" /> ... </application> @roycornelissen
android.intent.action .APPLICATION_RESTRICTIONS_CHANGED @roycornelissen
UserManager .getApplicationRestrictions() @roycornelissen
Core OS layer API layer Xamarin Application layer ModernHttpClient VPN
per App @roycornelissen
@roycornelissen
1 @roycornelissen
@roycornelissen
@roycornelissen
EMM platforms are immature @roycornelissen
EMM platforms are unaware of cross platform tools @roycornelissen
Assess every architectural decision or guideline @roycornelissen
Data protection and policies should be built into the app
@roycornelissen
Use mobile optimized middleware for integration @roycornelissen
AppConfig initiative looks promising but it’s just a start @roycornelissen
@roycornelissen roycornelissen.wordpress.com
[email protected]
@roycornelissen roycornelissen.wordpress.com
[email protected]
xpir.it/XpiritMagazine