You are currently viewing a new version of our website. To view the old version click .
Information
  • Article
  • Open Access

6 June 2020

Application Programming Interface for the Cloud-Based Management of Gamified eGuides

and
Institute of Management, Department of IT in Management, University of Szczecin, ul. Cukrowa 8, 71-004 Szczecin, Poland
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Cloud Gamification 2019

Abstract

The popularity of smartphones and widespread access to mobile internet removed earlier barriers to reliance on mobile applications run on visitors’ own devices for guidance in tourist attractions. At the same time, the tourists’ rising expectations call for solutions that can increase their engagement and satisfaction, such as gamification. Despite the availability of platforms for both general-purpose gamification and configurable eguides, until now, there have not been any ready-made solutions of this kind supporting the implementation of gamification for eguides. In this paper, we would like to present a solution filling this gap: the eMused.eu Application Programming Interface, which can be used by mobile applications (web or native) to access both tour content and gamification functionality provided on a cloud.

1. Introduction

For various reasons, including cultural (increasing share of individual visitors and decreasing share of group visitors) and economic (increasing wages and decreasing prices of electronics), tourist attractions tend to replace or complement human guides with electronic devices that can be operated by visitors themselves for the same purpose [1] (p. 138). With the widespread proliferation of smartphones [2], this can be simplified to providing the visitors with a mobile application they can use on their own mobile devices in a Bring-Your-Own-Device (BYOD) scheme. However, providing a rudimentary eguide with audio, text and static or moving images can be not enough, as rising tourist expectations call for solutions that can increase visitors’ engagement and satisfaction [3] (p. 173). One such solution is gamification; that is, the use of game design elements in non-game domains such as tourism, which has been reported to affect visitors’ behavior and perception of the visiting process [4].
Since the early days of mobile eguides, there has been an effort to separate tour content from the software used to present it to the visitors (see e.g., [5] (p. 70)), so that even nontechnical tourist attraction personnel could develop and make changes to the content provided to the visitors. The separation of the gamification layer from the main eguide functionality came later, but it is now a well-established approach (see [6] and works cited therein).
Such a separation opens up the possibility of simplifying eguide development, provided that a set of standard content- and gamification-related functionalities is made available via a dedicated application programming interface (API). While there are well known web platforms providing API for both general-purpose gamification (such as Google Play Game Services [7]) and mobile eguide content (such as the izi.TRAVEL API [8]), there are no ready-made solutions of this kind aimed at the implementation of gamification for eguides.
Such an API has been developed within the framework of an international project involving several tourist attractions from the South Baltic area [9]. In this paper, we would like to present the design and development of this API, named the eMused.eu API [10], which can be used by mobile applications (web or native) to access tour content and gamification functionality provided on a cloud.

3. Problem Context

The motivation for the presented work came with the development of BalticMuseums: Love IT!, an international project realized under the Interreg South Baltic Programme 2014–2020 and supported by the European Union from the European Regional Development Fund [9]. The main aim of this project is to develop multilingual BYOD mobile-guided tours providing an enhanced visitor experience, featuring multimedia content and gamification. Integrating the game design elements into the tours is thought to result in making the visitor experience more involving and amusing, and extend the single visit into a long-term relationship.
During an early phase of the project, it became clear that no single eguide application can satisfy the diverse needs of the project partners, comprising museums of various sizes and scopes. The work focused on developing a common eguide gamification framework which could then be adapted by the specific museums [18]. In the technological aspect of the framework, the search for software platforms to recommend for the development of gamified eguides yielded no satisfactory results; the considered GBaaS platforms were either too limited in the provided scope of gamification or too costly in the long run, and the open-source eguide management platforms featured no (or almost no) gamification support at all. This fueled the effort to develop a fully-fledged solution for eguide gamification implementation, rather than a thin wrapper linking eguide content management systems with GBaaS platforms. From the very beginning, its design goals featured a wide area of possible usage, encompassing not only the diverse project partners but also future adopters. This complicated the requirement elicitation process, which eventually relied on as many as six different sources: gamification literature survey, surveys among museum visitors, hackathons organized with the goal of obtaining a fresh look at eguides, experience reports from the use of existing eguides, interviews with the development teams of existing eguides and interviews with future eguide content developers [18].
As a result, we were able to define key requirements grouped in seven functional areas:
  • Visitor account, providing authorization for eguide users;
  • Tour organization, providing storage and access to the content defining the tour structure;
  • Tour and user data, providing storage and access to information defining the lowest-level items of both the tour and eguide user portfolio;
  • Quizzes and surveys, providing storage and access to the content of quizzes and surveys and handling responses;
  • Team management, providing support for joining eguide users into teams, so that team quests can be solved and team achievements attained;
  • Visitor Activity Tracking, handling events generated by eguide users and checking actions available for a specific tour element;
  • Internationalization, providing functionality related to eguide internationalization.
