PROJET AUTOBLOG


Framablog

Site original : Framablog

⇐ retour index

Nextcloud Sorts : a Nextcloud application prototype to navigate your files more easily

mercredi 13 juillet 2022 à 16:08

What if Framasoft took a look at the free/libre collaborative software Nextcloud ?

 

In our newsletter #28 (Autumn 2021), we talked about Romain, an intern at Framasoft, whose internship topic was related to Nextcloud.

A few weeks later, we invited  » socially committed  » structures using Nextcloud to answer a survey (now closed), created with the designer Marie-Cécile Godwin, and La Fabrique à Liens.

Then, once the results were analyzed (you will find an anonymized raw version and a synthetic analysis at the end of the article), we were able to identify a set of unmet user needs, on which Romain could work.

Nextcloud provides loads of features, but the one that remains the most central is probably the storage and sharing of files. However, browsing files in the web interface is quite tedious : a click each time you change folder, and thus a more or less fast reloading of the tree structure. And sometimes many clicks to go from one branch of the tree to another.

There was probably a way to make it more accessible and more intuitive.

Romain, who knew neither the PHP computer language nor the Nextcloud software solution when beginning his internship, indulged himself with the development of a prototype of a third-party application, which would not only allow to « open the file tree » within the same interface, but also to be able to make advanced searches.

Two months later, the « Sorts » plugin was born, and we would like to share its story below.


Hello Romain, can you introduce yourself ?

My name is Romain and I am 24 years old. I grew up in Guadeloupe (French West Indies) before coming to study in Villeurbanne, at the Institut National des Sciences Appliquées in Lyon, where I will graduate in 2022 as a Telecom Engineer.

When I’m not busy with my studies, I spend a lot of time tinkering and repairing old machines, and getting involved in community projects ! I am particularly involved in Karnaval Humanitaire, a student association that organizes a music festival for which I was the site manager in 2021 and 2022.

Picture of Romain, INSA Lyon intern at Framasoft from September 2021 to February 2022

 

Why did you choose Framasoft for your internship ?

I wanted my internship to be in line with my values of free sharing of knowledge, and away from capitalism and big companies !

I already knew a bit about Framasoft’s projects, especially the online services and software development, and I knew I would find interesting projects in a great environment… and I was not disappointed !

Let’s come to the subject of your internship. What was the main goal ?

My internship took place at the beginning of a larger project, codenamed « Framacloud » [Framasoft’s note: we’ll be telling you more about this ambitious project in the upcoming months], whose goal is to allow structures fighting for social progress and social justice to gain ownership, master and control over digital collaboration processes.

This Framasoft project is focused on an online collaboration and file sharing software solution : Nextcloud.

However, although it is one of the most successful and complete open source solutions in this field, it is primarily designed to meet the needs of customers of « Nextcloud GmbH« , the German company that publishes the software. These customers are large structures, public, university or private. As a result, there is a risk of differences between the expectations of small associations and the development priorities of Nextcloud GmbH.

The goal of my internship was therefore to find out how to improve this software in order to make it more useful and more accessible for alternative organisations.

OK, that’s a big topic ! How did you manage about it ?

Well, first of all, I had to learn about the development of Nextcloud, and we had to learn more about this software : how it works, its flaws and especially what was missing for the users we were targeting.

After several tests of the software and several hypotheses on how to improve it, we decided to get closer to our target users. So we set up a survey targeting people who were part of organisations committed to social progress and social justice and who were already using Nextcloud. This survey questioned their uses of collaborative computing within the collective, their uses of Nextcloud, their frustrations and expectations.

Thanks to the almost 200 answers of this survey we decided on the software developments to be achieved during this internship and that led to the creation of a Nextcloud plugin called « Sorts » !

 

Let’s focus a moment on this survey work. What were the results ?

The main concerns that came out of this survey were rather general concerns about the Nextcloud tool. But it allowed us to see what is important for the public we wanted to address.

