FR3114665A1 - Method and device for detecting use of applications - Google Patents

Method and device for detecting use of applications Download PDF

Info

Publication number
FR3114665A1
FR3114665A1 FR2009965A FR2009965A FR3114665A1 FR 3114665 A1 FR3114665 A1 FR 3114665A1 FR 2009965 A FR2009965 A FR 2009965A FR 2009965 A FR2009965 A FR 2009965A FR 3114665 A1 FR3114665 A1 FR 3114665A1
Authority
FR
France
Prior art keywords
application
display
list
graphical interface
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2009965A
Other languages
French (fr)
Other versions
FR3114665B1 (en
Inventor
Fabrice Bourge
Maryline GIDON
Tiphaine Marie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR2009965A priority Critical patent/FR3114665B1/en
Publication of FR3114665A1 publication Critical patent/FR3114665A1/en
Application granted granted Critical
Publication of FR3114665B1 publication Critical patent/FR3114665B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention vient améliorer l'état de la technique et propose à cet effet un procédé de calcul d’un ratio d’affichage d’une interface graphique d’une application appartenant à une première liste ordonnée d’applications affichées via une pluralité d’unités d’affichage d’au moins un écran, chaque unité d’affichage étant associée à une seconde liste ordonnée d’identifiants d’applications, ledit procédé étant mis en œuvre par un dispositif de calcul et caractérisé en ce qu’il comprend : - une étape de détermination d’un premier nombre d’unités d’affichage nécessaires à l’affichage de la totalité de ladite interface graphique ;- une étape de détermination d’un second nombre d’unités d’affichage pour lesquelles ledit identifiant de ladite application est le dernier à avoir été ajouté à ladite seconde liste ;- une étape de calcul d’un ratio d’affichage de ladite interface graphique de ladite application via le rapport entre ledit second nombre et ledit premier nombre. Figure pour l'abrégé : Figure 1The invention improves the state of the art and proposes for this purpose a method for calculating a display ratio of a graphical interface of an application belonging to a first ordered list of applications displayed via a plurality of display units of at least one screen, each display unit being associated with a second ordered list of application identifiers, said method being implemented by a computing device and characterized in that it comprises : - a step of determining a first number of display units necessary for displaying all of said graphical interface; - a step of determining a second number of display units for which said identifier of said application is the last to have been added to said second list;- a step of calculating a display ratio of said graphical interface of said application via the ratio between said second number and said first number. Figure for the abstract: Figure 1

Description

Procédé et dispositif de détection d’utilisation d’applicationsMethod and device for detecting use of applications

1. Domaine de l'invention1. Field of the invention

La demande d’invention se situe dans le domaine des télécommunications et concerne plus précisément l’analyse des usages des outils numériques sur un terminal tel qu’un ordinateur une tablette ou un smartphone.The application for invention is in the field of telecommunications and more specifically concerns the analysis of the use of digital tools on a terminal such as a computer, tablet or smartphone.

2. Art Antérieur2. Prior art

Le Quantified Self désigne la pratique de la « mesure de soi » et fait référence à un mouvement né en Californie qui consiste à mieux se connaître en mesurant des données relatives à son corps et à ses activités (source CNIL). De nombreux outils de Quantified Self existent aujourd’hui non seulement dans la sphère privée, mais aussi dans la sphère professionnelle. Au travail, il s’agit de collecter et d’analyser des données permettant d’afficher des informations personnelles relatives, par exemple, à la moyenne de la durée d’utilisation de telle ou telle application sur une période donnée (jour, semaine ou mois).The Quantified Self refers to the practice of “self-measurement” and refers to a movement born in California which consists of getting to know yourself better by measuring data relating to your body and your activities (source CNIL). Many Quantified Self tools exist today not only in the private sphere, but also in the professional sphere. At work, it involves collecting and analyzing data to display personal information relating, for example, to the average duration of use of a particular application over a given period (day, week or month).

Ces informations sont souvent limitées soit par la collecte des données de toutes les applications ouvertes à un instant donné, soit par la collecte des informations relatives à la seule application active à cet instant, c’est-à-dire celle qui a le « focus ». Or, une observation fine des usages des outils numériques sur le poste de travail, notamment les outils de bureautique, de communication et de collaboration, montre qu’il est fréquent que plusieurs applications soient réellement utilisées en même temps par l’utilisateur, même si une seule de ces applications est active. Par exemple, une utilisatrice organise son écran en deux parties, l’une avec un document Word qu’elle est en train d’éditer (fenêtre active), l’autre avec une fenêtre de navigateur dont elle lit le contenu qui lui sert de référence (fenêtre passive avec un focus épisodique, pour scroller par exemple). Autre exemple : pour réaliser une tâche, un utilisateur a besoin d’afficher plusieurs fenêtres de sorte qu’elles soient toutes visibles, au moins partiellement, en même temps ; une fenêtre pour éditer un document, une autre pour faire des recherches sur le Web, une autre pour échanger avec ses interlocuteurs, et encore une autre pour consulter/éditer des documents.This information is often limited either by collecting data from all applications open at a given time, or by collecting information relating to the only application active at that time, i.e. the one with "focus". ". However, a detailed observation of the uses of digital tools on the workstation, in particular office automation, communication and collaboration tools, shows that it is frequent that several applications are actually used at the same time by the user, even if only one of these applications is active. For example, a user organizes her screen in two parts, one with a Word document that she is editing (active window), the other with a browser window from which she reads the content that serves as her reference (passive window with an episodic focus, for scrolling for example). Another example: to perform a task, a user needs to display several windows so that they are all visible, at least partially, at the same time; a window to edit a document, another to do research on the Web, another to exchange with your interlocutors, and yet another to consult/edit documents.

Il existe donc un besoin pour aller au-delà de la détection de la seule application active à un instant donné afin d’identifier aussi, le plus finement et objectivement possible, toutes les applications non actives qui sont pourtant réellement utilisées par un utilisateur.There is therefore a need to go beyond the detection of only the active application at a given moment in order to also identify, as finely and objectively as possible, all the non-active applications which are nevertheless actually used by a user.

3. Exposé de l'invention3. Disclosure of Invention

L'invention vient améliorer l'état de la technique et propose à cet effet un procédé de calcul d’un ratio d’affichage d’une interface graphique d’une application appartenant à une première liste ordonnée d’applications affichées via une pluralité d’unités d’affichage d’au moins un écran, chaque unité d’affichage étant associée à une seconde liste ordonnée d’identifiants d’applications, ledit procédé étant mis en œuvre par un dispositif de calcul et caractérisé en ce qu’il comprend :The invention improves the state of the art and proposes for this purpose a method for calculating a display ratio of a graphical interface of an application belonging to a first ordered list of applications displayed via a plurality of display units of at least one screen, each display unit being associated with a second ordered list of application identifiers, said method being implemented by a computing device and characterized in that it comprises :

  • une étape de détermination d’un premier nombre d’unités d’affichage nécessaires à l’affichage de la totalité de ladite interface graphique ;a step of determining a first number of display units needed to display all of said graphical interface;
  • une étape de détermination d’un second nombre d’unités d’affichage pour lesquelles ledit identifiant de ladite application est le dernier à avoir été ajouté à ladite seconde liste ;a step of determining a second number of display units for which said identifier of said application is the last to have been added to said second list;
  • une étape de calcul d’un ratio d’affichage de ladite interface graphique de ladite application via le rapport entre ledit second nombre et ledit premier nombre.a step of calculating a display ratio of said graphical interface of said application via the ratio between said second number and said first number.

Ce procédé permet de déterminer pour une application particulière, par exemple choisie par un utilisateur, un premier nombre d’unités d’affichage nécessaires à l’affichage de la totalité de l’interface graphique de l’application. A noter que le procédé peut prendre en compte l’affichage de l’interface graphique dans sa totalité même dans le cas où une partie de l’interface graphique est en dehors de la zone d’affichage de l’écran, c’est-à-dire non visible d’un l’utilisateur ou bien lorsque celle-ci correspond à une ou plusieurs fenêtres graphiques. Le procédé détermine également un second nombre d’unités d’affichage pour lesquelles l’identifiant de l’application est le dernier à avoir été ajouté à la liste associée à une unité d’affichage. Ce nombre est, par exemple, déduit de données stockées dans une mémoire d’un dispositif tel qu’un ordinateur.This method makes it possible to determine for a particular application, for example chosen by a user, a first number of display units necessary for displaying the entire graphical interface of the application. It should be noted that the method can take into account the display of the graphical interface in its entirety even in the case where part of the graphical interface is outside the display area of the screen, i.e. that is, not visible to a user or else when it corresponds to one or more graphic windows. The method also determines a second number of display units for which the identifier of the application is the last to have been added to the list associated with a display unit. This number is, for example, deduced from data stored in a memory of a device such as a computer.

Le procédé calcule ensuite un ratio d’affichage effectif au niveau de l’écran pour l’application choisie, c’est-à-dire le ratio entre le premier et le second nombre d’unités d’affichage déterminés par le procédé.The method then calculates an effective display ratio at screen level for the chosen application, that is to say the ratio between the first and the second number of display units determined by the method.

Ce procédé permet, par exemple, d’identifier toutes les interfaces graphiques affichées et de déterminer la proportion d’une interface graphique réellement visible par un utilisateur à un instant donné.This process makes it possible, for example, to identify all the graphical interfaces displayed and to determine the proportion of a graphical interface actually visible to a user at a given moment.

On entend par interface graphique, tout ou partie d’un élément graphique (fenêtre, bouton, image, etc.) affiché par un périphérique d’affichage (écran, vidéo projecteur, etc.). Une interface graphique d’une application peut correspondre à tout ou partie d’un ensemble d’éléments graphiques générés par l’application au niveau d’un périphérique d’affichage. Par exemple, lorsqu’une application génère plusieurs fenêtres graphiques, l’interface graphique peut correspondre à une seule fenêtre graphique.Graphic interface means all or part of a graphic element (window, button, image, etc.) displayed by a display device (screen, video projector, etc.). A graphical interface of an application may correspond to all or part of a set of graphical elements generated by the application at the level of a display device. For example, when an application generates several graphic windows, the graphic interface can correspond to a single graphic window.

On entend par unité d’affichage, le plus petit élément constitutif d'un élément graphique restitué par un écran comme par exemple un pixel ou un bloc de pixels.By display unit, we mean the smallest constituent element of a graphic element rendered by a screen, such as a pixel or a block of pixels.

On entend par identifiant d’application, une suite de caractères qui sert à identifier une application parmi plusieurs de manière unique. L’identifiant peut, par exemple, être un nom, une couleur ou un nombre.By application identifier, we mean a sequence of characters that is used to uniquely identify one application among several. The identifier can, for example, be a name, a color or a number.

On entend par application une application informatique exécutée, par exemple, par un microprocesseur et possédant une interface graphique restituée sur un périphérique d’affichage. Une application informatique peut également correspondre à une ou plusieurs instances d’une application informatique. En effet, une même application informatique peut être exécutée plusieurs fois au même moment sur un même terminal. En outre, une application peut correspondre à une fenêtre graphique particulière lorsqu’une application génère plusieurs fenêtres graphiques.By application is meant a computer application executed, for example, by a microprocessor and having a graphical interface rendered on a display device. A computer application can also correspond to one or more instances of a computer application. Indeed, the same computer application can be executed several times at the same time on the same terminal. Also, an application can correspond to a particular graphics window when an application generates multiple graphics windows.

Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ladite première liste est une liste ordonnée chronologiquement en fonction d’une date associée à chaque application.According to a particular embodiment of the invention, a method as described above is characterized in that said first list is a list ordered chronologically according to a date associated with each application.

Ce mode de mise en œuvre de l'invention permet de classer les applications de façon chronologique en fonction d’une date associée à l’application. La date peut, par exemple, être une date qui indique la dernière action exécutée par l’application, une date de sélection de l’application, une date de lancement de l’application ou toute autre date en relation avec le cycle de vie de l’application.This embodiment of the invention makes it possible to classify the applications chronologically according to a date associated with the application. The date can, for example, be a date that indicates the last action performed by the application, an application selection date, an application launch date or any other date related to the life cycle of the app.

Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ladite date correspond à la date à laquelle l’interface graphique de ladite application a été active pour la dernière fois.According to a particular embodiment of the invention, a method as described above is characterized in that said date corresponds to the date on which the graphical interface of said application was active for the last time.

Ce mode de mise en œuvre de l'invention permet de classer les applications en fonction d’une date indiquant leur dernière activité.This mode of implementation of the invention makes it possible to classify the applications according to a date indicating their last activity.

On entend par application active, une application qui exécute un code informatique comme, par exemple, un code interprétant des données issues d'un périphérique d’entrée/sortie tel qu’un système de pointage ou un clavier, la mise au premier plan de l’interface graphique de l’application au niveau d’un écran, ou toute autre action réalisée par l’application.By active application is meant an application which executes a computer code such as, for example, a code interpreting data from an input/output peripheral such as a pointing system or a keyboard, the foregrounding of the graphical interface of the application at screen level, or any other action performed by the application.

Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ladite seconde liste est constituée lors du parcours de ladite première liste, via une étape d’ajout, pour chaque application de ladite première liste, dite application courante, d’un identifiant de l’application courante à ladite seconde liste de chaque unité d’affichage permettant l’affichage de la totalité de ladite interface graphique de ladite application courante.According to a particular embodiment of the invention, a method as described above is characterized in that said second list is constituted during the traversal of said first list, via an addition step, for each application of said first list, called current application, from an identifier of the current application to said second list of each display unit allowing the display of all of said graphical interface of said current application.

Ce mode de mise en œuvre de l'invention permet, par exemple, pour chaque application de la première liste, lorsque celle-ci est parcourue par exemple depuis son début ou depuis sa fin, d’ajouter un identifiant de l’application courante à la liste des unités d’affichage de la zone occupée par son interface graphique. Ainsi, lorsque le parcours de la première liste est terminé, les unités d’affichage dont la liste possède comme dernier ajout le même identifiant d’application sont des unités d’affichage qui affichent réellement l’application au niveau du périphérique d’affichage (pas de recouvrement par une interface graphique d’une application tierce).This embodiment of the invention makes it possible, for example, for each application of the first list, when the latter is browsed for example from its beginning or from its end, to add an identifier of the current application to the list of display units of the area occupied by its graphical interface. Thus, when the traversal of the first list is finished, the display units whose list has as the last addition the same application identifier are display units which actually display the application at the level of the display device ( no recovery by a graphical interface of a third-party application).

Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ledit identifiant est une couleur.According to a particular embodiment of the invention, a method as described above is characterized in that said identifier is a color.

Par couleur on entend un code alphanumérique associé à une couleur (indice dans une palette graphique, dénomination d’une couleur, etc.). Ce mode de mise en œuvre de l'invention permet de représenter graphiquement via une représentation en couleurs la ou les parties visibles d’une interface graphique d’une application, c’est-à-dire non recouvertes par une ou des applications tierces, affichées sur un ou plusieurs écrans.By color we mean an alphanumeric code associated with a color (index in a graphic palette, name of a color, etc.). This mode of implementation of the invention makes it possible to graphically represent via a color representation the visible part or parts of a graphical interface of an application, that is to say not covered by one or more third-party applications, displayed on one or more screens.

Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ledit procédé de calcul est exécuté à intervalles réguliers.According to a particular embodiment of the invention, a method as described above is characterized in that said calculation method is executed at regular intervals.

Ce mode de mise en œuvre de l'invention permet de suivre dans le temps l’évolution du ratio d’affichage effectif d’une application mesurée, par exemple pour des besoins statistiques.This mode of implementation of the invention makes it possible to follow the evolution of the effective display ratio of a measured application over time, for example for statistical purposes.

Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ledit procédé de calcul est exécuté à la suite d’un événement.According to a particular embodiment of the invention, a method as described above is characterized in that said calculation method is executed following an event.

Ce mode de mise en œuvre de l'invention permet de calculer un nouveau ratio d’affichage effectif d’une application mesurée lorsque, par exemple, une action utilisateur a été réalisée. L’action peut, par exemple, être une action effectuée au niveau de l’application mesurée ou bien au niveau d’une application tierce affichée sur l’écran. Concrètement l’action est, par exemple, réalisée via un système de pointage (souris, trackpad, trackpoint ou écran tactile), une commande vocale, un capteur (caméra, capteur thermique, etc.) ou tout autre périphérique communiquant avec le dispositif de calcul apte à interpréter une action utilisateur. Ce mode de mise en œuvre de l'invention permet également de calculer un nouveau ratio d’affichage effectif d’une application mesurée lorsqu’un évènement non prévisible est détecté comme par exemple l’affichage intempestif d’une fenêtre graphique (en anglais pop-up) ou bien lorsque l’application informatique ne s’exécute pas correctement (fermeture non souhaitée d’une ou des interfaces graphiques de l’application informatique).This embodiment of the invention makes it possible to calculate a new effective display ratio of a measured application when, for example, a user action has been performed. The action can, for example, be an action performed at the level of the measured application or at the level of a third-party application displayed on the screen. Concretely, the action is, for example, performed via a pointing system (mouse, trackpad, trackpoint or touch screen), a voice command, a sensor (camera, thermal sensor, etc.) or any other peripheral communicating with the calculation capable of interpreting a user action. This mode of implementation of the invention also makes it possible to calculate a new effective display ratio of a measured application when an unpredictable event is detected, such as for example the untimely display of a graphic window (in English pop -up) or when the computer application does not run correctly (unwanted closing of one or more graphic interfaces of the computer application).

Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que l’évènement n’est pris en compte qu’après une durée prédéterminée.According to a particular mode of implementation of the invention, a method as described above is characterized in that the event is only taken into account after a predetermined duration.

Ce mode de mise en œuvre de l'invention permet, par exemple, de faire abstraction des actions utilisateur parasites, lesquelles peuvent ne pas avoir de signification ou d’utilité particulière. C’est le cas, par exemple, lorsque l’utilisateur sélectionne une interface graphique de façon involontaire via un système de pointage et sélectionne peu de temps après l’interface graphique précédente pour revenir à l’état initial.This mode of implementation of the invention makes it possible, for example, to disregard parasitic user actions, which may not have any particular meaning or utility. This is the case, for example, when the user selects a GUI involuntarily via a pointing system and shortly afterwards selects the previous GUI to return to the initial state.

L'invention concerne également un dispositif de calcul d’un ratio d’affichage d’une interface graphique d’une application appartenant à une première liste ordonnée d’applications affichées via une pluralité d’unités d’affichage d’au moins un écran, chaque unité d’affichage étant associée à une seconde liste ordonnée d’identifiants d’applications, ledit dispositif étant caractérisé en ce qu’il comprend :The invention also relates to a device for calculating a display ratio of a graphical interface of an application belonging to a first ordered list of applications displayed via a plurality of display units of at least one screen , each display unit being associated with a second ordered list of application identifiers, said device being characterized in that it comprises:

  • un premier module de détermination d’un premier nombre d’unités d’affichage nécessaires à l’affichage de la totalité de ladite interface graphique ;a first module for determining a first number of display units needed to display all of said graphical interface;
  • un deuxième module de détermination d’un second nombre d’unités d’affichage pour lesquelles ledit identifiant de ladite application est le dernier à avoir été ajouté à ladite seconde liste ;a second module for determining a second number of display units for which said identifier of said application is the last to have been added to said second list;
  • un module de calcul d’un ratio d’affichage de ladite application mesurée via le rapport entre ledit second nombre et ledit premier nombre.a module for calculating a display ratio of said application measured via the ratio between said second number and said first number.

Le terme module peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.).The term module can correspond to a software component as well as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subroutines or more generally to any element of a program able to implement a function or a set of functions as described for the modules concerned. In the same way, a hardware component corresponds to any element of a hardware (or hardware) assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).

