STIC:STIC IV (2019)/Pomodor'Up

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.


Pomodor'Up est un dispositif tangible servant à mettre en œuvre facilement et rapidement la méthode pomodoro.

Introduction

Le projet Pomodor'Up consiste à créer un dispositif de minuteur de temps de travail et de pauses - portatif - à l’aide d’une carte Adafruit Circuit Playground Express (CPX) ainsi que des Neopixels Jewel. Il est destiné à tout·e·s utilisateur·trice·s nécessitant gérer leur temps de productivité et désirant respecter des périodes dédiées au travail et d’autres aux pauses. De plus, il demande aux utilisateur·trice·s d'interagir avec lui en les “forçant” à le prendre en main lors d’une fin d’activité. Le dispositif proposé est basé notamment sur les fonctions déjà disponibles sur le CPX (comme l’accéléromètre ou les LED par exemple).

Problème

Durant une période de télétravail ou lors de révisions d’examens par exemple, il est souvent difficile de répartir son temps de travail selon ses tâches et de s’accorder des pauses de temps en temps. Cette gestion du temps de travail peut résulter en un manque de concentration si l’on ne sait pas comment bien répartir ses tâches. Une dispositif de minuteur peut être une possibilité. Pomodor'Up est alors la solution appropriée pour alterner vos phases de travail et vos pauses ! En laissant le minuteur Pomodor'Up gérer vos sessions de travail et vos pauses, cela peut également vous apporter une consolidation de votre mémoire car vous n’aurez ainsi pas à vous soucier de gérer manuellement vos pauses.

Cahier des charges

Contexte

Durant une période comme celle vécue durant le COVID-19, des phases de télétravail sont nécessaires voire même obligatoires selon les domaines d’activité. Ainsi, un.e (télé)travailleur.se, pour gérer au mieux son temps de travail et sa concentration sur les tâches, peut utiliser plusieurs techniques. L’une d’elle, mise en avant par notre projet, se nomme la technique Pomodoro. Cette technique se base sur l’utilisation d’un minuteur qui va permettre aux travailleurs de respecter des périodes de 25 minutes (appelées “pomodoro”) suivies de période dites de pause. Cette méthode impose donc une alternance entre 4 phases de travail de 25 minutes entrecoupées de pauses de 5 minutes. À la fin de ces 4 phases de travail, une plus longue pause de 15 à 20 minutes est recommandée. Cette méthode, qui se rapproche des cycles dits itératifs, se repose sur l’idée que les outils ou techniques de gestion du temps doivent restées simples et que des pauses fréquentes peuvent améliorer la vivacité mentale des utilisateur·trice·s. En changeant leur façon de percevoir le temps ou de penser différemment leur gestion du temps de travail effectif, les travailleurs peuvent alors atténuer leur anxiété, les libérant, afin de mieux pouvoir se concentrer. Cette méthode favorisant des temps de repos a aussi des bénéfices sur la consolidation de la mémoire, comme observé par Tambini, Ketz & Davachi (2010). Si l’on regarde plus en détails, cette technique se base sur des principes fondamentaux de planification des tâches. En effet, avant de commencer des sessions de travail avec minuteur Pomodoro, les tâches à effectuer sont censées être notées sur une liste, ceci permettant aux travailleurs d’estimer la quantité de travail qu’ils doivent fournir. Ensuite, lorsqu’une phase de travail minuté de 25 minutes est par exemple terminée, il est nécessaire de la noter afin de voir notamment l’avancée (ou non) du travail et d'évaluer si des améliorations sont nécessaires. Durant l’utilisation de cette méthode, il est également fondamental de supprimer les interruptions de travail par des éléments extérieurs car la focalisation sur la tâche durant une période de 25 minutes est le but principal de la technique Pomodoro.

Public

Tout.e.s utilisateur.trice.s nécessitant gérer leur temps de productivité et désirant respecter des périodes dédiées au travail et d’autres aux pauses (public d’étudiant.e.s ou travailleur.euse.s à domicile notamment). Il serait même adapté pour un public plus jeune de part sa simplicité d’utilisation (un seul bouton de démarrage, un bouton de réglage du volume et des périodes pré-définies de 25 minutes). Dans notre cas, cette méthode et l’utilisation du dispositif sont applicables principalement auprès de personnes effectuant du télétravail.

Besoins et contraintes