Of the 20 or so topics I was able to identify in the responses, the first two were topics we couldn’t do much about : collaborative document editing and the general « slowness » of the tool.
On the other hand, among the following subjects we had more perspective to help change things in a few months of training : handling and ergonomics of the software, synchronization problems or help to users to find their way among the files of the collective.

It is this last concern : « finding one’s way in the tree of files more easily » that interested me the most, and that led me to the development of « Sorts ».

For those who want to have a look at the details of the survey, we have published the anonymized results, as well as a synthesis of the different subjects I have discussed in order to refine the subject of the workshop (it is probably easier to digest than the spreadsheet of raw results).

[Framasoft’s note: You can find the results of the survey at the end of the article]

So, you decided to create the Nextcloud application « Sorts ». But… what does this plugin actually do ?

The idea behind Sorts is to help people find the files they are looking for and to understand how the folders and files have been organized by the collective they are part of.

To solve the first problem we took advantage of all the information about each file that Nextcloud was already storing (modification date, weight, « tagging » of the file by the user, …) and I coded an interface that allows users to perform a search mixing these different attributes. For example « Find me all the files in the folder « Grant » and its subfolders that are marked as important, and that are in PDF format ».

 

Recherche par filtres dans Sorts

Search by filters in Sorts

 

To solve the second problem we decided to present the folders, subfolders and files in a way that was not yet present in Nextcloud : in a tree list. That is to say that when you click on a folder, instead of « entering » this folder and seeing only its direct content, the folder is « expanded » and you see its content as well as the folders and files which are « next to » it. This tree-like list takes up more space than a simple list but it allows you to understand where you are in the folders, which helps you to understand how they are arranged.

 

Navigation par arborescence

Tree navigation : clicking on a folder opens the contents of that folder in tree form.

 

Technically, did you encounter any issues ?

Yes, like in any development process. I think one of the big challenges was to find out which part of the Nextcloud APIs to use, what were its limitations and how to deal with it. The Nextcloud current search feature is designed around a « grouped » search (« unified search ») where the user searches for a string of characters, and Nextcloud returns everything that matches this string among the various resources (files, todos, events, emails, conversations, …). This is not at all what we wanted to do : search among files only according to several conditions, some of which are not strings (dates, numbers, …). But, fortunately for us, there was another search API specific to files. This other API looked very promising because it was already thought to allow combining search conditions on file-specific attributes. However, this API was quite old and not widely used, which sometimes gave me a bit of trouble.

Moreover, I realized quite lately that the API did not take into account two of the different file attributes : « tags » and file sharing information. This information is managed in totally separate APIs. So I faced this dilemma : either I rewrite an API that does the database queries itself with all the attributes, or I complete the existing API, or I cobble together something where I do 3 database queries per search and combine the results. The first solution would have taken too much time and the second solution would have been rejected by Nextcloud GmbH (you don’t change Nextcloud APIs so easily), so I cobbled something together, and so much for the performance of the application.

Did you have contacts with the Nextcloud community or its editor (Nextcloud Gmbh), and if so, how did it go ?

Yes of course, when we started to have a clear idea of what we wanted to do with Sorts I wrote a note of intent with a link to a prototype on the Nextcloud plugin development forum. This led to some exchanges with Nextcloud’s employed developers who were interested in the project and sent me some constructive feedback. We even had a video meeting with them to discuss the plugin but also the wider project, but with everyone’s schedules this meeting took place quite late in the development of Sorts and it didn’t impact the plugin much.

And now, the nagging question : is Sorts really working ?

Well YES ! 🎉 Sorts offers an « unfolding » file tree view and already allows combined searches on a good variety of characteristics that files can have !

However, this is a Beta version and it has some limitations… I had to make some accommodations with the technical issues mentioned in the previous question, and while the current version works on small Nextcloud instances, it will likely have trouble to scale when working with real instances counting hundreds of users and thousands of files.


Nextcloud Sorts 0.1.0-beta feature demo video (source)