L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé ci-dessus selon l'un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. Le procédé peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.The invention also relates to a computer program comprising instructions for implementing the above method according to any one of the particular embodiments described above, when said program is executed by a processor. The method can be implemented in various ways, in particular in wired form or in software form. This program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in any other desirable form.

L'invention vise aussi un support d'enregistrement ou support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Les supports d'enregistrement mentionnés ci-avant peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau de type Internet.The invention also relates to a recording medium or information medium readable by a computer, and comprising instructions of a computer program as mentioned above. The recording media mentioned above can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a hard disk. On the other hand, the recording media may correspond to a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The programs according to the invention can in particular be downloaded from an Internet-type network.

Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.Alternatively, the recording media may correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

Ce dispositif de calcul d’un ratio d’affichage et ce programme d'ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec le procédé de calcul d’un ratio d’affichage.This device for calculating an aspect ratio and this computer program have characteristics and advantages similar to those described above in relation to the method for calculating an aspect ratio.

4. Liste des figures4. List of Figures

D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels :Other characteristics and advantages of the invention will appear more clearly on reading the following description of particular embodiments, given by way of simple illustrative and non-limiting examples, and the appended drawings, among which:

Les figures 1a, 1b, 1c, 1d représentent un exemple d’environnement de mise en œuvre selon un mode particulier de réalisation de l’invention. FIGS. 1a, 1b, 1c, 1d represent an example of an implementation environment according to a particular embodiment of the invention.

