Keywords

1 Introduction

Currently, interest in microblogging platforms such as Twitter is high not only among users, but also among researchers who want to use this type of social media for their experiments or studies in different fields from fake-news detection [1, 2] to hate speech classification [3]. However, conducting a study directly on social media can raise a complexity of ethical issues [4] related to data, consent, traceability, or even the integrity of the human Person [5].

With this project, the aim was that the dilemmas presented earlier would be resolved using a platform that simulates a social media interface. This way, in all interactions, participants know the context they are in and can be sure that no personal information is stored. The goal is to provide a platform that can present content (in the microblogging format of posts) to users and record all interactions. It also aims to ensure that the constructed experiment has been properly tested in a laboratory environment before being placed on the social network, so as not to jeopardise the success of the experiment by a bug that might be discovered in a lab environment.

Since there are a variety of social networks with different functions, purposes, and audiences, this prototyping environment has modelled microblogging platforms and is inspired in Twitter. Examples of other social media that fall within this context are Weibo, GETTR or GAB.

2 System Architecture

This section describes the functionalities and requirements of the platform. Figure 1 shows the diagram of use cases and the three main blue scenarios with some sub-scenarios for each of them. The Researcher performs experiments and the SuD (System Under Development) has the task of creating the environment that allows the Subject to access and participate in the study. Thus, the Subject is a secondary actor who only provides a service to the SuD [6].

Fig. 1.
figure 1

System use case view

The object diagram in the Fig. 2 represents the second blue scenario and shows the Subject interaction with the experiment. When the SuD reacts to the instructions of the researcher (first blue scenario) creating the experiment and the Subject gives consent to participate, the environment is ready for the study. The application has a :Listener role that waits for interactions from the participant and send them to the :Database Handler, which is responsible for correctly record the data.

Fig. 2.
figure 2

Object diagram for the conduct the experiment scenario

The class diagram in Fig. 3 shows the nature of the relationship between classes. The classes comprise of interaction, tweet, tweet frame, configuration, and feed. Interact with the platform can be done through one of the buttons whose visibility is set to True. But, different from the Twitter beyond liking, retweeting, and replying, the actions of blocking, following, and sharing are still considered interaction with a post. Moreover, these actions are incremental and are only used to measure engagement of the Subject participant with the post. A configuration is defined by the researcher and can be composted by the visibility of the interaction buttons, the engagement of each post, the length of the feed, and the characteristics of the post author.

Fig. 3.
figure 3

Class diagram of the system

The platform has been developed using the framework Django. This choice is justified by the fact that it’s inherent characteristics meet the previously defined requirements. It stands out for its high scalability, which allows adding more resources at any time, no matter at what stage of development. The frontend uses templates to provide a user interface that allows participation in this study. The backend is responsible for processing the requests sent by the frontend and providing a response.

As for the database, a relational one was used because, Django, is designed to simplify the use of relational databases. Furthermore, although social media interactions are often stored in graph databases, they can easily be entered into a relational one. The database consists of 10 tables being all generated by Django migrations and the respective attributes conceived in the Django models. There are three main tables, Interaction, Configuration, and Post, which deal respectively with the actions performed by users, the variables presented in the environment and the narratives (“posts”) to be presented to the user. The user table will record data related to the user participation in the study namely time of participation and personality. This last field, it’s kept with the intention to allow the research to look for patterns related to the user’s personality and post content, this can be done, for example applying a personality test to the user. The post_by_participant table stores the content published by the user in the feed. Also, the action_type table stores the type of interaction performed by the user. A record is stored in the action_reply table if the action_type.name is a reply with the content written by the user. The hashtag and image tables, as the name suggests, contain the hashtags and images associated with a specific post. Figure 4 presents a better understanding of the data record by the system in a partial data model view.

Furthermore, were been created a filestore to keep the collected data about user’s interactions with the mouse on the platform to test whether it is possible to detect user stress and anxiety during their participation in the study [7].

Fig. 4.
figure 4

Partial data model of the tables related to the prototype environment in First Normal Form

3 Microblogging Environment Simulator

The product created by the development of the previous components is the web application presented in this section. As mentioned earlier, this platform can be used to conduct studies and collect data on user actions. It is important to emphasise that no personal data is stored, so the platform is compliant with the GDPR (General Data Protection Regulation). Since this project was developed in Python, it is open source, so it can be adapted to the needs of any research. To test/use the platform, you can Download the repository, available at: https://github.com/maria85290/MicrobloggingSimulator and follow the instructions.

The participation page, in Fig. 5, presents a layout similar to Twitter, and show to the user a set of narratives in the form of posts with which it is possible to interact and allowing the researcher to validate the narratives that are being automatically created and record data.

Fig. 5.
figure 5

Participation page

It is important to note that although Twitter served as the inspiration for the developed interface, efforts were made so it would be similar but not exactly equal to Twitter. That ensures it is clear the post was not published on Twitter even if the posted content was widely distributed. In addition, some areas of microblogging platforms, such as the user profile or private message area, were not implemented, however, they are correctly labeled.

4 Conclusions and Future Work

Recently, the numerous studies that have been developed in social media, have given the perception of the ethical problems that can arise if the research doesn’t have attention to that questions.

This paper presents a simulator for a microblogging environment that provides an ethical approach to prototyping and research. This tool arose from the recognition that conducting studies in social networks raises a number of ethical issues that are difficult for researchers to ensure and the goal is to overcome these issues in research.

The current version is a web application developed using the Django framework with a microblogging aspect that can be used by researchers interested in conducting online studies in the context of a laboratory environment.

For future work, it is recommended to implement some areas of the platform that could be relevant to participant engagement, namely the profile pages of post authors. In addition, other social networks can be explored and modeled by developing an appropriate interface.