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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Roy Cornelissen
December 08, 2016
Programming
5.7k
0
Share
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
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
30
Making your app see, hear and think with Cognitive Services
roycornelissen
0
190
There is no app!
roycornelissen
0
25
Conquer the Network - Techorama 2017
roycornelissen
0
320
Mobile DevOps demystified with Xamarin, VSTS and HockeyApp
roycornelissen
0
5.7k
TechDays App: Behind the Scenes
roycornelissen
0
6.2k
Conquer the Network!
roycornelissen
0
6.4k
Building Microservices in .NET with NServiceBus
roycornelissen
0
7.1k
There is no app - Blurring the lines between apps and mobile platform
roycornelissen
0
11k
Other Decks in Programming
See All in Programming
2026_04_15_量子計算をパズルとして解く
hideakitakechi
0
110
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
640
Don't Prompt Harder, Structure Better
kitasuke
0
780
AIと共に生きる技術選定 2026
sgash708
0
100
感情を設計する
ichimichi
5
1.5k
t *testing.T は どこからやってくるの?
otakakot
1
700
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3k
Liberating Ruby's Parser from Lexer Hacks
ydah
2
1.9k
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
280
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
270
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
180
AIエージェントで業務改善してみた
taku271
0
540
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Statistics for Hackers
jakevdp
799
230k
How to Talk to Developers About Accessibility
jct
2
180
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
810
Agile that works and the tools we love
rasmusluckow
331
21k
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