La figure 2 illustre la structure d’un périphérique d’affichage selon un mode particulier de réalisation de l'invention Figure 2 illustrates the structure of a display device according to a particular embodiment of the invention

La figure 3 illustre l’architecture d’un système mettant en œuvre l’invention selon un mode particulier de réalisation, FIG. 3 illustrates the architecture of a system implementing the invention according to a particular embodiment,

La figure 4 illustre des étapes du procédé de calcul selon un mode particulier de réalisation de l'invention. FIG. 4 illustrates steps of the calculation method according to a particular embodiment of the invention.

5. Description d'un mode de réalisation de l'invention5. Description of an embodiment of the invention

La figure 1a illustre un exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation de l'invention. L'environnement de mise en œuvre comprend un terminal 101 apte à exécuter une ou plusieurs applications informatiques simultanément tel qu’un ordinateur personnel, un serveur, une passerelle internet, un terminal mobile ou bien un objet connecté. Le terminal 101 est connecté à un périphérique d’affichage 100 comme par exemple un écran, un écran tactile ou un vidéo projecteur permettant d’afficher les interfaces graphiques des applications exécutées. La connexion entre le périphérique d’affichage 100 et le terminal 101 peut être filaire via par exemple un câble HDMI ou sans fil via par exemple une connexion WiFi. Le terminal 101 est également apte à interpréter des données issues d'un périphérique d’entrée/sortie tel qu’un système de pointage, d’un clavier, d’une caméra, d’une commande vocale permettant à un utilisateur d’interagir avec les applications et leurs interfaces graphiques affichées sur le périphérique d’affichage 100.FIG. 1a illustrates an example of an environment for implementing the invention according to a particular embodiment of the invention. The implementation environment includes a terminal 101 able to run one or more computer applications simultaneously such as a personal computer, a server, an internet gateway, a mobile terminal or a connected object. The terminal 101 is connected to a display device 100 such as for example a screen, a touch screen or a video projector making it possible to display the graphical interfaces of the applications executed. The connection between the display device 100 and the terminal 101 can be wired via for example an HDMI cable or wireless via for example a WiFi connection. The terminal 101 is also capable of interpreting data from an input/output peripheral such as a pointing system, a keyboard, a camera, a voice command allowing a user to interact with the applications and their graphical interfaces displayed on the display device 100.

Selon un mode particulier de réalisation de l'invention, le terminal 101 et le périphérique d’affichage 100 sont un seul et même terminal.According to a particular embodiment of the invention, the terminal 101 and the display peripheral 100 are one and the same terminal.

Dans le cas décrit à l’appui de la figure 1a, le périphérique d’affichage 100 affiche trois interfaces graphiques différentes (102, 103, 104), chaque interface étant produite par une application distincte exécutée par le terminal 101. Les trois interfaces graphiques possèdent un niveau de profondeur d’affichage différent, c’est-à-dire un plan d’affichage particulier et unique entre l’arrière-plan et le premier plan de l’affichage. Lorsqu’une interface graphique obtient le « focus », alors celle-ci est affichée au premier plan. Concrètement, le niveau de profondeur indique une chronologie de sélection des interfaces graphiques. Par exemple, l’interface 102 étant recouverte en partie par les deux autres interfaces graphiques, on peut en déduire que l’interface 102 a été sélectionnée en premier, c’est-à-dire que sa date de sélection est plus ancienne que celles des deux autres interfaces (103 et 104). Ainsi, les trois interfaces graphiques peuvent être classées selon leur date de sélection de la plus ancienne à la plus récente comme ceci : 102, 103, 104.In the case described in support of FIG. 1a, the display peripheral 100 displays three different graphical interfaces (102, 103, 104), each interface being produced by a distinct application executed by the terminal 101. The three graphical interfaces have a different display depth level, i.e. a particular and unique display plane between the background and the foreground of the display. When a graphical interface obtains the "focus", then it is displayed in the foreground. Concretely, the depth level indicates a selection timeline of graphical interfaces. For example, the interface 102 being covered in part by the two other graphical interfaces, it can be deduced that the interface 102 was selected first, that is to say that its selection date is older than those of the other two interfaces (103 and 104). Thus, the three graphical interfaces can be classified according to their date of selection from the oldest to the most recent like this: 102, 103, 104.

