Matrix: Primary School forked a Messenger

An English translation of an interview with a German primary school teacher who adapted Matrix software for their school's needs in COVID times. They called their version Hermannpost.

Instead of relying on Teams or Google, a primary school in NRW uses a customised Matrix client during homeschooling. The effort is worth it.

An Interview by Moritz Tremmel published on 24 January 2022, 9:15 am


  1. Matrix: Primary School forked Messenger
  2. A matrix server alone does not yet make a primary school messenger
  3. How Hermannpost came to the app stores

Actually, Nacho Ruiz is deputy head at the Hermannstraße community primary school in Stolberg and not a programmer. But, searching for a messenger that works well even for primary school children and which takes into account the school's data protection and care requirements, he did not find one. So he installed a matrix server and forked the Fluffychat client to adapt it to the needs of the school and the students. The result is Hermannpost.

In an interview with, Ruiz tells how this extraordinary project came about and a primary school in North Rhine-Westphalia became a messenger operator while fighting with the corona pandemic and the flood in the summer of 2021. Schools are usually not known for outstanding IT projects. On the contrary, most schools lack IT skills and knowledge. What is different at the Hermannschule, that it even manages to set up its own messenger?

Nacho Ruiz: This is primarily a stroke of luck. Our headmistress has always taken the digital education mandates very seriously, since long before the Digital Pact for Schools was available. For example, we have long had an interactive whiteboard in each classroom. In addition, we have a great, dynamic team that is very open to digital technology and likes to engage with it.

We provide the children with the possibilities offered by the use of media. As a school we also try to find digital tools that make our work easier. And if something doesn't fit perfectly, we'll get together. We don't shy unusual ways. This is something special at our school, and I am happy to help. With these requirements you have set up Matrix immediately?

Ruiz: No, the Corona pandemic got us too cold. We were just as unprepared for homeschooling as other schools. Although we had established digital communication structures within our college – for our school management system we have Microsoft 365 – but we couldn't reach our students.

After parental requests, we decided to open a channel via Whatsapp. However, not via the teachers' private devices, but via service tablets with LTE and with their own phone numbers. In order to meet data protection as much as possible, the condition was not to create groups and not to store contacts.

From Whatsapp to Matrix How were the experiences with Whatsapp?

Ruiz: That worked pretty well. Children and teachers could get in contact again directly through the messenger. We then have made projects where children have solved tasks on paper or have crafted things and then sent photos of them.

Remember, we're a primary school. First year pupils can't read and write yet and still have to be involved in communication. That's how voice messages helped. Some children have literally spammed us. We then had to explain to them: Think about what you actually want to say and then record a voice message. This is ultimately also a form of media formation that takes place there.

We were therefore quite satisfied overall with the result. But the catch was that it ran over Whatsapp. How did you find Matrix?

Ruiz: We then searched for alternatives on the market, but each one always had some catch. For example, the administration was partly very complicated, the licenses were very expensive or there were missing speech messages that we absolutely needed. I then looked at the matrix client Element, then still Riot. The biggest hurdle was the input of username and password – especially if you want safe passwords.

Then the idea came to me: we have access to the source code, maybe as a solution we can put a QR code in the registration process. I was looking at Element/Riot at the time to see if that could work. I then pushed onto the matrix client Fluffychat, which looks much more user-friendly and is very similar to Whatsapp or Signal. In addition, it could do voice messages, which Element could not do at the time. So you got a matrix server?

Ruiz: Exactly. We had an old management server in the basement, and I installed CentOS. For the installation of the Matrix Server Synapse, we obtained help from an external admin who runs a large public matrix instance in Germany and now also manages our server. With it, we also have a contract processing contract with the GDPR.

This worked directly and didn't need much resources. We also found the on-premise idea very nice, to have the data in the school. That also convinced the parents, everyone was happy – and then the flooding came and flooded our school. There was the server in the cellar. Not to be able to reach the children in the middle of the catastrophe area at once, that was quite annoying. Luckily we had a backup and our admin Milan was able to raise a new server relatively quickly.

