PeerTube v7 : offer a complete makeover to your video platform !
With its brand new design, PeerTube‘s new interface isn’t just prettier (although it is). It is also simpler, easier to use and understand and more accessible. Welcome to a new era of this software that empowers creators to get, control and connect their own video platforms.
đFramasoft is 20 years oldđ : Contribute to finance a 21st year!
Thanks to your donations (66% tax-free), the Framasoft association has been working for 20 years to advance the ethical and user-friendly Web.Find out more about some of our actions in 2024 on the Support Framasoftwebsite .
Let’s reflect the growth of the PeerTube Ecosystem
Seven year ago, PeerTube was mainly a tool that tech-savvy FOSS enthusiasts were happy to toy with. Then it became popular among content creators that wanted a self-hosted mirror of their YouTube/Twitch channels; and among communities who wanted to create and regulate their safe space (deaf people, queer people, etc.)
Nowadays, PeerTube is experiencing increasing success among content creators who publish original content (or exclusive content for their community), alternative media, and institutions: colleges, ministries of education, national television and radio archives, etc.
Public structures often need to share video content without attention-grabbing mechanisms or data exploitation.
To us, this is a new step in the evolution of PeerTube‘s audiences.
PeerTube design, color schemes, vocabulary, etc. has been constructed over seven years, as we went along, learning, getting help from the community. This new design was an opportunity to take a step back an get some intentions behind the interface.
The new Light/beige default theme is calmer, easier on the eye than the original Black & orange one. We also added a Dark/brown theme into the core for the dark mode aficionados. Both aims to facilitate video browsing.
Creating those new themes was an opportunity to clean up and simplify how the interface is coded (specifically: clean up the CSS, with a focus on the variables), while limiting breakages with preexisting customized themes. It is now really easier to create new themes for PeerTube, and we hope you’ll share your creations!
We also updated the PeerTube lingo. There is a reason we are now using the work « platform(s) » to talk about all the servers where PeerTube has been installed.
Yes, calling them « instance(s) » has been the norm in the tech savvy-world of activity-pub enthusiasts. But, to those not privileged enough to know about the fediverse and its protocol, the word platform is self-explanatory, and facilitates inclusion.
There are lots of informations to display on any PeerTube page. The layouts and menus grew organically during seven years of development… and needed some pruning! We remodeled those menus and pages to bring forward relevant informations, and present a more intuitive way to find out what you are looking for.
For exemple, content creators used to access their channels and uploaded video in their library (where any PeerTube user can get to their playlists, history, etc. of the videos they watched). Now in PeerTube v7, there is a new section called « video space » specific for video uploaders’ needs.
In the same way, « admin » pages for PeerTube platforms administrators have now been separated into an Overview page (to get more info about users, hosted videos, etc.), a Moderation one (to manage abuses, blocking, registrations), and a Settings one (to access configurations, runners, etc.)
The several pages that presented the videos on a PeerTube platform (Recently added, Local videos, Trending) have been merged into a « Browse videos » page, that includes quick filters to display the same selections of content in a more forward way.
The same intent has driven the new layout of the « Discover videos » page we hope it will empower curious users.
Obviously, the left bar and header menus have been reorganized to reflect those changes and make navigation even more intuitive. You can now access your account settings and notifications from the header menu, as it is customary on other websites.
Displaying relevant information to show video diversity
A big feedback from new users was that the old interface was confusing, that is was hard for a user to know where they were, and where the videos came from.
That is why, in PeerTube v7, we have added more ways for platforms owners to customize and identify their platforms: easily add a banner (used on pages, mobile app exploration, and our search engine SepiaSearch) and a platform icon (used by the mobile application) More, the name and description of their platform is now displayed to non-registered users in the left hand menu.
We have also changed how video miniatures appear in all pages that lists videos. Channel avatar are always displayed so it’s easier to identify creators, titles are highlighted, the date and viewcount of the video are present but toned down. Those changes make pages that lists videos easier to read, and facilitate identifying the video you want to watch.
The redesign was also the opportunity to prioritize the interface accessibility (for impaired people). In 2023, we prepared the code and worked on what we knew… so the planned 2024 full accessibility audit (thanks to the NGI Entrust consortium) would bring as much new and detailed improvements as possible.
Thanks to the audit, we have improved on so many issues: we fixed color contrats and themes, progress bar, several components, and various screen reader issues. We added missing labels on interactive elements, « skip menu » links, underlining to links. We also improved keyboard navigation, and re-implemented components of a non-accessible dependency.
We sincerely think that PeerTube have caught up with accessibility issues and should be up to standards… but we know, now, that there is always room for improvement, and for learning directly from those who are concerned.
With the brand new remote transcoding tool we introduced last year, getting a transcription or subtitles for your video is easier than ever. But the caption editing tool was… hum… let’s say « barebone ». We are now introducing a new modal that makes editing captions really convenient.
We welcomed and integrated upstream a community contribution on SEO (search engine optimization), to help promote PeerTube-hosted-content on search engines. A platform avatar now appears in the opengraph tags, empty accounts and channels are hidden from the sitemap, while additional video tags are now present there.
Last, PeerTube has been translated into Slovak.
We really want to take time to thank the community that contributes to translations of PeerTube, we would never have thought that our software would one day be available in more than 38 languages.
We will also wait a bit for PeerTube administrators to update their platforms, and then update the PeerTube documentation with new screenshots, and the new menus pathways.
Our next interface changes will focus on streamlining the channels & videos management experience for content creators (where several tools and menus added to the pile over the years). We also plan on fine-tuning the categorization of NSFW videos.
We obviously have many more items to our 2025 roadmap, but are still trying to secure funds to realize them: we’ll keep you informed as soon as we know more!
About funds, we really want to thank the NGI0 Entrust program for their grant that funded most of the work on this new version (and on the PeerTube mobile app we released last week). The NLnet team has been a great partner on the management of this grant, and the accessibility audit from the consortium has really made a huge difference.
The challenge: 20,000 times âŹ20 donations for Framasoft’s 20th anniversary!
Even though those new developments has been funded, maintaining PeerTube, offering great (and free) support, integrating contributions, etc. happens on our own dime. And Framasoft isn’t an IT company: we’re a non-profit advocating on digital emancipation.
Framasoft is funded by your donations! Every âŹ20 you donate will be a new balloon to celebrate 20 years of adventures and help us continue and take off for a21st year.
Framasoft is a model of solidarity:
8,000 donors in 2023 ;
over 2 million beneficiaries every month;
your donation can benefit 249 other people.
To date, we have raised âŹ110,619 of our campaign target. We still have 14 days to convince our friends and raise enough money to get Framasoft off the ground.
PeerTube mobile app : discover videos while caring for your attention
Today, at Framasoft (bonjour!), we publish the very first version of the PeerTube Mobile app for android and iOS. A lot of care went into its conception, to help a wider audience watch videos and discover platforms, while not getting their attention (and data) exploited.
đFramasoft is 20 years oldđ : Contribute to finance a 21st year!
Thanks to your donations (66% tax-free), the Framasoft association has been working for 20 years to advance the ethical and user-friendly Web.Find out more about some of our actions in 2024 on the Support Framasoftwebsite .
Even though we have been developing and maintaining the PeerTube software for 7 years, we, at Framasoft, are far from being an IT company. First because we are a not-for-profit (funded through donations, you can support us here), and then because our goal is, actually, to help others educate themselves on digital issues, surveillance capitalism, etc. and to give them tools that helps them get digitally emancipated.
Developing PeerTube has been, to us, an (happy) accident. We wanted to show that with one paid developer (for the first six years, then two), very little means (~ âŹ650,000 over 7 years) and lots of community contributions, we can create a radical alternative to YouTube and Twitch. It also took a lot of patience. From the get go, we knew we needed to aim for a slow but steady pace of growth for the software, the network of video platforms it federates, the whole ecosystem and the audiences it reached.
Videos and live-streams are increasingly watched on mobile devices. We knew the next step to widen the audience of the PeerTube network of platforms was to develop a mobile client. Last year, we decided to hire Wicklow (who completed his last internship, before graduating, here with us), to train him on mobile technologies, develop a mobile app, while continuing to get familiar with PeerTube’s core code.
This was (and still is) a big decision: a new hire needs to be funded (our huge thanks to NLnet and the NGI0 Entrust program!), and we want to stay a small structure, so we don’t have lots of room in our team. In hindsight, though, we believe it was the right one.
We surrounded ourselves with Zenika, to get help on architecture and experience on mobile strategy. We soon realized that peer-to-peer video sharing wouldn’t be a wise strategy on mobile devices. After benchmarking different technologies, Wicklow picked Flutter for the development.
We plan to share all their reports soon (early 2025), as soon as we put in the final touches. We hope that sharing this expertise and experience will help other FLOSS initiatives in their endeavor.
This preparatory work helped us realize that a mobile client was an amazing opportunity to simplify the PeerTube experience. PeerTube is not a video platform: it’s a network of video platforms, each with their own rules, means and focus, that can choose to federate with others (or not).
It is, by design, more complex than a centralized platform. One of the main feedback we got from video enthusiasts was
« I don’t know where to get an account. I don’t know where to search & find videos » (even though we maintain SepiaSearch).
Local account
Within a mobile client, we can create some kind of local account, directly on your device, so you get your watch-list, playlists, faves, etc. It saves you the hassle of finding a platform where you’d need to create an account if you just want to enjoy video content.
Explore platforms
We can also include a search engine and an interface to explore the federation of PeerTube platforms and find videos suited to your interest. Not everyone knows SepiaSearch (and other fediverse search engines) exists: you get it from the get go, in your pocket.
Highlighting platforms’ diversity
Finally, we can present content in a way that highlights the platforms, and show you where the videos/channels you watch are hosted. Differentiating platforms is a practical, visual way of introducing the concept of federation to a wider audience.
Humility check: a small French nonprofit will never have Google’s workforce nor Amazon’s money (and vice versa). But we have an edge: we are not constrained by surveillance capitalism rules, and its captology models.
Neither PeerTube nor the mobile app have any interest into grabbing your attention, force-feeding you ads and milking behavioral and personal data from you.
That is how we freed the design from toxic design patterns such as doom scrolling, curated feeds, needy notifications and so on.
It might sound obvious, but it takes real effort to conceive an interface cleaned from what has unfortunately became the new normal. Even more if you need to keep it familiar enough so it says easy to use.
A very first build, limited by (play & i) stores
We knew beforehand that fitting into Google’s PlayStore and Apple AppStore would be a challenge. They clearly weren’t ready to host a client for (not-a-platform but) a network of autonomous video-sharing platforms, published by a small French nonprofit, funded through its independent donation website.
To get through Apple’s (and, in a lesser way, Google’s) validation processes, we had to present the mobile app with a curated « allowlist » of PeerTube platforms that meet their standards.
Here is the state of those limitations right now:
Apple AppStore: limited to a very strict allowlist. Truth be told, a week before release, we are still unsure of being validated. Once we manage it, we’ll see how to widen the list & let users add platforms they want ;
Google Play Store: limited allowlist, but users can already add the platforms they want. We plan to widen the allowlist next ;
F-Droid (coming soon) and direct download apk: all PeerTube platforms we have indexed on SepiaSearch are available. If an instance isn’t declared to our index or is moderated, you can add it manually.
We cannot stress enough how their stores are not ready for independent solidarity-oriented networks. For exemple, a small « support us » donation link in our website footer or even on one of the allowed platforms triggered a « nope » from Apple.
And that’s consistent: as seen in their fight with Epic (owners of Fortnite) Apple take their share in every in-app purchases. They have an economic interest to keep your expenses enclosed in their ecosystem. Please, please: consider getting your freedom back ;).
Coming soon, in the PeerTube App
Fitting into Apple’s (and Google’s) very small boxes took time and energy, more than what we expected. We decided to release a first (incomplete) version of the app in December anyway, and gradually improve on it.
Here are the features we plan to develop and share for the PeerTube app:
Soon (early 2025)
Finalize and publish design and mobile strategy reports
Publish documentation
Play video in background
Log in to one’s account, gets subscriptions, comment videos
next video recommandation
improve on the limited platforms list situation
Then (mid 2025 (if funded))
adapt to tablets
adapt to TVs (well: AndroidTV… as for AppleTV, it will depend on their limitations)
Watch offline (for downloadable content)
Right now, we are still waiting to secure funding for those mid-2025 features (for which we have requested a NGI0 Commons grant to NLnet).
Depending on the app success and usage, we would love to add the content creator usecase to the app. But that’s a big one: upload and publish a video, manage one’s content, create a livestream, etc. We are still wondering where, when and how to get funds for this undertaking.
Care, Share and Contribute!
This is the part where we need you.
We hope you will enjoy this app, download and use it, and share it with your friends. This is a new gateway to promote PeerTube content, get audience to fabulous content creators, entice them to share more and boost that virtious loop.
This app is also a way of showcasing how media could be presented, when they are made with care for your agency and attention. More than ever: sharing is caring.
Obviously, we plan to maintain the app, add translations, implement bugfixes and security updates when needed: but this has a cost. We need to secure Framasoft’s 2025 budget to make Wicklow’s position permanent in our team (which is a priority to us). Our donation campaign is active right now, you can add your support here (and thanks!).
The challenge: 20,000 times âŹ20 donations for Framasoft’s 20th anniversary!
Framasoft is funded by your donations! Every âŹ20 you donate will be a new balloon to celebrate 20 years of adventures and help us continue and take off for a21st year.
Framasoft is a model of solidarity:
8,000 donors in 2023 ;
over 2 million beneficiaries every month;
your donation can benefit 249 other people.
To date, we have raised âŹ84,817 of our campaign target. We still have 21 days to convince our friends and raise enough money to get Framasoft off the ground.
Lokas : Record and transcribe your meetings in complete confidentiality !
Framasoft invites you to try out the prototype of Lokas, a new speech-to-text transcription application that respects your privacy. This functional demo is also an experiment by Framasoft in the field of AI, accompanied by the Framamia website, which we present here (in French).
đFramasoft is 20 years oldđ : Contribute to finance a 21st year!
Thanks to your donations (66% tax-free), the Framasoft association has been working for 20 years to advance the ethical and user-friendly Web.Find out more about some of our actions in 2024 on the Support Framasoftwebsite .
Lokas is an application (for Android or iOS smartphones) that allows you to transcribe the sound of your voice into a text file.
Basically, during a meeting: you put the phone in the middle of the table, press the âRecordâ button at the start of the meeting and the âStopâ button at the end. A few minutes later, the application sends you a text file containing the sentences spoken by everyone.
Lokas can and will do many more things, but we’ll come back to that at the end of this announcement.
Who is Lokas for?
Lokas is aimed at anyone who takes part in meetings. That’s a lot of people on the planet đ
However, we can share a few usecases.
First example: a nonprofit’s Annual General Meeting
Let’s imagine a nonprofit AGM. There are 15 people in the room, 2 moderators and 1 note taker. And a 2-hour meeting.
Concerns:
Note-taking is exhausting
The person taking the notes has limited participation
The notes may be incomplete (a âblankâ due to a bathroom break).
What does Lokas offer?
Lokas assists the note-taker, making it easier for him or her to participate (while still allowing for a pee break!).
Example of a transcription of a voice exchange using the Lokas application.
Lokas makes it possible to keep a record (audio and written) of what was said. It also makes it possible to compile statistics on speaking time, particularly by gender, so that we can see for ourselves that boys leave very little speaking time for girls.
Third example: a video meeting in a foreign language
Your activist collective is close to a Spanish association. Camille, a volunteer from your group, who speaks a little Spanish, will be doing the video with her contact in Madrid. The video will therefore take place in a foreign language.
Concerns :
You need to be able to listen again with your head down
You need a French transcript to share with board members.
What does Lokas offer?
With Lokas, Camille will be able to listen to the video again, automatically transcribe it into French, and share it from your smartphone (by email, via Signal, Matrix, WhatsApp, Telegram, etc).
Lokas is just a tool. It can assist you in taking notes. However, like any tool, it shouldn’t exempt you from using your brain!
Writing (another highly sophisticated technology) was invented at least 3,000 years ago. So humanity has been able to get together and keep written records for at least that long. Without AI. Without smartphones. Don’t throw away several millennia of technology with the water of AI. A tool like Lokas could be useful in some cases, and completely gimmicky, even unproductive, in others. This is reminiscent of the concept of Pharmakon, a concept dear to the French philosopher Bernard Stiegler: Lokas, like any technical object, is simultaneously poison, remedy and scapegoat.
The web, for example, is both a technological device enabling participation, and an industrial system dispossessing Internet users of their data in order to subject them to omnipresent marketing that is individually traced and targeted by user profiling technologies.
In the same way, Lokas can be emancipating (by facilitating participation rather than note-taking), or on the contrary restrictive (meetings in a noisy bar can be interesting, but we shouldn’t do without them because the tool works better in a quiet environment), or frustrating (« The application has crashed, I don’t have any backup notes! Technology is shite! »)
Lokas, like a car, a hammer or a pen, is not a âneutralâ tool. It’s up to you, collectively, to decide whether and how you want to use it.
âThis is the story of an app…â
We thought it would be interesting to tell you how the Lokas app came about. It means lifting the curtain on what goes on behind the scenes at Framasoft, and understanding how we can decide to do (or not to do) such and such a project. It’s also about showing that sometimes, with a bit of luck and a bit of elbow keyboard, you can do things that might seem impossible. However, as this part is not essential, we’ll leave it up to you to decide whether or not you want to read it.
Click here to read the (improbable and fabulous) origin story of Lokas
The idea for Lokas has been in the head of pyg, a member of Framasoft, for three or four years now.
The original idea (code name: â Brewawa â) was mainly to come up with an application that would be able to calculate the speaking time of participants in a meeting. The (not at all hidden) aim was to easily demonstrate that during a discussion with people of different genders, it is overwhelmingly men who monopolise the conversation.
Various tests have been carried out in recent years (hi Gee, hi bnjbvrâŻ!) to study the feasibility of such an application. But the fact is that in 2020, even if the technical possibilities were there, they weren’t really available to our tiny association, especially on a project piling on all those that Framasoft was already carrying out.
âIt’s all about technical improvements…â.
However, with the evolution of softwares such as Vosk and Whisper, audio transcription capabilities (i.e. the ability to transform the sound of sentences into text) have considerably improved.
So much so that today, these technologies are used by a huge number of software applications (from YouTube and PeerTube to BigBlueButton and WhatsApp), and are often even integrated directly into devices (Samsung has clearly made this a selling point).
The last decade has also seen improvements in âdiarizationâ processes. This rather barbaric term is in fact the technique used to identify differentâ es speakers in a discussion. For example, if Alex, Camille and Fred are having a meeting, the diarization will know how to attribute to each their sentences (no, the software won’t guess the person’s first name, but it will know – more or less – identify that there were three participants, and say âThis sentence was uttered by person #1. This sentence was said by person #2.â, etc.
This is obviously an essential phase in being able to understand âwho said whatâ in a meeting.
This process is still imperfect, but it is improving month by month. We therefore need to look ahead to 2026 or 2027 to imagine truly reliable diarization, but today it is âsufficientâ in 60 to 80% of uses under âgood conditionsâ.
âIt’s the story of an alignment of planets…â.
It just so happened that Framasoft had the skills needed to develop such an application.
Chocobozzz, developer of PeerTube, had already worked hard on the process of integrating Whisper into PeerTube, in order to be able to automatically generate subtitles for a video. So he’s very familiar with Whisper, its configuration options, its performance and so on.
Wicklow, developer of the PeerTube application, has been working for several months with the Dart language and Flutter SDK, which enables an application to be developed for different terminals (Android, iPhone, computer/tablet, web, etc.) in a single code base.
Luc, our favourite system administrator (it’s not complicated, mind you, we only have the one đ ) manages Framasoft’s entire technical infrastructure (around sixty physical computer servers). So setting up the machine that manages the transcriptions, installing it, securing it, etc, was child’s play for him.
pyg, former director of Framasoft, now the association’s digital services coordinator, has managed countless projects for Framasoft over the last 20 years. So one more, even in the middle of a campaign, wasn’t going to stop him.
With this range of skills, and the technical capabilities of the transcription and diarization software, the planets were aligned to launch such a project.
âIt’s all about luck…â
However, as is often the case, you also have to rely a little on chance or luck.
Indeed, pyg had somewhat dropped the idea of this application, simply out of ignorance of the technical advances in terms of diarisation.
It was while discussing the idea of this application at the last Framacamp, in July 2024, that Wicklow dropped a piece of information in the nick of time: âAh, but you know, Whisper now does proper diarization.â
BIM đŁ
âAh, very interesting! But I imagine it would take a long time to develop such a free transcription application?â asked pyg.
âOh, I’d say in 3 days I can have a working prototype if Chocobozzz takes care of the server part.â
BANG đ„
So instead of enjoying his evening playing poker, pyg went off to his room and prepared a presentation of a dozen slides on a potential application project, which he presented to the association the following morning.
Some members were enthusiastic, others less so. And we can understand them: first, because it was adding yet more work to an already particularly busy and exhausted association. More, this project would use software derived from artificial intelligence, a technology about which we are (unanimously) very critical.
However, this application, which was to become Lokas, seemed to us to be a good way of âembodyingâ the social purpose of Framasoft: to educate the public about the challenges of digital technology and the cultural commons.
This enabled us to move away from the pedagogical aspect, which is both essential and insufficient in terms of appropriation and self-determination. By creating a âmanipulable digital objectâ, we could use Lokas as an additional opportunity to explain what AI is, its possibilities, but also its weaknesses. And so return to our âPharmakonâ mentioned above.
What’s more, as well as being able to assist any collective holding meetings, this enabled us to put into practice, in concrete terms, an application bearing our values: a user-friendly tool, not exploiting users data, under an open licence, aimed above all at people who are changing the world for more social progress and social justice.
In the end, the majority of members present said: âLet’s go for it!â.
âIt’s (also) a story of limitsâ.
As mentioned above, the constraints were considerable.
A project inevitably costs time and money. Time and money that can’t be used elsewhere.
In discussions with Thomas and Pouhiou, co-directors of the association, it was decided that Lokas should remain a project subject to strict limitations: it should cost less than âŹ10,000 all-included; it should not have a major impact on the missions of Chocobozzz, pyg or Wicklow; and it should be completed (in âwasted timeâ) between mid-September and mid-November (in particular because of the validation deadlines for the Android and iOS stores, which we don’t control).
With such constraints, it was impossible for us to produce a well-finished product. So we’ve decided to focus instead on making a prototype available. Think of this prototype as a showroom house. We’ve produced this version not by focusing on a long-term project, with solid foundations, but rather as a âproof of conceptâ, developed rapidly, to see if the concept is sufficiently attractive and interesting for us to priorise the development of this application in 2025 (if donations are sufficient, that is!).
To give you enough âdesireâ to see a version 1.0 of Lokas arrive one day, we called on the skills of Atelier Domino to create a logotype and a graphic charter. This led us to create the project website in-house : lokas.app
At the same time, Wicklow and Chocobozzz set about developing the prototype and the transcription server.
âIt’s a story just waiting to be written…â.
A fortnight’s work later (and an estimated cost of âŹ7,500 all-in, with roughly half the time spent by Framasoft and half on services: Domino workshop, server hire, domain names, validation of Google & Apple app stores), we can proudly and somewhat anxiously present our prototype!
Lokas, like all transcription tools, is imperfect. Outside noise, poor articulation, a faint voice in the background, people cutting each other off… These are just some of the reasons why transcription can be difficult.
As a result, plan to be in a quiet room, place the telephone in the centre of the table (the better the sound quality, the better the transcription), don’t hold several discussions at the same time, and… take âold-fashionedâ notes (paper+pencil, computer+pad, etc.) in case of problems.
Once you’ve done that, it’s very simple.
2. Start recording
Simply click on the âRecordâ button. Position the phone so that it can best pick up the exchanges. And start your meeting.
To limit abuse, recordings are limited to 5 per day and per device.
Note that the language model managed by Lokas means that it can already be used in around fifty languages, including: Dutch, Spanish, Korean, Italian, German, Thai, Russian, Portuguese, Polish, Indonesian, Mandarin, Swedish, Czech, French, Japanese and, of course, English! Other languages are supported, but recognition will be less effective.
At the end of the meeting, click âFinishâ.
3. Send your file for transcription (and be patient)
You may wish to listen to your file again before clicking on âSendâ.
Your file will then be sent to our server where it will be queued for transcription.
This stage can take from a few minutes to a few hours, depending on the number of files in the queue.
You can check manually whether your file has been transcribed, or wait quietly for the notification (the verification task is carried out every 15 minutes).
Once the transcript has been received
Once you have received the transcript, you can display it in Lokas.
You can of course share it (with the application of your choice: email, Signal, WhatsApp, etc.) to correct it.
You can also see the speaking time statistics (NB: this feature is relatively experimental). If you wish, you can assign a first name (or pseudonym) to each participants to make it easier to read the notes. To obtain speaking times by gender, you can also allocate them manually, obviously ensuring that you have the consent of the people concerned to communicate this information. Note that this information is voluntarily manual, and does not leave your phone, and is therefore not transmitted to Framasoft nor anyone else.
Confidentiality point: one of the special features of Lokas is that we respect your privacy: the audio file is recorded on your phone. At your request, it is sent to our servers, which will then transcribe it. Once the transcription is complete, a notification is sent to your phone; when you open (in âMy filesâ) the meeting in question, the transcription is then downloaded to your phone. Once this stage has been completed, and after a slight delay to ensure that everything has gone well technically, everything is deleted from our server: the audio file as well as the transcript. And if you give us names, pseudonyms or genres for statistical purposes, please note that we do not process this information in any way.
At Framasoft, we are not at all fans of AI. We think that this technology (or rather this set of technologies) poses more problems than it solves. In fact, we tried to summarise our position on AI on the Framamia website, which we present here on the Framablog (in French).
So, isn’t it contradictory to use AI in Framasoft applications such as Lokas or PeerTube?
In our opinion, no. For several reasons.
Firstly, as we wrote on the Framamia website, not all artificial intelligence models are created equal. Whisper, the software used for transcription, is a âspecialisedâ AI, not a âgeneralistâ AI like ChatGPT, for example.
âSpecialised models are optimised to solve a specific task efficiently. Their impact is often controlled, and may correspond to that of other softwareâ.
Whisper is certainly an AI, but it runs âin isolationâ on our servers.
The algorithms used are more complex than a âRemove the red eyes from this photoâ filter with GIMP or Photoshop, but it remains a relatively simple model (with an input/output process) that uses infinitely less energy than a training model. In fact, inference (the process of using the model to perform a task) consumes much less energy thantraining. For example, running Whisper to transcribe an audio file lasting a few minutes requires relatively modest computing power.
Finally (and most importantly), with Lokas or PeerTube, we remain consistent with one of the values at the heart of Framasoft, namely respect for the confidentiality of your data. Indeed, we do not make any use of your files, apart from the task explicitly requested, for example transcription. They are not used to enrich an AI model based on your discussions, your identity, etc. We don’t keep audio or text files, we don’t have access to the names/first names/genders that you manually assign to participantsâ es in a discussion (that stays on your phone), etc. And, of course, your data is NEVER monetised.
In short, Framasoft doesn’t care about the content of your data, it belongs to you and is nobody’s business but yours.
Despite this, we respect the point of view of people who wish to boycott AI, and we understand the contradiction they might find in a technocritical association like Framasoft proposing projects using AI.
Our aim is to offer a tool that will enable people to think about the issues in a concrete way, so that they can form their own opinions and come to their own conclusions.
When is Lokas coming?
You can Download the Lokas app on the Play Store, iOS (still in TestFlight on iOS, because they are đ€Ź… let’s say picky EDITâŻ: it’s now available), (and soon on f-droid), or get the android apk directly from us here. But keep in mind it is a prototype (if you haven’t already, take two minutes to read âThe Lokas Story â and understand why), so it’s normal that lots and lots of things don’t work!
We’ve already taken time, energy and a bit of money out of limited resources (did anyone ever tell you that we only live off your donations? đ ). And, obviously, this POC is open source, the code is publish here on our forge.
So before going any further, we need to confirm that you are interested in this project.If the donations aren’t big enough, or if the contradictions are too strong: we’ll stop there (the code is free, so it won’t be âlostâ).
If, on the other hand, you find it relevant, there are countless possibilities for future developments. For example:
Complete redesign and accessibility (in prototyping mode, we went very fast, and Lokas is therefore very perfectible);
Ability to (re)transcribe the file of your choice (from Lokas, a video or another application, for example);
Add the possibility of automatic summaries of the transcripts, to quickly find the key points;
Translate the application (and the website) into languages other than French and English;
Ability to edit and correct the transcript directly from your phone;
Provide the option of obtaining the transcript in the language of your choice (e.g. a meeting in English transcribed into French, or vice versa);
etc
But to do this, we’re going to need some staff time, and therefore money. So, at the risk of sounding insistent, we invite you, if you can, to make a donation.
The challenge: 20,000 times âŹ20 donations for Framasoft’s 20th anniversary!
Framasoft is funded by your donations! Every âŹ20 you donate will be a new balloon to celebrate 20 years of adventures and help us continue and take off for a21st year.
Framasoft is a model of solidarity:
8,000 donors in 2023 ;
over 2 million beneficiaries every month;
your donation (66% tax deductible) can benefit 249 other people.
To date, we have raised âŹ58,625 of our campaign target. We still have 29 days to convince our friends and raise enough money to get Framasoft off the ground.
As with every ECHO trip, the first day was reserved for travels and reunions. Four of us from Frama made the trip: Booteille, Numahell, Pascal and Yann. And while the last three shared a cabin on the plane (almost avoiding having to deal with hold luggage), Booteille chose to take the bus, for more than 18 hours, with no changes but with stopovers including Toulon, Nice, Genoa, Venice, Trieste, Lubjana and finally Zagreb. It was an opportunity for him to see our Italian companions in Venice get on the bus.
In the evening we tried to meet up with our CEMĂA comrades, using the name of a restaurant as our destination, which turned out to be one of a chain with many branches in the city. This gave us the opportunity to look around the town, which was decorated for Christmas. The atmosphere was rather quiet, although a festive (winter) breeze blew through the streets.
We ended up meeting up with the CEMĂA team in a bar opposite the famous restaurant. It was a good opportunity to have a few drinks while waiting for dinner. Many of the European partners came to the restaurant, giving us a great opportunity to catch up with people we’ve met before and to meet people we haven’t.
This first evening (which would be followed by many others) was the occasion to notice something rather surprising: THEY SMOKE IN THE BARS! It’s horrible. And while it was very cool to spend time with the other members of the project every evening, every night it was the same thing: smoking in the bars. Apart from the fact that you can’t breathe indoors, the smell of cigarettes on our clothes (and in the dreads of those with the best hair…) lingered in the hotel room.
The Center for Peace Studies
The next day began at the Human Rights House in Zagreb, in the same building as the Centre for Peace Studies. There was a brief introduction to the seminar and a presentation of the three structures sharing the premises.
First, we had a few words from several people as a whole group, then we split into three small groups, where each entity presented its actions to us and to whom we could ask our questions. After a few minutes, each group rotated to meet a new entity. In the end, we got to know :
– the Dosta & Jemrznje platform, which helps manage online discrimination and hate speech;
– the Documenta organisation, which aims to create links and documentation around war, as well as educating people about anti-war issues;
– CROSOL, an international cooperation platform for development and humanitarian aid.
The Centre for Peace Studies (CPS in English, CMS in Croatian) is the result of years of development. It was originally a participatory work camp project in the 90s, with the aim of building links between people in the Balkan countries through action.
The culture of the CPS revolves around anti-war, anti-fascist and inclusive movements. Today, through a wide range of actions, CPS seeks to promote this culture in their territory. There is also a strong focus on the right to asylum and its protection. And that’s just part of the work carried out by this small team. You can find more information here: https://www.cms.hr/en/o-cms-u-tko-je-tko/cms
After a very pleasant meal on site, we took public transport back to the city centre. It’s great to be able to get around the city quickly and efficiently thanks to the dense network of trams, with timetables so full that you never have to worry about them – they’re never far away!
Fascists! Fascists everywhere!
We met up with a historian who spent the afternoon taking us on a tour of different parts of the city, looking at places that are emblematic of fascism and the resistance. Croatian history is not very well known in our part of the world, and our guide gave us a lot of information about the country and its relationship with fascism and history, particularly during and around the Second World War.
It was very interesting to visit the places, often not very far away, where the government and its opponents were located during the war. We joked about the fact that it seemed that every building in the centre had at one time or another housed its own personal contingent of fascists. A map has been created to pool and record the information.
Unfortunately, the weather was not on our side, and with the cold and rain, we ended up in a warm bar, where our guide continued to tell us the story over a drink.
Si vis pacem para pacem
On the second day of the seminar, we returned to the Human Rights House. Various organisations presented their work on access to education. Once again, it was very intense in terms of information.
The CPS introduced us to the concept of negative peace (absence of violence, fear of violence) and positive peace (building a peaceful society). We also learned that in formal education (#school), civic education in Croatia is now mandatory. This is based on the understanding that peace education cannot be an individual subject and that it needs to be linked to human rights and other societal issues.
The CPS shared with us some principles of peace education:
– encourage participants to explore the subjects of war and peace through different disciplines;
– focus not on experts in diplomacy but on citizens and civil society, particularly in their role in building a fairer world;
– Peace Studies is value-based and therefore requires academic objectives that recognise the ethical approach to peace and social justice;
– there is a need to be transformative, society needs alternatives to the status quo: peace is the result of radical transformations of values, social arrangements and international relations. From a positive peace perspective, the aim is therefore to prevent wars, to move towards social justice and respect for human rights, and to combat oppression and structural violence.
Migration flows and AI
After the CPS presentation, we were introduced to the work of a programme focusing on migration.
This work focuses in particular on the creation of links with refugees in Croatia, seeking to open up discussions on the causes of migration, its place in Croatian society and empowerment.
Readings, films and music were shared with us, with the aim of deconstructing our preconceptions and developing critical thinking.
We then met Ana Cuca on video. Ana is a researcher who, as we understand it, works in Mostar, Bosnia-Herzegovina. She told us about the impact of pseudo-IAs on migratory flows. It was a very interesting meeting. She talked about how Europe is trying to anticipate and prevent migratory flows by making massive use of pseudo-IAs at its borders.
In the category of false good ideas, there is the fact that pseudo-IA algorithms are used for asylum application forms. Except that certain accents and dialects are not recognised by the algorithm. So people find themselves unable to make their application, all because the algorithm was designed that way.
Ana also told us about uses of the pseudo-IA that she sees as positive. In particular, through a project to analyse migratory flows to try to anticipate where there might be a need for humanitarian aid of food or medicine.
We invite you to read her presentation, which we found very interesting.
Coders Without Borders
Finally, Coders Without Borders brought the presentations to a close with their projects.
With the help of volunteers, they train refugees in various digital techniques to help them find employment.
At the end of their presentation, we raised the following question: « Have you ever thought about and/or started migrating to tools other than Google when working with refugees? I understand the idea of acculturating with tools that everyone uses and that the aim is to reduce the divide between refugees and the society into which they are trying to integrate, but I find it dangerous, in a fascist political context, to put Google in the hands of people for whom it could sooner or later harm their lives. If a fascist government came to power, it would be very easy to find and target refugees and do them harm. »
We then discussed this question and the issues involved. We concluded that we needed to work on a diagnostic grid that would enable organisations to ask themselves certain questions and come up with some answers about their digital practices.
At the end of the day, we went to the Human Rights Film Festival to see The Old Oak. In this film, we follow a bar owner who helps a family of refugees who have just arrived in town, despite the racist rhetoric of his most loyal customers: the pub regulars.
Difficulties paying in Zagreb’s restaurants
During our ECHO Network meetings, we don’t just work: we also eat. This led to a little anecdote that we’ll share here.
That same evening, in a restaurant after the film, it was extremely difficult for us to pay ânormallyâ. The waiters would only let us into the restaurant if we didn’t pay separately! This is a cultural thing in Zagreb: you don’t pay separately, even if there are invoices to pay. And when we wanted to pay âby organisationâ, the waiters refused again.
In the end, we had to find a compromise by paying by country, on condition that we were seated at our tables according to our country! The scene struck us as particularly surreal.
A little peace (in the world and for our stay)
We changed location for the last day. We found ourselves in the Community Centre, in a room with a few small pouffes. It was great to spend the morning lying on the floor!
There we met Paul, a sociologist and anti-racist activist. He sees himself as a historical artifact and is an outstanding storyteller. He told us how Zagreb was at the cutting edge of digital communications in the 1990s.
Listening to Paul was really good for us, thanks to his talents as a speaker. After two days of information-packed presentations – but exciting ones! – Paul’s presentation was relaxing to listen to. It made you feel less like you were at school and had to concentrate to make sure you didn’t miss any of the information in the course.
Activism and cyber-surveillance
After Paul, we met up with Tomislak Medak, who told us about his work on the Memory of the World online bookshop, as well as the Syllabus project. This is a research project on activism in Europe that takes into account âcareâ and piracy. Yann’s eyes sparkled as he drank in Tomislak’s words.
We ate in small groups between lunchtime and midday, and then met up again for the final afternoon, hosted by CĂMĂA France for a workshop on cyber-surveillance.
Individually, we had to respond to the following instruction: âBased on your knowledge and experience, illustrate cyber-surveillance by drawing or writingâ. We then got into small groups and discussed our respective drawings, before illustrating our common definition. We then repeated the exercise in larger groups. Finally, we had to share our ideas in plenary.
In all this, the idea of the panopticon came up several times. We also discussed surveillance capitalism, political and police control, and the fact that surveillance could help regulate online hate speech. We also talked about moderation on the internet and the inequalities between individuals in their knowledge of their rights in the digital space.
The session concluded with a discussion on alternatives to cyber-surveillance. As well as the obvious idea of burning capitalism – we won’t drop any names – technical tools were mentioned, as well the issues of regulation, degrowth (disengaging from digital technology) and education.
Back home, via the museum of broken relationships
It was on this last activity that we ended the seminar, thanking our hosts and sharing our feedback. We found the subjects and the structures we encountered absolutely fascinating, but the form made the whole thing difficult to digest. Bouteille in particular found that there was a huge amount of information, in a very vertical format to which he is no longer accustomed, which made the meeting intense and tiring for him.
We finally said our goodbyes that night, after closing down a bar that our Croatian hosts had enjoyed.
While the others headed home the next day, Booteille had to wait for his 6pm bus and ended up visiting the Museum of Broken Relationships with Gabriela and Alexandra from Solidar.
The museum is full of objects linked to broken relationships and the little stories that go with them. This little exhibition takes you through a lot of emotions.
At the beginning, you read some things a bit light-heartedly, laughing, then you read this story linked to the war, or this one linked to bad luck, you laugh at this broken relationship with this pizza lover who unfortunately is now allergic to gluten. Then you open the (huge) guestbook, and frankly, you laugh out loud at the violence of some of the messages. The guestbook has obviously served as an outlet for a lot of people!
Translation from the French version made with DeepL
Rome, September 2023 : logbook of the third ECHO Network study visit
This is the third study visit as part of the ECHO Network program, this visit takes us to Rome, the museum city. Well, us: only Numahell, since COVID decided otherwise for the other three who had planned to comeâŠ
After a short trip by bus then train from Lyon, I arrive in the afternoon at Termini station in Rome. With the members of CEMĂA France, we join two members of Solidar to eat together. Questions about popular education cross our minds from the first evening during the meal: what is the difference between popular education and active education? And active education, what happens if you have no curiosity? In short, very rich discussions.
The first two days take place in the « Casa del municipio » in Rome. These municipal houses allow the city’s associations to meet there, do activities, and book rooms for free. A bit like some community centers in France, or the community centers in big cities (except that in most big cities it’s paid, for example in Toulouse it’s âŹ60 a year).
We start with icebreaker exercises to get to know each other: spelling each person’s first name by miming the vowels of their first name, communicating to position ourselves in alphabetical order, and finally classifying ourselves according to where we come from, from the furthest to the closest. Led by Christina from CEMEA Mezzo Giorno, these icebreakers will be our ritual at the start of the day.
Day 1: distance training, screening on ECHO Network, squat visit
Distance learning, face-to-face training: feedback and start of strategies
The first morning is dedicated to feedback from three organizations on distance learning. If you remember, about 3-4 years ago there was a lockdown or two⊠forcing us to change our training practices.
The Acque Correnti (translation: « the water currents ») must train volunteers for the Italian equivalent of civic service, about 15,000 people per year. The Italian state sets strict rules on civic service training, there are three components.
Suddenly, Covid and bam: the question of distance learning arises. Massimiliano tells how they used Zoom’s breakout room features (we know the free alternative BigBlueButton which also offers this feature).
Founded in 1951 by educators and teachers, the Movimiento di cooperazione Educativo advocates active pedagogy methods. It is part of the FIMEM, an international organization around Freinet pedagogy, created in the 1950s.
Made up of territorial groups, they provide training activities each year, and also lead a research group at the national level, on the disciplines they deal with.
For children, this ranges from kindergarten to secondary school. The training is mainly provided remotely, and this before COVID.
Donatella presents the experience accumulated, and in particular the site senzascuola.wordpress.com.
The CEMEA Federazione Italiana as its name suggests federates the CEMEA of Italy. The training provided by the federation consists of ten courses per year, approximately nine days per course. At the beginning, many trainers refused to teach remotely: it is important to recognize the limits of distance learning. Luciano explains that we must « curbare la technologia » (bend, twist the technology) to our practices, and not the other way around. The question is how to use our active teaching methods remotely. He returns to eleven issues of distance learning, some of which are similar online or on site, such as time and space management, or alternating types of learning.
The question/answer time allowed us to identify some interesting points. One of our hosts, Claudio, says that we should fear dehumanization more than the technologies themselves. In addition, virtual projections restrict our use of body language, by seeing the body through the 2D space of screens. It is therefore important to re-appropriate bodies and spaces in 3D, for example by taking breaks away from our computers.
Accessibility issues also contribute to the marginalization of some participants, particularly the issue of the language barrier.
We agree that we should not abandon online training to private markets: these organizations do not necessarily do active pedagogy and have a more lucrative than emancipatory goal. Unfortunately, these are the organizations that institutions finance, « ed tech » (education technologies), rather than popular education collectives, which have a more ethical aim.
ESS, digital education in Italy
In the afternoon, we collectively reflect on the continuation of the ECHO Network project, answering the following questions: what each of our structures does, what interests us all and finally the future prospects of the project.
We then split into small groups for a more informal discussion. In my group, we compared practices between Italy, France and Belgium on the ESS (Social and Solidarity Economy) and then on the place of digital teaching in schools.
Christina from CEMEA Mezzo Giorno explains the situation in Italy, where recent reforms have reconfigured the landscape of the ESS (Social and Solidarity Economy).
In Italy, three organizational statuses are included in the ESS:
Odivu which is a type of volunteer organization
APIES: associations with social aims, non-profit and with less than 50% employees
the « impresa sociale », a new type of company with social components, currently being tested
The boundaries are blurred between these types of organization. The current debate in Italy concerns the public/private boundary and the control of ethics: the third category brings a relaxation of the rules to determine whether an organization falls under the social economy or not. A bit like we can see in France with CSR (Corporate Social Responsibility), there is a significant risk of social-washing.
We learn that in Italy, school principals have much more power than in France and that there is a compartmentalization between schools and associations, including at the teacher level. This prevents associations from intervening in schools and bringing active methods and themes such as awareness of digital issues.
In Belgium, it is paradoxically in « free » (private) schools that there are more and more experiments in active pedagogy. There is therefore something to dig into the socio-structural context of each country on these subjects.
Then, on the subject of digital technology, I spoke for the French case of the Scratch programming language which is used in technology in middle school and of Digital and Technical Sciences in the second year. I could also have spoken about the PIX platform, which is used for the validation of acquired skills.
On the subject of equipment, I explain that in France it often quickly becomes obsolete and is poorly maintained. It depends on the town halls, departments or regions depending on the nature of the establishment.
In Italy, the State invests a lot with EU money, IWBs (Interactive Digital Boards) equip almost every class, but teachers are not trained and do not know a tenth of the possibilities.
According to recent research, about 75% of teachers use frontal teaching methods in Italy: I wonder how many in France.
Finally, we talk a little about the question of using games or video games in class, and I take the opportunity to mention to my friends the Minetest project (a free equivalent to Minecraft).
An entire building under self-management, a common in the city
In the late afternoon, we visit an emblematic occupation site in Rome, Spin Time Labs, which welcomes refugees, homeless people, and students striking against rising rents. The building has an auditorium, a concert hall, and a radio studio. Many cultural and craft activities take place there, and we discover in particular a paper newspaper published by a collective composed exclusively of young people under 25, Scomodo.
This place is managed by its residents and contributors, there is no rent but people who benefit from the place can offer their time in exchange, make financial donations or offer their help on renovation projects.
About 150 families are housed in this occupied building, where even the Rome City Hall, which is not very left-leaning, tolerates this squat for the services provided there, and even the social workers of the city hall refer people to this place to find help and resources.
After this visit, we met up to chat on a lively street in the Pigneto district, where local residents are particularly involved in the life of the neighborhood.
Day 2: AI, workshops
The next day, September 27, Claudio receives us to introduce us to the CSV (Centro di servicio volontario) Lazzio. The place is a bit like his home, we’re in our element.
Christina leads a game to stretch: everyone chooses a gesture that corresponds to them and has designated it throughout the game, which forced us to have visual attention during this moment. This type of popular education exercise aims to improve group cohesion, and it works!
Presentation on AI
Then we attend the presentation by Marika Mashitti, a doctoral student at the University of Roma tre in the Department of Educational Sciences.
She begins with definitions (what AI is, the different types of systems) and recalls that AI is above all a scientific discipline. Then she goes on to give a brief history, which shows the speed of the latest advances, especially since the start of the pandemic, as if it had become urgent to develop this field.
For her, it is a question of power. Indeed, who is involved in AI research? Personalities like Elon Musk and web giants such as Alphabet, Meta, Microsoft, etc.
She gives some examples of biases due to AI: discrimination in facial recognition (only 52% success in recognizing faces of black women), targeted advertising for job opportunities, profiling.
The word âAlgocracyâ (âpower through algorithmsâ, coined by Danaher, 2018), is dropped. She insists on the fact that technology is never neutral. She addresses the point of singularity, taking up the proposal of Frederico Cabitza, Professor at the University of Milan. He defines singularity as the moment when humans choose to leave almost complete control to the machine rather than its classic definition, namely the moment when the latter becomes indistinguishable from a human.
The members of the assembly appreciated her presentation, both its content and the energy that drives it and asked many questions.
Workshop on digital issues
We start the afternoon with a game that I proposed, and that I had already tried at the Climate Camp 2022. It involves positioning yourself on two axes for a given question: one axis according to your level of confidence and the other your level of comfort, by splitting into three groups. Christina, Morgane and Claudio prepared a list of 4 issues:
online training
AI
political regulations on digital technology
the power to act
Interesting discussions took place, with each person having to explain their choice of position. This exercise allowed people who had spoken little to express themselves, the small groups making it easier to listen. I learn that two people in the group regularly use generative AI for their daily work in communication, and that this morning’s conference made them aware of the issues.
Then we resume the discussions, either around the work done the day before, or on the writings started in the morning, to summarize them on an A2 sheet: my group represented all this in a word cloud.
Day 3: workshops, âZazie Nel Metroâ, retrospective of the week
Improv digital workshops
On Thursday, we meet in the same place for two workshops on digital technology, imagined the day before following the reorganization of part of the program, due to the absence of one of our covid comrades.
We ran these two workshops in parallel twice, so that each group could benefit from them.
mobile workshop: settings to improve your privacy, and some interesting free applications. Led by Domenico and myself.
desktop / internet workshop: free software and applications to organize yourself, including Zourit. Led by Lucas from CEMĂA Belgium and Olivier from CEMĂA France
Zazie Nel Metro is an associative bar and its associated bookstore, managed by a collective of very nice people, who organize various artistic and civic events. They organized 3 days later a festival called âZazie la bona vitaâ, combining militant / political discussions and concerts.
Our host presents us with a selection of books by anarchist or left-wing authors, including « Cimento, arme di construzionna di massa » by Anselm Japp, or a book by Ivan Illich that we appreciate at Framasoft. This strangely echoes too many useless, imposed and ecocidal construction projects…
I will go back if I ever come back to Rome (e perchĂš no :))
Looking back on the 3 days
We meet in the afternoon at the CEMEA Mezzo Giorno premises (which means « Midday » but also « center of Italy »).
Morgane leads the next moment by asking everyone to write down on post-its three things from our stay, which we classify on three illustrated posters:
what to keep (in a fridge)
what I’m going to think about in the coming weeks (đ§ )
what to throw away (a very well-drawn trash can)
School Party Invitation
To end this last day, some of us attend the school party in which our hosts from CEMEA Mezzo Giorno, Christina and Domenico intervene. This school is located in a socially mixed working-class neighborhood; it is interesting because CEMEA Mezzo Giorno have initiated a multitude of projects for over ten years (joint activities, music workshops, etc.) with the aim of ensuring that the migrant population is better accepted: and it works.
I admit that I have a little moment of nostalgia, as this school party atmosphere reminds me of the one my children went to <3. And it is time to say goodbye, I will visit Rome the next day and continue my journey back to France quietly by train, having the privilege of having time in front of me this time.
A new application for Framaspace : OwnershipTransfer
Still more features on Framaspace? Yes! At the moment, we’re spoiling the users of this service, with the integration of quite a few features like the Forms and Tables applications, but also the âIntrosâ app developed by Val, our summer intern. And because it’s Val, it’s festival (shameful rhyme!): just before leaving us for a well-deserved holiday and a final year of studies, he delivered a new âOwnership Transferâ application that will make life easier for administrators of Framaspace spaces.
Hi Val, we’re not going to ask you to introduce yourself, as you already did in the previous interview. We’ll just remind you that you’re doing an internship at Framasoft from the beginning of May to the end of August 2024, with the aim of developing tools to support Framaspace, and therefore Nextcloud free software.
Hi! Check out my previous interview to find out more about me! I introduce Intros, a Nextcloud app to help users get to grips with Framaspace.
At the end of the interview, I mentioned I was working on another Nextcloud app, OwnershipTransfer. Back then things were only getting started, but I cooked, and now it’s ready.
OK, so letâs talk about the OwnershipTransfer App. Whatâs it for ? Who is the target audience ?
As mentioned in the previous article, OwnershipTransfer makes it possible to transfer data from one user to another in Nextcloud. For example, when someone leaves an association that uses Nextcloud (say, on Framaspace đ), it can be useful to move their files to another user before deleting their account. You could avoid losing important archives, invoices… The same goes for calendars or address books.
Well worry no more, OwnershipTransfer (or « OT » from now on in this article) does all that. It allows Nextcloud admins to transfer data from whoever to whoever. Initially mostly designed for files, I extended it to calendars and contacts transfer.
OT allows a transfer of all the data, but also a more fine-grained choice. One can choose the calendar, address book or folder they want to transfer, so they don’t end up with someone’s holidays pictures in their files.
Screenshot of Ownership Transfer (also available in English)
Screenshot of Ownership Transfer (also available in English)
But… didn’t this feature already exist in Nextcloud ?
It did, but not the way we wanted it to.
Nextcloud already allows transferring your own files to another user, with a small graphical interface in the user settings section. You can only transfer your own files to another user, but not choose a source user: this isn’t suitable for an instance admin who would want to move files from one user to another.
An instance admin can also transfer files or calendars from one user to another, with an OCC command. OCC is Nexctloud’s CLI, via which admins can handle some server settings. You can only use it from the command line in a terminal, which to most human beings is… cryptical.
In short there are existing working solutions, but not with a simple graphical interface for admins. This is especially an issue in « Nextcloud farms » (an organization hosting Nextcloud instances for a lot of clients at once) like Framaspace, because admins don’t have access to the CLI in this case.
Technically, how does it work ?
Since it’s integrated with other Nextcloud apps, OT is heavily relying on existing Nextcloud APIs. The app also uses adapted parts of Nextcloud’s code. For example, I use the code from the existing files transfer feature, which I modified to fit with our requirements. The same goes for the calendar transfer.
However, I add to implement the contacts transfer, since it is not available in Nextcloud (not even through a cryptic CLI). It looks a lot like the calendar transfer, since both of them are based on the WebDAV protocol, so I had an example to work with.
The interface is built with Nextcloud’s Vue components, of course. They are pretty pleasant to use, and new ones are often released. It allowed me to build a complete graphical interface in no time, while staying consistent with the rest of Nextcloud’s UI.
Have you encountered any technical or organisational problems?
Since Nextcloud’s documentation hasn’t miraculously grown since last time, I had to wander around in Nextcloud’s source code to find the functions needed. I could almost make a hobby out of that. Almost.
At least the features exist in Nextcloud already, so adapting them wasn’t the most difficult thing ever. I could also rely on tcit’s advice, co-director of Framasoft and Nextcloud contributor. In short: I write code, he looks at it, says « cool thing, but not scalable », and I correct it.
Scalability was the most common problem. It always works on my small test environment with 5 accounts and 7 folders, but it should also (and most importantly) work on big Nextcloud instances with lots of files. For example, the files transfer can take a lot of time and resources: it has to move all the files from the source to the destination folder, which takes more or less time depending on the amount of files to move and the underlying storage type. Because of that, it is handled in the background: instead of launching it upon receiving the request, it is placed in a jobs queue that the server periodically handles.
Calendar and contacts transfers do not have this issue: they only consist of a simple SQL query to change the right property on the right element. This operation is fast, so it can be handled in the foreground.
Besides the actual transfer, building the interface was also challenging. The app allows the admin to choose which element will be transferred, so they need an interface to choose it. For calendars and contacts, it’s fairly simple: with Nextcloud’s components, I could easily build a list of calendars or address books. But for files, things are getting complicated: we need a whole tree-style view to show the subfolders’ content.
Luckily, I’ve got back up. Romain, former fellow INSA Lyon student (in Telecom, just like me!) and former Framasoft intern, worked on Sorts a few years ago. The goal was to make an app to enhance Nextcloud’s file search, mostly with filters. And Sorts has something I was really interested in: a tree-style files view. Exactly what I needed.
Interface adapted to OT for choosing the file to be transferred
After a few tweaks here and there in Sorts’ code, which wasn’t necessarily easy, its tree-style view perfectly integrated with OwnershipTransfer. It helped a lot and saved a lot of dev time, and I could even improve it a bit with some lines to better view the current folder and some sharing icons.
Now that your internship is coming to an end, and you’ve been « eating » some Nextcloud for the past 6 months, what are your potential takes on this software ?
It’s rant time!
Anyways, besides the rant and all the things I could blame on Nextcloud (like its lightweight documentation, its occasional slowness or its imperfect UI), its a very functional software, and it’s all that matters for pretty much everyone. It could be better (and it’s already happening!), but I find it to be working just fine for most typical usages. I’ve been using it for 2 years on a Raspberry PI to backup my files and photos, and I’ve never had any major issues with it.
However, its collaborative features can definitely get better (things like multiple people writing on the same text or calc document at the same time), especially since they are very popular among the people who use Nextcloud. These features exist, but they are typically hard to use, especially the first time, and poorly optimized. So when I see Nextcloud bragging about how they now have AI integrated (which I think most people don’t find that useful anyway), while opening a shared file sometimes still causes a mess… I think they could focus on more important things. But I guess you do need something to make it look shiny.
We’ve been very very pleased and satisfied to work with you over the last few months! Any final words?
I was delighted to work at Framasoft! I’ve learned a lot through this internship, and I want to thank the association again for its welcoming and comfortable working conditions.
Right now it’s time to relax, for me at least (before going to « class » again, but don’t mention it), and then to go back to work on my final internship at the beginning of next year! I’m just saying, of course đ
Intros, a Nextcloud app to help you get to grips with Framaspace
The Framaspace project currently hosts a cloud environment (files, calendars, contacts, wiki, kanban, etc.) for more than 1,200 associations and groups. That’s as many instances of the Nextcloud free software. Unfortunately, it’s not always easy to get to grips with Nextcloud, despite the documentation, forums and so on. So Framasoft decided to get an intern, Val, to work on the subject of supporting people using Nextcloud for the first time. Here’s his story.
Hi! I’m Val, and I’m 22. I was raised in Paris’ suburbs, and I have been studying at INSA Lyon, an engineering school in Villeurbanne for 4 years now. I am parisian, lyonnais, suburbanite, or even Swedish, depending on the mood.
If everything goes as expected, I’ll graduate next year as an Telecommunication Engineer.
I like singing and playing music, climbing plastic walls, solving Rubik’s cubes and playing video games, when I’m not busy tweaking some lines of code. Over the last few years, I have also been active in multiple associations, including some at INSA or the Red Cross.
You chose Framasoft for your internship. Why?
I had to search for an internship while being in Sweden, and it wasn’t really easy. Searching from another country didn’t help of course, and I also wanted an internship matching my personal values. Basically, being cheap labour to help big business get richer isn’t really my thing.
The year before, I participated in organising an event with the Exit Lyon association, at which a Framasoft employee gave a conference on queer emancipation through digital technology. Being engaged in associations, I already knew Framasoft from their web services, as many do. I still had her email, so I sent an application, and there I am!
It was kind of an ideal case: an internship in a non-profit, breaking with capitalism, and contributing to build more social justice in our society.
Let’s talk about your internship. What was the general objective?
Framasoft’s collaborative cloud platform for associations and activist groups, Framaspace, has been active for 2 years now, and is based on Nextcloud. Even though it is a good solution, this open source software is far from perfect, and in particular is more difficult to use than other existing solutions (closed-source and maintained by GAFAMs, such as Google Drive or Microsoft 365).
Please note that Framaspace is a service reserved for French-speaking audiences. The Framasoft association, which provides this product free of charge only to associations and militant collectives, relies solely on donations. Consequently, it is our association that bears the technical support and financial costs of hosting and we cannot afford to host a worldwide audience.
My internship tries to solve part of this problem: how to make sure that first time someone logs into Nextcloud they don’t run away. My aim is to make the first use of Nextcloud easier, by supporting users and helping them using the software. It would encourage people to stay on a free solution that respects their privacy, and not run towards GAFAM solutions, considered easier to use.
Luckily, Nextcloud allows the community to create apps that integrate with the software to enhance it. Hence my first contribution to this mission is a Nextcloud app, « Intros ».
OK, so let’s talk about the Intros App. What’s it for? Who is the target audience?
Intros answers an user’s most simple question when meeting Nextcloud: « Where is the button to [insert a random action]? ».
To answer it, Intros highlight elements, buttons or even parts of Nextcloud’s interface to explain what they do. For example, the app will highlight the small sharing icon and display a text explaining how to share a file to someone else. This applies to several Nextcloud apps, including files, contacts or calendar.
Video demonstration of how the âIntrosâ app works
Technically, how does it work?
The app uses the intro.js library, which helps creating step-by-step tutorials that highlight a web page’s elements. The library simply integrates to Nextcloud as any other javascript library would, and we can customise tutorials for the users.
That’s it? No! The library handles most of the visual aspects for us, but it had to be adapted to integrate to Nextcloud properly. For example, remembering when a tutorial has already been seen to not display it again, and making a menu to re-enable it if needed. Or even handling multiple languages, displaying buttons in Nextcloud’s style, highlighting elements nested in menus… Lots of small enhancements that allow a smooth integration of the library to Nextcloud.
Have you encountered any technical or organisational problems?
Of course, otherwise where would the fun be? As always when I’m coding something, sometimes it works and I think, « wow, I’m a genius », and sometimes (often) it doesn’t work and I think, « wow, I’m an intern ».
For example, during development I realised that the application sometimes had trouble finding some elements on the page. One of the problems with intro.js is that the library is designed to be deployed on a site that has been designed by the person who writes the tutorials. This person would have a good knowledge of the site’s structure, and would know which elements need to be selected for it to work every time… Except this person isn’t me. I’m integrating it into Nextcloud, which I obviously didn’t design, so I have to adapt to the structure of the existing pages. As if that wasn’t simple enough, the way the pages are built changes depending on the application (Files, Calendar, Contacts…) or even the version of Nextcloud. So I had to reverse-engineer the HTML DOM on a case-by-case basis, to find out which elements it was possible to select and avoid selecting elements that could change name, class or even completely disappear.
But even being careful, it sometimes didn’t work. The application couldn’t find certain elements, and displayed an explanation over empty space. Not ideal. In intro.js, by default, you give a list of elements to highlight and the explanations that go with them, and the library takes care of detecting them in the DOM when the page loads. This was the critical point in this case: when the page loads. The elements are all loaded at once, so they can’t change along the way. I had problems with this specifically in two cases:
first, elements nested in menus. We sometimes want to highlight an element that isn’t visible on page load, and would be after a user click
then, elements that aren’t loaded immediately on page load. Some Nextcloud apps take a bit more time to load their elements, so the library can’t detect them on load.
So what? Well, press the keys on the keyboard, in the right order if possible, and after a while it makes code that solves the problem. Here, instead of detecting all the elements at once, I’ve made sure to detect them just before they’re needed. Each time the user presses ânextâ, the application detects the next element to be highlighted and replaces the default element with this element before launching the next step. This way, we don’t have to worry about page load times or the fact that the button is in a menu. All that’s left to do is simulate a user click with javascript for buttons in menus and tada! It works.
Now that the app has been published, what’s next?
What’s next? It’s not really about me anymore! I hope the app will be used by Nextcloud’s users, and it’s already in use in Framaspace.
We have also discussed with Nextcloud for a possible integration of the app to the software core (and not as a third-party app). That would make it easier to add new tutorial to the apps for developers, but Nextcloud had some remarks regarding this. One of them was that the app explains the interface, while they could simply improve it so it wouldn’t need an explanation.
And of course, the app can still be perfected (I’m only a humble intern, after all) to make it more efficient, easier to maintain,… It’s also very important since we want it to be maintained over the (frequent!) Nextcloud updates.
A little birdie tells me that you’re working on another Nextcloud application, can you tell us more about that?
A new app is indeed on the road (#WIP). The OwnershipTransfer app will allow admins to transfer the ownership of files (or even other types of data?) from one user to another. This would be especially useful for when someone is leaving an association that uses Nextcloud, and forgot to transfer their important files to someone else! It will prevent them from losing a very important budget file, forever. However, it still doesn’t make coffee… sorry.
We’ve come to the end of this interview. Would you like to share a feeling about the work you’ve done during this internship?
I’m really satisfied with what I accomplished. Over and above the fact that I designed and developed a Nextcloud application for the first time from A to Z, I’ve learnt a lot of new skills. Whether it’s PHP, a language I’d only just got to grips with before my internship, or software development in general, managing releases, issues and merge requests, and so on. I’m very happy to be able to have learnt a lot during this internship.
By the way, huge thanks to Framasoft’s employee team who’s always been eager to help me and answer my questions when needed!
Last question, a recurring one in our interviews: what question would you like to have been asked, and what would your answer be?
« Tell me, what do you think of Nextcloud’s documentation? »
It’s time to rant (after all, I’m French!). It’s… lightweight, to say the least. But you can see it from a good perspective: I guess browsing the source code to understand how the APIs work is a great learning experience!
Once again this year, we asked David Revoy to illustrate our year-end campaign. And on this last day of 2023, it’s time to give a little nod to this important work!
đŠ VS đ: Let’s take back some ground from the tech giants!
Did you notice? The monsters started the campaign very serenely, enjoying grilled data skewers. But as you donated more and more, they became more than a little concerned…
Our cheerful mascots face off against some rather repulsive Datavöres
Each Framasoft mascot, representing one of our projects, stood up to a monstrous, unattractive GAFAM. But did you notice that our mascots were showing signs of life?
Once again, we’d like to extend our warmest thanks to David Revoy, who has been working with us since 2017 to illustrate our work and hopes with talent, heart and intelligence.
Speaking of success, last night, we’ve reached our fundraising goal to meet our 2024 budget!
We’d like to take this last day of our review to thank all those who have worked, discussed, shared, supported, encouraged, criticized… and contributed to our actions. The Internet isn’t big enough to mention all of you at least as much as you deserve, but you know who you are and from the depths of our little hearts we modestly say: thank you.
Thanks to you, we’ll have the means to continue our work over the coming year (well, if some of you want to give us a bit more means, we won’t say no… but that’s not the point!). Above all, thanks to you, we feel supported.
We hope you have a wonderful end to the year, and we send you ou best wishes of emancipation, joy and freedom in 2024,