A noter que le focus peut être obtenu par une interface graphique via une action utilisateur, par exemple réalisée grâce à un système de pointage, via un évènement reçu par le terminal 101, tel qu’un message à destination de l’application qui génère l’interface graphique (ex : messagerie instantanée) ou encore via un évènement interne au terminal tel que, par exemple, la détection d’un dysfonctionnement de l’application qui génère l’interface graphique.It should be noted that the focus can be obtained by a graphical interface via a user action, for example carried out thanks to a pointing system, via an event received by the terminal 101, such as a message intended for the application which generates the graphical interface (eg instant messaging) or even via an event internal to the terminal such as, for example, the detection of a malfunction of the application which generates the graphical interface.

La figure 1b illustre un second exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation de l'invention. Dans cet exemple le périphérique d’affichage 100 affiche trois interfaces graphiques (102, 103, 105). Les interfaces graphiques (fenêtres graphiques) 102 et 105 sont produites par la même application exécutée par le terminal 101. Cela peut par exemple être deux fenêtres d’un logiciel de traitement de texte ou d’un logiciel de retouche photos. L’interface 103 est quant à elle produite par une autre application.FIG. 1b illustrates a second example of an environment for implementing the invention according to a particular embodiment of the invention. In this example the display device 100 displays three graphical interfaces (102, 103, 105). Graphical interfaces (graphical windows) 102 and 105 are produced by the same application executed by terminal 101. This may for example be two windows of word processing software or photo editing software. Interface 103 is produced by another application.

La figure 1c illustre un troisième exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation de l'invention. Cet environnement comprend deux périphériques d’affichage 100 et 110 connectés au terminal 101. Chaque périphérique affiche une partie d’une même interface graphique produite par une application exécutée par le terminal 101. Le périphérique 100 affiche la première moitié 103 et le périphérique 110 affiche la deuxième moitié 111.FIG. 1c illustrates a third example of an environment for implementing the invention according to a particular embodiment of the invention. This environment comprises two display peripherals 100 and 110 connected to the terminal 101. Each peripheral displays part of the same graphical interface produced by an application executed by the terminal 101. The peripheral 100 displays the first half 103 and the peripheral 110 displays the second half 111.

Selon un mode particulier de réalisation de l'invention, l'environnement de mise en œuvre de l’invention peut comprendre plus de deux périphériques d’affichage.According to a particular embodiment of the invention, the environment for implementing the invention may comprise more than two display devices.

La figure 1d illustre un quatrième exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation de l'invention. Dans cet exemple le périphérique d’affichage 100 affiche uniquement une partie d’une interface graphique (la zone 102), la zone 106 complémentaire étant en dehors de la zone d’affichage du périphérique 100.FIG. 1d illustrates a fourth example of an environment for implementing the invention according to a particular embodiment of the invention. In this example, the display device 100 only displays part of a graphical interface (the area 102), the additional area 106 being outside the display area of the device 100.

La figure 2 illustre la structure d’un périphérique d’affichage selon un mode particulier de réalisation de l'invention. Le périphérique d’affichage 100 est constitué d’une pluralité d’unités d’affichage comme par exemple des pixels ou des groupes de pixels. Chaque unité d’affichage du périphérique 100 est associée à une liste (107), la liste comprenant un ou plusieurs identifiants d’application. Dans la suite de la description cette liste est appelée « liste de recouvrement ».Figure 2 illustrates the structure of a display device according to a particular embodiment of the invention. The display device 100 is made up of a plurality of display units such as pixels or groups of pixels. Each peripheral display unit 100 is associated with a list (107), the list comprising one or more application identifiers. In the rest of the description, this list is called “overlay list”.

La figure 3 illustre l’architecture matérielle d’un dispositif S configuré pour mettre en œuvre le procédé de calcul selon un mode particulier de réalisation de l’invention. Dans le mode de réalisation décrit ici, ce dispositif a l’architecture matérielle d’un ordinateur. Il comprend notamment un processeur PROC1, une mémoire vive MV1, une mémoire morte MEM1 et une mémoire flash non volatile MF1. De tels moyens sont connus en soi et ne sont pas décrits plus en détail ici. La mémoire morte constitue un support d’enregistrement conforme à l’invention, lisible par le processeur PROC1 et sur lequel est enregistré ici un programme d’ordinateur PG1 conforme à l’invention, ce programme comportant des instructions pour mettre en œuvre les étapes du procédé de calcul tel que décrit précédemment, lorsque le programme est exécuté par le processeur PROC1. A l'initialisation, les instructions de code du programme d'ordinateur PG1 sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur PROC1. Le processeur PROC1 de l'unité de traitement UT1 met notamment en œuvre les étapes du procédé de calcul selon l'un quelconque des modes particuliers de réalisation décrits en relation avec les figures 1a, 1b, 1c, 1d, 2 et 4, selon les instructions du programme d'ordinateur PG1.FIG. 3 illustrates the hardware architecture of a device S configured to implement the calculation method according to a particular embodiment of the invention. In the embodiment described here, this device has the hardware architecture of a computer. It notably comprises a processor PROC1, a random access memory MV1, a read only memory MEM1 and a non-volatile flash memory MF1. Such means are known per se and are not described in more detail here. The ROM constitutes a recording medium in accordance with the invention, readable by the processor PROC1 and on which is recorded here a computer program PG1 in accordance with the invention, this program comprising instructions for implementing the steps of the calculation method as described previously, when the program is executed by the processor PROC1. On initialization, the code instructions of the computer program PG1 are for example loaded into a memory before being executed by the processor PROC1. The processor PROC1 of the processing unit UT1 notably implements the steps of the calculation method according to any one of the particular embodiments described in relation to FIGS. 1a, 1b, 1c, 1d, 2 and 4, according to the computer program instructions PG1.

Le dispositif S comprend également un module DETER1 apte à déterminer le nombre d’unités d’affichage nécessaires à l’affichage de la totalité de l’interface graphique d’une application. Concrètement, si on prend le cas de l’environnement de la figure 1d, le module DETER1 va déterminer le nombre d’unités d’affichage nécessaires à l’affichage de la partie 102 ainsi que le nombre d’unités d’affichage qui aurait été nécessaire pour afficher la partie 106 qui se trouve en dehors de la surface d’affichage du périphérique 100. Dans le cas de l’environnement 1c, le module DETER1 va déterminer le nombre d’unités d’affichage nécessaires à l’affichage des parties 103 et 111, toutes deux présentes à l’intérieur de la zone d’affichage des deux périphériques 100 et 110. Si on prend maintenant le cas de l’environnement 1b, le module DETER1 va par exemple déterminer le nombre d’unités d’affichage nécessaires à l’affichage de la totalité de l’interface graphique 102 en prenant en compte les surfaces recouvertes par les interfaces graphiques 103 et 105.The device S also comprises a module DETER1 capable of determining the number of display units necessary for displaying the entire graphical interface of an application. Concretely, if we take the case of the environment of figure 1d, the module DETER1 will determine the number of display units necessary for the display of the part 102 as well as the number of display units which would have been necessary to display the part 106 which is outside the display surface of the peripheral 100. In the case of the environment 1c, the module DETER1 will determine the number of display units necessary for the display of the parts 103 and 111, both present inside the display area of the two peripherals 100 and 110. If we now take the case of the environment 1b, the module DETER1 will for example determine the number of units of display necessary to display the entire graphical interface 102 taking into account the surfaces covered by the graphical interfaces 103 and 105.

