Développement de l'App Market!

Sauf quand c’est l’utilisateur. Et ça fait du monde.

L’idée d’afficher le Readme est pas mal (mais quid de la traduction ?) ou quelques informations de base pour indiquer par exemple l’état du paquet. Exemple: le paquet est en cours de développement, ou souffre d’un bug important, auquel cas le signaler pour être utile à un utilisateur peu averti / trop pressé.

Pour une première version, je propose de rester simple : le readme existe, autant l’utiliser.
On veux plusieurs langues ? Pas de soucis, on insère les traductions à la suite :slight_smile: d’abord l’ensemble de la langue 1, puis toute la langue 2, etc.

Ensuite on pourrait penser à un systeme plus élaboré, mais ce que je propose serait une première étape “simple”.

Faut aussi peser la quantité de travail pour le mainteneur, et les éventuels problèmes en son absence / si le paquet est ancien est “à l’abandon” (ça peut-être un paquet fonctionnel, sans besoin de maintenance)

On a déjà une PR qui pourrait répondre au besoin de traduction des descriptions logicielles : https://github.com/YunoHost/apps/pull/123 ça serait bien que ce soit compatible ! Même si cette PR n’est pas finalisée, elle montre que la marche n’est pas si énorme pour réussir à atteindre l’objectif de traduction.

Je ne sais pas où vous en êtes, mais pourquoi ne pas simplement reprendre le nouveau frama market ? :smiley:

Il est fait, il est libre, il semble bien…

Effectivement c’est très intéressant, c’est assez simple et esthétique.

C’est basé sur drupal, je sais pas ce que ça vaut.

Je le regarde depuis tout à l’heure et en fait, cette sous-partie est ce qui intéresse Yunohost je pense :slight_smile:

https://framalibre.org/annuaires/logiciel

Bon y a du changement: https://yunohost.org/#/apps_fr :slight_smile:

Alors évidement il y a encore du boulot, voici quelques idées :

Tags

Un simple champs tags:[] dans le manifeste ferait l’affaire. Une liste central des tags autorisés serait mise en place et le linter vérifierait que le tag fait bien parti de la liste (histoire qu’on ai pas des synonymes ou des différences de typo). Si c’est mis en place il faudra pouvoir filtrer en fonction des tags

Images

La difficulté si on met des logos c’est l’harmonie de la page. Pour cette raison il est peut être préférable d’afficher des captures d’écran. Je propose de mettre ces screenshot dans un répertoire img et d’y faire référence dans le manifeste:

screenshots:[
    {
        src:"img/1.png",
        description:"Lorem ipsum dolor"
    },
    {
        src:"img/2.png",
        description:"et si qua met"
    },
    {
        src:"img/3.png",
        description:"tu quoque filis"
    },
]

Les dimensions et le poids seraient imposées

On pourrait aussi pointer vers une icône qui serait utilisée ailleurs que dans la liste, par exemple lorsque l’on installe l’app

Installation des apps communautaires

Le système d’installation des apps communautaires par exemple https://install-app.yunohost.org/?app=cryptpad n’est pas correct, la vraie méthode aujourd’hui serait d’ajouter la liste d’applications communautaire, pour bénéficier des mises à jour identifiées comme stable, en l’état l’installation avec le lien de l’app, entraine aussi des mises à jour potentiellement instables voir dangereuses.

Cependant on réfléchit à faire évoluer le système de liste d’applications. Les apps vont être encouragée à utiliser une branche testing, ainsi la branche principale sera clairement une branche réputée stable si la branche testing est présente.

Intégration dans la web admin

Il y a déjà eu un premier essai qui semblait bien partit, il semble que ça ne serait pas énormément de boulot.

Intégration des apps non listée

Il existe environ 150 apps non listées sur github. Une idée serait de pouvoir les consulter directement sur la page. Mais il faut faire le tris

Système de vote

Il y aurait un système de vote à mettre en place, afin de guider le groupe app sur les applications les plus utilisées/désirées, histoire que les votes soient à peu prés fiable on pensait limiter 1 vote par domaine/IP hébergé sous YunoHost.

Si on pousse un peu on peut envisager qu’il y ai plusieurs points à noter (fréquence d’utilisation, qualité de l’app upstream, qualité du package) et qu’il soit possible de laisser un commentaire ou de déposer un bug à partir de là.

Résumé de license

Il faudrait des pop over sur les labels “licenses” pour avoir un résumé des licenses, ça peut être fait car les labels sont codifiés et font références à des résumés.

Résumé des niveaux

De la même façon ce serait bien d’avoir une explication sur le niveau de l’app

