About one year ago, I was taking part to the Federathon. The idea was to meet with other developers of federated applications (but also with regular users of these applications) and to talk about topics related to federation, during one week. I met a lot of very nice people, and it still is one of the best week of my life. But I also discovered something amazing, thanks to the designers who were with us (@[email protected] et @[email protected]) : user tests.
The idea is quite simple : you generally need three persons, one tester, one designer and one developer of the project being tested. Depending on the application, the designer begins with a few question to understand the profile of the tester. Then, a task to do with the application is given, and the tester should try to do it. They comment everything they does, what they understands, and shares their remarks about what is clear or not in the interface. Meanwhile, the developer takes notes. And it is absolutely forbidden for them to help the tester if they are stuck. In the end, wheter the tester successfully did what was asked or not, you have a list of everything that was great in the interface, or on the contrary that was confusing or poorly designed, and we can try to find solutions.
It is a great way to improve the interface and the ergonomics of a software, according to me, and it is a very accessible way to contribute, no technical knowledge is required, anybody can play the tester role. During the Federathon, we organized a few tests for Plume and Funkwhale. Here is a picture of the notes that were taken by the Funkwhale developers:
The only issue with user tests is that you have to be in front of people, and that doesn't work very well with free software, which is often made by various people from various places. So, during the Federathon, @[email protected] (if I remember correctly) had the idea of an application to do user tests remotely.
And that is how Usertest is born. One year later, I remembered this idea, and I decided to make it real.
How does it works
You have to go on the Usertest website (it is on my personal domain name for the moment, but if enough people start to use it for real, I will move it to a dedicated domain name), and create an account.
Then, you have two options. If you are maintaining or developing a project, you can add it, along with a list of tasks to do. Otherwise, you can test other people's projects, by finding a task that seems interesting to you. Then you only have to click on the "Start" button, your browser will ask if you want to share your screen and microphone (don't worry, it stops recording as soon as the test ends, nobody is spying you). Then you only have to try to do what was asked, and to comment everything. Once you are done (successfully or not), you save the video and the project maintainers will be able to see what you did.
There is also a comment area under each test sessions, to allow maintainers to ask for clarifications, for example.
The big advantage is that you only need a web browser, an Internet connection and a few minutes to contribute to a project you like.
How does it work (technically speaking)
The front-end is made with Vue.JS and the back-end is written in Go. The most "complex" part of the app, screen and voice recording, is based on WebRTC. The only peer is the serveur, which saves the video and audio you are broadcasting, to let the maintainer watch it later.
The code is on Framagit if you are curious or if you want to contribute.
By the way, I would like to find a (or many) motivated people to maintain this project. I will continue to maintain it until someone else wants to do it, but I would also like to dedicate more time to Plume, so having another project to manage is not the best. So, if you want to become the new maintainer, just tell me (either here in the comments, or on my Pleroma account: @[email protected]).
And, a little note before the end: I am not designer, so my explication of the user tests may be wrong. I also don't think that "remote" user tests will ever totally be able to replace the "live" version, that you should still do if you have the chance. And finally, there may be some bugs for the moment, it is still very experimental, be it should improve over time.