Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Overcoming the challenges of mobile development...
Search
Roy Cornelissen
December 08, 2016
Programming
5.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
42
Making your app see, hear and think with Cognitive Services
roycornelissen
0
200
There is no app!
roycornelissen
0
36
Conquer the Network - Techorama 2017
roycornelissen
0
320
Mobile DevOps demystified with Xamarin, VSTS and HockeyApp
roycornelissen
0
5.8k
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.2k
There is no app - Blurring the lines between apps and mobile platform
roycornelissen
0
11k
Other Decks in Programming
See All in Programming
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
190
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
760
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
190
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
360
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
200
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
420
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
270
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
110
自分的「カンファレンスの楽しみ方」
syumai
0
200
ALB ログから Trace を気合で繋げる技術
fohte
7
880
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
2
230
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
580
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Agile that works and the tools we love
rasmusluckow
331
22k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
270
Building an army of robots
kneath
306
46k
Paper Plane
katiecoart
PRO
2
53k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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