6
Procedia Computer Science 10 (2012) 1202 – 1207 1877-0509 © 2012 Published by Elsevier Ltd. doi:10.1016/j.procs.2012.06.173 International Workshop on Service Discovery and Composition in Ubiquitous and Pervasive Environments (SUPE) Potential advantages and disadvantages of multiplatform development frameworks A vision on mobile environments Luis Corral * , Andrea Janes, Tadas Remencius Free University of Bozen-Bolzano, Piazza Domenicani 3, 39100 Bozen-Bolzano, Italy Abstract In this paper, we present a position on potential advantages and disadvantages that may rise after the utilization of multiplatform frameworks for creating mobile applications. Mobile frameworks evolve to offer solutions that allow to simplify the development process in order to achieve products that can be deployed in different mobile operating systems. Based on the experience of the large success of web applications in desktop computing, a similar paradigm shift from target-specific to cross-platform applications could be foreseen in the mobile software industry. Development and marketing practices should understand this philosophy, learn from similar experiences and identify its advantages and disadvantages, to exploit the potential of the opportunities and anticipate to the challenges that changing a development paradigm brings forth. Our objective is to promote discussion by introducing a series of questions to understand how the use of target-agnostic products may shift the mobile application outlook. © 2011 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of [name organizer] Keywords: Mobile; Multiplatform; Business; Markets; Frameworks; Cross-platform 1. Introduction Mobile terminals have become an important platform for software products and services. Software running on mobile devices involves a vast range of applications: communication, entertainment, business, media and much more. With the introduction of smartphones, development of mobile software has rapidly grown, as its opens a market opportunity previously bounded to telephone manufacturers and carrier companies, allowing developers to create and distribute mobile applications in a large scale. Due to the inherent limitations present on cellular phones (i.e. resources, input channels, display features, etc.), * Corresponding author. Tel.: + 39 389 4580955. E-mail address: [email protected]. Available online at www.sciencedirect.com

Potential Advantages and Disadvantages of Multiplatform Development Frameworks–A Vision on Mobile Environments

  • Upload
    tadas

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Potential Advantages and Disadvantages of Multiplatform Development Frameworks–A Vision on Mobile Environments

Procedia Computer Science 10 ( 2012 ) 1202 – 1207

1877-0509 © 2012 Published by Elsevier Ltd. doi: 10.1016/j.procs.2012.06.173

International Workshop on Service Discovery and Composition in Ubiquitous and Pervasive Environments (SUPE)

Potential advantages and disadvantages of multiplatform development frameworks – A vision on mobile environments

Luis Corral*, Andrea Janes, Tadas Remencius Free University of Bozen-Bolzano, Piazza Domenicani 3, 39100 Bozen-Bolzano, Italy

Abstract

In this paper, we present a position on potential advantages and disadvantages that may rise after the utilization of multiplatform frameworks for creating mobile applications. Mobile frameworks evolve to offer solutions that allow to simplify the development process in order to achieve products that can be deployed in different mobile operating systems. Based on the experience of the large success of web applications in desktop computing, a similar paradigm shift from target-specific to cross-platform applications could be foreseen in the mobile software industry. Development and marketing practices should understand this philosophy, learn from similar experiences and identify its advantages and disadvantages, to exploit the potential of the opportunities and anticipate to the challenges that changing a development paradigm brings forth. Our objective is to promote discussion by introducing a series of questions to understand how the use of target-agnostic products may shift the mobile application outlook. © 2011 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of [name organizer] Keywords: Mobile; Multiplatform; Business; Markets; Frameworks; Cross-platform

1. Introduction

Mobile terminals have become an important platform for software products and services. Software running on mobile devices involves a vast range of applications: communication, entertainment, business, media and much more. With the introduction of smartphones, development of mobile software has rapidly grown, as its opens a market opportunity previously bounded to telephone manufacturers and carrier companies, allowing developers to create and distribute mobile applications in a large scale. Due to the inherent limitations present on cellular phones (i.e. resources, input channels, display features, etc.),

