Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application



Similar documents
CASE STUDY OF VEHICLE PARKING MOBILE PAYMENT APPLICATION: DATA STORAGE AND SYNCHRONIZATION SOLUTION

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Cross-Platform Tools

Developing and deploying mobile apps

Cross-Platform Development

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Bridging the Gap: from a Web App to a Mobile Device App

SYST35300 Hybrid Mobile Application Development

Enterprise Mobile Application Development: Native or Hybrid?

Cross-Platform Phone Apps & Sites with jquery Mobile

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

Smartphone Application Development using HTML5-based Cross- Platform Framework

ipad, a revolutionary device - Apple

All About Android WHAT IS ANDROID?

MOBILE APPLICATION - CROSS DOMAIN DEVELOPMENT AND STUDY OF PHONEGAP

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

Developing Cross-platform Mobile and Web Apps

Smart Phones Application development using HTML5 and related technologies: A tradeoff between cost and quality

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

research: technical implemenation

Development of mobile applications for multiple platforms

Choosing a Mobile Application Development Approach

Developing Applications for ios

Native, web or hybrid mobile-app development

Cross Platform Applications with IBM Worklight

Retool your HTML/JavaScript to go Mobile

Building native mobile apps for Digital Factory

Cross-Platform Mobile Apps Solution

Evaluating Impact of Cross-platform Frameworks in Energy Consumption of Mobile Applications

Take full advantage of IBM s IDEs for end- to- end mobile development

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

The Suitability of Native Application for University E-Learning Compared to Web-Based Application

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

01. Introduction of Android

Article. One for All Apps in HTML5

Comparison of Cross-Platform Mobile Development Tools

Lecture 1 Introduction to Android

Mobile App Design and Development

Challenges in Android Application Development: A Case Study

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

Mobile Phones Operating Systems

An Analysis of Mobile Application Development Approaches

WHITE PAPER. Cross Platform Mobile Development

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Mobile Application Development

Designing for Mobile. Jonathan Wallace

White Paper INTRODUCTION. In mobile development, there are three different types of applications: PRE-SMARTPHONE MOBILITY NATIVE MOBILE APPLICATIONS

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

ios SDK possibilities & limitations

Accelerating Business Value by

the future of mobile web by startech.ro

To Study and Design a Cross-Platform Mobile Application for Student Information System using PhoneGap Framework

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Survey, Comparison and Evaluation of Cross Platform Mobile Application Development Tools

Lecture 4 Cross-Platform Development. <lecturer, date>

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

Mobile Enterprise Application Development - a Cross-Platform Framework

... Introduction Acknowledgments... 19

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

CROSS PLATFORM APP A COMPARATIVE STUDY

Middleware- Driven Mobile Applications

Cross-Platform Mobile Application Development

Cross Platform Applications with IBM Worklight

How To Use Titanium Studio

RapidValue Enabling Mobility. How to Choose the Right Architecture For Your Mobile Application

Whitepaper. Trans. for Mobile

Introduction to Android Development

Native mobile apps: The wrong choice for business?

HTML5 as the Core Technology of the Mobile Enterprise

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

How To Compare Cross Platform Development To Multi Platform Development

HTML5 & Digital Signage

UX & Cross-Platform Mobile Application Development Frameworks

True Web Application Management: Fixing the Gaps in EMM Solutions

Statement of Direction

Developing mobile educational apps: development strategies, tools and business models

Native, Hybrid or Mobile Web Application Development

Navigating the Mobile App Development Landscape

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Making Mobile a Reality

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

A Review of Different Comparative Studies on Mobile Operating System

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Luxriot Broadcast Server Manual

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Transcription:

DATABASES AND INFORMATION SYSTEMS H.-M. Haav, A. Kalja and T. Robal (Eds.) Proc. of the 11th International Baltic Conference, Baltic DB&IS 2014 TUT Press, 2014 215 Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application Gatis VITOLS, Ingus SMITS and Aleksejs ZACEPINS1 IT Competence Centre, Lačpleša iela, Riga, Latvia {gatis.vitols, ingus.smits, aleksejs.zacepins}@llu.lv Abstract. Main problems that arise in development process of mobile applications are concerned with creating cross-platform solutions that will work on different mobile operating systems like Android, Windows Phone and ios. For such development needs PhoneGap framework can be used. Aim of this paper is to identify common development issues for creating cross-platform applications with PhoneGap and offer solutions for them. Analysis is based on case study of insurance mobile application development process and comparison of it's working version on two different mobile platforms. Keywords. Hybrid mobile applications, PhoneGap issues, insurance mobile application Introduction Recently phones, smartphones and mobile technologies achieved rapid development. Mentioned devices nowadays have their own operating systems and applications. Device manufacturers make them open enough, that various companies and individuals can develop applications for specific operating system and users can easily install and use those applications. Main share in mobile device market belongs to Google Android, Apple ios, RIM Blackberry and Microsoft Windows Phone [1][2]. Mobile application developers should remember that mentioned platforms are mostly different and building application for them is like building different products that is time-consuming and expensive. Usually in such development process a lot of different problems arises and most important of them are - human resources, platform design specifics, support and maintenance of software. Problem with human resources is concerned with skill set that is required in development process for each target platform. Design specifics also plays an important role, because a lot of mobile application vendors tries to keep same design and functionality for different versions. With appearance of described problem new mobile application development method is proposed which is called crossplatform application development [1][3]. Applications developed with this method are called hybrid applications. For hybrid application development different software 1 Corresponding Author