Amélioration du README des documentations

Il devrait être possible d’avoir plus d’information sur l’app. C’est plus ou moins le cas car on peut cliquer sur “Doc”, mais pour le moment la plupart des apps n’ont pas de doc associées.

Comme pour YunoHost il y a différentes catégories d’information pour les apps:

  • Les infos à destination des users finaux (comment utiliser l’app, lien vers le manuel de l’app …)
  • Les infos à destination des admin d’instances YunoHost (Combien de ressources nécessaire, risque lié à l’installation de l’app, niveau d’intégration avec le SSO et le ldap, manip manuelle à exécuter…)
  • Les infos pour contribuer

Meilleure intégration CSS

Actuellement la façon dont est géré la grille n’est pas super, il y a sans doute mieux à faire

Limiter les descriptions

Afin qu’il n’y ai pas de problème d’affichage, je propose de limiter les descriptions à un certains nombre de caractères

5 Likes

J’utilise yunohost depuis longtemps maintenant (depuis la version 1, voire avant, si c’est possible) et le chemin parcouru est impressionnant, chapeau !

L’arrivée de l’app market est une étape importante vers l’unification et la simplification du processus d’installation d’applications (officielles et communautaires).

Je n’ai pas connaissance en profondeur des objectifs de l’équipe, par conséquent, je vais partir du principe qu’à terme le public cible pourra utiliser uniquement l’administration web et avoir des connaissances très limitées de la ligne de commande et de l’administration système. Il serait également “facilement submergé” par l’information. Si ce n’est pas le cas, il est possible que ce qui suit ne soit plus pertinent.

Je pars du résultat actuel, des idées évoquées par @ljf et je n’ai aucune idée de la quantité de travail induite par mes remarques. Elles ne représentent que mon opinion à cet instant et seront donc à pondérer ou adapter en fonction :slight_smile:

1ère impression

  • “Y’a plein d’applications, trop bien !”
  • Trop d’informations et de couleurs. /!\ Attention à ne pas surcharger.
  • “Je comprends pas ce que c’est…” *met le curseur au dessus espérant une infobulle*

Tags

+1

piste de solution : un bouton/champ de recherche qui s’étend lorsque sélectionné (un peu comme sur le forum mais avec un nuage des tags existants en plus), et applique le filtre correspondant à la liste.

Images

+1

pistes de solution :

  • une liste de liens associés à un système d’affichage lors du survol ?
  • utiliser une image de couverture par défaut ? la variété des thèmes utilisés pourrait polluer la lecture.

Système de vote

De manière générale, je dissocierais le système de statistiques de celui de votes et de commentaires. De plus, je ne suis pas convaincu que manipuler des informations concernant les utilisateurs finaux soit judicieux.

Pour éviter d’avoir à manipuler ces informations et favoriser la clarté, chaque app pourrait avoir un lien “chat & vote” vers une page dédiée sur le forum.

En supposant qu’il est possible de lier yunohost avec le forum, j’imagine une piste de présentation du “ratio pouce vert/pouce rouge” comme une barre proportionnelle au ratio des votes avec affichage de la valeur au survol.

Pour les statistiques d’utilisation, je trouve que cela pourrait être intéressant comme information mais je ne sais pas si c’est pertinent dans l’interface admin. ajouter un filtre de tri ? l’ajouter à la page forum de l’app ?

+1 pour ajouter un bouton “bug report” directement depuis l’interface admin

Pour pousser plus loin :

  • ouvrir une page avec le bugtracker ?
  • ouvrir un ticket automatiquement avec un utilisateur générique affiché dans une pop up ?

Pistes UI

  • cacher toutes les informations sauf titre & description limitée et afficher les autres informations lors du survol (lorsque l’utilisateur est intéressé par une app)
  • regrouper les applications par statuts avec un fond reprenant le code couleur existant. ajouter le titre du statut correspondant ? retirer l’état des informations affichées sur une app ? si les apps sont regroupées par statut coloré, ne pas avoir de couleur sur le bouton installer sauf si niveau < fonctionnel ? trier automatiquement les groupes par niveau d’app ?
  • appliquer le système de pop over évoqué pour les licences et le niveau d’une application pour les autres informations affichées :
  • afficher au survol que la date est celle de dernière mise à jour
  • afficher au survol que la personne est celle qui est en charge de la maintenance de l’application
  • afficher au survol que le bouton code permet d’accéder au dépôt de l’application. éventuellement ce qu’on peut y faire
  • afficher au survol que le bouton doc permet d’accéder à la documentation de l’application. “Déplier” la liste des liens vers les documentations disponibles lors du clic ? Ouvrir le dépôt de l’app sur la page de documentation standardisée ? “Déplier” via un système de prévisualisation ?