Features of Nextcloud Sorts 0.1.0-beta (source)

 

What’s next ? What do you think is next, and when ?

Sorts is available on https://packages.framasoft.org and on the Nextcloud app store in beta version !

We want to continue to maintain this application and to process and accept all possible contributions, but neither I nor Framasoft have plans to develop it full time at the moment. Sorts is now entering the world of community/voluntary development, which means that the developments carried by Framasoft and myself will be done according to our desires and availabilities, without any particular agenda (which also means that we won’t announce any « release date »).

We are coming to the end of this interview. Would you like to share with us a feeling about the work done during this workshop ?

Summarize an internship in one emotion ? That’s a tough one ! Developing a program goes from frustration when it doesn’t work, to the excitement of investigating why it doesn’t work, to the satisfaction of seeing the feature work when you’ve found it.

No, more seriously, there were some frustrations like not having much time to develop or not finding as much time and motivation as I would have liked to complete the project after the internship, but I am satisfied. Satisfied to have made something that works but especially to have been able to design this plugin from almost the beginning to almost the end, taking the time to identify what could be useful, to think about what it should look like, and then to think about how to realize it technically.

Last question, recurrent in our interviews : what is the question you would have liked to be asked, and what would be your answer ?

Why didn’t you publish Sorts earlier ?

That’s my big regret ! And I think that the people who were interested in the application during the note of intent also asked themselves that question. But my associative and personal life was quite busy after the internship and didn’t leave me much time to take care of Sorts, that’s also what volunteer development is about.

Thank you Romain ! And to all the people who made this work possible, especially by answering the questionnaire !

Reminder of the different links mentioned in the article :

Khrys’presso du lundi 11 juillet 2022

lundi 11 juillet 2022 à 07:42

Comme chaque lundi, un coup d’œil dans le rétroviseur pour découvrir les informations que vous avez peut-être ratées la semaine dernière.


Tous les liens listés ci-dessous sont a priori accessibles librement. Si ce n’est pas le cas, pensez à activer votre bloqueur de javascript favori ou à passer en “mode lecture” (Firefox) ;-)

Brave New World

Spécial (droit des) femmes

Spécial France

Spécial médias et pouvoir

Spécial emmerdeurs irresponsables gérant comme des pieds (et à la néolibérale)

Spécial recul des droits et libertés, violences policières, montée de l’extrême-droite…

Spécial (droit des) femmes en France

Spécial résistances

Spécial GAFAM et cie

Les autres lectures de la semaine

Les BDs/graphiques/photos de la semaine

Les vidéos/podcasts de la semaine

Les trucs chouettes de la semaine


Retrouvez les revues de web précédentes dans la catégorie Libre Veille du Framablog.

Les articles, commentaires et autres images qui composent ces « Khrys’presso » n’engagent que moi (Khrys).

Khrys’presso du lundi 4 juillet 2022

lundi 4 juillet 2022 à 07:42

Comme chaque lundi, un coup d’œil dans le rétroviseur pour découvrir les informations que vous avez peut-être ratées la semaine dernière.


Tous les liens listés ci-dessous sont a priori accessibles librement. Si ce n’est pas le cas, pensez à activer votre bloqueur de javascript favori ou à passer en “mode lecture” (Firefox) ;-)

Brave New World

Spécial (droit des) femmes

Spécial France

Spécial médias et pouvoir

Le média indépendant à soutenir cette semaine

Next INpact est en réel danger de mort (nextinpact.com)

Spécial emmerdeurs irresponsables gérant comme des pieds (et à la néolibérale)

Spécial recul des droits et libertés, violences policières, montée de l’extrême-droite…

Spécial (droit des) femmes en France

Spécial résistances

Spécial GAFAM et cie

Les autres lectures de la semaine

Les BDs/graphiques/photos de la semaine

Les vidéos/podcasts de la semaine

Les trucs chouettes de la semaine