De plus, le dispositif S comprend un module DETER2 apte à déterminer le nombre d’unités d’affichage qui affichent réellement l’interface graphique d’une application présente dans la zone d’affichage d’un ou plusieurs périphériques d’affichage, c’est-à-dire les zones de l’interface graphique de l’application non recouvertes par des interfaces graphiques d’applications tierces. Bien évidemment, le module DETER2 ne prendra pas en compte les unités d’affichage qui aurait été nécessaire pour afficher les zones de l’interface graphique qui se trouvent en dehors de la surface d’affichage du ou des périphériques d’affichage.Furthermore, the device S comprises a module DETER2 capable of determining the number of display units which actually display the graphical interface of an application present in the display zone of one or more display peripherals, c i.e. areas of the application's GUI not covered by third-party application GUIs. Of course, the DETER2 module will not take into account the display units that would have been necessary to display the areas of the graphical interface that are outside the display surface of the display device(s).

Le dispositif S comprend en outre un module CALC apte à calculer un ratio d’affichage effectif d’une interface graphique. Autrement dit le module CALC va effectuer le rapport entre le nombre d’unités d’affichage affichant réellement l’interface graphique d’une application, c’est-à-dire le nombre d’unités d’affichage déterminé par le module DETER2, ce qui correspond à l’ensemble des zones de l’interface graphique non recouvertes par des interfaces graphiques tierces, et le nombre d’unités d’affichage déterminé par le module DETER1.The device S further comprises a CALC module able to calculate an effective display ratio of a graphical interface. In other words, the CALC module will calculate the ratio between the number of display units actually displaying the graphical interface of an application, i.e. the number of display units determined by the DETER2 module, which corresponds to all the areas of the graphical interface not covered by third-party graphical interfaces, and the number of display units determined by the module DETER1.

Selon un mode particulier de réalisation de l'invention, le dispositif S comprend un module LIST adapté pour constituer une liste des applications exécutées par le terminal 101 et produisant une interface graphique affichée sur un ou plusieurs périphériques d’affichage tel que le périphérique 101. La liste, est par exemple la succession des identifiants des applications exécutées, chaque application ayant un unique identifiant. A noter que l’identifiant d’une application peut être une suite de caractères telle qu’une couleur ou un nombre.According to a particular embodiment of the invention, the device S comprises a module LIST adapted to constitute a list of the applications executed by the terminal 101 and producing a graphical interface displayed on one or more display peripherals such as the peripheral 101. The list is for example the succession of identifiers of the applications executed, each application having a unique identifier. Note that the identifier of an application can be a sequence of characters such as a color or a number.

Selon une première variante de ce mode particulier de réalisation de l'invention, la liste des applications est ordonnée selon le niveau de profondeur de l’interface graphique produite par chaque application, c’est-à-dire en fonction d’une date liée à un évènement comme, par exemple, la sélection de l’interface par l’utilisateur via un périphérique d’entrée-sortie du terminal 101.According to a first variant of this particular embodiment of the invention, the list of applications is ordered according to the level of depth of the graphical interface produced by each application, that is to say according to a date linked to an event such as, for example, the selection of the interface by the user via an input-output peripheral of the terminal 101.

Selon une deuxième variante de ce mode particulier de réalisation de l'invention, la liste des applications est ordonnée selon l’identifiant de l’application, dans le cas où l’identifiant de l’application est modifié lorsque son interface graphique est mise au premier plan d’affichage, pour comprendre la valeur d’un compteur incrémentée (par exemple : "nom de l’application"-"valeur du compteur"). Bien entendu un unique compteur est utilisé pour l’ensemble des applications. La liste constituée par le module LIST est par la suite appelée « liste de profondeur ».According to a second variant of this particular embodiment of the invention, the list of applications is ordered according to the identifier of the application, in the case where the identifier of the application is modified when its graphical interface is foreground display, to understand the value of an incremented counter (for example: "application name"-"counter value"). Of course, a single counter is used for all applications. The list formed by the LIST module is subsequently called “depth list”.

Selon un mode particulier de réalisation de l'invention, le dispositif S comprend un module d’ajout ADD apte à ajouter un identifiant d’une application à la liste de recouvrement d’une unité d’affichage d’un périphérique d’affichage.According to a particular embodiment of the invention, the device S comprises an addition module ADD capable of adding an identifier of an application to the recovery list of a display unit of a display peripheral.

La figure 4 illustre des étapes du procédé de calcul selon un mode particulier de réalisation de l'invention le procédé de calcul étant exécuté par un dispositif de calcul compris dans le terminal 101.FIG. 4 illustrates steps of the calculation method according to a particular embodiment of the invention, the calculation method being executed by a calculation device included in the terminal 101.

Selon un mode particulier de réalisation de l'invention, le dispositif de calcul peut être compris dans le dispositif/périphérique d’affichage 100.According to a particular embodiment of the invention, the calculation device can be included in the display device/peripheral 100.

Selon un mode particulier de réalisation de l'invention, le dispositif de calcul peut être compris dans un terminal (non représenté) tel qu’un serveur ou un ordinateur apte à communiquer avec le terminal 101 et/ou le dispositif/périphérique d’affichage 100.According to a particular embodiment of the invention, the computing device can be included in a terminal (not shown) such as a server or a computer able to communicate with the terminal 101 and/or the display device/peripheral 100.

Selon un mode particulier de réalisation de l'invention, le procédé est exécuté en tâche de fond, au démarrage du terminal 101.According to a particular embodiment of the invention, the method is executed in the background, when the terminal 101 is started.

Selon un mode particulier de réalisation de l'invention, le procédé est exécuté à intervalles réguliers.According to a particular embodiment of the invention, the method is carried out at regular intervals.

A l’étape 400 le procédé peut constituer une liste (liste de profondeur) ordonnée des applications exécutées par le terminal 101 qui affichent une interface graphique sur le périphérique d’affichage 100. Cette liste est par exemple une suite de noms ou d’identifiants des applications (couleur, nombre, etc.). La liste de profondeur est ordonnée par exemple en fonction du niveau de profondeur de la ou des interfaces graphiques produites par chaque application de la plus profonde à la moins profonde.At step 400 the method can constitute an ordered list (depth list) of the applications executed by the terminal 101 which display a graphical interface on the display device 100. This list is for example a series of names or identifiers applications (color, number, etc.). The depth list is ordered for example according to the level of depth of the graphic interface(s) produced by each application from the deepest to the shallowest.

Alternativement, La liste de profondeur est ordonnée de la moins profonde à la plus profonde.Alternatively, the depth list is ordered from shallowest to deepest.

Ce classement peut par exemple se faire sur la base des identifiants d’applications. En effet l’identifiant d’une application peut être modifié lorsque l’interface graphique de l’application est mise au premier plan d’affichage pour comprendre la valeur incrémentée d’un compteur. Le classement est alors réalisé en fonction de la valeur du compteur contenue dans chaque identifiant d’application, par exemple en partant du plus élevé au moins élevé ou inversement.This classification can for example be done on the basis of application identifiers. Indeed the identifier of an application can be modified when the graphic interface of the application is put in the foreground of display to understand the incremented value of a counter. The classification is then carried out according to the value of the counter contained in each application identifier, for example starting from the highest to the lowest or vice versa.

Le classement peut également se faire en fonction d’une date associée à chaque identifiant lorsque celle-ci indique la date à laquelle l’interface graphique a été active (i.e. mise au premier plan d’affichage sur le périphérique 100) pour la dernière fois.The classification can also be done according to a date associated with each identifier when this indicates the date on which the graphical interface was active (i.e. put in the foreground of display on the peripheral 100) for the last time. .

A noter que l’identifiant d’une application peut également correspondre à un suffixe et/ou un préfixe. C’est par exemple le cas lorsqu’une application dite « mère » possède plusieurs fenêtres graphiques « filles » avec des identifiants différents, chacune (mère et filles) possédant cependant un suffixe et/ou un préfixe identique.Note that the identifier of an application can also correspond to a suffix and/or a prefix. This is the case, for example, when a so-called “mother” application has several “child” graphic windows with different identifiers, each (mother and daughters) however having an identical suffix and/or prefix.

Selon un mode particulier de réalisation de l'invention, pour constituer la liste de profondeur, le procédé va ajouter, dès qu’une nouvelle application est exécutée par le terminal 101 et que celle-ci affiche une interface graphique sur le périphérique d’affichage 100, un identifiant de l’application à la fin de liste de profondeur.According to a particular embodiment of the invention, to constitute the depth list, the method will add, as soon as a new application is executed by the terminal 101 and this displays a graphical interface on the display device 100, an application identifier at the end of depth list.

Alternativement, l’ajout de l’identifiant se fait au début de la liste de profondeur.Alternatively, adding the identifier is done at the beginning of the depth list.