Encore une fois, je n’ai aucune idée de la complexité des pistes évoquées, ni de compétences pour les mettre en place. J’espère juste contribuer au débat et à l’amélioration de l’expérience yunohost :slight_smile:

NB : je me rends compte que j’ai écrit un pavé, du coup je fais un TLDR;

TLDR

  • Du beau boulot, depuis le début !
  • l’expérience app market a trop d’informations d’un coup, afficher les précisions sur les apps au survol pour réduire le choc ?
  • +1 pour l’accès aux apps communautaires, les tags et bug report
  • pas trop fan de la manipulation des domaines/ip des utilisateurs, plutôt passer par le forum ?

Merci pour ce retour.

Pour tout ce qui est survol, le problème c’est que c’est pas trop compatible smartphone.

Je comprend l’idée de surcharge d’info, d’autre ont dit “les gens ne regardent que les infos qui les intéressent”. On a discuté pendant le brique camp, d’un mode “afficher les informations avancées”, mais sans grand engouement des personnes présentes.

Pour le problème de couleur, à mon avis c’est aussi lié à la problématique des statuts et des niveaux qui sont des informations plus ou moins similaires (mais pas tant pour le moment). Ce problème pourra se régler si on calcul les niveaux aussi en fonction du statut déclaré par l’auteur de l’app. Ca viendra sans doute. Je reste pour ma part attaché à l’idée de mettre en vert ou en rouge le bouton installer en fonction de ce que l’on sait sur l’app. On pourrait aussi regarder pour mettre une icone attention plutôt qu’une couleur (ce serait en plus compatible pour les daltoniens rouge/vert.

Dans
Une part des contributeurs n’a pas envie de proposer d’option “participer au statistique sur l’utilisation des apps”. C’est la raison pour laquelle on ne propose pas de statistique intégrée à YunoHost.

Du coup c’est pour ça qu’un système de vote permettrait de se faire une idée.

Pour les informations de domaine/ip l’idée c’était de stocker un hash salé et pas de stocker l’ip ou le domaine des instances installées. Mais on reste dans la manipulation d’info d’utilisateur finaux on est d’accord. Sachant que c’est pas la seule occasion ou ça arrive (cf la future roadmap “décentralisation des services de l’infra”).

Le soucis d’une page sur le forum, c’est qu’il sera dur d’évaluer des points précis, ça sera juste des commentaires qui du coup ne seront pas exploitables pour suivre l’évolution de la qualité des packages d’applications. En gros on a besoin d’indicateurs chiffrés pour avoir une vue d’ensemble sur les 150 à 300 apps existantes…

Ah en effet, j’avais négligé la dilution de l’information sur le forum et complètement oublié la dimension smartphone ^^

Pour ce contexte là : un système avec un bloc affichant les informations détaillées de l’app sélectionnée et les éléments suivants sont en mode “replié”. Lors du défilement, l’application sélectionnée change et les informations sont mises à jour dans le bloc ?

+1 pour le système d’avertissement compatible daltonien

D’autres part, dans le cadre de la démarche d’avoir des statistiques plus précises sur le parc d’applications installées et décorrélées des utilisateurs : est-ce possible d’ajouter dans les helpers par défaut des apps, des fonctions qui permettraient de connaître quand une app est installée, désinstallée et mise à jour ?

Pour ce qui est des statuts et niveaux, j’ai l’impression de comprendre qu’ils n’ont pour fonction que de filtrer le contenu et servent de variables pour une problématique plus globale de système de notation. Peut être est-ce un sujet déjà évoqué en interne et mes compétences en mathématiques sont approximatives mais est-ce qu’un score dont la formule tiendrait compte de ces paramètres serait envisageable à la place ?

Score = WorkingOrNot * NiveauApp * log(NbInstall)

Ainsi, une application qui ne marche pas a un score de 0 et n’est pas facilement accessible aux utilisateurs. Alors qu’une application fonctionnelle avec beaucoup d’installations a un score supérieur à une autre de même niveau avec un nombre d’installations plus faible.

En espérant

Cette formule de score est très bien.

Pour le fait d’intégrer un outils de statistique lors de l’installation/maj/désinstallation, comme dit plus haut : tout le monde n’est pas d’accord sur l’idée, même avec une case à cocher autorisant la remontée statistique.

Mais on peut encore en débattre je pense, les positions, à ce sujet sont à mon avis loin d’être ferme et figée.