**English version below**
La sélection de cibles à l'aide d'un curseur, par exemple avec une souris, est l'une des interactions (pointage) les plus fréquentes pour un utilisateur. Pourtant, étonnamment l'utilisateur typique pointe toujours comme il y a 30 ans, malgré les nombreuses avancées publiées dans les recherches sur le pointage dans le domaine de l'interaction homme-machine (IHM) --- certaines prédisant des gains de performance de plus de 30%. Qu'est-ce qui peut expliquer cela ? À mon avis, il y a un décalage entre les travaux de recherche actuels sur le pointage, qui sont uniquement basés sur des études contrôlées en laboratoire, et le pointage "réel". On ne sait que évaluer la performance de nouvelles méthodes de pointage à travers des expériences contrôlées parce qu'on ne sait pas observer les grandeurs dont on a besoin pour les caractériser (ni en général implémenter ces méthodes sur des vrais systèmes).
Le but de ce stage est d'instrumenter un ordinateur pour pouvoir acquérir les données nécessaires ---particulièrement les tailles et positions des cibles sélectionnées par l'utilisateur--- pour caractériser le pointage directement dans l'environnement de ce dernier. On utilise souvent une loi, dite loi de Fitts, pour décrire le pointage dans un cadre d'expérience contrôlée. Une des questions à laquelle on répondra est de savoir si cette description est toujours pertinente en dehors du cadre contrôlé.
Ce travail servira aussi de première étape pour l'implémentation future de techniques d'interaction qui nécessitent de connaître les caractéristiques de cibles pour fonctionner.
Concrètement, l'étudiant exploitera les API d'accessibilités qui sont disponibles pour certaines applications. Par exemple, l'environnement Gnome (disponible sur Linux, et par exemple standard sur Ubuntu) expose des informations de taille et position de certaines icônes à travers l'interface AT-SPI. Ceci implique que pour un nombre donné d'applications, on est capable de récupérer les informations sur les cibles, nécessaires à l'évaluation de la loi de Fitts. En même temps, on peut faire une capture d'écran; on peut donc constituer une base de données, avec des captures d'écran de différents interfaces et en correspondance des informations sur les cibles de cette interface.
A partir de cette base de donnée, on peut alors utiliser de l'apprentissage supervisé pour extraire automatiquement d'une capture d'écran les cibles potentielles.
L'étudiant constituera le jeu de donné et réalisera l'apprentissage supervisé et son évaluation.
Compétences requises:
* C ou Python, Linux
* apprentissage supervisé et détection d'objets
* autonomie
Connaissances optionnelles:
*programmation d'interfaces utilisateurs
*connaissance de Xlib
====== English version ======
Selecting targets with a cursor, for example with a mouse, is one of the most common interactions (pointing) for a user. Yet, surprisingly, the typical user still points as they did 30 years ago, despite the many published advances in human-computer interaction (HCI) pointing research --- some predicting performance gains of over 30%. What can explain this? In my opinion, there is a gap between current research on pointing, which is based solely on controlled laboratory studies, and "real" pointing. We only know how to evaluate the performance of new pointing methods through controlled experiments because we don't know how to observe the quantities we need to characterize them (nor in general how to implement these methods on real systems).
The goal of this internship is to instrument a computer to acquire the necessary data ---particularly the sizes and positions of the targets selected by the user--- to characterize pointing directly in the user's environment. A law, known as Fitts' law, is often used to describe pointing in a controlled experiment setting. One of the questions that will be answered is whether this description is still relevant outside the controlled setting.
This work will also serve as a first step for the future implementation of interaction techniques that require knowledge of target characteristics to work.
The student will exploit the accessibility APIs that are available for some applications. For example, the Gnome environment (available on Linux, and for example standard on Ubuntu 20) exposes size and position information of some icons through the AT-SPI interface. This implies that for a given number of applications, we are able to retrieve the information about the targets, necessary for the evaluation of Fitts' law. At the same time, we can make a screen capture; we can thus constitute a database, with screen captures of various interfaces and in correspondence the information on the targets of this interface.
From this database, we can then use supervised learning to automatically extract potential targets from a screenshot.
The student will build the dataset and perform the supervised learning and evaluation.
Required knowledge:
\begin{itemize}
\item C or Python, Linux
\item supervised learning and object detection
\end{itemize}
Optional knowledge:
\begin{itemize}
\item programming of user interfaces
\item knowledge of Xlib
\end{itemize}