Dans le cadre de notre projet, nous avons identifié le besoin de recourir à cette technique en discutant avec des proches qui étaient obligés de travailler depuis leur domicile. N’ayant quasiment jamais eu à travailler dans ces conditions, il a été observé que l’aspect de la gestion du temps dédié aux tâches était important dans la bonne réalisation du travail de ces travailleurs. Lorsqu’on leur demandait quel était le besoin le plus important identifié lors des sessions de travail, ce qui ressortait le plus était l’absence de pauses. En effet, durant des phases de travail derrière l’écran, la majorité des gens “oublie” de s’octroyer des temps de pauses. En étant souvent seuls et n’étant plus sur le terrain de l’entreprise, la tentation de prendre des pauses est plus rare qu’auparavant, les collègues n’étant par exemple pas présents pour solliciter des pauses café. Ce besoin identifié nous a donc poussé à trouver un moyen de forcer les utilisateur·trice·s à réaliser une action soit en se levant de leur poste de travail soit en interagissant avec un dispositif afin d’alterner entre leurs différentes phases de travail et d'interruptions de travail.

La technique Pomodoro connaît plusieures variations. Ces variations permettent à chaque individu d’adapter les principes de la technique à son style de travaille personnel. Par exemple, l’utilisateur peut faire 90 minutes de travail très concentré et intense (rythme ultradien), suivies d'une longue pause (Kleitman, 1970) Ou encore, fragmenter le temps en 52 minutes de travail et 17 minutes de pause (variation “desktime”). Ces variations n’ont pas été implémentées dans le prototype pour deux raisons :

1. Sa simplicité d’utilisation. Notre but est que le minuteur soit facilement utilisable, grâce à seulement 2 boutons : un pour lancer le minuteur et l’autre pour activer/désactiver le son.

2. Le manque de fondement scientifique. Nous nous sommes basé sur les principes de base de Cirillo, lesquels ont été déjà étudié par d’autres chercheurs (Cirillo, 2007 ; Dibia, 2006 ; Feng, 2006)

Ces variations de la technique peuvent être appliqué au minuteur “Pomodor'Up” grâce au codage sur Makecode. Cependant, un novice n’aura pas le compétences et connaissances nécessaires pour le faire. Le dispositif est prêt à être déployé en l’état mais une ouverture en velcro peut être utilisée pour changer les piles, ainsi qu’éventuellement changer le code du minuteur.

Objectifs du projet

Dans le but de répondre aux besoins exprimés précédemment, notre dispositif Pomodor'Up poursuit les objectifs suivants :

la médiatisation de la technique “Pomodoro” avec l’aide d’un dispositif minuté spécialement conçu pour cette utilisation. le signalement de la progression des utilisateur·trice·s dans leurs tâches accomplies. la segmentation entre les temps de travail et de pause avec la distinction claire (lumineuse et sonore) entre celles-ci. proposer un objet tangible qui force les utilisateur·trice·s à interagir avec le dispositif et éventuellement les faire se lever de leur place.

Le premier objectif répond à la nécessité d’utilisation de la technique “Pomodoro” expliquée précédemment. En utilisant le minuteur en forme de tomate (comprenant le CPX et le Jewel) et préconfiguré pour mettre en application la technique originelle, les utilisateur·trice·s disposent d’un outil à portée de main et simple d’utilisation.

Le second objectif prend en compte la progression dans les différentes activités et tâches des utilisateur·trice·s. En proposant un affichage coloré directement sur le dispositif et en comptant les tâches effectuées, il est possible pour les utilisateur·trice·s de suivre la progression de leurs tâches et de connaître où ils en sont dans leur progression.

Le troisième objectif répond à la nécessité de bien distinguer les phases de travail des phases de pauses. À l’aide d’indicateurs visuels et sonores, il permet aux utilisateur·trice·s de segmenter clairement les quatre périodes de 25 minutes de travail des périodes de pauses courtes (5 minutes) et longue (15 minutes).

Le dernier objectif prend en compte l’interaction entre les utilisateur·trice·s et le dispositif en forçant les utilisateur·trice·s à prendre en main l’objet et en le secouant pour stopper les alarmes sonores et visuelles. Cette interaction est nécessaire afin de contraindre les utilisateur·trice·s à changer leur état et leur permettre d’appliquer correctement la technique Pomodoro.

Solution

Le minuteur “Pomodor'Up” permet d’appliquer la technique pomodoro afin d'améliorer la productivité en fragmentant le temps de travail en 25 minutes, suivies par 3 cycles de pause de la durée de 5 minutes, puis une pause longue de 15 minutes après le quatrième phase de travail de 25 minutes. Pour l’élaboration du prototype nous nous sommes basée sur le minuteur originale en référence à l’inventeur de la technique. C’est pour cela qu’il a été conçu pour ressembler à une vraie tomate.

Le dispositif et son fonctionnement

