1 Introduction

The development of mobile services has become so strikingly rapid in the last decade. It has been driven by three main factors: the excitement regarding mobile technology; the continuing growth of e-commerce, and the high penetration level of wireless devices worldwide [1]. With the increasing rise in smartphone ownership, the smartphone applications provide valuable and various useful features in our daily lives. According to statista.com [2], there were about 6 million applications in different app stores by the 3rd quarter of 2018. After “angry birds” became the largest mobile app success story, more and more individuals are trying to come up with new ideas and develop their own mobile apps. Therefore, in colleges and universities, Mobile application development class becomes one of the hot courses in Computer Science or Information Systems. However, there are many real challenges in mobile app development, such as dealing with multiple mobile platforms, and analyzing and testing mobile applications [3]. Students in the Mobile Application Development class not only need to learn the computer language, but also have to face to and overcome these challenges. Wilson and Shrock [4] identified 12 factors contributing to the success of learning a computer science program: math background, attribution for success/failure (luck, effort, difficulty of task, and ability), domain specific self-efficacy, encouragement, comfort level in the course, work style preference, previous programming experience, previous non-programming computer experience, and gender. These factors are considered from students’ learning perspectives. From a teaching perspective, failure in an App design and development could be a lack of alignment by teachers of pedagogical models with students’ learning outcomes [5].

New technologies always bring new teaching methods in classes [5]. In education, gamification, the adoption of game elements in non-game contexts [6], becomes a new method to help students learn new knowledge in a game environment. Gamification transforms a “serious” and “boring” knowledge learning process to a gamified flow by entertaining students with enjoyment and fun as to educate, train or change their behaviors. In mobile application development education, gamification can be helpful toward students who have different learning styles and learning difficulties. The purpose of this study is to address the usefulness of gamification in mobile application development education and propose a gamification model to improve students’ learning outcomes.

2 Literature Review

2.1 Mobile Application Development

IBM software team [7] categorized three types of mobile applications: native, web, and hybrid. A native application runs on a certain mobile Operating Systems (IOS, Android, etc.) and can be downloaded from an App store. Therefore, the same native application will have different version for different Operating Systems (OS) in different App stores. Web based applications runs on a browser and does not require different versions for different OS. Hybrid applications combines both native and web applications utilizing native development and web technology. Native applications are getting more popular now for they can easily adopt mobile devices’ native functions or features, such as camera, calendar, and so on. Additionally, in mobile application development courses, we always teach native application development. Therefore, native applications represents the mobile applications in this paper.

Through a case study, Falloon [5] explored advantages of mobile applications in education:

  1. a.

    communicating learning objectives in ways young students can access and understand;

  2. b.

    providing smooth and distraction-free pathways towards achieving goals;

  3. c.

    including accessible and understandable instructions and teaching elements;

  4. d.

    incorporating formative, corrective feedback;

  5. e.

    combining an appropriate blend of game, practice and learning components;

  6. f.

    providing interaction parameters matched to the learning characteristics of the target student group.

However, the quality of a mobile application significantly impacts users’ adoption [8]. From the mobile development perspective, Joorabchi et al. [3] argues that there are four general challenges in mobile application development: Mobile application platforms, application monitoring, analysis and testing, intensive data handling, and updating applications. From mobile application success perspective, Inukollu et al. [8] identified four crucial factors that cause mobile apps to fail: negligence by the developers, technical issues, inadequate marketing efforts, and high prospects of the users/consumers. Table 1 summarizes the combination of the findings from both studies.

Table 1. Challenges of mobile application development.

2.2 Gamification

The purpose of gamification is to increase users’ engagement with an application and to improve their adoption and retention by removing obstacles preventing behaviors with enjoyment experiences [9]. Original coined in 2008, gamification borrowed theories from game design and applied into variety of areas, such as education, online communities and social networks, health and wellness, crowdsourcing, sustainability, orientation, computer science and engineering, research, marketing, computer-supported cooperative work and other applied research areas [10].

A widely acknowledged game design framework is the Elemental Tetrad Model [11]. There are four constructs in the proposed model: Story, Mechanics, Aesthetics, and Technology. The story element provides a platform with a meaningful context to offer players a cognitive system to understand, explore, and consume. The mechanics element regulate the basic rules and structural aspects of the game, such as a gravity effect from real world. Additionally, mechanics defines the success of tasks of each level in the game and rewards to the players. It is a protocol or contract between the game and players to limit players’ in-game behaviors, control and enable players’ desired achievement. In an open world game with artificial intelligence, the mechanics provide a dynamic, flexible, and open-end environment for players to create unique and customized experiences. The aesthetics element refers to players’ feelings of a game from graphical design and human-computer Interface (HCI) perspectives. It interrelates with story element closely offering game players an immersive experience in virtual world. The last element, technology, provides hardware support for the game to guarantee game players enjoying the game without technical issues. It also expand game players’ experiences with certain technologies. For instance, the Internet connection will enable multiple players to play the same game at the same time on a server, which gives players social network experiences.