The gathered requirements served as a basis for a list of services that a gamified eguide app can rely on to be available and, consequently, the specification of the eMused.eu API to be described in the next section. The API’s name stems from the name of the web domain at which the first service conforming to it is hosted, but it is also the name of a collaboration network for the promotion of tourist attractions that provide visitors with gamified BYOD eguides, as chosen by its founding members, the BalticMuseums: Love IT! project members [19]. Note that the network is open for all institutions regardless of the technology for implementing gamification they use, and the access to the eguide gamification service hosted at emused.eu is free for all the network members.

4. Functional Coverage of the eMused.eu API

4.1. Visitor Account

One of the advantages of the BYOD mobile eguides over rented mobile devices is that they belong to visitors, so they stay with them after a visit, allowing them to prolong their experience and possibly allowing designers to build gamification schemes that span over many visits. In order to make such a long-term connection possible, the visitor has to authorize the eguide application. Note that, if the management of a specific tourist attraction does not wish to make such a connection, there is no need for actual authorization; while the eMused.eu API will still require authorization data to distinguish among its users, these could be generated randomly by the eguide application itself (merely prompting users about it). There are two authorization methods supported: classic, using a username and password (discouraged, as users are reluctant to create yet another web account); and OAuth2-based [20], allowing authorization via a third-party service, e.g., one that the user may highly probably have already registered to, such as Facebook or Google.
The eMused.eu API endpoints from the Visitor account area are listed in Table 1.
Table 1. Visitor account endpoints.

4.2. Tour Organization

The eMused.eu API conforms to the following model of tour content organization: Site > Area > Route > Location > Item.
Site is the tourist attraction hosting the tour. It is assumed that the eguide application is connected to only one site at any moment.
Area is a section of the tourist attraction (in spatial terms) defined by its managers. It could be a separate building or just a part of it, e.g., hosting a temporary exhibition with separate tickets. Many tourist attractions comprise only one area.
Route is a, possibly ordered, set of locations at which respective points of interest are placed. A tour map is connected to a route; hence, only locations placed on a route will be visible on a map for the eguide user. Thus, there can be many routes for a single area, differing in the choice of locations (e.g., long/short) or just the form of presentation (e.g., technical drawing for adults/comic-like drawing for children). The set of supported languages is assigned to a route for the user’s information of what to expect from choosing it, though in order for the user to get the actual content in the chosen language, its translation has to be available.
Location denotes a location in the physical sense; that is, a place a visitor can come to.
Item denotes a set of content to be presented to the user in a single eguide application screen (it could therefore also be thought about as the user’s location within the application). As the same concept is used to handle the set of contents defining items that are part of the eguide user portfolio (e.g., the virtual guide character he/she chose, his/her avatar or the virtual possessions he/she has obtained), they also form the eguide application screens that could be viewed by users; the endpoints related to items will be presented in the next subsection.
The eMused.eu API endpoints from the tour organization area are listed in Table 2.
Table 2. Tour organization endpoints.

4.3. Tour and User Data

