Transcript
Page 1: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

Mobile Application Delivery – Choices, choices, choices

BLUG 2013

René Winkelmeyer midpoints GmbH

Page 2: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 3: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 4: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

4

Who are you?

§  Manager?

§  Administrator?

§  Developer?

Page 5: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

5

What device types are you targeting?

§  iOS

§  Android

§  BlackBerry

§  Windows Phone

§  ...

Page 6: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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?

Page 7: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

7

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 8: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

8

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 9: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 10: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 11: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 12: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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)

Page 13: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

13

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 14: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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...

Page 15: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

15

What are your goals? Do you have a strategy?

Quality

Time

Costs

Page 16: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

16

What are your goals? Do you have a strategy?

Security Usability

Administration

Costs Development

???

Page 17: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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).

Page 18: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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.

Page 19: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

19

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 20: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

20

Usability

DO NEVER EVER UNDERESTIMATE USABILITY AND YOUR USERS!

Page 21: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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.

Page 22: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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.

Page 23: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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!

Page 24: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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.

Page 25: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

25

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 26: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 27: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

27

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 28: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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?

Page 29: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 30: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

30

Development

§  Native applications

§  Specialised knowledge of new languages and frameworks (Objective-C, Java, .net)

§  New IDE‘s for your developers

§  Extremly well documented

Page 31: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 32: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

32

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 33: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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.

Page 34: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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.

Page 35: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

35

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 36: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 37: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

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

Page 38: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

38

Agenda

-  Types of mobile applications

-  What are your goals? Do you have a strategy?

-  Usability

-  Costs

-  Development

-  Security

-  Updates

-  Summary

Page 39: BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

39

Thank you very much!