Selon un mode particulier de réalisation de l'invention, le procédé va constituer la liste de profondeur à l’issue de chaque intervalle lorsque celui est exécuté à intervalles de temps réguliers.According to a particular embodiment of the invention, the method will constitute the depth list at the end of each interval when it is executed at regular time intervals.

Selon un mode particulier de réalisation de l'invention, le procédé est exécuté à la suite d’un évènement tel qu’une action utilisateur. Ainsi la constitution de la liste de profondeur intervient uniquement lorsque cela est nécessaire. Cela permet d’éviter une exécution systématique du procédé et donc d’éviter de générer inutilement des temps de calculs (CPU, mémoire, etc.) qui peuvent être importants. La constitution de la liste peut ainsi intervenir uniquement au moment d’un changement d’interface graphique active (par exemples: sélection d’une nouvelle interface graphique, suppression d’une fenêtre existante, déplacement d’une fenêtre, …). En effet, tant qu’il n’y a pas de changement d’interface graphique active, l’affichage des interfaces graphiques reste inchangé, et donc le nombre et la disposition des interfaces graphiques demeurent inchangés. L’évènement peut également être le déplacement d’une interface graphique (fenêtre graphique) ou la modification de sa taille. Dans ces cas, l’évènement peut être le moment précis où l’action de déplacement ou de changement de taille se termine. Alternativement, le procédé peut aussi scruter à intervalles réguliers (par exemple, toutes les demi-secondes) la position et la taille de la fenêtre active et uniquement celle-ci. Si au moins l’une des valeurs de position ou de taille a changé depuis la dernière fois, alors on considère que la fenêtre active est toujours « instable » (i.e. en cours de modification). A l’inverse, lorsque à la fois les valeurs de position et de taille sont restées identiques depuis la dernière fois, alors on considère que la fenêtre active est devenue « stable », ce qui représente un moment suffisamment précis de la fin d’action de déplacement ou de changement de taille par l’utilisateur pour constituer l’évènement.According to a particular embodiment of the invention, the method is executed following an event such as a user action. Thus the constitution of the depth list occurs only when necessary. This makes it possible to avoid a systematic execution of the process and therefore to avoid unnecessary generation of calculation times (CPU, memory, etc.) which can be significant. The creation of the list can therefore only occur when changing the active graphical interface (for example: selecting a new graphical interface, deleting an existing window, moving a window, etc.). Indeed, as long as there is no change of active graphical interface, the display of the graphical interfaces remains unchanged, and therefore the number and layout of the graphical interfaces remain unchanged. The event can also be the movement of a graphical interface (graphical window) or the modification of its size. In these cases, the event can be the precise moment when the move or resize action ends. Alternatively, the method can also scan at regular intervals (for example, every half-second) the position and the size of the active window and only this one. If at least one of the position or size values has changed since the last time, then the active window is considered to be still "unstable" (i.e. being modified). Conversely, when both the position and size values have remained the same since the last time, then the active window is considered to have become "stable", which represents a sufficiently precise moment of the end of the action displacement or size change by the user to constitute the event.

Selon une variante de ce mode de réalisation l’évènement n’est pris en compte qu’après une durée prédéterminée. Cela permet de faire abstraction des évènements parasites. C’est par exemple le cas lorsqu’un utilisateur fait une erreur de manipulation, soit parce qu’il a cliqué sur l’interface graphique (fenêtre graphique) pour la voir et se rendre compte immédiatement que ce n’est pas celle dont il a besoin. A noter que la durée doit être supérieure à l’intervalle de temps régulier nécessaire pour déterminer la stabilité des fenêtres déplacées ou modifiées en taille comme par exemple 3 secondes.According to a variant of this embodiment, the event is only taken into account after a predetermined duration. This makes it possible to ignore parasitic events. This is the case, for example, when a user makes a handling error, either because he clicked on the graphical interface (graphical window) to see it and immediately realizes that it is not the one he requires. Note that the duration must be greater than the regular time interval necessary to determine the stability of the windows moved or modified in size, such as 3 seconds for example.

Selon un mode particulier de réalisation de l'invention, lorsqu’une interface graphique disparaît de l’affichage soit parce que l’interface graphique est minimisée soit parce que l’application est fermée, le procédé peut mettre à jour la liste de profondeur en supprimant l’identifiant de l’application associé à l’interface graphique.According to a particular embodiment of the invention, when a graphical interface disappears from the display either because the graphical interface is minimized or because the application is closed, the method can update the depth list by removing the application identifier associated with the GUI.

Lors de l’étape 401, le procédé va alors parcourir la liste de profondeur (étape 400) en partant de l’application ayant le niveau de profondeur le plus important, et ajouter, pour chaque application de la liste de profondeur, un identifiant de l’application courante aux listes de recouvrement des unités d’affichage nécessaires à l’affichage de la totalité des interfaces graphiques de l’application.During step 401, the method will then scan the depth list (step 400) starting from the application having the greatest depth level, and add, for each application in the depth list, an identifier of the current application to the overlay lists of the display units needed to display all of the application's graphical interfaces.

Concrètement, le procédé va parcourir la liste de profondeur et récupérer les coordonnées des 4 coins de toutes les fenêtres graphiques (interface graphique) affichées par l’application courante, c’est-à-dire l’application associée à l’identifiant de la liste traité. Puis, pour chaque fenêtre graphique de l’application courante, le procédé va ajouter un identifiant de l’application courante dans la liste de recouvrement des unités d’affichage (pixels, groupe de pixel, etc.) de la zone d’affichage occupée par la ou les fenêtres de l’application courante au niveau du dispositif/périphérique d’affichage.Concretely, the process will browse the depth list and retrieve the coordinates of the 4 corners of all the graphic windows (graphical interface) displayed by the current application, i.e. the application associated with the identifier of the processed list. Then, for each graphic window of the current application, the method will add an identifier of the current application in the list of display units (pixels, group of pixels, etc.) of the occupied display zone by the window(s) of the current application at the level of the display device/peripheral.

A noter que les coordonnées des 4 coins de toutes les fenêtres graphiques d’une application peuvent être régulièrement sauvegardées/stockées dans une mémoire par le procédé et obtenues lors de l’étape 401. Alternativement, les coordonnées peuvent être régulièrement sauvegardées/stockées dans une mémoire par une application tierce appartenant par exemple à l’OS (Operating System), la mémoire étant alors accessible par le procédé de calcul.It should be noted that the coordinates of the 4 corners of all the graphic windows of an application can be regularly saved/stored in a memory by the method and obtained during step 401. Alternatively, the coordinates can be regularly saved/stored in a memory by a third-party application belonging for example to the OS (Operating System), the memory then being accessible by the calculation method.

Alternativement, les coordonnées des 4 coins de toutes les fenêtres graphiques d’une application peuvent être sauvegardées/stockées dans la liste de profondeur en lien avec l’identifiant de l’application.Alternatively, the coordinates of the 4 corners of all the graphic windows of an application can be saved/stored in the depth list in connection with the identifier of the application.

Selon un mode particulier de réalisation de l'invention, l’identifiant de l’application courante de la liste de profondeur peut être identique à l’identifiant de l’application courante ajouté aux listes de recouvrement.According to a particular embodiment of the invention, the identifier of the current application of the depth list can be identical to the identifier of the current application added to the recovery lists.

Selon un mode particulier de réalisation de l'invention, la liste de recouvrement d’une unité d’affichage est remplacée par un paramètre de recouvrement. En d’autres mots, lors de l’étape 401, le second identifiant d’application est alors affecté/ajouté au paramètre de recouvrement et va remplacer la précédente valeur du paramètre de recouvrement. Dans ce mode de réalisation particulier les paramètres de recouvrement peuvent être stockés dans un seul et même fichier créant ainsi un fichier représentant une « matrice » de recouvrement de la zone d’affichage du périphérique d’affichage. Lorsque le second identifiant d’application est une couleur la taille du fichier représentant la matrice peut être sensiblement réduite en utilisant différentes approches. L’une d’elles consiste à remplacer le code des couleurs dans le format choisi (par exemple, dans le format BMP 24 bits, la couleur rouge sera codée « 255;0;0 » sous sa forme décimale) par un identifiant, plus court. Une autre approche consiste à coder des zones entières de pixels contigus ayant la même couleur (par exemple en utilisant un langage de marquage) au lieu de coder l’information individuellement pour chaque pixel de la zone d’affichage du périphérique d’affichage. Plus globalement, toute technique de compression de fichier peut être utilisée pour optimiser la taille de ce fichier.According to a particular embodiment of the invention, the overlay list of a display unit is replaced by an overlay parameter. In other words, during step 401, the second application identifier is then assigned/added to the recovery parameter and will replace the previous value of the recovery parameter. In this particular embodiment, the overlay parameters can be stored in one and the same file, thus creating a file representing an overlay “matrix” of the display area of the display device. When the second application identifier is a color the size of the file representing the matrix can be significantly reduced using different approaches. One of them is to replace the color code in the chosen format (for example, in the 24-bit BMP format, the red color will be coded "255;0;0" in its decimal form) by an identifier, plus short. Another approach is to encode entire areas of contiguous pixels having the same color (e.g. using a markup language) instead of encoding information individually for each pixel in the display device's display area. More generally, any file compression technique can be used to optimize the size of this file.