Retrouvez les revues de web précédentes dans la catégorie Libre Veille du Framablog.

Les articles, commentaires et autres images qui composent ces « Khrys’presso » n’engagent que moi (Khrys).

Khrys’presso du lundi 27 juin 2022

lundi 27 juin 2022 à 07:42

Comme chaque lundi, un coup d’œil dans le rétroviseur pour découvrir les informations que vous avez peut-être ratées la semaine dernière.


Tous les liens listés ci-dessous sont a priori accessibles librement. Si ce n’est pas le cas, pensez à activer votre bloqueur de javascript favori ou à passer en “mode lecture” (Firefox) ;-)

Brave New World

Spécial (droit des) femmes

Spécial France

Spécial médias et pouvoir

La disparition de la semaine

Spécial emmerdeurs irresponsables gérant comme des pieds (et à la néolibérale)

Spécial recul des droits et libertés, violences policières, montée de l’extrême-droite…

Spécial (droit des) femmes en France

Spécial résistances

Spécial GAFAM et cie

Les autres lectures de la semaine

Les BDs/graphiques/photos de la semaine

Les vidéos/podcasts de la semaine

Les trucs chouettes de la semaine


Retrouvez les revues de web précédentes dans la catégorie Libre Veille du Framablog.

Les articles, commentaires et autres images qui composent ces « Khrys’presso » n’engagent que moi (Khrys).

Gao & Blaze : le jeu mobile immersif qui utilise et respecte vos données personnelles

mercredi 22 juin 2022 à 09:45

Nous avons été contacté·es récemment par l’équipe de la coopérative « La Boussole », pour nous parler d’un tout nouveau projet : le jeu Gao & Blaze.

Gao & Blaze, est un jeu libre et gratuit pour smartphone, qui permet de prendre conscience et agir sur la protection de vos données et le respect de votre vie privée. Au fur et à mesure du jeu, vous réalisez l’ampleur des données personnelles et sociales qui peuvent être divulguées avec l’installation d’une simple appli (mais sans collecte cachée de données, promis !).

Bel exemple d’éducation populaire aux enjeux du numérique, cet ovni dans le monde du jeu vidéo nous a grandement intéressé·es. Nous avons donc posé quelques questions à l’équipe de la coopérative « La Boussole ».

 

Bonjour l’équipe de la coopérative « La Boussole » ! À Framasoft, on vous connaît déjà un peu depuis quelques années, mais pourriez-vous vous présenter aux lecteur⋅ices du Framablog ?

Bonjour à Framasoft et merci pour cet espace ! Nous sommes plein de choses, mais avant tout 3 :

Super ! Vous pouvez nous en dire un peu plus sur les types d’actions que vous réalisez ?

Principalement nous réalisons des projets de recherche autour de nos thématiques mais également des formations courtes pour donner des outils pratiques. Nous explorons aussi lors d’ateliers pédagogiques des nouvelles formes de transmettre des connaissances car nous nous préoccupons souvent de savoir comment nos savoirs académiques peuvent avoir un impact concret et positif sur les gens que nous rencontrons. Nous voyons aussi comment dans des domaines comme le numérique la concentration des savoirs et savoir-faire peut créer d’importantes inégalités de pouvoir.

Vous nous avez contactés récemment au sujet d’un projet un peu particulier : Gao & Blaze. Mais… c’est quoi ? !

Nous sommes parti·e·s d’une frustration : nous avions passé du temps et mis de l’énergie à essayer de convaincre du bien-fondé de la protection des données interpersonnelles, de sensibiliser aux questions liées à la sécurité informatique, mais le constat était que beaucoup de gens étaient d’accord avec nous sans pour autant changer leurs pratiques dans les faits.

Dit de manière brutale : nous voulions savoir comment faire pour que des gens aient envie d’aller à des chiffrofêtes car il nous semblait que seuls des gens déjà sensibilisés y participaient, et nous avions l’ambition d’aller chercher plus loin.