* Corresponding author. Tel.: + 39 389 4580955. E-mail address: [email protected].

Available online at www.sciencedirect.com

Page 2: Potential Advantages and Disadvantages of Multiplatform Development Frameworks–A Vision on Mobile Environments

1203 Luis Corral et al. / Procedia Computer Science 10 ( 2012 ) 1202 – 1207

developing software in this environment needs to bear in mind specific modeling, deployment and marketing needs [1], and it also requires coping with a complex relationship among stakeholders: carriers, vendors, technology providers and end-users [2]. Mobile software is developed dynamically and released in short cycles; final products are small-sized, usually marketed at low prices, and development teams tend to be small [3]. Moreover, software products need to be released for a variety of operating systems (e.g. Android OS, iOS, Symbian, Windows Mobile, etc.) if developers want to deliver their products to a larger number of users upon diverse families of devices. In light of this, creating and marketing successful mobile applications is not a simple endeavor. Clear differences from regular desktop software products led the software industry to explore new development strategies for targeting a larger number of users by producing, advertising and distributing software applications able to be executed on different target platforms, profiting from all device’s capabilities and respecting environment-specific constraints.

In this paper, we present an analysis and a position with respect to the opportunities and disadvantages of using multiplatform development tools for creating cross-platform applications in mobile devices. We consider the point of view and interaction of three major stakeholders: platform providers, software developers and end users. Our objective is to promote the discussion by introducing a series of questions to understand how the use of target-agnostic products may shift the current mobile application outlook.

2. Mobile target-agnostic development

Mobile software has evolved from ad-hoc, embedded software, to high level applications driven by operating systems. Now, each platform involves separate families of devices, programming languages, development kits and distribution markets, each one with a significant amount of users that represent potential customers. An important challenge posed on developers is to select what platform to develop for: developers would not want to dismiss a large group of users by working only for one target, but every time that a developer wants to offer an application in more than one platform, it is necessary to conduct again a significant part of the software development process (Figure 1.a). It is required to translate the original source code to the proper one, and customizing low-level implementations so that the new target could hold the application as it was originally conceived. Then, it will be required to rebuild the code to obtain the new executable application, and place it in a new distribution market.

Fig. 1. (a) Traditional development model; (b) Multiplatform development model

The dilemma of achieving true cross-platform products has considered different layers of the architecture of the mobile system, including operating system, virtual machine or application level. With the introduction of HTML5-based applications, or other powerful web-based development tools (e.g., Appcelerator, PhoneGap, etc.), it is exploited the capability of mobile devices to launch and execute web applications to utilize the browser as an additional abstraction level to wrap applications that may be

...

Business Need

Customer

Platform

1

Development Cycle

Customer

Platform

2

Development Cycle

Customer

Platform

N

Development Cycle

Customer Customer Customer

...

Platform

N

Platform

1 Platform

2

Development Cycle

Business Need

Page 3: Potential Advantages and Disadvantages of Multiplatform Development Frameworks–A Vision on Mobile Environments

1204 Luis Corral et al. / Procedia Computer Science 10 ( 2012 ) 1202 – 1207

executed in any operating system. Using these frameworks, developers should conduct the process of designing and coding only once, and then deploy anywhere by selecting target-specific customizations to create the final application on multiple operating systems (Figure 1.b). A possible paradigm shift from platform-specific to target-agnostic development on mobile devices has been previously discussed, based on the large success of web applications in desktop computing. Similarly, it is now foreseen a rise of web-based applications in mobile systems [4, 5], thanks to the introduction of application program interfaces that permit to access native components to have a better control of the device. In this way, these frameworks may allow to create cross-platform applications that can match the behavior and capabilities of the applications that are built using platform-specific languages and tools.

3. Business challenges and opportunities

Business considerations for mobile products comprise diverse points of view, grouped in technology providers, developers, and end-users: a platform provider is the instance who develops an operating system, developers are those who create new software products, and users are the customers who purchase and utilize such products. A simplified view of their interaction is outlined in Figure 2.