A matrix server alone does not yet make a primary school messenger But a server alone doesn't make a messenger yet. How was it going?

Ruiz: The more exciting question was: do we get Fluffychat adapted to our needs? For example, we wanted to prevent parents from writing other children. But also the children among themselves should not be able to write in question or form groups. We already wanted to avoid that bullying cases could occur at all.

We then took the code from Fluffychat, which was possible thanks to Open Source, and began to make adjustments. For example, we have another branding, our adapted messenger is no longer called Fluffychat, but Hermannpost. Above all, we have limited or simplified functions. For example?

Ruiz: For example, we have significantly fewer options for setting, which significantly simplifies the use of the messenger for people who are not so skilled in the art. These are often trivial things, in which we simply made some options commented out or hidden, or made the icons more school friendly and sometimes bigger, so that the children can find them better.

In addition, only teachers can create groups. As already mentioned, it was particularly important for us that parents – who also use Fluffychat for contact with the school – cannot simply write to other children. We also removed the user lists in the group rooms where you can usually see who else is in the room.

In addition, we do not send status messages when a member of a group is added or leaves them. For example, if we accept a new parent in a group, that's not the other parents' business. What do the Fluffychat developers say to your fork? Wouldn't it have been easy to integrate the functions directly into Fluffychat?

Ruiz: We wrote to the developers of Fluffychat right at the beginning. These are super nice and competent people who have also taken the time to talk to us. But for the Fluffychat developers many of our changes were not appropriate. For example, our login process with QR code and PIN requires a central administration. This is simply not an application case for Fluffychat.

Login with QR codes was the most extensive change Your login process is the biggest change you have made on the messenger. What exactly have you adapted?

Ruiz: As I said, we have to deal with primary school students, who may not be able to write yet – a user name and a long, complicated password simply don't work. I then tried to get the credentials from a QR code reader in Fluffychat. That worked directly. But if we used such a QR code, anyone could scan it and get the access data. In addition, we did not want children to be able to register with a different matrix client than ours, because, as I said, we deliberately disabled some features.

So we encrypted the password with AES and printed it as a QR code. The children can scan the QR code and the Hermannpost app can then decrypt the encrypted password. However, for security the password is not complete: the last four digits are missing. The children themselves or parents must insert them, so that no one can register only by scanning the QR code. Can the children write each other messages?

Ruiz: Not easily. The children must first have invited each other by QR code. Alternatively, they can ask teachers who can then send an invitation to the other child. We have implemented this for youth protection reasons. After all, we accompany the children in their first messenger experiences.

How Hermannpost came to the app stores Who uses Hermannpost? How many users did you have to generate QR codes?

Ruiz: All employees, all parents and children of the school have an account. These are about 500. What do you use the Messenger for?

Ruiz: The focus has been on announcements, memories and direct communication since the return to in-person schooling. During the lockdown, we taught complete lessons via the messenger. This has proven itself to us.

We had a timetable that the children could follow in real time. We started with the logo messages, and we gave the children tasks. For project teaching, we had created and distributed project books, for each page there were additional materials such as HTML pages, subject stories from the show with the mouse or videos we created or a quiz. In between there were always movement breaks with videos that the sports instructors did.

In addition, over public rooms, the children were able to receive additional offers such as music, crafts or sewing. It was a lot about getting the children active during the lockdown. Other schools had set particular emphasis on teaching via video conferencing.

Ruiz: We have not used video conferencing to deliver lessons. Our children come partly from financially not so well-placed families, who, for example, only have a smartphone that children can access in the evening. Using Hermannpost, however, they will see the groups in the evening about what happened over the day, and can still participate in the class because it does not have to be synchronous.

Also we find video conferencing difficult because of privacy. On a video call you can hear and see a lot from the families, particularly in small apartments, that is none of your business. And how do users get the app? Is Hermannpost available for Android and iOS?