In Schell’s framework [11], all four elements have to align with players’ engagement. Therefore, game players’ characteristics should be considered as a key aspect in a gamification design. Adopting Bartle’s [12] two dimensional model with player orientation and player competitiveness, Robson et al. [13] defined four types of players in gamification: strivers, slayers, scholars, and socialites. Strivers are the players with high competitiveness and self-orientation. These players always try to reach the best personal score or gain highest self-performance. Slayers, with high player competitiveness and more social personality, are more interested in comparing with other players in game achievement. Scholars are players with low competitiveness and more self-orientation. Understanding and learning experience is more important for scholars in the game. Lastly, with low player competitiveness and high socialization, socialites prefer to build social relationships in the game.

Gamification is an integration of game elements and gamified activities with no-game context. Deterding et al. [14] identified five levels of game design elements, which should align with gamified no-game context in gamification (see Table 2).

Table 2. Levels of game design elements.

Kiryakova et al. [15] list key features/elements in gamification: users, challenges/tasks, points, levels, badges, and ranking of users. As a combination and integration of a game and no-game context, gamification is a complex process with multiple challenges. According to multiple case study results, Robson et al. [13] identified five lessons for gamification design:

  • Understand players before finalizing the game mechanics;

  • Find right time to reward players in the game;

  • Expand the game with levels, tasks, or players as needed;

  • Gamified experience needs to be monitored;

  • Use gamification mechanics to keep track of players’ scores.

Additionally, Morschheuser et al. [16] argued that a gamified software has two critical requirements as to smoothly integrating both gamified and no-game context: well-designed functions of no-game context and gapless engagement with gamified elements.

2.3 Gamification in Education

The educational application has seen a rapid ascent of the adoption of gamification in last decade. Cases were implemented to assess the usefulness of gamification in education. Li et al. [17] tested gamification features in a gamified AutoCAD tutorial system and found that 20–76% completion speed increase for four tasks. This tutorial system also increased engagement, enjoyment and performance among novice users. A badge system was developed to increase interaction in online education [18]. Half of the students were motivated when a friend achieve badges. However, in Denny’s study [19] in an online course, badges was distributed unevenly across students suggesting that students were motivated by other factors in this online learning. In some other cases, students did not enjoy the gamified design [20] or most of the students did not consider the software being a game [21]. To ensure the quality of gamification design and deal with the complexity on the design of engagement challenges, a design principle was recommended by Morschheuser et al. [16]:

  • DP1. Understand the user needs, motivation and behavior, as well as the characteristics of the context

  • DP2. Identify project objectives and define them clearly;

  • DP 3. Test gamification design ideas as early as possible;

  • DP 4. Follow an iterative design process;

  • DP 5. Profound knowledge in game-design and human psychology

  • DP 6. Assess if gamification is the right choice to achieve the objectives

  • DP 7. Stakeholders and organizations must understand and support gamification

  • DP 8. Focus on user needs during the ideation phase

  • DP 9. Define and use metrics for the evaluation and monitoring of the success, as well as the psychological and behavioral effects of a gamification approach

  • DP 10. Control for cheating/gaming-the-system

  • DP 11. Manage and monitor to continuously optimize the gamification design

  • DP 12. Consider legal and ethical constraints in the design phase

  • DP 13. Involve users in the ideation and design phase

Additionally, Garcia et al. [22] proposed a gamification focused on application lifecycle management (GOAL) framework to improve the quality of gamification (Fig. 1). The lifecycle model and the iterative monitoring design achieves a quality solution for gamification.

Fig. 1.
figure 1

GOAL framework

After testing a proposed model including gamification, learning motivation, cognitive load, learning anxiety, and academic performance (Fig. 2), Su [23] argued that a well-designed gamification learning system would affect student learning motivation and academic performance. Furthermore, Urh et al. [24] demonstrates that with proper integration of gamification in e-learning, some positive achievements, such as higher satisfaction, motivation, and greater engagement of students, can be accomplished. A gamification model was proposed in this study (Fig. 3).

Fig. 2.
figure 2

Gamification research model

Fig. 3.
figure 3

The model for introduction of gamification into the field of e-learning

3 Proposed Framework

From the literature review, we identified key challenges in mobile application development, such as user needs, programming, multiple platform issues, data handling, interface design, simple registration, testing, and user adoption. We applied these factors in the Elemental Tetrad Model [11], and we expect several learning effectiveness achievements from students in a mobile application development class using gamification, such as learning outcomes, motivation, engagement, and students’ learning experiences. We propose this research model (Fig. 3) in our mobile application development education to improve students’ learning outcomes. An example would be assigning a team project to develop a small App as a challenge between teams in the class using rewards for the best App created within the time allotted during one class session without any advanced warning of the assignment. It is a great method for team building and providing a fun way to learn (Fig. 4).

Fig. 4.
figure 4

Proposed research model of gamification application in mobile application education

4 Conclusion

The purpose of this study is to develop a research model regarding the application of gamification affecting students’ learning outcomes in a mobile application development class. There are developed studies for gamification research models along with gamification case studies for applications in education, online communities and social networks, health and wellness, crowdsourcing, sustainability, orientation, computer science and engineering, research, marketing, computer-supported cooperative work. However, there is no study focusing on specific Information Systems classes using learning through the gamification process. This paper summarizes the previous gamification studies and proposes a research model to expand the usefulness of gamification in mobile application development education. Future research in this area using the model proposed, offers a unique opportunity to further pedagogical learning in other Information Systems classes not just mobile application development.