Selon un mode particulier de réalisation de l'invention, la liste de recouvrement des unités d’affichage du périphérique/dispositif d’affichage 100 est initialisée avec un identifiant comme par exemple la couleur noire. Ainsi dans le cas où l’identifiant d’application ajouté aux listes de recouvrement est une couleur, l’étape 401 permettra de générer une représentation graphique de l’empilement successif des fenêtres des applications selon leur niveau de profondeur. Lorsque l’interface graphique d’une application est entièrement recouverte par une ou plusieurs autres interfaces graphiques appartenant à des applications tierces, alors plus aucun pixel du périphérique d’affichage ne possède en dernière position de sa liste de recouvrement la couleur associée à l’application.According to a particular embodiment of the invention, the overlay list of display units of the peripheral/display device 100 is initialized with an identifier such as the color black, for example. Thus in the case where the application identifier added to the overlapping lists is a color, step 401 will make it possible to generate a graphic representation of the successive stacking of the windows of the applications according to their level of depth. When the graphical interface of an application is entirely covered by one or more other graphical interfaces belonging to third-party applications, then no pixel of the display device has the color associated with the last position of its covering list. application.

Selon un mode particulier de réalisation de l'invention, lorsqu’une action utilisateur est réalisée, par exemple lorsqu’une fenêtre disparaît du périphérique d’affichage soit parce que celle-ci est minimisée soit parce que l’application est fermée par l’utilisateur, le procédé met à jour les listes de recouvrement des pixels (i.e des unités d’affichage), ce qui permet de simuler l’empilement successif des fenêtres des applications restantes selon leur niveau de profondeur.According to a particular embodiment of the invention, when a user action is performed, for example when a window disappears from the display device either because it is minimized or because the application is closed by the user, the method updates the overlapping lists of the pixels (i.e of the display units), which makes it possible to simulate the successive stacking of the windows of the remaining applications according to their level of depth.

A l’étape 402, le procédé va déterminer le nombre d’unités d’affichage nécessaires à l’affichage de la totalité de l’interface graphique d’une application (application mesurée) par exemple sélectionnée par un utilisateur. Bien évidemment, le procédé prendra en compte toutes les parties des interfaces présentes et non présentes dans la zone d’affichage du périphérique d’affichage 100.At step 402, the method will determine the number of display units needed to display the entire graphical interface of an application (measured application) for example selected by a user. Of course, the method will take into account all the parts of the interfaces present and not present in the display area of the display device 100.

Le procédé pourra par exemple reprendre les coordonnées des 4 coins de toutes les fenêtres graphiques de l’application obtenues à l’étape 401.The method could for example take the coordinates of the 4 corners of all the graphic windows of the application obtained in step 401.

A l’étape 403 le procédé va déterminer le nombre d’unités d’affichage pour lesquelles l’identifiant de l’application mesurée est le dernier identifiant ajouté (c’est-à-dire en début de liste ou en fin de liste) dans les listes de recouvrement des unités d’affichage du périphérique d’affichage 100.At step 403 the method will determine the number of display units for which the identifier of the measured application is the last identifier added (that is to say at the start of the list or at the end of the list) in the overlay lists of the display units of the display device 100.

A l’étape 404 le procédé va calculer un ratio d’affichage en effectuant le rapport entre le nombre d’unités d’affichage déterminé à l’étape 403 et le nombre d’unités d’affichage déterminé à l’étape 402. Concrètement, ce ratio sert à déterminer la proportion des unités d’affichage réellement visibles par un utilisateur par rapport à la totalité des unités d’affichage nécessaires à l’affichage de la totalité de l’interface graphique d’une application.At step 404 the method will calculate a display ratio by performing the ratio between the number of display units determined at step 403 and the number of display units determined at step 402. Concretely , this ratio is used to determine the proportion of display units actually visible to a user compared to the total display units needed to display the entire graphical interface of an application.

Selon un mode particulier de réalisation de l'invention, le procédé peut également calculer un ratio de recouvrement en soustrayant à 1 le ratio d’affichage.According to a particular embodiment of the invention, the method can also calculate an overlap ratio by subtracting the display ratio from 1.

Le ratio de recouvrement ou d’affichage permet de déterminer si l’interface graphique d’une application comme par exemple une fenêtre graphique est potentiellement utilisée à un instant donné par un utilisateur. Si par exemple le taux de recouvrement est supérieur à 0.5 pendant une durée de quelques secondes/minutes alors le procédé peut considérer que l’application n’est potentiellement pas utilisée par l’utilisateur.The coverage or display ratio is used to determine whether the graphical interface of an application such as a graphical window is potentially used at a given time by a user. If, for example, the overlap rate is greater than 0.5 for a period of a few seconds/minutes, then the process can consider that the application is potentially not used by the user.

Selon un mode particulier de réalisation de l'invention, le procédé peut transmettre les données traitées (ratios calculés, emplacements des interfaces graphiques au niveau du périphérique d’affichage, les listes, etc.) à un serveur (non représenté) situé dans le réseau à des fins statistiques. Alternativement ou cumulativement, ces mêmes données peuvent être stockées et horodatées au niveau du dispositif de calcul également à des fins statistiques. Ainsi, grâce à ces données il est par exemple possible de connaître finement la manière dont un utilisateur travaille, notamment en termes de répartition des temps d’utilisation des applications d’un poste de travail. En effet, ce procédé permet de connaitre les interfaces graphiques affichées et visibles d’un utilisateur en plus de la fenêtre active.Ces données permettent également de suivre le cycle de vie d'une application sur toute une journée, même si la fenêtre est minimisée ou fermée plusieurs fois, tout en récupérant des informations sur la manière dont elle est utilisée (sa localisation au niveau de la zone d’affichage du périphérique d’affichage) selon les moments de la journée ou par rapport aux autres applications ouvertes simultanément.According to a particular embodiment of the invention, the method can transmit the processed data (calculated ratios, locations of the graphical interfaces at the level of the display device, the lists, etc.) to a server (not shown) located in the network for statistical purposes. Alternatively or cumulatively, these same data can be stored and timestamped at the level of the computing device also for statistical purposes. Thus, thanks to these data it is for example possible to know in detail the way in which a user works, in particular in terms of distribution of the times of use of the applications of a workstation. Indeed, this method makes it possible to know the graphical interfaces displayed and visible to a user in addition to the active window . This data also makes it possible to follow the life cycle of an application over a whole day, even if the window is minimized or closed several times, while retrieving information on how it is used (its localization at the level of the zone of the display device) depending on the time of day or in relation to other applications that are open simultaneously.

Selon un mode particulier de réalisation de l'invention, le procédé peut également calculer à l’étape 404 un pourcentage de recouvrement et/ou d’affichage.According to a particular embodiment of the invention, the method can also calculate in step 404 a percentage of coverage and/or display.

Il va de soi que le mode de réalisation qui a été décrit ci-dessus a été donné à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l’homme de l’art sans pour autant sortir du cadre de l’invention.It goes without saying that the embodiment which has been described above has been given purely as an indication and in no way limiting, and that many modifications can be easily made by those skilled in the art without departing from the scope. of the invention.

Claims (10)

