Projecting Computer Languages for a Protean Interaction - Laboratoire Interdisciplinaire des Sciences du Numérique Access content directly
Theses Year : 2024

Projecting Computer Languages for a Protean Interaction

Projeter les langages informatiques pour une interaction protéiforme

Abstract

To interact with computers, we often rely on computer languages such as Python for creating programs and LaTeX for writing technical documents. In the past few decades, these languages have become increasingly used in a variety of fields ranging from science to arts. They are now being taught to millions of pupils and have become a staple skill in the job market, widening the gap between those who are computer literates and the others. However, for the most part, our interaction with these languages has remained similar to what it used to be fifty years ago: reading and writing code as plain text. Although various alternatives have been introduced, they have often been developed with a modernist approach, in isolation from popular languages and widespread workflows, resulting in systems that hardly cross the borders of academic circles and niche communities. As a result, our interaction with computer languages is now hampered by essentialist views that encourage us to move away from them, at the risk of losing some of the agency they give us, as if dealing with code was nothing but a burden from the past compared to ever more “simple” user interfaces and “intelligent” code synthesis. In this thesis, I argue against this view that I consider harmful to human-computer interaction research and computer-driven democracies. To do so, I introduce a number of arguments that show that it is indeed possible—and even beneficial—to make our interaction with computer languages more pluralist, including with the many languages that already exist that are inherent to the diversity of computing in the 21st century. I first develop a new theory of interaction with computer languages that shows that no such language is inherently bound to a specific representation or type of interaction. To that end, I deconstruct the notion of computer language into five fundamental aspects to isolate interaction from the other constituents of these languages, yielding a more holistic model than those that already exist. I then use this model to identify different levels of interaction with computer languages, which can be hybridised, and show that a single piece of code can very well be projected onto several representations to let end-users decide which representation supports the form of interaction most appropriate for them. I then apply this view of computer languages to two research problems using user-centred design methodologies: helping users author documents written in LaTeX and helping programmers appropriate their text editors by crafting their own projections. For each problem, I assess the limitations of existing solutions with the help of a formative study; I develop a prototype of a text editor equipped with additional projections; and I evaluate it with both qualitative and quantitative user studies. The results show that that complementing text with other representations helps us understand and modify code faster and with a lower workload and that these representations can be created by recomposing existing parts that can be reused from one projection to another.In conclusion, I show that considering interaction with computer languages as projections makes it more protean, an approach which, according to this thesis, is theoretically grounded, technically possible and empirically desirable. It lends itself to the urgent task of equipping an ever-growing public of citizens with new intellectual and technical tools to help them understand and appropriate the computer languages that rule the societies we live in.
Interagir avec les ordinateurs nous amène souvent à utiliser des langages informatiques tels que Python pour créer des programmes et LaTeX pour rédiger des documents techniques. Au cours des dernières décennies, ces langages se sont mis à occuper une place de plus en plus importante dans divers domaines allant des sciences aux arts. Ils sont désormais enseignés à des millions d'enfants et deviennent une compétence couramment attendue sur le marché du travail, creusant le fossé entre ceux qui les parlent et les autres. Or, pour l'essentiel, notre interaction avec ces langages est identique à ce qu'elle était il y a cinquante ans : lire et écrire du code sous forme de texte brut. Bien que diverses alternatives aient été proposées, elles ont souvent été développées avec une approche moderniste, en rupture avec les langages et pratiques répandus, résultant en des systèmes bornés aux cercles académiques et à quelques communautés spécifiques. Par conséquent, les langages informatiques se retrouvent entravés par des visions qui essentialisent notre interaction avec eux, nous encourageant ainsi à nous en distancier, au risque de perdre une partie de la maîtrise à laquelle ils nous donnent accès face à des interfaces toujours plus « simples » et à la synthèse « intelligente » de code. Dans cette thèse, je m'oppose à ce point de vue que je considère néfaste pour la recherche en interaction humain-machine et la démocratie à l'heure du tout numérique. À cette fin, je développe un ensemble d'arguments qui soulignent qu'il est possible — et même bénéfique — de rendre plurielle notre interaction avec les langages informatiques, y compris avec la diversité de langages déjà existants dont hérite l'informatique du XXIème siècle.Je développe d'abord une nouvelle théorie de l'interaction avec les langages informatiques qui montre qu'aucun de ces langages n'est intrinsèquement lié à une représentation ou à un type d'interaction spécifique. Pour cela, je déconstruis la notion de langage informatique en cinq aspects fondamentaux afin d'isoler l'interaction des autres éléments constitutifs de ces langages, formant ainsi un modèle plus holistique que ceux déjà existants. J'identifie alors quatre niveaux d'interaction avec ces langages et montre que l'on peut les hybrider et choisir de projeter un même fragment de code sur différentes représentations afin de laisser le choix de celle offrant l'interaction la plus adaptée aux utilisateurs finaux. J'applique ensuite cette vision des langages informatiques à deux problèmes de recherche à l'aide d'une méthodologie de conception centrée sur l'utilisateur : faciliter la rédaction de documents avec le langage LaTeX, et aider les programmeurs à créer leurs propres projections afin de mieux s'approprier leurs éditeurs de texte. Dans le cadre de chaque problème, j'identifie les limites des solutions actuelles à l'aide d'une étude formative ; je développe un prototype d'éditeur de texte augmenté de projections supplémentaires ; et j'évalue celui-ci à l'aide d'études utilisateur à la fois qualitatives et quantitatives. Les résultats montrent que le fait de compléter le texte par d'autres représentations nous aide à comprendre et à modifier le code plus rapidement et avec une charge de travail moindre, et que ces représentations peuvent être crées à moindre coût en recomposant des éléments réutilisables d'une projection à une autre. En conclusion, je montre qu'envisager l'interaction avec les langages informatiques sous la forme de projections permet de rendre celle-ci plus protéiforme, une approche qui, selon cette thèse, est théoriquement fondée, techniquement possible et empiriquement souhaitable. Cette approche se prête à la tâche urgente d'équiper un public citoyen toujours plus large avec de nouveaux outils intellectuels et techniques afin de les aider à comprendre et à s'approprier les langages informatiques au cœur du fonctionnement de nos sociétés.
Fichier principal
Vignette du fichier
125450_GOBERT_2024_diffusion.pdf (14.7 Mo) Télécharger le fichier
Origin Version validated by the jury (STAR)

Dates and versions

tel-04551620 , version 1 (18-04-2024)

Identifiers

  • HAL Id : tel-04551620 , version 1

Cite

Camille Gobert. Projecting Computer Languages for a Protean Interaction. Human-Computer Interaction [cs.HC]. Université Paris-Saclay, 2024. English. ⟨NNT : 2024UPASG019⟩. ⟨tel-04551620⟩
68 View
25 Download

Share

Gmail Mastodon Facebook X LinkedIn More