Bien évidemment, le panorama a évolué au cours des dernières années de différentes manières notamment avec des scandales de plus en plus audibles et relayés, mais également des initiatives enthousiasmantes qui ont marqué un avant et un après dans les usages courants (nous pensons notamment à votre campagne Dégooglisons internet). Pourtant, il nous semblait y avoir un chaînon manquant autour du « passage à l’action ». Nous avons donc voulu proposer un jeu qui utilise l’émotion avant d’utiliser la raison – autrement dit qui passe par l’expérience personnelle avant la connaissance concrète. C’est là que nous avons eu l’idée d’imaginer un jeu pour donner à voir les conséquences concrètes de l’exploitation et l’usage des données de Madame et Monsieur Tout-le-monde.

Cette frustration nous trottait à l’esprit quand nous avions vu un appel à projet de recherche sur la protection des données. Nous avions proposé un projet qui n’entrait pas dans les cases, mais nous avons réussi à monter un partenariat qui nous a permis de créer un ovni. À notre connaissance c’est le premier jeu autour de la sensibilisation à la protection des données interpersonnelles sur Android.

C’est un ovni car nous avions 4 conditions non négociables :

C’est qui Gao et Blaze ? Des personnages ?

Exactement ! Gao est un chat, appartenant à Blaze. Il s’inspire de son chat et l’a converti en l’icône des Gao Games. Les Gao games sont un univers de mini-jeux gratuits sur smartphone autour duquel toute communauté s’est construite. Blaze, est le dev principal de ces jeux. Toute ressemblance avec certains petits jeux mignons, « gratuits » et très célèbres est purement accidentelle… 0:o)

C’est aussi et avant tout le chat de Blaze, le développeur des jeux, qui l’a rendu célèbre.

D’autres personnages et non des moindres, font partie de la communauté, Alex, Nikki, Masako, Amin, Ally…. nous vous laissons les découvrir en allant leur parler !

La question des données personnelles, vous pensez que ça intéresse réellement les jeunes ? Est-ce que la vie privée ce n’est pas « Un problème de vieux cons ? »

Question intéressante, nous pouvons rétorquer par facilité qu’en 2010 c’était une question de « vieux cons », mais c’était il y a déjà 12 ans ! Plus sérieusement, nous constatons que beaucoup d’eau a coulé sous les ponts depuis le début des années 2010 en termes de révélations (E. Snowden, Wikileaks, Cambridge Analytica, Pegasus…), en termes d’ampleur des scandales, de leur couverture médiatique, mais aussi du côté de la marche triomphante des multinationales des données dans la prédation et l’exploitation des données des individus.
Il y a également de nouveaux freins légaux (comme le RGPD, par exemple), et une jeune génération qui a ses propres stratégies d’appropriation et d’usage des technologies numériques…

Nous croyons que l’intérêt pour la vie privée est là, simplement qu’il se configure de nouvelles façons. Avec Gao&Blaze nous tentons d’apporter une réponse à la demande et aux questionnements d’un public peu expert et réfractaire aux approches classiques de sensibilisation.

Parlons maintenant des licences du jeu : sous quelle(s) licence(s) est publié le jeu, et surtout… Pourquoi ?

La question des licences a mérité un peu de réflexion, car un jeu vidéo présente la particularité de mêler plein de composantes différentes : code, œuvres graphiques, dialogues, musiques… Certaines licences (comme la GPL par exemple) sont conçues pour du code informatique, et conviendraient pas vraiment pour une illustration, par exemple.

Pour essayer de couvrir tous ces usages, Gao&Blaze est donc diffusé sous licence GNU AGPL 3.0 pour le code et sous licence Creative Commons BY-SA 4.0 pour les autres créations. Il embarque aussi des polices d’écriture et musiques sous licences tierces compatibles.

Vous n’avez pas peur de vous faire « voler » les innombrables heures de travail que vous avez passées en développement ?

C’est une vraie question !