Description Pomodor'Up est une tomate “anthropomorphe” faite en tissu de couleur rouge. Il a été fabriquée à la main et à son l'intérieur un CPX Adafruit et un Neopixel Jewel ont été cousus au tissu et reliés entre-eux par du fil conducteur. Le CPX Adafruit est placé au milieu du “visage” de la tomate, entre les deux yeux, et le fil utilisé pour la couture (de couleur verte) représente la bouche de la tomate. Le CPX permet à l’utilisateur·trice·s de connaître la phase où il/elle se trouve, grâce à la couleur des LEDs (rouge pour les phases de travail et verte pour les phases de pause) et au son (optionnel), ainsi qu’un clignotement des lumières, qui lui indiquent le début et la fin des pauses. Les boutons pour initialiser le minuteur et activer le son représentent les narines de la tomate et sont clairement indiqués par des symboles.

Le neopixel jewel se trouve sur la gauche, et il permet à l’utilisateur·trice·s de connaître le nombre de “pomodoros” déjà effectués. Les lumières du neopixel se remplissent progressivement (voir “mode d’emploi”).

Une ouverture en velcro permet d'accéder à l'intérieur de la tomate, afin de changer les piles du dispositif, de l’allumer (bouton ON/OFF) et éventuellement de modifier le code. Nous tenons à préciser ici que la glissière ON/OFF est également accessible directement à travers le tissu, grâce à son relief. Il est indiqué grâce à un symbole.

Production La première phase a été la création d’un patron en forme de feuille qui a servi pour couper 5 morceaux de tissu qui ont été cousus ensemble avec du fil rouge. Une ouverture a été laissée entre les deux dernières “feuilles” afin d’y coudre le velcro pour faciliter le remplissage de la tomate et les manipulations successives (changement piles, implémentation code, etc.).

Un emplacement intérieur a été spécialement conçu pour contenir le boitier des piles du dispositif. Le CPX et le Neopixel Jewel ont été fixés à l’intérieur de la tomate avec du fil de coton et reliés entre-eux avec du fil conducteur. Du ruban isolant a été également utilisé, afin de sécuriser l’outil et éviter tout court-circuit.

Documentation

Prototypes

Difficultés

Test(s) de la solution

Wearable réalisé

Cognitive walkthrough

Persona

Persona des utilisateurs·trice de Pomodor'Up

Objectifs

  • forcer une alternance entre des phases de travail et des phases de pause
  • forcer une mise en mouvement au début et à la fin des phases de pause
  • indiquer facilement la progression de l'utilisateur·trice dans sa réalisation des tâches (dans une même séquence "pomodoro")

Scénario d'utilisation

  1. (en amont) Réfléchir à un fractionnement des tâches compatibles avec un pomodoro
  2. Allumage du dispositif
  3. (facultatif: activation/désactivation des fonctionnalités sonores)
  4. Lancement du dispositif
  5. Réalisation d'une séquence "pomodoro" (i.e. réalisation de tâches lors de 4 phases de travail de 25 minutes alternées avec des phases de pause de 5 minutes (avec une pause finale de 20 minutes)
  6. Lancement et réalisation d'une autre séquence "pomodoro" (4 à 5 dans la journée)
  7. Mise hors tension du dispositif

Test utilisateurs

Questionnaire

Discussion