Fig. 2. Software-oriented relationship between stakeholders

An important enterprise goal of a platform provider is to consolidate their product, by creating a useful and attractive operative system to be selected by phone manufacturers and transitively by software developers and end-users. Software developers use available development kits and operative platforms to create attractive and profitable applications to be purchased by users, who are the final customers of both mobile devices and software products. By choosing a specific mobile device, they intrinsically select an operative platform, and within that scope, users decide what application to download. These choices are the real market drivers, as they define successful operating platforms and influential application marketplaces. Successful operating platforms and large application markets are most appealing for developers, since they showcase their products to a wider range of potential customers. Surveyed in the United States of America on October, 2011 [6], 56% of the smartphone users have Android OS, while 28% use iOS; in the rest of the world, market share is as well evenly distributed. On the other hand, as of January, 2012 [7] application distribution markets cover a range of more than 500,000 applications in the iOS App Store and more than 400,000 in the Android Market, involving 18,000,000,000 downloads from the iOS App Store and 10,000,000,000 from the Android Market. This panorama shows that developing for only one OS would prevent an application to reach a considerable number of customers.

4. Tradeoffs on a paradigm shift in mobile software development

Multiplatform tools extend the scope of a single software life cycle, allowing to conduct the development process once, and deploying the final product several times for each desired platform.

Deliver

SW Product

Purchases

Developer Develops

Uses Platform Platform Platform

Customer

Platform Providers

Platform Providers

Platform Providers

Page 4: Potential Advantages and Disadvantages of Multiplatform Development Frameworks–A Vision on Mobile Environments

1205 Luis Corral et al. / Procedia Computer Science 10 ( 2012 ) 1202 – 1207

Nonetheless, adopting this development paradigm may deliver implications that go beyond the simple selection of a tool. Adjusting the way of doing things affects a major range of stages and actors in the software development cycle; and such changes may impacts strategies activities, and people. Not all the changes would be positive, and even keeping the traditional target-specific paradigm offers as well a number of advantages that cannot be emulated or matched by multiplatform frameworks. Table 1 summarizes potential tradeoffs identified after selecting native or cross-platform tools.

Table 1. Potential tradeoffs on the use of single-platform paradigm versus multiplatform paradigm

Single-platform paradigm Multiplatform paradigm

Development Tools Offers native development tools exploiting the potential of a specific platform

Overcomes the constraint of utilizing different languages and frameworks for each platform.

Development Practices Requires mastering the use of diverse languages, operating systems and development tools.

Takes advantage of knowledge and expertise already attained by programmers.

Development Cycles Requires repeating platform-specific efforts for each target, for each development cycle.

Develop once, deploy anywhere

User's Experience Delivers applications with a true native experience, exploiting all device's resources.

Do not allow access (or provide limited access) to some features of the mobile device.

Application Marketing Bounded to a single application marketplace Applications can be distributed through a variety of marketplaces.

In the same sense, cross-platform development paradigm may carry consequences affecting the three

groups. Naturally, widen horizons in software development is an advantage: Users will count on a greater number of applications available for their operating systems, and successful products from other platforms will be available too. Software developers may take advantage of skills and technologies previously acquired (e.g. web design and programming) and the end products may be deployed for a variety of application markets, potentially boosting their revenues. Platform providers will benefit from competition: a competitive market structure promotes increasing quality and better prices, and diverse platforms can enjoy as well from applications originally thought for another platform and previously unavailable, causing a positive impact on their customers. In Table 2 we show an outline of the potential advantages for stakeholders after selecting the target-agnostic development paradigm.

Table 2. Potential advantages of multiplatform development paradigm

Software development Application marketing

Customer Users may experience applications developed for a single platform, compare and prefer.

Application availability is not limited to a single distribution market. Applications available with more quality, at less price.

Developer Reduces the costs of conducting redundant activities, receiving training, purchasing tools.