Ruiz: Fluffychat is written in Flutter, which allows us to support Android and iOS. On Android you can download Hermannpost in the Google Play Store. However, we are listed there as beta version. This has the advantage for us that it is significantly less expensive because Google require fewer checks.

It's a bit more complicated on iOS. We have few iOS users, but enough that we had to provide them with the app. Here, too, we are in the beta program, but first, Testflight must be installed so that beta apps can be installed via a shared link. In addition, the app needs to be updated at least every 90 days, even if we have not changed it. In the end, we have done what is necessary to enable users to install the app. In addition, we have created instructions and help. Is there a desktop or web client?

Ruiz: Currently not. With Flutter, this would be possible without great effort. Fluffychat can do that. Does Hermannpost also support federation, such as communication with other schools? Is there an end-to-end encryption?

Ruiz: No, we deliberately did not federate because the messenger should only be used in school. With the end-to-end encryption, it is somewhat more complicated. That still gives us the most problems.

Between the teachers we have activated end-to-end encryption. With the pupils and parents at first we have avoided it, because the keys always get lost again and then old messages can no longer be read. Unfortunately, this happens again and again with the teachers, even though we have trained them, unlike the parents and children. Accordingly, we have found end-to-end encryption for parents and children so far unreasonable.

We're still looking for a solution. For example, we have already thought about generating the keys and recording them in the QR codes. So far, we simply haven't had time to deal intensively with it. But of course we used a transport encryption to the server and the hard drives in the server are also encrypted. But since we manage the server ourselves, it is not federated, and it is only used for school communication, we found it justifiable. It is, of course, not yet optimal.

The messenger of the ministry is also based on matrix – but that came later There is no official school messenger?

Ruiz: In fact, the school ministry announced a messenger before summer holidays 2020, but there was no concrete information about it at first. So we didn't know what range of functions it would offer and on what basis it would be created. But above all, we didn't know when it was coming. So we didn't want to wait for the country and then maybe find that the messenger does not have important functions for us. That is why we decided in June 2020 to take care of ourselves.

I then worked through the summer holidays, but with the start of school in August 2020 we had our own messenger solution based on Matrix and Fluffychat. The solution from the school ministry, the Logineo NRW Messenger, which is also based on Matrix, was not yet there. In contrast to us, the Logineo messenger is based on Element. Wouldn't there be a change to Logineo?

Ruiz: Unfortunately no. We are pleased that the ministry also focuses on Matrix and Open Source, but even if the basic technology is the same, our adjustments to the Logineo messenger are missing: Logineo uses a completely different registration technique with Single Sign-on (SSO). You can't use our messenger.

In addition, we manage users and groups via Matrix Corporal. For example, if we assign users to the different rooms where teaching takes place or announcements are posted for the entire school. This is not possible after logineo. With appropriate resources and know-how, you could certainly make use of our adapted messenger for the Ministry's solution – but unfortunately we did not. What problems did you face as a school that operates your own messenger?

Ruiz: The basic problem is time. Actually, we don't have the resources to run our own messenger. That's all right, and we're glad that we have the messenger and have been able to adapt it to our needs thanks to open source software.

On the other hand, our project is very time-consuming. Fluffychat continuously introduces new features and makes a lot of refactoring – that's great, of course, but we are just hardly keeping up. In addition, we are exhausted by Corona, the flood and also the app development.

It's a bit the field we're moving in. Actually, we need someone who looks after it properly as their own job – not just on the side. What do you want for the future?

Ruiz: Actually, we want someone to take over the development of the messenger. So our ideas and experiences are taken up and the project continues, professionalizes and then also opens for other schools – it does not have to be called Hermannpost. We cannot afford that right now. For example, we cannot give other schools our key to creating QR codes.

About Hermannpost: web page, interview, video (in German), source code

Original article in German at Retrieved 2022-05-20, translated by Julian Foad assisted by LibreTranslate, May 2022

#schools #matrix #awesomeFOSS #Hermannpost

Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian​ · use the Cactus Comments box above · matrix me · Fedi follow me · email me · Donate: via Liberapay All posts © Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise