PROJET AUTOBLOG


Marien Fressinaud

Site original : Marien Fressinaud

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Lessy Antlia

mardi 31 octobre 2017 à 13:30

J’expliquais dans mon article du 8 octobre que je souhaitais que Lessy soit un projet s’adressant à une large portion de la population non-geek. Pour cela, je voulais le rendre plus accueillant et plus communautaire. C’est pourquoi je suis très fier d’annoncer la sortie de Lessy Antlia (le nom de cette nouvelle version). Au menu, énormément de documentation.

J’ai passé les dernières semaines à travailler les valeurs que je voulais défendre avec Lessy. Après avoir dessiné, trié et organisé toutes les idées que j’avais en tête, j’ai abouti à une première version de la vision de Lessy (en anglais) :

Lessy is a time manager application built upon strong principles. It is designed to be as intuitive and inclusive as possible. Its goal is to return people their power to manage time, instil self-confidence and challenge their capacity to question themselves. It is built by a diverse and welcoming community.

On peut traduire cela par :

Lessy est un gestionnaire de temps basé sur des principes forts. Il est conçu pour être aussi intuitif et inclusif que possible. Son objectif est de redonner à ses utilisateurs et utilisatrices leur capacité à gérer leur temps, leur confiance en eux et leur capacité à se remettre en question. Il est développé par une communauté accueillante et diversifiée.

Cette vision est donnée en préambule du fichier README de Lessy et est immédiatement suivi d’une précision : toute fonctionnalité développée, toute discussion que nous avons au sein de la communauté, toute décision que nous prenons doit aller dans le sens de cette vision.

Voilà donc pour la mise en bouche. Je regrette souvent le manque de direction dans les projets communautaires qui mène bien souvent à des logiciels qui font beaucoup de choses mais qui manquent de personnalité. Avec Lessy, je veux donner un cap au logiciel et mes engagements personnels transparaissent dans cette vision. Lorsque j’ai commencé à développer cette application, c’était pour me redonner la main sur le temps qui m’échappait, alors pourquoi ne pas complètement l’assumer jusque dans l’ADN de Lessy ?

On m’a demandé l’autre jour en quoi Lessy est-il éthique. J’étendrais la question à en quoi Lessy correspond aujourd’hui à la vision que je viens de donner. Et c’est vrai qu’en utilisant Lessy on voit difficilement une application éthique, inclusive, redonnant un peu de pouvoir à ses utilisateurs et utilisatrices ; tout au plus une todo-list un peu originale. Et c’est effectivement le défi que je me donne pour les mois à venir : faire transparaître la vision dans l’interface. Cependant, je ne pense pas être capable de faire cela à moi seul et c’est pourquoi je voulais rapidement me concentrer sur la documentation communautaire. Cette documentation contient donc désormais :

La documentation technique a elle aussi été largement revue pour aborder plus de sujets différents.

J’espère que tous ces documents sauront attirer une population hétérogène de contributeurs et contributrices, bien que je ne me fasse pas d’illusion : il faut désormais que je me bouge pour rendre l’application réellement attrayante.

Tout cela m’a pris beaucoup de temps à rédiger, surtout que tout a été fait en anglais alors que ce n’est pas ma langue de prédilection. J’ai fait ce choix volontairement en me disant qu’il serait plus facile de trouver des personnes souhaitant contribuer en visant large qu’en visant un public uniquement francophone. De plus, j’ai le sentiment que les Français·e·s sont de plus en plus à l’aise avec l’anglais. Seul l’avenir me le dira !

Lessy : versions et itérations

dimanche 29 octobre 2017 à 10:00

Je me suis intéressé ces derniers jours au système de sortie des nouvelles versions de Lessy. Cela peut paraître étonnant, mais décider d’un tel système est parfois compliqué et pose plusieurs problèmes.

Pour commencer, on peut se poser la question « pourquoi versionner ? ». J’y vois personnellement quatre intérets en particulier :

Lorsque je travaillais encore sur FreshRSS, nous nous étions souciés de la question de la visibilité. Nous avions alors trois versions distinctes : une stable, sortant à intervalles plutôt longs, la bêta qui sortait tous les… hum… deux mois (?) et la version de développement. Nous avions décidé de mettre en avant la version bêta qui était alors moins testée que la version stable mais qui avait l’avantage de garder les utilisateurs accrochés à « l’actualité » de FreshRSS. Ce système avait toutefois le désavantage d’être lourd à maintenir. Je souhaitais par conséquent un système plus simple pour Lessy tout en continuant de mettre en avant le travail quotidien effectué.

Concernant le deuxième point, à savoir que le versionnage donne une indication sur le niveau de modifications depuis la version précédente, je pense évidemment au système « semantic versioning ». Si ce système possède un intéret évident dans le cas de dépendances (ex. le logiciel A dépend du logiciel B dans sa version X), je ne le vois pas dans le cas d’un logiciel en « bout de chaine » tel que Lessy. C’est pourquoi je suis parti sur un système de nommage totalement différent.

La raison consistant à donner des numéros de version pour permettre de revenir en arrière en cas de soucis me paraît évidemment légitime bien que le cas se présente à mon avis de façon assez rare.

Enfin, sortir une nouvelle version est loin d’être uniquement une tâche technique. Il s’agit avant tout de fêter une nouvelle étape franchie dans le développement et de marquer d’une pierre blanche l’avancement pour pouvoir constater plus tard tout le chemin parcouru. Célébrer une nouvelle version, ça motive énormément !

Concrêtement, comment cela va-t-il se passer pour Lessy ?

L’ensemble des tâches à effectuer (fonctionnalités, tâches techniques, corrections de bugs, etc.) sont listées en vrac dans les tickets GitHub, ce qui me sert par conséquent de boite d’entrée. Ces tâches sont ensuite triées par petits groupes au sein d’itérations représentées par les projets GitHub. Les tâches d’une itération forment un ensemble de fonctionnalités ou tâches techniques similaires et leur temps de développement total effectif ne doit pas être excessif (je me fixe 2 ou 3 semaines comme maximum). Ces itérations permettent ainsi de dessiner une pseudo feuille de route du projet. Et comme chacune d’entre elles est nommée (d’après les constellations astronomiques), la fin d’une itération donne son nom à une nouvelle version de Lessy.

Ainsi, des quatre points que je listais plus haut, seule la problématique des dépendances n’est pas du tout adressée. Pour les trois autres :

Pour terminer, si j’ai choisi de nommer les versions de Lessy par les noms des constellations astronomiques, c’est avant tout parce que je cherchais un système de nommage original permettant de penser à autre chose qu’à seulement du code. Comme lever le nez du clavier ne suffit pas toujours à se changer les idées, je me disais que le lever vers le ciel serait une bonne idée.

Project Zero devient Lessy

dimanche 8 octobre 2017 à 21:00

Il y a quelques jours, j’ai annoncé sur Mastodon que Project Zero devenait officiellement Lessy, il était temps je l’officialise aussi sur ce blog. La raison est multiple et je vais essayer de la détailler ici.

Pour rappel, Lessy (donc) est un gestionnaire de temps à base de gestion de projets et de liste de tâches.

Tout d’abord, cela fait maintenant neuf mois (clairement pas à plein temps !) que je travaille sur ce projet. Cela me prouve que je suis motivé par son développement, d’autant plus que j’ai tout juste gratté les fonctionnalités dont j’ai envie/besoin. Project Zero m’est devenu au fil des mois un outil indispensable. J’en parlerai probablement dans un autre article, mais en très bref, j’ai réussi grâce à lui à démarrer (et mener à bien) plusieurs projets que je laissais trainer depuis des années. Aussi, depuis mai, ma liste de tâches n’en contient plus datant de plus de deux semaines, ce qui est une grande victoire pour moi !

De l’usage de cet outil, j’en ai tiré un tas d’idées un peu en vrac et j’avais besoin de remettre un peu d’ordre dans tout cela. C’est pourquoi j’ai voulu faire appel à une personne sensible à ma démarche et qui pourrait m’apporter un regard extérieur. J’ai eu la chance le mois dernier d’avoir les retours et idées de la part de Marie-Cécile Paccard qui est, en deux quatre mots, UX designer à Lyon. Cela a eu pour effet de rediriger mes efforts vers une toute autre direction… pour le mieux ! En effet, nous avons commencé à identifer ensemble une liste de valeurs et de « missions » que pouvait se donner Project Zero. J’ai ensuite continué de mon côté pour essayer d’identifier un objectif qui n’est pas encore totalement défini (le travail est encore en cours). En revanche, j’ai déjà une bonne vision de l’ensemble et l’un des éléments qui est revenu plusieurs fois est la notion de réduction de la « charge cognitive ». Ce sera en effet l’un des points fondamentaux qui dirigeront les développements futurs du projet. J’y reviendrai en détails dans un futur article.

En parallèle de ce travail, je me suis rendu compte qu’il était essentiel que j’obtienne plus de retours, plus variés, afin de faire émerger d’autres besoins essentiels. Il est important pour moi que Project Zero soit utile à une portion importante de la population non-geek, j’ai donc pour objectif d’orienter mes prochaines actions pour rendre le projet plus accueillant, plus communautaire. C’est pourquoi les deux prochaines « itérations » (j’y reviendrai aussi) seront orientées vers une documentation plus aboutie pour les nouveaux venus et une interface plus accueillante. Dans un tel contexte, le nom devenait donc important pour ne pas rebuter les gens.

Project Zero devient donc Lessy. Le nom ne me plaisait pas depuis le début : je l’avais plutôt utilisé comme nom de code, signifiant qu’il faudrait que je commence par développer celui-ci avant d’attaquer un autre projet. Il était clair depuis le début qu’il ne serait pas définitif. En devenant Lessy, je souhaite faire passer la notion de « moins » (i.e. less en anglais) : moins de stress, moins de charge cognitive. Je souhaite que ce nom soit apaisant en quelque sorte. De plus, Lessy est un nom particulièrement court, qui se retient et qui n’est quasiment pas utilisé aujourd’hui ce qui permettra d’en faciliter le référencement sur Internet.

Le nouveau dépôt de code est toujours sur GitHub (github.com/marienfressinaud/lessy) mais le service que je mets (pour le moment, gracieusement) à disposition s'est déplacé vers l’adresse lessy.io. Ceci dit, ne vous jetez pas dessus, c’est toujours aussi moche.

Project Zero 0.3

dimanche 23 juillet 2017 à 21:00

Un mois et demi après la 0.2, je suis très content d’annoncer la sortie de la version 0.3 de Project Zero. Pour rappel, il s’agit d’un gestionnaire de projets et de tâches avec un fort parti pris sur la façon de gérer tout cela.

Le code source se trouve sur GitHub, sous licence MIT et vous pouvez l’utiliser sur zero.marienfressinaud.fr, en attendant de migrer vers un nouveau (sous-)domaine que j’ai (enfin !) acheté.

Les nouveautés

Lorsque j’ai annoncé le mois dernier ce que je comptais inclure dans la prochaine version, j’avais prévu toute une liste de choses à faire : « meilleure gestion des petits écrans, emails de rappel, joli logo, amélioration de l’ergonomie et refonte du design, éventuellement ludification ». De tout ça, je n’ai quasiment rien retenu pour me concentrer sur ce qui comptait vraiment dans mon usage, l’idée étant que je l’utilise réellement au quotidien.

Premièrement, le « responsive design » était quasiment primordial vu que j’utilise beaucoup Project Zero sur tablette, voire sur téléphone. Ce n’est pas encore parfait, surtout sur mobile, mais tout est fonctionnel.

Ensuite, j’avais absolument besoin de lier des tâches aux projets pour m’assurer qu’ils avancent correctement. En effet, jusqu’à maintenant ma liste de projets servait surtout de déco et beaucoup d’entre eux dépassaient leur date de fin. Désormais, avec les tâches associées ainsi que les deux indicateurs qui viennent avec, il est désormais beaucoup plus facile de savoir ce qui avance ou non. Les indicateurs sont de deux types :

Ces deux indicateurs se sont révélés indispensables pour mon usage.

Dashboard de Project Zero 0.3

Une fonctionnalité de la version 0.3 s’est en revanche montrée moins utile. En effet, les tâches non terminées le jour même se retrouvaient dans une « pending list » qui n’était pas facilement accessible. De ce fait, je perdais de vue bon nombre des tâches qui se trouvaient donc non résolues. J’ai décidé de renvoyer ces tâches dans le « backlog » dans le but de toujours démarrer une journée avec une liste de tâches vide. J’en ai profité pour rendre les tâches du « backlog » directement plannifiable ce qui a rendu le bouton « What will you work on today ? » inutile. C‘est donc un écran qui a sauté.

En résumé, il n’y a plus que deux listes de tâches : la liste du jour même et le « backlog ». Chaque début de journée, vous pouvez aller piocher dans celui-ci les tâches que vous pensez pouvoir réaliser le jour même.

Pour terminer, une fonctionnalité pas tellement essentielle mais que je trouvais sympa : une page de statistiques permettant de retracer sur les 15 derniers jours le nombre de tâches créées comparé au nombre de tâches terminées. Cela permet de me rassurer sur le fait que j’avance dans ce que j’ai à faire.

Dashboard de Project Zero 0.3

Pour les plus vigilants, vous noterez que le style est très proche de celui des graphiques GitHub (ceux de l’onglet « Traffic »).

Avec cette nouvelle version, j’ai désormais un outil pleinement fonctionnel pour mon usage quotidien. Je vais désormais sans doute mettre un (petit) coup de frein au développement du projet pour préparer un gros morceau : l’amélioration globale de l’expérience utilisateur et la mise en place d’une charte graphique pour le projet. Je ne sais pas encore quand je pourrai faire cela et il n’est pas impossible que je développe deux trois fonctionnalités autres, mais ce n’est pas dans mes priorités immédiates.

Project Zero 0.2

lundi 5 juin 2017 à 21:10

Après une version 0.1 sortie fin janvier, je sors aujourd’hui (avec seulement un mois de retard) la version 0.2 de Project Zero, mon mini-système de gestion de projets et de tâches.

Le code source se trouve sur GitHub, sous licence MIT et vous pouvez toujours l’utiliser sur zero.marienfressinaud.fr. L’adresse n’a pas (encore) changé mais passe désormais en HTTPS.

Les nouveautés de la 0.2

Cette nouvelle version apporte la gestion de listes de tâches (ou « todo lists »), fonctionnalité dont j’avais le plus besoin. J’utilisais auparavant Todoist qui me convenait plutôt bien, mais je souhaitais un système plus proche de mon mode de fonctionnement. Qu’apporte vraiment Project Zero par rapport à n’importe quel autre gestionnaire de tâches ?

Tout d’abord, l’ajout des tâches a été pensé pour se faire le jour même. La plupart du temps, en arrivant le matin au boulot, je me prépare une liste des choses que j’aimerais régler pendant la journée. Quel meilleur moment pour savoir ce que l’on souhaite faire que le matin ?

Bien sûr, il m’arrive aussi souvent d’avoir des idées de choses à faire que je ne réaliserai pas le jour même, pour cela une seconde liste appelée « backlog » vient s’ajouter à la première dans laquelle je peux venir piocher pour préparer ma liste de la journée.

Les tâches que je n’arrive pas à terminer sont marquées en attente et viennent alimenter une troisième liste. En préparant ma liste de la journée, les tâches non réalisées la veille me sont proposées à nouveau et je peux soit indiquer que je l’ai en fait déjà terminée, soit la replanifier pour aujourd’hui. Si je la replanifie, un indicateur est incrémenté. Cet indicateur me sert à me prévenir que j’ai trop replanifié une tâche et me propose au bout de 2 fois de découper la tâche ou de la renommer pour la rendre plus facile à terminer.

Un second indicateur particulièrement utile pour les tâches du « backlog » indique le nombre de semaines depuis que la tâche a été créée. Au bout de 2 semaines, l’indicateur me propose d’abandonner la tâche vu qu’il y a de fortes chances que je ne la termine jamais.

Ces deux indicateurs me permettent d’éviter de conserver des tâches pendant trop longtemps. Cela me permet d’avoir un système de priorisation non basé sur une appréciation subjective mais basé sur le temps et sur la répétition ; ainsi je peux réordonner les tâches au fil du temps.

Dashboard de Project Zero 0.2

Les dates d’échéance ?

J’ai décidé de ne pas gérer les dates d’échéance. C’est encore une réflexion en cours car j’avais vraiment dans l’idée de les gérer mais j’ai finalement conclu à la non nécessité de la fonctionnalité. Une date d’échéance peut avoir deux significations :

De plus, j’avais peur de la complexité car cela m’aurait mené à devoir (vouloir ?) gérer la répétition des tâches dans le temps et la saisie intuitive des dates (taper « demain » pour saisir la date du lendemain par exemple).

En prévoyant la suite…

Cette nouvelle version apporte un gros morceau qui fait que Project Zero me devient de plus en plus utile. Pour autant, je n’ai pas encore vraiment le réflexe de m’y connecter et je n’y ai d’ailleurs pas du tout touché pendant le mois d’avril (ce qui explique le retard pris pour cette sortie). J’ai tout de même ajouté pas mal de choses en mai qui me facilite l’usage (ordonnancement, édition, abandon et indicateurs).

La version à venir (la 0.3 donc) me servira surtout à consolider ce que j’ai fait jusqu’à maintenant et devrait ajouter des mécanismes poussant à la « fidélisation » (meilleure gestion des petits écrans, emails de rappel, joli logo, amélioration de l’ergonomie et refonte du design, éventuellement ludification). Je n’ai aucune idée de la date de la prochaine sortie car j’ai d’abord besoin d’identifier ce qui bloque mon usage.

J’ai pas mal d’idées de ce que pourrait devenir Project Zero et des fonctionnalités qui pourraient m’être utiles, mais je souhaite vraiment monter ce projet petite brique par petite brique en m’assurant que le tout est utilisable et utilisé.