Skip to content

Debriefing

Bart edited this page Jun 10, 2024 · 6 revisions

Debrief: Development of a Front-End for an Interactive Social Media Simulator

🤔 Project Description

This project involves the development of a new front-end for an interactive social network simulator. This simulator allows users to set various parameters of a social network and news posts. Users can configure characteristics of users, friends, the number of users, and social network settings. The simulator visualizes how the specific content of news posts, likes, and shares affect the spread of fake news.

🎯 Goal

The goal of the simulator is to demonstrate how a social network is structured, how the algorithm ensures that you don't see all sides of a topic, and how you can get out of such a bubble.

⚙️ How It Works

The user should be able to set up the network by creating people and assigning character traits such as [introverted, extroverted, gullible, social, antisocial]. Then, through our built interface, the user can influence the network and simulate parts of it by pressing a "step" button. By later changing properties after the bubbles have formed, you could demonstrate how to get out of such a bubble.

The user can add as many people as they want (as long as their browser and hardware can handle it). If it becomes unmanageable, a solution should be found to display it in a different way to keep it organized.

Nodes automatically become influencers if they reach a certain size and have a number of info links. When this happens, the influencer sends content to their friends with each step.

The more content a person receives from someone and likes, the faster they move towards that person. If the person dislikes the content, they move away.

There is a chance that someone sees a post and makes friends through a probability calculation based on their behavioral traits.

📖 User Stories

The project consists of three user stories. These are:

  1. As a user, I want to be able to configure a social network by displaying the number of users, user characteristics, roles (e.g., "influencers"), and the relationships between users ("friends") in a network graph, so I understand how a social network is structured. How does information spread through a social network?

  2. As a user, I want to configure the properties of a news post and the interactions (likes, shares, comments) and display them in a network graph, so I understand how information spreads through a social network. How does a recommendation system work?

  3. As a user, I want to configure the properties of the recommendation system and display them in a network graph, so I understand how algorithms amplify the spread of different types of news through a social network, which can lead to polarization (filter bubbles). Planning

User story 1 has the highest priority, and then we can proceed to US 2 and 3. The most important thing is to create something that Responsible IT can build on later.

👤 The Client

The Responsible IT research group of the Amsterdam University of Applied Sciences is the client for this project. Responsible IT focuses on researching digital technologies that contribute to the well-being of people, society, and the planet. They do this through practice-oriented research and developing and testing experimental software tools and prototypes.

The product owner is Yuri Westplat. Rick van Kersbergen and Tabish Nanhekhan work as developers on this project.

👥 The Target Audience

The primary target audience is students of the Minor in Disinformation and Misinformation. It could also be used later by other students and children.

🧩 What Exists Already

Responsible IT has created several versions of this social network simulator. One that works quite well is made in Python and looks like this:

python version

However, there are many problems with this website. It requires a lot of server resources, and when you change settings, it affects everyone. It is so busy that you can hardly see what is happening. It is not very interactive and unclear how you can influence the network. Most importantly, if you go too far in the simulation, the server or your laptop crashes.

Tabish and Rick rebuilt this Python version in JavaScript, and it looked like this:

first javascript version

This version was fully interactive, but the biggest problem was the lack of styling. The user experience was extremely poor, making it unusable.

In this version, you can:

  • Add people (single click or random 10)
  • Add posts (single click or random 10)
  • Link and unlink people
  • Like and unlike posts
  • Forward posts to friends
  • Calculate the most important person in the network.

Design rational

Clone this wiki locally