Allows developers to promote and profit from different distribution markets.

Platform Provider Platforms may take advantage of applications originally developed for another OS.

Promotes competition across platforms. More quality, less price for their customers.

Notwithstanding, changing a development paradigm may carry disadvantages that may lead to

unsuccessful products. Several works have been conducted to shed light on the way in which shifting a paradigm (e.g. coding practices, incorporation of new processes and tools, requirements management, etc.) can change, either positively or negatively the development philosophy, project management, quality and impact of the resulting products [4, 5, 8-13]. In our scope, we need to analyze such impact from the

Page 5: Potential Advantages and Disadvantages of Multiplatform Development Frameworks–A Vision on Mobile Environments

1206 Luis Corral et al. / Procedia Computer Science 10 ( 2012 ) 1202 – 1207

different viewpoints: For users, the most important issue rises if the application experience is not the same that the corresponding native app. For example, several features are not properly supported by current multiplatform development tools. This means that applications might present performance problems and other limitations with respect to native applications, affecting user's experience [14]. Development teams need to be aware that target-agnostic tools implies to make use of languages and interfaces originally not meant to operate a mobile device, and as such, this may carry problems. Also, mobile applications are strongly device-demanding and everyday more network-dependent; excellent operation and management of these resources are mandatory for a software application to be successful. For platform owners, an important drawback is that opening the doors may cause that successful native apps will able to migrate and gain more relevance in another target. A platform owner may want the user to invest only on the OS offered by the company, instead of sharing its signature products. Table 3 offers a list of potential shortcomings implied by the use of the cross-platform development paradigm.

Table 3. Potential disadvantages of multiplatform development paradigm

Software development Application marketing

Customer Applications do not offer a native user experience or do not exploit all device's capabilities.

Attractive applications from other platforms will not be available.

Developer Development tools still require improvements: (limited access to some features of the mobile device). Deployment requires platform-specific troubleshooting and customization.

Introduces the need to upgrade and maintain applications in diverse marketplaces

Platform Provider Investment made on research and development, and company's best practices may be involuntarily shared.

Since applications are available in different operating systems, applications are not a driver to prefer a platform.

5. Summary and conclusions

Along with manufacturers and carriers, users are the most important market drivers on mobile applications, and their preferences define the future of the mobile development business. Cross-platform development increases the potential of simple applications traditionally bounded to a smaller group of users, boosting diversity and options for users to have an even larger set of applications to choose from. Developers’ preference will play a major role: they will need to structure a flexible software process that accommodates the needs of different targets, and they will be able to target their final products to a wider extent of potential customers by conducting a single development process only. Finally, by promoting competition, platform owners will benefit from the fact that users could experience applications traditionally bounded to a certain scope, and later migrate from the competitor's platform.

It is very important to underline that the described advantages are potential benefits that may or may not occur as a result of attempting to do multiplatform development. Hopes may be turned into disappointments depending on the organizations’ ability to scale up their processes, competencies and knowledge to cope with the increased complexity of multiplatform development. Likewise, if development tools do not offer the possibilities to exploit all the potential of the device, or if the final product presents flaws, users will not be satisfied, and cross-platform products will not be successful.

As applications markets start hosting and distributing mobile apps developed with target-agnostic tools, further analysis has to be done to determine the effect of such applications on user's preferences, to tune and adapt enterprise strategies and development practices to accommodate such outcomes. Several questions will be of the interest of researchers and practitioners so as to shed light on the impact of cross-platform apps in the mobile software mainstream, for example: What is the share in the application stores of software products created with cross-platform development tools? What is the download metric for

Page 6: Potential Advantages and Disadvantages of Multiplatform Development Frameworks–A Vision on Mobile Environments

1207 Luis Corral et al. / Procedia Computer Science 10 ( 2012 ) 1202 – 1207

these kind of applications? What are the revenues delivered by applications created with cross-platform development tools? Are such downloads and revenues evenly distributed throughout different application stores? What is the overall customer satisfaction upon this kind of applications?

