Academics on Mastodon – some notes on a minimal web app for creating customized following lists for the Fediverse

Several days ago I saw the opportunity, that some of my sociological colleagues would move from twitter to the Fediverse. I started a simple list in this blog, to help them find each other. Thomas Haase then suggested making a CSV file from the list, to allow importing it in Mastodon. I thought, it would be nice to have a simple way of choosing whom to follow, so I wrote a very rustic webpage, that generates the CSV file based on your selection. As this was quite simple, I thought some friends could perhaps be interested in adepting it to their disciplines. I did not expect it to scale very much.

That’s why I was admittedly a bit out of my depth these last days. Much more requests to be added came in then I expected. Multiple people really forked my repository and adapted it to their needs. And, as we had switched from a simple list to a ‘web app’, I felt it necessary to double check with the people from the initial list, if they are still ok with being on the list in its current form.

tl;dr 
Thanks for using the “Sociologists on Mastodon” for other disciplines. I am not very proficient with webdevelopment and such stuff, so don’t expect everything to work smoothly. I try to to break anything. Perhaps it could make sense to be in contact. I found some solutions for pressing problems I had. Perhaps you have similar problems to my solutions. Also, you might be intersted in what I would like to work on in ordert to make this more usefull for users.

The fact that other people really use things I put on GitHub is new to me. Usually I fiddle around and see what works. Now I am a bit concerned that changes I make could cause problems to others (especially for those just adapting the page without knowing their way around HTML and JavaScript). To avoid too much hassle, we have now created a “dev” branch and will be working on changes there, in order to make them more solid, before letting them go live.

I am not sure, if that is even relevant, but I feel it could be helpful to have some means of being in contact, just in case there are issues relevant for all of you, who are maintaining a Academics on Mastodon webpage. You might have seen, that I created a Mastodon group (@aom_list@a.gup.pe) and a Matrix room (#AcademicsOnMastodon:riotchat.de). This could be a good way of staying contact, if there is any need. (I won’t be able to give in detail support, though, as I am desperately trying to finish my PhD this year!) Additionally I try to make a blog post from time to time, to keep you up to date on what changes are being made and what I am working on. I guess that could make it a bit easier than having to go through all the commits. If it’s relevant, fine, if not, I will just let it fade out inconspicuously.

Homer Simpson moving backward and disapearing into a hedge.

A better way of adding new accounts via email

As I said, I was a bit overcharged, when a lot of people reached out on Mastodon to be added. Some new members also forget to mention me, so might have missed some. Given that consent is an important principle for the lists generated based on Sociologists on Mastodon, I can be problematic that Mastodon threads and replies can become a bit messy. It makes it difficult to retrace who has been added how, and makes it prone for errors. Having all the requests, mentions, questions etc. coming in, at times, felt like wave that drowns me. (I am not very good in dealing with stress at the moment, it seems.)

So, this weekend, I tried to set up a tool for adding people via email. This feels better already. The page is not yet included in the main repro, but I am using a work in progress version. I want to share it with you, despite still being a bit “clumsy” (looking at you, Hendrik 😉), in case you deal with similar problems as me and are looking for some better way to manage incoming requests. You can find this unfinished but running version here: https://github.com/trutzig89182/AoM-add-user.

How does it work?

Basically, the new user enters their information. At the end they press either a button that autogenerates an email containing their line for the csv file, or a button that simply prints this information to the webpage. That allows a user to send you the information, without using an e-mail. The email also has a predefined subject, which allows you to filter the email into a folder in your inbox. Both, you email and the subject can be added in the first lines of the body within the HTML page in add-user.html.

Changing the process of adding new users from Mastodon to email brings one new problem with it, though. How do I assure that the person adding the account is really the person owning the account? I included a very simple verification process for this. The person just has to include a specific phrase in a post (“#SoM” in my case) and include a link to this post in the form. This way you know, that the person sending the email has access to the account. (I will try to let you redefine what the person has to include in the post, soon. I think it is in add-user-string.js for now. But if you search for it, you should be able to change it.) So far, this has really helped me a lot.

The form also includes three keywords and a language. This brings me, to what I will try to add and improve next  – and of course I invite you to make suggestions a pull requests based on how you adapted and improved the page for your purposes!

What should be done next?

1. Keywords & language(s):

As the lists grow, it becomes important to create new ways of finding relevant people. I decided to keep the information, I store in my webpage minimal. But I think it makes sense to add keywords and one or two main languages. I will try to work on some way to include them and use them for filters in the next time. Or did you already come up with a solution for that? In the dev-branch you can find a preliminary version that includes the keywords, but does not allow you to do anything else with them, yet.

The CSV file now has the additional columns “keywords” and “language”. If you don’t have these columns in your file, nothing bad will happen. They will just not be printed to the page. If you have a Colum with that name, but use it for different purposes, this could cause a problem.

For now, I have decided to separate keywords with a space (“ ”) and to link multiword keywords with an underscore “_”). I am sure this is a stupid idea, so please let me know if you now a better way to store keywords in a CSV cell! Language are based on e ISO 639 language code and should just be separated by a space, for instance “fr en”. Make sure to use no “,” as CSV uses the comma to separate cells and you will create a mess. (I will also still have to remove any “,” from user input in the form, so make sure to double check entries in case you want to adapt the unfinished form.)

I am working on this in the branch “wip-003-add_keywords”.

2. Creating better instructions:

The instructions are only a PDF file, so far, which Thomas Haase thankfully contributed. I think it could help to make more elaborated instruction in a proper html file. If you want to contribute to that, please have a go. And thank you Brenton Peterson for taking this up in the issues.

3. Deploying as GitHub action:

Hendrik has switched the deployment to GitHub actions, instead just having main deployed as website. In the longer run, this should help us to have our side running for sociologists but make it easier to have you pull from the repository without crashing all the changes you have made for your discipline.

Well, that has been a long post. Let me know if this is relevant to you, or if you have suggestions for a better means to communicate on this. I am a newbie and open to learning.

The web app is of course very coars and limited. And it will stay so. Partly because I am not a programmer or anything and just tried to stick together some very basic HTML and JavaScript. Ans partly because there are some roads I don’t want to take it: I don’t want to collect any additional information from users or from the account owners. So don’t expect this to include more than very limited information – out of which I would try to make the most with the aim to help people comming to the fediverse finding intersting contacts swiftly.

One Reply to “Academics on Mastodon – some notes on a minimal web app for creating customized following lists for the Fediverse”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.