The eMused.eu API uses Item as a universal container for sets of contents to be presented to the user in a single eguide application screen (it could therefore also be thought about as the user’s location within the application, as opposed to Location, which specifies the user’s location in the real world). Note that this concept also includes items that are part of the eguide user portfolio (e.g., the virtual guide character he/she chose, his/her avatar or the virtual possessions he/she obtained), as they also form eguide application screens that could be viewed by users.
The eMused.eu API provides controlled access to resources featured in the displayed items (i.e., an unauthorized access to the respective resources is impossible, even knowing their URLs).
The eMused.eu API endpoints from the tour and user data area are listed in Table 3.
Table 3. Tour and user data endpoints.

4.4. Quizzes and Surveys

Quizzes are an effective means of implementing gamification, as exemplified by modern student response systems such as Kahoot! [21], and are especially helpful in strengthening the educational role of eguides. Regarding surveys, mobile eguides provide a much more convenient method of collecting data compared to Paper & Pen Personal Interviews or even Computer-Assisted Personal Interviews. The surveys can be applied right after finishing a tour (or even, possibly in parts, during it) and the collected data, thanks to the wireless connection, can be processed right after survey completion. These two different functionalities are coupled because, on a technical level, they are implemented similarly, as surveys can be seen as quizzes without assumed right answers.
The relevant eMused.eu API endpoints are listed in Table 4.
Table 4. Quiz and survey endpoints.

4.5. Team Management

Visitors of a tourist attraction expect to have a social experience [5] (p. 76). One of gamification techniques that addresses this need is setting challenges that require cooperation [22].
In order to make it possible for the users to face such challenges, the eMused.eu API provides endpoints for creating and joining teams. They are listed in Table 5.
Table 5. Team management endpoints.

4.6. Visitor Activity Tracking

Visitors perform various types of actions while using the eguide application. The most obvious is the mere act of visiting a location, but more precise actions can be aimed at specific content elements (to be viewed or skipped) or gamification elements (e.g., puzzles solved or failed to solve). The eguide application reports events generated by defined user actions to the server with the necessary context information as defined in [23] (pp. 2043–2044) (note that the eMused.eu API follows the set of data proposed there, not the textual description format). The eMused.eu API does not expose the rules, which are processed server-side by the dedicated rule engine [24], which checks conditions depending on the event parameters and the current game state, possibly triggering relevant rules resulting in awarding points, badges or virtual items, or moving the user to hidden route items; such a result is sent back in the response to the API call.
The eMused.eu API endpoints handling visitor activity tracking are listed in Table 6.
Table 6. Visitor activity tracking endpoints.

4.7. Internationalization

One of the key advantages of mobile eguides is their ability to deliver content in a language preferred by the visitor without the need to provide human guides that would be able to speak that language (the only requirement is to have the content translated).
The eMused.eu API endpoints provided to support eguide internationalization are listed in Table 7. Note that the endpoints listed there require no prior authorization.
Table 7. Internationalization endpoints.

5. Implementation

The eMused.eu API follows the REST paradigm: its endpoints are accessed using standard HTTP methods, such as GET and POST, targeting a specific URL. The data serialization format used was JSON.
The reference service conforming to the eMused.eu API [10] was implemented in Python 3. The eguide management panel was developed using the Django framework. The solution uses the PostgreSQL database management system and Nginx web server. The following external Python modules were used: bootstrap4, django-cors-headers, django-extensions, django-filters, django-qr-code, django-crispy-forms, django-private-storage, django-rest-framework-social-oauth2, sorl-thumbnail.
Due to its size, ensuing from the complexity of the solution, it is difficult to present the actual implemented data model on a single figure; a simplified data model featuring the key elements of the object types referred to in the list of endpoints is shown in Figure 1.
Figure 1. A simplification of the data model referenced by the API.
The reference service conforming to the eMused.eu API was programmed mostly in Python. Table 8 lists primary statistics for the source code implementing the functionality behind the API (including the eguide management platform user interface).
Table 8. Code statistics.

6. Verification

6.1. Functionality

In order to check whether the eMused.eu API actually fills the gap between existing gamification-specific and eguide-specific APIs, its key functionality elements were compared to one example of the latter (izi.TRAVEL API [8]) and one example of the former (Gamification API [17]). As can be seen from Table 9, this goal was achieved, as the eMused.eu API covers the functionality of both the existing types of APIs and extends them with elements that were found in neither (the support for Grouping routes and Surveys).
Table 9. Functionality comparison between the presented API, an eguide API and a gamification API.

6.2. Performance

In order to check whether using the API does not hinder the performance of the eguide apps depending on it, performance tests using a database containing a mix of test and real-world (obtained from the BalticMuseums: Love IT! project [9]) eguide data were performed on a reference implementation of a service conforming to the API. The obtained time measurements for respective endpoints show that the API can ensure smooth eguide operation even when hosted on a virtual machine with limited resources (see Table 10). Note that, though the measurements for two endpoints (/api/route/and/api/item/) are distinctly high, they do not mirror real-world usage scenarios, in which they will be used almost all the time with parameters specifying one item or route for which to retrieve data (rather than retrieving data for all items or routes, as was the case in this performance test).
Table 10. Statistics on the most aggravating endpoints (1000 requests per endpoint).

7. Conclusions

The eMused.eu API was designed for the cloud-based management of gamified eguides to provide a ready-made solution for tourist attractions willing to provide their visitors with mobile eguides featuring gamification configured according to their specific needs. It covers seven main functional areas which are crucial for the operation of eguides: Visitor accounts, Tour organization, Tour and user data, Quizzes and surveys, Team management, Visitor Activity Tracking and Internationalization.
The developed API met its design goals. The coverage of the eMused.eu API includes the functionality areas of existing both gamification-specific and eguide-specific APIs. The performance tests on a reference implementation of a service conforming to the API show that the delay caused by calls to the API is acceptable in practical conditions.
The eMused.eu API obviously has its limitations. While it was designed to satisfy the needs of tourist attractions of various types, and make it as universal as necessary to implement various gamification schemes, there are too many game design elements for a one-solution-fits-all to be possible. It will nonetheless be our future work to discover the functionality elements which are missing from the eMused.eu API in its current version, but are looked for by many developers of gamified eguides, and consequently extend the future releases of the API to include them.
In order to sustain the availability of the eMused.eu API in the cloud, the BalticMuseums: LoveIT! project partners decided to form a cooperation network [19], the responsibility of which it will be to maintain the hosting of the services conforming to the API and make decisions regarding future upgrades of the API. The network is open for other museums that wish to make use of the eMused.eu API, with the only expected commitment to be participation in the server upkeep costs.

Author Contributions

Conceptualization, J.S.; methodology, A.K.; software, A.K.; validation, A.K.; investigation, J.S.; resources, A.K.; data curation, A.K.; writing—original draft preparation, both authors; writing—review and editing, both authors; visualization, A.K.; supervision, J.S.; project administration, J.S.; funding acquisition, J.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research was part-financed from the European Regional Development Fund under the Interreg South Baltic Programme, grant number STHB.02.01.00-32-0055/16.

Acknowledgments

We would like to thank all the partners of the BalticMuseums: Love IT! project and subcontractors who knowingly or not contributed to the requirement elicitation and testing processes of the eMused.eu API.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

References

  1. Krosbacher, M. Authenticity and the Use of Multimedia at Cultural Tourist Attractions. Ph.D. Thesis, Technological University, Dublin, Ireland, 2010. [Google Scholar]
  2. Smartphone Ownership is Growing Rapidly around the World, but Not Al-ways Equally. Available online: https://www.pewresearch.org/global/2019/02/05/smartphone-ownership-is-growing-rapidly-around-the-world-but-not-always-equally (accessed on 2 February 2020).
  3. Tussyadiah, I.P. Technology and Behavioral Design in Tourism. In Design Science in Tourism; Fesenmaier, D.R., Xiang, Z., Eds.; Springer: Cham, Switzerland, 2017; pp. 173–191. [Google Scholar]
  4. Lee, B. The Effect of Gamification on Psychological and Behavioral Outcomes: Implications for Cruise Tourism Destinations. Sustainability 2019, 11, 3002. [Google Scholar] [CrossRef]
  5. Not, E.; Petrelli, D. Empowering cultural heritage professionals with tools for authoring and deploying personalised visitor experiences. User Model. User-Adapt. Interact. 2019, 29, 67–120. [Google Scholar] [CrossRef]
  6. Swacha, J. Architecture of a dispersed gamification system for tourist attractions. Information 2019, 10, 33. [Google Scholar] [CrossRef]
  7. Google Play Game Services. Available online: https://developers.google.com/games/services (accessed on 4 April 2020).
  8. izi.TRAVEL API. Available online: https://izi.travel/en/api (accessed on 4 April 2020).
  9. BalticMuseums: Love IT! Available online: http://bmloveit.usz.edu.pl (accessed on 4 April 2020).
  10. eMused.eu API. Available online: https://cms.quistorp.emused.eu/docs/ (accessed on 4 April 2020).
  11. TAP CMS Authoring Tools. Available online: https://github.com/IMAmuseum/tap-cms/wiki (accessed on 4 April 2020).
  12. Stein, R.; Proctor, N. TourML: An Emerging Specification for Museum Mobile Experiences. In Museums and the Web 2011; Archives & Museum Informatics: Philadelphia, PA, USA, 2011. [Google Scholar]
  13. Guidepost. Available online: https://gitlab.com/americanart/guidepost (accessed on 4 April 2020).
  14. Audio Guide Usage: IPhone Versus Android in 2018. Available online: https://izi.travel/en/blog/audio-guide-usage-iphone-versus-android-in-2018 (accessed on 4 April 2020).
  15. Paiva, J.; Leal, J.; Queirós, R. Gamification of learning activities with the Odin service. Comput. Sci. Inf. Syst. 2016, 13, 809–826. [Google Scholar] [CrossRef]
  16. Gamification Server. Available online: https://github.com/ngageoint/gamification-server (accessed on 4 April 2020).
  17. Phanzu, K.; Thévoz, A. Gamification API. Available online: https://aurelienthevoz.docs.apiary.io (accessed on 4 April 2020).
  18. Swacha, J.; Muszyńska, K. Towards a Generic eGuide Gamification Framework for Tourist Attractions. In Proceedings of the 2018 Annual Symposium on Computer-Human Interaction in Play Companion Extended Abstracts, Melbourne, Australia, 28–31 October 2018; ACM: Melbourne, Australia, 2018; pp. 619–625. [Google Scholar]
  19. eMused.eu. Available online: https://emused.eu/ (accessed on 4 April 2020).
  20. The OAuth 2.0 Authorization Framework (RFC 6749). Available online: https://tools.ietf.org/html/rfc6749 (accessed on 4 April 2020).
  21. Aleksic-Maslac, K.; Sinkovic, B.; Vranesic, P. Influence of gamification on student engagement in education. Int. J. Educ. Learn. Syst. 2017, 2, 76–82. [Google Scholar]
  22. Nicholson, S. A RECIPE for Meaningful Gamification. In Gamification in Education and Business; Reiners, T., Wood, L.C., Eds.; Springer: Cham, Switzerland, 2015; pp. 1–20. [Google Scholar]
  23. Swacha, J. Representation of Events and Rules in Gamification Systems. Procedia Comput. Sci. 2018, 126, 2040–2049. [Google Scholar] [CrossRef]
  24. Kulpa, A.; Swacha, J. Design and Implementation of Rule Execution Mechanism for an eGuide Gamification Web Service. In Information and Software Technologies; Damaševičius, R., Vasiljevienė, G., Eds.; Springer: Cham, Switzerland, 2019; pp. 173–181. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.