2. About me
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)
René Winkelmeyer We mobilize Notes
Senior Consultant • 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
3. About me
• Skype
muenzpraeger
• Twitter
muenzpraeger
• LinkedIn
muenzpraeger
• Slideshare
muenzpraeger
• G+
www.winkelmeyer.com/+
• Web
http://blog.winkelmeyer.com
René Winkelmeyer http://www.midpoints.de
Senior Consultant
• Mail
mail@winkelmeyer.com
rene.winkelmeyer@midpoints.de
5. What device types are you targeting?
§ iOS
§ Android
§ BlackBerry
§ Windows Phone
§ ...
5
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?
6
7. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
7
8. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
8
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
9
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
10
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
11
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)
12
13. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
13
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...
14
15. What are your goals? Do you have a strategy?
Time
Quality Costs
15
16. What are your goals? Do you have a strategy?
Security Usability
??? Administration
Development Costs
16
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).
17
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.
18
19. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
19
20. Usability
DO NEVER EVER
UNDERESTIMATE
USABILITY AND
YOUR USERS!
20
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.
21
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.
22
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!
23
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.
24
25. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
25
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
26
27. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
27
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?
28
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
29
30. Development
§ Native applications
§ Specialised knowledge of new languages and frameworks
(Objective-C, Java, .net)
§ New IDE‘s for your developers
§ Extremly well documented
30
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
31
32. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
32
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.
33
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.
34
35. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
35
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
36
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
37
38. Agenda
- Types of mobile applications
- What are your goals? Do you have a strategy?
- Usability
- Costs
- Development
- Security
- Updates
- Summary
38