216 G. Vitols et al. / Issues of Hybrid Mobile Application Development with PhoneGap products frameworks are available, for example Motorola Solutions Rhodes (1%), Titanium (12%), Adobe PhoneGap (78%) and others (9%) [4]. One of well-known frameworks with wide functionality and options is Adobe PhoneGap. This is approved by mobile application developers survey, which was done by Mozilla company (see Figure 1) and also several researches confirms this fact [1][2][5]. Aim of this research is to identify problems that occurs developing hybrid applications with PhoneGap framework and to offer solutions how to solve them. Research tasks are: Summarize main characteristics of different approaches for mobile application development; Identify problems of application development with PhoneGap and offer solutions for these problems based on example of developing application for insurance company; Offer a set of guidelines, which can be used for mobile application development for further usage of PhoneGap for generation of crossplatform applications retaining functionality and appearance of application. 1. Approaches for Mobile Applications Development Before cross-platform approach was provided, two main mobile application development approaches were widely used: native approach and web application approach [1. Using native approach, developers build applications for specific platform with software development kits (SDK) and specific frameworks made for this platform. Applications developed in this way can closely operate with original platform. For example, Objective-C programming language and Apple frameworks are used in building applications for ios platform. Using described approach, when there is a need to develop the same application for next platform it is necessary to program in platform related programming language and to use platform frameworks, which means that each time a completely new application is developed. Web applications approach mainly deals with options of mobile device web browser. As a big part of web technologies are standardized, this approach allows developing one application which will work in different platform web browsers. But it should be mentioned that such applications are not able to use certain hardware features of mobile device, for example cameras, GPS sensors, accelerometers etc [1]. To solve mentioned restrictions of used approaches the new cross-platform development approach was introduced, which allows developing hybrid mobile applications. Gartner predicts [6], that because of increasing popularity of smartphones it will lead to increase of mobile application development. Therefore in year 2016 50% of available mobile applications in market will be hybrid. Various authors recommends [7][8] companies to develop hybrid mobile applications for business needs. PhoneGap is as an open-source platform for creating native mobile applications using web technologies. Adobe PhoneGap other advantage are that applications are built using common web technologies such as HTML and CSS [7]. For example, RhoMobile requires knowledge of Ruby language [2]. Based on mentioned advantages and executed survey results [1] for this research PhoneGap was chosen as hybrid application development framework.

G. Vitols et al. / Issues of Hybrid Mobile Application Development with PhoneGap 217 2. Mobile Application Development by Using PhoneGap and Known Issues Typical PhoneGap project contains following functional parts, which ensure the implementation of the HTML and Java Script code [9]: 1. a native browser (webview), embedded in the project; 2. structured API for accessing the native functionality of a mobile device from Java Script code; 3. API for writing native plugins; 4. file storage, which contains HTML, Java Script, and other web resources of the application. While developing hybrid mobile applications with PhoneGap framework, certain restrictions and problems should be taken into consideration: 1. For implementation of complex functionality in PhoneGap framework it is needed to use a third party or PhoneGap community plugins. But as this framework is developing very fast, plugin compatibility with newest framework versions are not clear and poses some risks [10]. This affects efficiency of developers, because they need to solve compatibility problems. 2. As modification of developed application depends on PhoneGap framework options, this forms application dependency on framework and used plugins. PhoneGap framework should interact with all mobile operating system graphical interface frameworks, for example Android, Cocoa Touch and others. Solving possible errors in this interaction can cause significant problems. Analysing ios it can be concluded that PhoneGap has problems with memory management. To solve this issue in Objective-C language it was needed to enrich programming code with memory management statements. As well PhoneGap API do not supports icloud cloud computing application, which is widely used in ios devices. This support can be achieved only by usage of third party plugin like icloudkv. 3. It is evaluated that application developed in PhoneGap will be slower than platform original application. Particulary this performance affects application of camera or specially animated interfaces. PhoneGap work relatively slow with application of smartphone cameras [10]. But this factor is not always important even when developing business applications. 4. There is in most cases a need to optimize user interface of application for on different platforms [9]. Time consumption of such adjustment should be taken into consideration. 5. There is a need to focus on responsive layout, because hybrid application created with PhoneGap has known issues with the certain lag between touch on the screen and device response. Lag is about 300ms [9]. 6. It is known that PhoneGap works slow with long lists and reconstruction of DOM [9]. 7. Also PhoneGap has issues with multithreading, which is often solved with native PhoneGap plugins [9]. 3. Mobile Application of Baltic Insurance House The aim of this research is to identify problems that occurs developing hybrid applications with PhoneGap framework based on case studies of simple business application. So in practical part of research Baltic Insurance House (BAN) mobile

218 G. Vitols et al. / Issues of Hybrid Mobile Application Development with PhoneGap application is studied (see Fig. 1). It implements functionality that is typical for large amount of modern applications, like usage of geographic location, content browsing, sending messages and implementation of transaction payments. This mobile application consists of four subsystems: SOS, branches of organization, buy insurance, settings. Application functionality includes navigation options by using mobile device platform native features Back button and Home button, as well as touch navigation. In addition it handles connection and automatic refresh of interactive map that shows locations of organization branches. Also it has integrated purchase subsystem for BAN services. Figure 1. Branches subsystem prototype in BAN application BAN application is designed for several different mobile platforms. Primary target is Windows Phone 8, followed by Google Android, and Apple ios. BAN mobile application was developed by using HTML5 and CSS3 technologies to create user interface and JavaScript, and jquery mobile to implement all necessary activities. For cross-platform generation PhoneGap 3.0 framework was used. In cases when default functionality was not enough Phone Gap Plugin API where used to implement lacking functions. For analysing functionality and appearance of BAN mobile application on different platforms two testing devices where used - LG NEXUS 4 and Nokia LUMIA 820. In result of such comparison several conclusions were made: 1. Functionality of developed BAN mobile applications is equal for both operating systems (Android and Windows phone). This proves that with PhoneGap framework it is possible to develop business applications and implement all simple functional requirements. 2. Comparing Windows Phone and Android it should be taken into account, that call function is different, because it is platform original solution. For example, choosing call function in application, device original call window will be opened and this window is different for mentioned operating systems. 3. Rendering speed of graphical elements and animation in Chrome Internet browser is faster than in Internet Explorer. 4. Using BAN mobile application on Android platform, device battery level and actual time is not visible, because application uses all device screen. But in Windows Phone mentioned elements are visible, that s why 5-10 pixel shift is formed. 5. Developing applications for Google Android operating system developers should use specific android style hand-book. This book has references to element dimensions and requirements. 6. Also animation transactions are different. For example, performing display of list element makes visible shifts. This can be explained by fact, that for creation of

G. Vitols et al. / Issues of Hybrid Mobile Application Development with PhoneGap 219 animation JqueryMobile is used, but engines for it interpretation is different. Android uses V8 JavaScript performance engine, which is for Google Chrome, but Microsoft uses Chakra JavaScript performance engine. 7. If specific text font for each platform is not defined, default fonts are different. If it is needed to use same fonts for both platforms, they should be defined in CSS file and in case of need font files should be added to the project. 8. Windows Phone programming solutions usually are compiled in one package. For example, it is needed unified Visual Studio environment and PhoneGap framework. In case of Android it is needed to compile solution from various developers: JDK, JRE, Eclipse, Android SDK, PhoneGap etc. and this can make problems with debugging. 9. Appearance of Home button on different devices is different. 10. In Windows Phone it is possible with touch to pull display in vertical direction, but Android does not support this option. This function allows user to see if application is working and not crashed. But it is needed to modify the colour of that empty area. 11. Application launch icons have to be developed using the native environment and PhoneGap framework is not responsible for that. 4. Discussion / Conclusions Is it possible to develop unified architecture to write secure code, which will be used to generate applications for different devices with different operating systems using the PhoneGap framework? By analysing known problems and case studies of PhoneGap usage in practical development, several proposals - guidelines can be proposed: Efforts should be made on decreasing the number of libraries and plugins. It is not recommended to use third party plugins. It should be understood, that appearance of applications on all devices will not be equal, that s why during developing stage it is needed to agree with customer about possible deviations in appearance to save the functionality. For displaying the images CSS can be used to decrease the complexity of image loading process. When PhoneGap is chosen for control of the elements, in file loading will be delay up to 250ms. If controls for information inserting are placed in upper side of the display, then it is possible to avoid layout shifts in cases, when on-screen keyboard is used. Insertion of long list with or even without animations can cause issues in application responses. Such design elements like gradients, transparency and shadings consumes a lot of device power, which can affect response of the application. After summarization of main characteristics of mobile application development approaches, it is seen that hybrid approach will have more and more application and impact on future mobile application development. Main benefits of hybrid approach are fast application development on multiple platforms. Phone Gap will not perform well if there is a need for unique UI, complicated calculations and if application is satiated with image, audio and video content.

220 G. Vitols et al. / Issues of Hybrid Mobile Application Development with PhoneGap Visual appearance of application on different operating systems and devices always will be a little different, because mobile device manufacturers use different hardware components. For example Samsung use IPS LCD, but Nokia Lumia 820 use AMOLED diodes. Based on research authors can conclude that up to 95% of developed code is not sensitive on device, but 5% is sensitive. This 5% consists of fonts, resolution and display size. If the application supposed to display extensive amount of data simultaneously and perform complicated calculations, native approach for development should be considered. The next developing stage is to develop application for Apple ios devices, but this can be a challenge because Apple has significant differences in element proportions. Acknowledgements This research is part of a project Competence centre of information and communication Technologies run by IT competence centre, contract No. L-KC-11-0003, co-financed by European Regional Development Fund. References [1] Heitkötter, H., Hanschke, S., Majchrzak, T. Evaluating Cross-Platform Development Approaches for Mobile Applications. In: Proceedings of the 8th International Conference on Web Information Systems [WEBIST], 28-21 April, Porto, Portugal, Springer Berlin Heidelberg, 2013. 120 138. [2] Vitols, G., Smits, I., Bogdanov, O. Cross Platform Solution for Integration of Websites into Mobile Applications. In: Proceedings of the 15th International Conference on Enterprise Information Systems [ICEIS]4-7 July, Angers Loire Valley, France, SciTePress, 2013.p. 324 328. [3] Singh, N., Palmieri, M. Comparison of Cross-platform Mobile Development Tools. In: Proceedings of the 16th International Conference on Intelligence in Next Generation Networks [ICIN], October, Berlin, Germany, IEEE, 2012. 179 186. [4] Developer Survey Results: Libraries and Cross-browser on Mobile? [WWW] https://hacks.mozilla.org/2012/08/developer-survey-results-libraries-and-cross-browser-on-mobile/ (accessed 17.09.2013). [5] Christ, A. Bridging the mobile app gap. Connectivity and the User Experience, 2011, 11(1), 27. [6] Gartner Says by 2016, More Than 50 Percent of Mobile Apps Deployed Will be Hybrid [WWW] http://www.gartner.com/newsroom/id/2324917 (accessed 15.10.2013). [7] Myer, T. Beginning PhoneGap. Indianapolis: John Wiley & Sons, Inc., 2012. 388 p. [8] Gartner Recommends a Hybrid Approach for Business-to-Employee Mobile Apps [WWW] http://www.gartner.com/newsroom/id/2429815 (accessed 10.10.2013). [9] PhoneGap: How To Create One App For All Platforms [WWW] http://mobidev.biz/blog/phonegap_how_to_create_one_app_for_all_platforms.html (accessed 13.11.2013). [10] Phonegap the Bad and the Ugly [WWW] http://dominickm.com/?p=144 (accessed 18.11.2013).