En premier lieu, nous concevons notre création comme une contribution aux biens communs, et en soi, ça ne se « possède » pas – ça ne peut donc pas se voler.

En revanche, il existe deux risques auxquels nous avons pensé :

Une idée reçue est que les licences libres ne protègent pas bien les œuvres et/ou les autrices/auteurs mais c’est faux. Les licences que nous avons choisies protègent normalement de ces deux risques car :

Le seul risque qui existe serait que des gens créent une version dérivée avec laquelle nous serions en désaccord éthiquement, mais bon, c’est la vie. Dans le fond, créer des œuvres libres implique aussi de changer de point de vue : même si nous avons une parenté sur l’œuvre, ce n’est pas « notre » bébé, c’est le bébé de tout le monde. Mais ça tombe bien, ça fait potentiellement plus de bonnes volontés pour s’en occuper. :)

Quel rôle joue la MAIF dans votre projet ? Partenariat financier ou davantage ?

La MAIF est un assureur militant de poids et nous avons collaboré avec deux structures satellites de ce géant de l’assurance : la Fondation MAIF pour la recherche, et l’association Prévention MAIF dédiée aux actions de prévention. Ces deux structures non-lucratives ont co-financé avec nous la partie production et la partie recherche, et nous avons eu le plaisir d’avoir des échanges enrichissants pour consolider le projet et qu’il voie le jour.

Impossible de dire que l’engagement n’était que financier : les structures de la MAIF étaient intimement convaincues de la pertinence de la démarche et de l’urgence sociétale du sujet. Ils tenaient à ce que ce projet se fasse sous forme de logiciel libre mais qu’il ne puisse pas être approprié par d’autres.

Merci pour cet impressionnant travail ! :) Quelles sont les prochaines étapes et vos attentes vis-à-vis de Gao & Blaze ?

C’est le cas de le dire ! C’était assez fou de créer un studio de jeu vidéo éphémère, de vouloir avancer masqué·e·s avec un jeu visuellement très mainstream, et pourtant codé « en dur », alors même que la production logicielle n’est pas notre cœur de métier.
La suite est la partie recherche de ce projet ! Nous avons besoin qu’il soit joué jusqu’au bout, nous avons envie de comprendre et constater comment oui ou non notre pari de sensibiliser à la protection des données via le jeu était pertinent ou pas.

Le jeu demande au fur et à mesure différentes autorisations.

Et pour vos autres projets (on se doute que vous en avez !) : quels sont-ils ? Quels sont vos espoirs ? Comment peut-on vous aider ?

Nous continuons dans nos projets de recherche (autour des formes de sensibilisation) et de formations auprès d’autres publics. Aujourd’hui nous réfléchissons à la sensibilisation aux questions de la vie privée pour des personnes peu ou pas lettrées qui pourtant sont contraintes à l’utilisation de téléphones portables.
Nous avons aussi d’autres chantiers académiques car il est important pour nous de nous maintenir à la page, de lire et de produire des recherches au long cours. Une participation à projet de documentaire sur les low-tech (basses-technologies) est dans les cartons et nous vous en parlerons plus tard quand il sera plus avancé !

Une question traditionnelle pour conclure : quelle est la question que l’on ne vous a pas posée, à laquelle vous auriez aimé répondre ? Et quelle serait-votre réponse, tant qu’à faire ! :)

Nous aurions voulu que vous nous demandiez si nous avons choisi exprès le 30 novembre pour lancer le jeu car c’est la journée mondiale de la sécurité informatique. Nous vous dirions que oui, nous avions tout savamment calculé ;)
Ou peut-être une autre question sur les autres personnages, surtout Nikki, hackeuse badass mais pas très genrée, ou sur Alex, une femme noire qui commence « Madame Tout-le-monde » et finit héroïne. Nous voulions fuir certaines caricatures et avions envie de personnages vraisemblables mais peu courants dans le monde du jeu vidéo.

Merci infiniment !

 

Liens utiles