Mobile Application Delivery – Choices, choices, choices
BLUG 2013
René Winkelmeyer midpoints GmbH
René Winkelmeyer Senior Consultant
midpoints GmbH http://www.midpoints.de IBM Advanced Business Partner IBM Design Partner for Domino Next IBM Mobile Design Partner Apple and Samsung MDM Partner Services
• Notes / Domino Consulting • E-Mail Management • App Development (IBM Connections, RCP,
XPages, mobile)
We mobilize Notes • IBM Notes Traveler planning & deployment • mobile app development • Domino based iOS Device Management • Domino based “Dropbox” for Notes and iOS
OpenNTF • File Navigator • Generic NSF View Widget for IBM Connections • org.openntf.domino – the better Domino Java API
About me
René Winkelmeyer Senior Consultant
• Skype
muenzpraeger • Twitter
muenzpraeger • LinkedIn
muenzpraeger • Slideshare
muenzpraeger • G+
www.winkelmeyer.com/+
• Web http://blog.winkelmeyer.com http://www.midpoints.de
• Mail [email protected] [email protected]
About me
4
Who are you?
§ Manager?
§ Administrator?
§ Developer?
5
What device types are you targeting?
§ iOS
§ Android
§ BlackBerry
§ Windows Phone
§ ...
6
What are your requirements?
§ Who is your target audience for the applications?
§ Supporting different device types?
§ Ensure (high) security on application and server level?
§ Deliver a good user experience?
§ Time-to-delivery is critical?
§ Keeping initial and permanent costs down?
§ Application upgrades are important?
7
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
8
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
9
Types of mobile applications
§ Web
§ Web application / website which runs on a HTTP server (i. e. Domino)
§ Written in HTML(5)/CSS/JavaScript
§ Languages/methods could be XPages, PHP, Perl etc.
§ You need HTML5 if you want to leverage device capabilities or some kind of local data storage
§ Full code control available, no additional layer
10
Types of mobile applications
§ Hybrid
§ Native application container which runs web inside (container-like, i. e. PhoneGap)
§ All techniques for web development apply
§ Gives you access to native device capabilities like camera or geo
§ Maybe enhanced with native code (Objective-C for iOS, Java for Android etc.)
§ Mostly full code control, the container is an additional layer
11
Types of mobile applications
§ Native
§ Full native app, written in the device operting systems language
§ Give access to advanced device capabilities like dedicated data encryption
§ Full code control – no layers between your developers and functionality
12
Types of mobile applications
§ Not-Real-Native (NRN)
§ Specialised IDEs which convert (mostly) JavaScript to native code
§ Can have access to advanced device capabilities
§ Somehow code control available (I name it „soup of code“), heavily dependencies on the used framework)
13
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
14
What are your goals? Do you have a strategy?
§ What are your goals and your strategy?
§ Defining them is mission critical – not having them can lead to more work, more costs, dissatisfaction...
15
What are your goals? Do you have a strategy?
Quality
Time
Costs
16
What are your goals? Do you have a strategy?
Security Usability
Administration
Costs Development
???
17
What are your goals? Do you have a strategy?
§ Examples (bad ones):
§ We want to mobilize all existing applications!
§ We want to mobilize all available functionality of those applications.
§ Development needs to be fast. Security and usability is kind of nice to have, we‘ll check that later on.
§ We want to mobilize our applications for any platform (we don‘t know which will be used in the future).
18
What are your goals? Do you have a strategy?
§ Examples (good ones):
§ We start to mobilize applications A, B and C.
§ In the mobile area we only need 10% of the applications functionality.
§ We consider usability and security from the very beginning.
§ We focus on defined operating systems and device types.
19
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
20
Usability
DO NEVER EVER UNDERESTIMATE USABILITY AND YOUR USERS!
21
Usability – Performance
§ Users want to click (better: touch) and directly see a result. They don‘t want to wait for 2 seconds.
§ Web applications can have reasonable performance – but that heavily depends on the network.
§ Hybrid applications behave like web applications. So probably with good performance.
§ Native applications have the best performance. They are native.
§ NRN applications can have a good performance.
22
Usability – Native feeling
§ Users like doing things they are familiar with. And they like a kind of same look and feel. When they touch on the arrow in the top left corner they know that the app switches back to the previous screen.
§ Web applications need a real good CSS to make things look native. At the end they don‘t feel native.
§ Hybrid applications behave like web applications.
§ Native applications do feel native – and they are native. Respect the UI guidelines of the operating system providers.
§ NRN compile to native UI. They‘re doing a good job on that. If there‘s a bug – you can‘t fix it.
23
Usability – Network
§ Network connectivity and latency is mission critical!
§ Network connectivity and latency is mission critical!
§ Network connectivity and latency is mission critical!
§ Network connectivity and latency is mission critical!
§ Network connectivity and latency is mission critical!
§ Network connectivity and latency is mission critical!
§ Network connectivity and latency is mission critical!
24
Usability – Network
§ Check how and when your mobile apps need to have an active network connectivity. And consider that your users may have no or bad network access => Offline Usage.
§ Web applications need network acces. Point. You‘ll need HTML5 applications if you want to store data locally (in the browsers data container).
§ Hybrid applications...well...see the web part.
§ Native applications can use the full range of on- and offline capabilites.
§ NRN‘s give you access to on- and offline capabilities.
25
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
26
Costs – Mostly free as in beer
§ You normally don‘t have to invest in technology for development
§ IDEs are free
§ You probably have the servers
27
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
28
Development
§ Who are your developers?
§ What are they able to do today?
§ And what should they do tomorrow?
§ What do you want to invest into their knowledge?
29
Development
§ Web applications / Hybrid applications
§ Web development knowledge needed (should be known to most of the developers)
§ Based on what you want to do: dedicates framework knowledge needed (Dojo, Sencha, XPages mobile app controls, Bootstrap etc.)
§ Eventually new IDE‘s needed
§ Mostly well documented
§ You can grab a cheap web freelancer for that
30
Development
§ Native applications
§ Specialised knowledge of new languages and frameworks (Objective-C, Java, .net)
§ New IDE‘s for your developers
§ Extremly well documented
31
Development
§ NRN applications
§ Web development/JavaScript knowledge needed (should be known to most of the developers)
§ They bring their own IDE‘s
§ Completly new frameworks with their own language (JavaScript)
§ Quality of documentation ranges from unusable to good
32
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
33
Security – Authentication
§ Define which authentication methods (username/password or certificate-based) you want to run – that defines your level of security access for (potential) confidential data.
§ Web application (and hybrids) normally use username/password. They may use certificates – if you can put them onto the devices.
§ Native applications are capable of any kind of authentication.
§ NRN applications are normally capable of username/password authentication. You may add certificates – but then you‘ll have to write native code for each device.
34
Security – Local data encryption and backup
§ How good should your data be secured? I assume very good. Consider this very well – there are huge differences between the technologies.
§ Web and hybrid applications use the browser‘s storage. Hopefully it is safe.
§ Native applications enable you to use every thinkable security § Local in-app data encryption § Some MDM providers provide MAM (Mobile Application
Management) API‘s to add additional security § Prevent app data backup
§ NRN application are giving you a framework. Some have limited security, some don‘t have.
35
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
36
Updating your applications
§ The ease of updating applications is normally an administrators pet peeve, but...
§ Updates should made be easy
§ You probably have a lot of users and devices to update
37
Updating your applications
§ So what are the ways?
§ Web applications....just update the server. Easy.
§ Any other application needs a distribution way (think about in-place upgrades):
§ Public App Store
§ In-House App Store
38
Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
39
Thank you very much!
Top Related