Conduct evidence-based research to answer these questions will help to understand the impact of cross-platform development on developer practices and user preferences, and its contribution to innovative business models, providing significant revenues and driving changes on how to develop and market mobile software. Existing assessment models may provide a comprehensive framework to evaluate this matter, given the open nature of most of the involved tools [15]. Future work will help to explain if target-agnostic development is accomplishing the goal of delivering a unified user experience in more than one platform. In summary, multiplatform development opens the opportunity of broaden the scope of an application, delivering the same experience to a larger number of users in a variety of operating platforms. Nevertheless, it triggers significant changes in current development and marketing paradigms, with direct impact on associated business models, requiring strategic acumen to evaluate implications, set scenarios, anticipate to challenges, and exploit the potential of the new opportunities.

References

[1] Yamakami, T. Mobile application platform strategies: Business model engineering for the data intensive mobile age. 4th International Conference on Mobile Business, pp. 333-339. 2005.

[2] Yamakami, T. Business model engineering analysis on mobile client-side software platform strategies. 7th International Conference on Mobile Business, pp. 59-64. 2008.

[3] Abrahamsson, P. Mobile software development: The business opportunity of today. Proceedings of the International Conference on Software Development, 2005.

[4] Mikkonen T, Taivalsaari A. Apps vs. open web: The battle of the decade. Proceedings of the 2nd Workshop on Mobile Software Engineering, in connection with MOBICASE 2011, pp. 22-26. 2011.

[5] Corral L, Sillitti A, Succi G, Garibbo A, Ramella P. Evolution of mobile software development from platform-Specific to web-Based multiplatform paradigm. ACM Symposium on New Ideas in Programming and Reflections on Software, (ONWARD! 2011), pp. 181-183. 2011.

[6] Millenial Media. Scorecard for mobile advertising reach and targeting (S.M.A.R.T.™). Report for the 3rd Quarter, 2011. Available online and retrieved January 20th from: http://www.millennialmedia.com/mobile-intelligence/smart-report. 2011.

[7] XYOLogic. Global app download reports. Report of 08-01-2012. Available online and retrieved January 20th from: http://xyologic.com/app-downloads-reports . 2012.

[8] Janes A, Russo B, Zuliani P, Succi G. An empirical analysis on the discontinuous use of pair programming. 4th International Conference on eXtreme Programming and Agile Processes in Software Engineering. Genoa, Italy. 2003.

[9] Coman I, Sillitti A, Succi G. Investigating the usefulness of pair-programming in a mature Agile team. 9th International Conference on eXtreme Programming and Agile Processes in Software Engineering. Limerick, Ireland. 2008.

[10] Moser R, Abrahamsson P, Pedrycz W, Sillitti A, Succi G. A case study on the impact of refactoring on quality and productivity in an agile team. 2nd IFIP Central and East European Conference on Software Engineering Techniques. Poland. 2007.

[11] Moser R, Sillitti A, Abrahamsson P, Succi G, Does refactoring improve reusability?. 9th International Conference on Software Reuse. Turin, Italy. 2006.

[12] Coman I, Sillitti A, Succi G. A case-study on using an automated in-process software engineering measurement and analysis system in an industrial environment. 31st International Conference on Software Engineering, Vancouver, Canada. 2009.

[13] Sillitti A, Succi G, Requirements engineering for Agile methods. In Engineering and Managing Software Requirements (Aurum A, Wohlin C, Eds.), Springer. 2005.

[14] Blom S, Book M, Gruhn V, Hrushchak R, Köhler A. Write once, run anywhere: A survey of mobile runtime environments. Proceedings of the 3rd International Conference on Grid and Pervasive Computing Workshops, pp. 132-137. 2008.

[15] Petrinja E, Nambakam R, Sillitti A, Introducing the Open Maturity Model. 2nd Emerging Trends in FLOSS Research and Development Workshop, in connection with ICSE 2009, Vancouver, Canada. 2009.