Cette partie inclus deux sous parties :

  • Discussion du design (et si c'était à refaire)
  • Discussion des résultats de vos tests utilisateurs

Licence, fichiers et documentation

By-nc.png Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale 4.0 International.

  • Fichiers :

Insérer ici vos fichiers ou les liens vers vos fichiers

  • Documentation :

Insérer ici une petite documentation pour l'utilisation de l'objet si nécessaire

Programme

Voici le programme (en bloc et en JavaScript) de Pomodor'Up. Il est aussi disponible sur MakeCode en cliquant ici.

Programme en "bloc" du Pomodor'Up
//////////////////////// DEFINITION DES VARIABLES ////////////////////////

let strip: light.NeoPixelStrip = null // definition des leds utilisees dans le strip
let volume = 0
let check = 0 // nombre de pomodoro effectues

// Variables liees au temps //
let minutes = 0
let tempsTravail = 0
let tempsPauseCourte = 0
let tempsPauseLongue = 0

// Variables liees au signalement de la pause
let pause2 = 0
let finPause = 0

// Definition des temps de travail et de pause (en minutes)
forever(function () {
    minutes = 60000
    tempsTravail = minutes * 25
    tempsPauseCourte = minutes * 5
    tempsPauseLongue = minutes * 15
})


//////////////////////// FONCTIONS DU POMODOR'UP (volume, mouvement, sons, lumieres, temps de travail et de pause) ////////////////////////

// gestion du volume (on/off)
input.buttonA.onEvent(ButtonEvent.Click, function () {

    // desactiver le volume 
    if (volume != 0) {
        music.jumpDown.playUntilDone() // feedback audio off
        volume = 0
        music.setVolume(volume)
    } 
        // activer le volume 
    else {
        volume = 500
        music.setVolume(volume) // feedback audio on
        music.jumpUp.play()
    }
})

// Gestion du mouvement (si le pomodoro est secoue => mettre ces variables a 1)
input.onGesture(Gesture.Shake, function () {
    pause2 = 1
    finPause = 1
})

// periode de travail
function travail () {
    // gestion de la lumiere sur le strip et le CPX
    light.setBrightness(20)
    strip.setBrightness(20)
    light.setAll(0xff8000)
    strip.setAll(0xff8000)
    // gestion du volume
    music.setVolume(volume)
    // timer 
    pause(tempsTravail)
}

// signal de pause
function alarmePause () {
    // gestion de la lumiere 
    light.setBrightness(255)
    strip.setBrightness(255)

    // alternance de lumieres jusqu'a ce que l'accelerometre soit declenche
    while (pause2 == 0) {
        // alternance lumiere
        light.setAll(0x00ffff)
        strip.setAll(0x00ffff)
        pause(200)
        light.setAll(0xffff00)
        strip.setAll(0xffff00)

        // declenchement de l'alarme
        music.setVolume(volume)
        music.baDing.play()
        pause(100)
        light.clear()
    }

    // mettre la variable fin de pause a 0 pour que la fonction se declenche a la prochaine pause 
    finPause = 0
}

// signal de fin de pause
function alarmeFinPause () {

    // gestion de la puissance de la lumiere 
    light.setBrightness(255)
    strip.setBrightness(255)

    // si l'accelerometre n'est pas declenche => alternance de lumiere et signal sonore
    if (finPause == 0) {
        while (finPause == 0) {
            light.setAll(0x00ffff)
            strip.setAll(0x00ffff)
            music.playTone(659, music.beat(BeatFraction.Half))
            pause(50)
            light.setAll(0x00ff00)
            strip.setAll(0x00ff00)
            music.setVolume(volume)
            music.playTone(523, music.beat(BeatFraction.Half))
            pause(50)
            light.clear()
        }
    }
    // si l'accelerometre est declenche => mettre pause2 a 0 
    if (finPause == 1) {
        pause2 = 0
    }
}

// definition de la pause 
function pauseCourte () {
    music.setVolume(volume)
    pause2 = 0
    // si la pause est a 0 => declencher l'alarme 
    if (pause2 == 0) {
        alarmePause()
    }

    //si le pomodorup a ete secoue => lancer la pause 
    if (pause2 == 1) {
        light.setBrightness(255)
        strip.setBrightness(255)
        light.setAll(0x00ff00)
        strip.setAll(0x00ff00)
        pause(tempsPauseCourte) // attendre le temps defini en amont avant de declencher l'alarme de fin de pause 
        alarmeFinPause() // appelle l'alarme de fin de pause
    }
}


// meme fonction que "pauseCourte" avec un temps de pause plus long 
function pauseLongue () {
    music.setVolume(volume)
    pause2 = 0
    if (pause2 == 0) {
        alarmePause()
    }
    if (pause2 == 1) {
        light.setBrightness(255)
        strip.setBrightness(255)
        light.setAll(0x00ff00)
        strip.setAll(0x00ff00)
        pause(tempsPauseLongue)
    }
}

//////////////////////// SEQUENCE POMODORO ////////////////////////

// declenchement avec le bouton B
input.buttonB.onEvent(ButtonEvent.Click, function () {

    // definition des parametres de base
    light.setBrightness(255)
    check = 0
    strip = light.createStrip(pins.A1, check)
    music.setVolume(volume)

    // feedback d'initialisation
    music.powerUp.play()
    light.setAll(0x00ff00)
    pause(750)

    // alternance travail - pause (3 fois)
    for (let i = 0; i < 3; i++) {
        // phase "travail"
        travail()
        // gestion des checks signalant les pomodoro
        if (check >= 1) {
            check = check + 2 // allumer 2 LEDs par pomodoro
        } else {
            check = 1 // allumer une seule LED au premier pomodoro
        }
        //activer les LEDs
        strip = light.createStrip(pins.A1, check)
        strip.setAll(0x00ff00)
        //declenchement de la pause
        pauseCourte()
    }

    // DERNIER POMODORO : travail + pause longue
    travail() // phase travail

    // ajout de la derniere coche 
    check = check + 2
    strip = light.createStrip(pins.A1, check)
    strip.setAll(0x00ff00)
    
    //pause longue 
    pauseLongue()
    pause(100)
    
    // signal de fin
    light.setBrightness(255)
    strip.setBrightness(255)
    light.setAll(0xffffff)
    strip.setAll(0xffffff)

    // musique de fin 
    music.playMelody("G C5 B A A G G - ", 300)
    music.playMelody("G A G A G A G A ", 300)
    music.playMelody("G A G A G A A A ", 300)
    pause(2000)

    // remise a 0 des elements
    strip.setBrightness(0)
    light.clear()
    strip.clear()
})

Bibliographie