Eindhoven Mobile
Development Meetup
02/02/2016
During the meetup
u Our first meetup.
u We love to facilitate and like the group to contribute.
u Feel free to ask questions and to interact with each other
u Feedback and Ideas are welcome
u #EMDM
u Keep your mobile phone on
First Meetup
u Short Introduction
u Overview Mobile Development Landscape 2016
u Break
u Mobile app development lifecycle
u End, recap
u Drinks
Introduction
Luc de Bruijn
Practice Manager
Open Circle
Chris Key
Mobile Developer
Open Circle
Stephan van Stekelenburg
Mobile Developer
Independent
Introduction
u Facilitated by Open Circle Solutions
u Three units:
u Java Open Source
u Mobile Development
u Big Data/Data Science
u Product development/Open Source Projects
u Average of 14 years of experience in consultancy and business
critical applications.
Background Mobile Team
u Our Mobile developers have worked on mobile solutions in the B2C,
B2B and B2E area’s.
u Clients include large enterprises from different industries but also
lean startups.
u We focus on Xamarin for development
u Our Mobile developers have developed several products internally.
Both for developing new technology skills as well as new business
models.
Why a meetup?
u We all have different/same challenges at our work.
u Technical challenges/choices
u App Lifecycle Management
u Tooling
u Business and IT awareness
u Share experiences
u Share ideas
u Share best practices
u Broad field of mobile development, what do we pick?
First Meetup
u Short Introduction
u Overview Mobile Development Landscape 2016
u Break
u Mobile app development lifecycle
u End, recap
u Drinks
Overview Mobile Development
Landscape 2016
Types of customers
u Business to consumer
u Business to business
u Enterprise / in house
iOS	App Android	App Windows	App
iPhone
iPad
Apple	watch
Apple	TV
Phones
Tablets
Smart	Watches
Smart	TV’s
Car	systems
Phones
Tablets
Desktop
Xbox
Holo-lens
What platforms to support?
What platforms to support?
u Depends on project
u Depends on users
u Depends on region
u Depends on budget
u Not necessarily all at once
Hardened devices
Types of development
u Native
u iOS SDK’s
u Android SDK’s
u Windows SDK’s
u Hybrid
u PhoneGap
u Sensha
u Cordova
u Appcelerator
u Ionic
u Many, many more…
u Web Apps
u HTML 5
Native development
u SDK (Software development kit) provided by Google, Apple or
Microsoft
u Specific per platform
u Tooling
u Language(s)
u Controls
u UI Guidelines
u Interaction Guidelines
u Entire code base per platform
Hybrid development
u Third party tools that work with platform SDK’s
u One language
u Can write on all platforms, building requires specific OS
u Share resources
u Write logic one time
Web development
u No specific requirements
u Any platform / language
u HTML
u Scripting
Pro’s
Native
- Performance
- Device API’s
- Support
- Look and feel
Hybrid
- Cross platform
- Write once *
- Use one language /
tool
- Access to device
Web
- Little development needed
- Control
Con’s
Native
- Write / maintain
multiple times
- Different approach
- Different language
- Can be expensive to
built everything
multiple times
Hybrid
- Performance
- Write once (fix
everywhere)
- Look and feel
- Scripting
- Testing more difficult
Web
- Not an app
- No offline support
- No (or limited) access to
device
Our approach
u As stated before it depends….
u If possible use Xamarin
Anything you can do in Objective-C, Swift or Java
can be done in C# and Visual Studio with Xamarin
Xamarin’s Unique	Approach
Shared app logic,
platform-specific UI,
all in C#
Shared	App	Logic	in	C#
iOS C# UI Android C# UI Windows C# UI
Shared App Logic
§ Platform-specific UI code in C#
§ Shared app logic code in C#
§ Fine-grain control over the app user
interface
§ Good for apps with sophisticated UX
requirements (complicated gestures,
animations, design)
Native Performance
Xamarin.iOS does full Ahead Of Time (AOT)
compilation to produce an ARM binary for
Apple’s App Store.
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the
Android device.
Completely up-to-date with device OS releases
u Always up-to-date with
Apple and Google API
releases.
u Track record of offering
same-day support: iOS 5, iOS
6, iOS 6.1, iOS 7,iOS 7.1, iOS
8 and iOS 8.x releases.
u The only cross-platform
solution with support for the
Google Glass SDK, Android
Wear, Amazon Fire TV and
Apple Watch.
First Meetup
u Short Introduction
u Overview Mobile Development Landscape 2016
u Break
u Mobile app development lifecycle
u End, recap
u Drinks
Break
First Meetup
u Short Introduction
u Overview Mobile Development Landscape 2016
u Break
u Mobile app development lifecycle
u End, recap
u Drinks
Mobile app development lifecycle
Business	goals	&	strategy
User	Experience	and	Design
Technical	architecture
AppStore	optimization
Advertisement	
Social	media
Development
Automated	testing
Continuous	integration	/	delivery
Beta	release	management
Deployment
OS	/	platform	updates
Business	analytics	and	insights
Feedback	collection
Monitoring
So you think you want an app?
PLAN
What to do next?
u Business Goals & Product Strategy
u B2B vs B2C vs in-house
u Concepts and Research
u User Experience Design
u Technical Architecture
More choices to make
u Which platforms?
u What form factors?
u Disconnected scenarios
u Specific device capabilities
Platforms and tooling
BUILD
Silo Approach
Build App
Multiple Times
iOS	App Android	App Windows	App
Swift	/	Objective-C
XCode
Java
Android	Studio
C#
Visual	Studio
Write-Once-Run-Anywhere Approach
Lowest
Common
Denominator Black	box
Xamarin’s Approach
Native with
Code Sharing
Shared	App	Logic
iOS	C#	UI Android	C#	UI Windows	 C#	UI
Platform	Specific
Native	iOS	App Native	Android	App Native	Win	App
Xamarin’s Forms Approach
Native with
Code Sharing
Shared	App	Logic
Xamarin.Forms
Platform	Specific
Native	iOS	App Native	Android	App Native	Win	App
Mobile
Quality Is Not
Easy
Biggest Mobile Quality Challenges?
u Device Fragmentation
u App Complexity
u Fast Release Cycles
u Short & Volatile User Sessions
u High Mobile User Expectations
Thousands of iOS and Android APIs
Public web APIs
Backend integrations
Third party libraries
Memory, CPU and network
constraints
App Complexity
Mobile Testing Options
Long Cycles
Rapid
Iterations
High Test Realism
Simplistic Tests
Beta Testing
Manual Testing
Automated UI Testing
Unit Testing
Local UI Test Authoring Cloud Testing Lab
Automated tests
Test your app on 2197
physical devices
simultaneously
Continuous Integration / Delivery
Visual	Studio	Team	Services
Beta / Release Management
HockeyApp
Apple TestFlight
Google Play Store
Grow
“
”
If you’re not using ASO to increase your
app’s search ranking, you’re missing
out on the largest discovery channel
available to your app.
SOMEONE CLEVER
63% (iOS) of app customers report browsing in the app store to discover new
apps.
AppStore Optimization
u Description is important
u Carefully pick your keywords
u App reviews vs developer feedback
u Leverage Store specific options to promote your app
u Localize your AppStore listings
And we’re done…
SERVICE
App Maintenance
u OS / Platform updates or new releases
u Updates to libraries
u Support for new devices and device families (think wearables)
u Bug fixes
Release notes
Monitoring and Feedback
u App Usage Insights
u App Content Management
u Who owns / updates in-app content?
LaunchKit Review Monitor
First Meetup
u Short Introduction
u Overview Mobile Development Landscape 2016
u Break
u Mobile app development lifecycle
u End, recap
u Drinks
Recap
Future meetups
u More presentations?
u Real world cases?
u Workshops?
u Interactive sessions
u Hackathons
u Social meetups
u Feedback
Contact Information
Luc de Bruijn
Open Circle Solutions
luc@opencirclesolutions.nl
@ldbruijn
Chris Key
Open Circle Solutions
Chris@opencirclesolutions.nl
@chriskeynl
Stephan van Stekelenburg
Independent
Stephan.van.stekelenburg@g
mail.com
@stephanvs

FirstMeetupSlides