BLUG 2013 - Mobile Application Delivery - Choices, choices, choices

  • View
    340

  • Download
    0

Embed Size (px)

DESCRIPTION

These slides have been shown at BLUG 2013 in Leuven and are giving a brief overview of mobile application delivery options.

Transcript

  • 1. Mobile Application Delivery Choices, choices, choicesBLUG 2013 Ren Winkelmeyermidpoints GmbH

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 WinkelmeyerWe 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 Winkelmeyerhttp://www.midpoints.de Senior Consultant Mail mail@winkelmeyer.com rene.winkelmeyer@midpoints.de 4. Who are you? Manager? Administrator? Developer? 4 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- Summary7 8. Agenda- Types of mobile applications- What are your goals? Do you have a strategy?- Usability- Costs- Development- Security- Updates- Summary8 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 forAndroid etc.) Mostly full code control, the container is an additional layer10 11. Types of mobile applications Native Full native app, written in the device operting systems language Give access to advanced device capabilities like dedicated dataencryption Full code control no layers between your developers andfunctionality 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- Summary13 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 morework, more costs, dissatisfaction... 14 15. What are your goals? Do you have a strategy?TimeQualityCosts 15 16. What are your goals? Do you have a strategy?SecurityUsability??? 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, well check that later on. We want to mobilize our applications for any platform (we dont 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- Summary19 20. Usability DO NEVER EVER UNDERESTIMATEUSABILITY ANDYOUR USERS!20 21. Usability Performance Users want to click (better: touch) and directly see a result. Theydont want to wait for 2 seconds. Web applications can have reasonable performance but thatheavily depends on the network. Hybrid applications behave like web applications. So probablywith 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 ofsame look and feel. When they touch on the arrow in the top leftcorner they know that the app switches back to the previous screen. Web applications need a real good CSS to make things looknative. At the end they dont feel native. Hybrid applications behave like web applications. Native applications do feel native and they are native. Respectthe UI guidelines of the operating system providers. NRN compile to native UI. Theyre doing a good job on that. Iftheres a bug you cant 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 activenetwork connectivity. And consider that your users may have no orbad network access => Offline Usage. Web applications need network acces. Point. Youll need HTML5applications if you want to store data locally (in the browsersdata container). Hybrid applications...well...see the web part. Native applications can use the full range of on- and offlinecapabilites. NRNs 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- Summary25 26. Costs Mostly free as in beer You normally dont have to invest in technology for development IDEs are free You probably have the servers26 27. Agenda- Types of mobile applications- What are your goals? Do you have a strategy?- Usability- Costs- Development- Security- Updates- Summary27 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 mostof the developers) Based on what you want to do: dedicates framework knowledgeneeded (Dojo, Sencha, XPages mobile app controls, Bootstrapetc.) Eventually new IDEs needed Mostly well documented You can grab a cheap web freelancer for that29 30. Development Native applications Specialised knowledge of new languages and frameworks(Objective-C, Java, .net) New IDEs for your developers Extremly well documented30 31. Development NRN applications Web development/JavaScript knowledge needed (should be known to most of the developers) They bring their own IDEs 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- Summary32 33. Security Authentication Define which authentication methods (username/password orcertificate-based) you want to run that defines your level ofsecurity 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/passwordauthentication. You may add certificates but then youll have towrite 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 thetechnologies. Web and hybrid applications use the browsers 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) APIs to add additional security Prevent app data backup NRN application are giving you a framework. Some have limitedsecurity, some dont have. 34 35. Agenda- Types of mobile applications- What are your goals? Do you have a strategy?- Usability- Costs- Development- Security- Updates- Summary35 36. Updating your applications The ease of updating applications is normally an administrators petpeeve, but... Updates should made be easy You probably have a lot of users and devices to update36 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- Summary38 39. Thank you very much! 39