Now, we return to the motivating scenario. We aim to help a mobile platform developer to come up with alternative solutions for structuring sustainable collaborative relationships with application developers, following the proposed method.
In the following, we first explain how to model collaborators’ objectives and decision criteria using the i* goal-oriented social modeling technique [11] (Sect. 4.1). Then, we apply the proposed method in Sect. 3 to analyze the objectives and decision criteria of collaborators in the smartphone software ecosystem in order to find out appropriate solutions for developing collaborative relationships. Since we need information about the objectives and decisions of collaborators, in Sects. 4.1 and 4.2, we use available scenarios from the Apple iOS and Google Android ecosystems.
4.1 Guidelines for Model Construction Using the i* Technique
In Fig. 1, based on the content of the scenario described in Sect. 2, we have developed a generic model of collaboration between mobile platform developer and application developer in the smartphone software ecosystem. Figure 1 explicates two main collaborators in the mobile operating system ecosystem, the activities and operations of each collaborator, the objectives and motivations of the collaborators, and the dependencies between them. In the following, we explain how this model is developed from the content of scenario:
(a) Collaborators (modeled as “Roles” or “Actors”): In Fig. 1, “Mobile Platform Developer” and “Application Developer” are modeled as Roles. Each role can be occupied by specific mobile platform developers such as Google and Apple or the specific application developers who collaborate with each of these two companies.
(b) Operations and Activities (modeled as “Goals” and “Tasks”): The main operation of “Mobile Platform Developer” is to develop the mobile software (expressed in the goal of “Mobile Software be Developed”). Modeling this operation as goal means that it can be achieved via various alternative activities and tasks. Developing mobile software include two finer-grained activities of developing mobile operating system platform and developing complementary applications and services. In the mobile software ecosystem, the common strategy is to delegate the development of complementary applications to external developers. This approach is demonstrated through “Means-Ends” relationship between the hard goal of “Mobile Complementary Applications and Services be Developed” and the task of “Delegate Application Development to External Developers”. On the other side, the main activity of “Application Developer” is to develop complementary mobile applications, which requires to obtain the software development kit for the platform. These activities are depicted in the decomposition relationship between “Mobile Application be Developed” goal and “Obtain software development kit”.
(c) Objectives and Decision Criteria of Collaborators (modeled as soft-goals): Capturing motivations and initiatives in soft goals conveys that there is no clear-cut criteria for assessing whether these objectives have been achieved or not. In the mobile software ecosystem, collaborators pursue specific objectives for collaboration. The main objective of “Mobile Platform Developer” is to increase the attractiveness of the platform. To achieve this objective, “Mobile platform developer” pursues open innovation initiatives, explicated as “Open Innovation” soft goal. For Open initiatives to be successful, external developers should be attracted to the mobile platform. This relationship is shown as “Make” relationship between “Open Innovation” and “External Developers Attracted” soft goals. On the other side, application developers would continue to collaborate with the keystone software company if their expectations are satisfied. Although feeling satisfied means differently among various developers, it can be considered as a common objective among all the application developers. This objective is captured in terms of “Development Satisfaction” soft goal in “Application Developer” role.
(d) Reasoning behind the adoption of specific approaches and tasks by each collaborator: In mobile software ecosystem, collaborators adopt specific activities for specific reasons. For example, the reason for delegating development of complementary applications to external developers is that it helps the open innovation initiative which in turn helps promote the attractiveness of mobile operating system as a high-level business objective. These relationships are shown as “Help” relationship between the related tasks and soft goals.
(e) The relationships among collaborators (modeled as “strategic dependencies”): Delegating the development of complementary applications to application developers creates specific relationships between the collaborators: “Mobile Platform Developer” depends on the “Application Developer” for the goal of “Complementary applications be developed” to be achieved. On the other side, “Mobile Platform Developer” depends on “Application Developer” for his/her satisfaction from development.
As Fig. 1 illustrates, for the mobile operating ecosystem to be successful, a “Mobile Platform Developer” needs to fulfill “Development satisfaction” in the “Application Developer”. Hence, the mobile platform developer needs to know the different groups of application developers who collaborate with it, understand why they collaborate, and create an environment that motivates them to collaborate.
To explicate and analyze developers’ objectives and motivations, in the following, we build upon scenarios from the mobile platform developer of Apple iOS and Google Android the application developers who develop applications for these two platforms.
4.2 The Apple iOS Software Ecosystem
Scenario.
Mobile Platform Developer: iOS is the Apple operating system for mobile phones and tablets, having been developed since 2007. iOS is exclusively used for smartphones and tablets produced by Apple, its license is proprietary and its source code is not publicly available. To develop applications for iOS, external developers must register in the fee-based “iOS Developers Program”, which enables them to download iOS SDK. Third-party applications are extensively reviewed by Apple to check their compliance with the guidelines set in the iPhone SDK agreement, before becoming visible to the end users via App Store. Apple charges developers for 30 % share of the application sale, but no fee is received for free applications [10].
Application Developers: According to the study [10], Apple third-party developers are mainly driven by financial gains. Intellectual stimulation is also an important factor for the developers who join Apple iOS ecosystem. These developers often prefer to charge fee for their application being used by Apple iPhone/iPad end users. The main characteristics of the iOS platform that motivate this group to join Apple iOS ecosystem are as follows: (a) Large network size of the platform (composed of the number of users, the market size, and the number of applications), and (b) the tight integration of the platform. A tightly integrated platform makes the complementary application development process easier for developers with strong motivations in financial gains by optimizing development efforts and facilitating the targeting of the applications.
Applying the Method.
(1) Explicating the objectives of the developers. As conveyed in the scenario, one major group of developers who contribute to iOS platform are driven by business and financial motivations. In the scenario, “Financial gain from application development” and “Intellectual stimulation” hint to the main motivations of iOS developers (explicated as two soft goals contributing to “Development Satisfaction” soft goal in Fig. 2). Efforts to improve the satisfaction of these social and business soft goals would help enhance development satisfactions of iOS developers’. Moreover, “Tight integration of software platform” soft goal elicits one technical characteristic of iOS platform which is of importance to external developers. A tightly integrated platform contribute to “Optimized development effort” and “Easy to target application” decision criteria of iOS developers. Therefore, finding solutions to improve the integration of the software platform would also increase the development satisfaction of iOS third-party developers.
(2) Deriving design requirements. (a) Clarifying developers’ objectives. “Financial gain from application development”, “Intellectual Stimulation”, and “Tight Integration of Software Platform” hint to some requirements of Apple iOS software ecosystem. However, to reach to specific design solutions, these requirements need to be further refined and elaborated. For this purpose, questions such as the following should be answered: “What factors influence or increase intellectual stimulation
in Apple application developers?”, or “To what factors tight integration of platform refer to?” Elaborating on these questions requires information which are not provided in the above scenario. Therefore, more information needs to be gathered about Apple iOS software ecosystem to elaborate the requirements. (b) Investigating
the fulfillment of the elicited requirements. The objectives and decision criteria of the iOS developers may be fulfilled to various extent. For example, it is possible that “Tight integration of platform” is fulfilled to a good extent, but “Being intellectually stimulated” could be not satisfactory enough. Therefore, before focusing the design attempts, it is required to gather information about the fulfillment of the elicited requirements. (c) Prioritize the requirements: We assume that from among the two non-technical requirements of “Intellectual Stimulation” and “Financial gain from application development”, the latter is probably more important for Apple application developers. Hence, it will be more effective to focus the design efforts to improve the satisfaction of this non-technical requirement among iOS developers.
(3) Concluding the requirements and reaching to design solutions: Since Apple iOS developers are mainly motivated by financial gain, “Sell Mobile Applications” is one activity that these developers perform in the software ecosystem. For performing this task, developers become dependent on iOS platform developer, for the goal of “Applications become visible to the market place” (see Fig. 2). Explicating these requirements enables the Apple iOS platform developer to find out appropriate solutions to support the application developers. One solution for supporting external developers is to “Build market channels for applications” which is currently realized by the development of App Store.
Conclusions from Modeling and Analysis. As identified in the above study, financial gain is one main requirement to sustain a collaborative relationship between iOS application developers and Apple. Therefore, building a market channel for software applications is one appropriate solution to support iOS external developers. We illustrated that this solution can be concluded by elaborate analysis and investigation of the case of third-party developers who collaborate with iOS.
However, depending on the specific situation of a software ecosystem, solutions for supporting external developers differ. To demonstrate this difference, in the next section, we walk through scenarios from Google Android Software Ecosystem.
4.3 The Google Android Software Ecosystem
Scenario.
Mobile Platform Developer: Android OS is developed by Open Handset Alliance − an alliance of 84 companies specialized in software, hardware, and telecommunication led by Google, since 2008 − as an open-source project based on Linux kernel. The open-source strategy aids to increase the adoption of Android OS platform among various mobile device manufactures. A set of software development tool kits are available for Android. External developers can download many of these SDK’s for free and without registration. The developed applications undergo a short checking process by Google Employees and are then made available to the market (via Google Play Store). Developers are charged for a non-recurring registration fee to access Google Play. However, there are also other Android app stores besides Google Play store, some of which do not charge developers with fees. The ease of use and high accessibility of free Android SDKs enables Google to attract a wide and diverse range of application developers. Similar to Apple, Google charges the application developers for 30 % of unit sales, but do not charge fees for free applications [10].
Application Developers: According to the study [10], low entry barriers (including low monetary and low technical requirements) and platform openness are the major characteristics of Google Android platform that motivates external developers to join this ecosystem. Low monetary barrier refers to the point that Android SDK is free to download. Low technical barrier refers to the point that Android OS is open-source, various SDKs are available for Android, and there is no specific technical requirements or restrictions for using Android SDKs. As a result, one major group of Android application developers are motivated by intrinsic reasons such as improving their programming skills, and having fun during development. Other social reasons, such as gaining reputation in the Android community also motivates this group of developers to choose Google Android ecosystem. Moreover, the majority of Android application developers publish their application for free on Google Play Store.
Applying the Method. (1) Explicating the motivations of developers. As described in the scenario, one major group who contribute to Google Android platform are driven by intrinsic and social motivations, and they mostly develop Android applications for free. In the scenario, “Experiencing fun during software development”, gaining “Reputation” among Android developers and end users, and “Low entry barriers” refer to the factors motivating Android application developers.
(2) Deriving design requirements. (a) Clarifying developers’ objectives. The above explicated objectives need to be further clarified and elaborated to derive the design requirements in Android ecosystem. Similar to the analysis of Apple iOS, questions such as “What factors influence or increase the experience of fun in Android developers”, or “To what factors Low entry barriers refer to?” should be answered. As described in the scenario, “Low entry barriers” consists of sub factors of “Low technical barriers” and “Low monetary barriers”. One factor which contributes to “Low technical barrier” in Android is “Platform Openness”. The refinement of the developers’ objectives is explicated in decomposing soft goals via “Help” links in Fig. 3. (b) Prioritize the requirements: From among the explicated requirements, we assume that “Reputation” is more critical than the others. Consequently, attempts to improve the feeling of being recognized in Android developers would contribute to the sustainability of Android software ecosystem.
(3) Concluding the requirements and reaching to design solutions: As reasoned about, to sustain collaborative relationships with Android developers, improving the sense of being recognized in the users and developers community (“Reputation” soft goal) is one main requirement. For the “Reputation” soft goal to be satisfied, Android Developers are dependent on Android platform developer” for the goal of “Innovations become visible to the community”. Android platform developer should find out appropriate solutions to support the application developers. One solution for supporting external developers could be to “Develop Community Websites” to publicize the information about the innovations to the end user and developer community [10].
Conclusions from Modeling and Analysis. As identified above, in contrary to Apple iOS, Android application developers choose the open-source platform to cultivate their intrinsic motivations such as skills development and reputation enhancement. Assuming the reputation enhancement as the main requirement for designing sustainable collaborative relationships with Android developers, it was concluded that different approaches should be adopted to support Android developers, such as developing community websites to publicize developers’ innovations.