Interfaces

Interface utilisateur

Un logiciel à succès est toujours facile à utiliser !

Peu importe à quel point une application est incroyable, si seul son créateur est capable de l’utiliser, elle est destinée à être un échec. Il existe beaucoup de règles pour créer une interface convenable entre une application et son utilisateur, mais une est maîtresse de toutes : la simplicité.

Cela signifie que chaque interaction avec l’utilisateur doit être relativement élémentaire, de façon à ce que son action soit prévisible et sans ambiguïté. Ceci implique, et c’est un point souvent sous-estimé, que si un paramètre modifie cette action, ou un autre paramètre, ce changement doit être documenté. Autant que possible, les changements apportés doivent l’être par l’interface elle-même : laisser l’application dans un état où elle est incapable de fonctionner n’est pas une bonne option.

Un autre aspect important concerne le design de l’interface : deux composants d’une application qui peuvent interagir doivent être placés près l’un de l’autre ou au moins facilement trouvable. C’est une des raisons qui fait que certaines applications influentes sont sous-utilisées : il est simplement impossible de comprendre où se trouve chaque paramètre, à moins de l’avoir déjà longuement recherché.

Ce point doit être décidé dès les premières étapes de la création de l’interface : changer l’agencement de l’interface entre deux versions est ce qui a conduit à l’abandon ou au dénigrement de nombreuses applications.

À OVHPA – High Performance Applications, nous avons l’expérience de créer des interfaces simples avec des programmes complexes de sciences théoriques. Nous utilisons des bibliothèques logicielles portables comme GTK et QT pour l’interface graphique (IG), quand l’application en requiert une, et nous pouvons aller jusqu’à utiliser OpenGL pour des rendus 3D plus avancés. Si vous avez besoin d’une application mobile Android, c’est aussi possible. Dans tous les cas, nous choisirons toujours de créer une interface en utilisant des bibliothèques logicielles régulièrement maintenues et d’usage répandu : c’est une garantie que votre application aura une longue durée de vie, et qu’elle sera universellement accessible.

Finalement, la complexité d’une interface devrait toujours être dissimulée sous le tapis. Une fois que l’utilisateur a installé l’application, il ne devrait pas avoir à se soucier des différentes versions de bibliothèques logicielles utilisées, ni de quels programmes tiers sont nécessaires pour débloquer certaines parties de l’application. Autant que possible une application devrait utiliser au mieux les gestionnaires d’installation d’applications, en prenant en compte de façon explicite toutes ses dépendances, et en utilisant uniquement celles qui maintiennent une interface de programmation cohérente dans le temps.


L’utilisateur n’a pas besoin de savoir ce qu’il se passe derrière une interface.


Interface avec la machine

Les machines peuvent être plus susceptibles que les humains.

Un point important qui est pourtant souvent minimisé est la façon dont une application va s’interfacer avec d’autres dans un environnement logiciel donné, et bien-sûr avec l’environnement lui-même. Si la seule façon d’utiliser votre application est d’installer un système d’exploitation spécifique, puis des programmes et bibliothèques logicielles particuliers, il y a des chances pour que votre application ne soit utilisée que par les utilisateurs qui ont déjà presque tout installé.

En fonction de vos besoins, votre application peut ne pas avoir à être portée sur plusieurs systèmes d’exploitation : si votre conception cible principalement les superordinateurs, ou qu’elle est un programme pour une montre connectée, etc. Mais même dans ces cas, l’interface avec les différents composants du système peut être délicat : les superordinateurs ont de nombreux systèmes de file d’attente et de planification des ressources incompatibles les uns avec les autres, les systèmes embarqués de montres connectées sont loin d’être cohérents.

Idéalement, une application devrait être conçue de façon à ce qu’elle soit aussi simple à interfacer avec une machine qu’elle ne l’est avec l’utilisateur. Malheureusement ce n’est pas aussi simple. À OVHPA – High Performance Applications, nous avons une longue expérience dans la conception de scripts, l’utilisation de planificateurs, interconnexion et l’optimisation de ressources (voire la page Programming), nous sommes donc confiants en notre capacité à faire de votre application, celle avec laquelle les futurs développeurs voudront créer une interface. 


Une interface avec le matériel doit être sans défauts.

(C) OVHPA 2020, High Performance Applications.

All rights reserved.

Report problems to webmaster.