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
4.7k
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
25
Making your app see, hear and think with Cognitive Services
roycornelissen
0
170
There is no app!
roycornelissen
0
18
Conquer the Network - Techorama 2017
roycornelissen
0
300
Mobile DevOps demystified with Xamarin, VSTS and HockeyApp
roycornelissen
0
4.8k
TechDays App: Behind the Scenes
roycornelissen
0
5.2k
Conquer the Network!
roycornelissen
0
5.4k
Building Microservices in .NET with NServiceBus
roycornelissen
0
6.2k
There is no app - Blurring the lines between apps and mobile platform
roycornelissen
0
6.3k
Other Decks in Programming
See All in Programming
CursorはMCPを使った方が良いぞ
taigakono
1
250
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
790
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
650
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
4.8k
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
160
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
630
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
120
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
1
9.1k
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
740
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
670
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
150
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
960
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Code Review Best Practice
trishagee
69
18k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Automating Front-end Workflow
addyosmani
1370
200k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Pragmatic Product Professional
lauravandoore
35
6.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
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