Procédé de calcul d’un ratio d’affichage d’une interface graphique d’une application appartenant à une première liste ordonnée d’applications affichées via une pluralité d’unités d’affichage d’au moins un écran, chaque unité d’affichage étant associée à une seconde liste ordonnée d’identifiants d’applications, ledit procédé étant mis en œuvre par un dispositif de calcul et caractérisé en ce qu’il comprend :
- une étape de détermination (402) d’un premier nombre d’unités d’affichage nécessaires à l’affichage de la totalité de ladite interface graphique ;
- une étape de détermination (403) d’un second nombre d’unités d’affichage pour lesquelles ledit identifiant de ladite application est le dernier à avoir été ajouté à ladite seconde liste ;
- une étape de calcul (404) d’un ratio d’affichage de ladite interface graphique de ladite application via le rapport entre ledit second nombre et ledit premier nombre.
Method for calculating a display ratio of a graphical interface of an application belonging to a first ordered list of applications displayed via a plurality of display units of at least one screen, each display unit being associated with a second ordered list of application identifiers, said method being implemented by a computing device and characterized in that it comprises:
- a step of determining (402) a first number of display units needed to display all of said graphical interface;
- a step of determining (403) a second number of display units for which said identifier of said application is the last to have been added to said second list;
- a calculation step (404) of a display ratio of said graphical interface of said application via the ratio between said second number and said first number.
Procédé selon la revendication 1 dans lequel ladite première liste est une liste ordonnée chronologiquement en fonction d’une date associée à chaque application.A method according to claim 1 wherein said first list is a chronologically ordered list according to a date associated with each application. Procédé selon la revendication 2 dans lequel ladite date correspond à la date à laquelle l’interface graphique de ladite application a été active pour la dernière fois.A method according to claim 2 wherein said date corresponds to the date on which the graphical interface of said application was last active. Procédé selon la revendication 1 dans lequel ladite seconde liste est constituée lors du parcours de ladite première liste, via une étape d’ajout, pour chaque application de ladite première liste (401), dite application courante, d’un identifiant de l’application courante à ladite seconde liste de chaque unité d’affichage permettant l’affichage de la totalité de ladite interface graphique de ladite application courante.Method according to claim 1, in which said second list is constituted during the traversal of said first list, via a step of adding, for each application of said first list (401), called current application, an identifier of the application current to said second list of each display unit allowing the display of all of said graphical interface of said current application. Procédé selon la revendication 1 dans lequel ledit identifiant est une couleur.A method according to claim 1 wherein said identifier is a color. Procédé selon la revendication 1 dans lequel ledit procédé de calcul est exécuté à intervalles réguliers.A method according to claim 1 wherein said calculating method is performed at regular intervals. Procédé selon la revendication 1 dans lequel ledit procédé de calcul est exécuté à la suite d’un événement.A method as claimed in claim 1 wherein said calculation method is performed upon an event. Procédé selon la revendication 7 dans lequel l’évènement n’est pris en compte qu’après une durée prédéterminée.Method according to Claim 7, in which the event is only taken into account after a predetermined duration. Dispositif de calcul d’un ratio d’affichage d’une interface graphique d’une application appartenant à une première liste ordonnée d’applications affichées via une pluralité d’unités d’affichage d’au moins un écran, chaque unité d’affichage étant associée à une seconde liste ordonnée d’identifiants d’applications, ledit dispositif étant caractérisé en ce qu’il comprend :
- un premier module de détermination (DETER1) d’un premier nombre d’unités d’affichage nécessaires à l’affichage de la totalité de ladite interface graphique ;
- un deuxième module de détermination (DETER2) d’un second nombre d’unités d’affichage pour lesquelles ledit identifiant de ladite application est le dernier à avoir été ajouté à ladite seconde liste ;
- un module de calcul d’un ratio d’affichage (CALC) de ladite application mesurée via le rapport entre ledit second nombre et ledit premier nombre.
Device for calculating a display ratio of a graphical interface of an application belonging to a first ordered list of applications displayed via a plurality of display units of at least one screen, each display unit being associated with a second ordered list of application identifiers, said device being characterized in that it comprises:
- a first module (DETER1) for determining a first number of display units necessary for displaying all of said graphical interface;
- a second module for determining (DETER2) a second number of display units for which said identifier of said application is the last to have been added to said second list;
- a module for calculating a display ratio (CALC) of said application measured via the ratio between said second number and said first number.
Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé selon l'une quelconque des revendications 1 à 8, lorsque le programme est exécuté par un processeur.Computer program comprising instructions for implementing the method according to any one of Claims 1 to 8, when the program is executed by a processor.
FR2009965A 2020-09-30 2020-09-30 Method and device for detecting use of applications Active FR3114665B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2009965A FR3114665B1 (en) 2020-09-30 2020-09-30 Method and device for detecting use of applications

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2009965A FR3114665B1 (en) 2020-09-30 2020-09-30 Method and device for detecting use of applications
FR2009965 2020-09-30

Publications (2)

Publication Number Publication Date
FR3114665A1 true FR3114665A1 (en) 2022-04-01
FR3114665B1 FR3114665B1 (en) 2022-08-12

Family

ID=73498050

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2009965A Active FR3114665B1 (en) 2020-09-30 2020-09-30 Method and device for detecting use of applications

Country Status (1)

Country Link
FR (1) FR3114665B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130139077A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Optimizing automated interactions with computer software applications
US20190004823A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Capturing user interactions
US20190278431A1 (en) * 2018-03-09 2019-09-12 International Business Machines Corporation Window control for simultaneously running applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130139077A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Optimizing automated interactions with computer software applications
US20190004823A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Capturing user interactions
US20190278431A1 (en) * 2018-03-09 2019-09-12 International Business Machines Corporation Window control for simultaneously running applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "javascript - Check if element is visible for certain percentage on screen (viewport)? - Stack Overflow", 28 March 2014 (2014-03-28), pages 1 - 4, XP055814117, Retrieved from the Internet <URL:https://stackoverflow.com/questions/22709585/check-if-element-is-visible-for-certain-percentage-on-screen-viewport> [retrieved on 20210615] *

Also Published As

Publication number Publication date
FR3114665B1 (en) 2022-08-12

Similar Documents

Publication Publication Date Title
CN112770011B (en) System, method, and computer-readable medium for suggesting image files for deletion
CA3102192A1 (en) Method implemented by computer for the creation of contents comprising synthesis images
EP3202115B1 (en) Method and device for connecting a group of information items
FR3114665A1 (en) Method and device for detecting use of applications
EP3239826B1 (en) Method for screenshot execution
CN107404427A (en) One kind chat background display method and device
FR2876470A1 (en) DISPLAY CONTROL METHOD USING PORTABLE IMAGE SENSOR EQUIPMENT
EP1262867A1 (en) Method of implementing a plurality of object interfaces
BE1019349A5 (en) METHOD AND DEVICE FOR STORING AND / OR REPRODUCING SOUND AND IMAGES.
EP2876565B1 (en) Processing of data relating to objects
WO2024079034A1 (en) Method for determining at least one target action from a set of actions able to be executed on an electronic terminal
FR2883996A1 (en) METHOD FOR CONSTRUCTING MULTIMEDIA SCENES COMPRISING AT LEAST ONE POINTER OBJECT, SCENES RESTITUTION METHOD, TERMINAL, CORRESPONDING COMPUTER PROGRAMS, SERVER AND POINTER OBJECT
WO2012014045A2 (en) Device and method for generating procedural images with a cache
EP4145253A1 (en) Method for analysing the activity of a user of an electronic terminal
EP1849299B1 (en) Method and device for audiovisual programme editing
FR3103041A1 (en) Image processing method and device
WO2024033192A1 (en) Method and device for constructing a knowledge base for the purpose of making cross-functional use of the application functions of a plurality of software items
FR2851358A1 (en) File creating process for digital device e.g. printer, involves defining zone to be zoomed in digital image, and writing characteristics of location, size, and resolution of zone, and functions of navigation management in file
FR3102874A1 (en) Method for collecting information contained in electronic messages stored in a terminal
FR3143155A1 (en) Method for generating an application for processing at least one multimedia stream, associated device and computer program
FR3028976A1 (en) METHOD AND DEVICE FOR REPRODUCING A SUCCESSION OF CONTENT
Chuang et al. Vision, experiment, and learn: how to innovate radically in CE/IT industries in the era of pervasive digitalisation
FR3087282A1 (en) METHOD FOR OPTIMIZING THE MINIMUM SIZING OF AN INFRASTRUCTURE FOR IMPLEMENTING A SCHEDULING PLAN
FR3055717A1 (en) IMPROVED COMPUTER STRUCTURE OF A CONNECTED OBJECT
FR3071639A1 (en) METHOD FOR OPERATING A COMPUTER DEVICE AND COMPUTER DEVICE IMPLEMENTING THE SAME

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220401

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4