Dégradation harmonieuse d'interfaces utilisateur - UsiXML
Dégradation harmonieuse d'interfaces utilisateur - UsiXML
Dégradation harmonieuse d'interfaces utilisateur - UsiXML
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
A chaque phase du traitement, on vérifie que la nouvelle présentation candidate à une taille<br />
qui satisfait à la résolution souhaitée. Si c’est le cas, on choisit cette dernière (on prend<br />
toujours celle en cours et pas une des suivantes car c’est celle-ci qui nécessite le moins de<br />
réorganisation). Sinon, on compare la différence de taille obtenue entre la fenêtre candidate et<br />
la fenêtre de résolution souhaitée et celle pour la fenêtre précédente. En effet, si la différence<br />
diminue, on prendra la nouvelle présentation et on gardera l’ancienne dans le cas contraire.<br />
Cette technique, bien qu’originale, pose parfois quelques problèmes. Le premier repose sur la<br />
vitesse d’exécution. En effet, si le nombre de niveaux et de tâches par niveaux de l’arbre<br />
augmentent, le temps de calcul augmentera également car nous devons envisager tous les cas<br />
possibles.<br />
Une solution serait peut-être de transformer ce problème de sélection en problème<br />
d’optimisation. Nous utiliserions alors une heuristique qui suggérerait à quel moment on<br />
arrête le choix.<br />
Le deuxième problème réside dans le fonctionnement de la technique. En effet, si deux<br />
groupes de tâches feuilles indépendants se situent à un même niveau dans la hiérarchie de<br />
tâches, toutes deux seront réorganisées, ce qui n’est pas toujours souhaitable. De plus, elles<br />
partageront le même nombre de colonnes. Ainsi, même si le comportement général reste<br />
acceptable, certains résultats ne sont pas du tout optimaux.<br />
Aussi, une solution encore plus complète serait de réaliser un mélange entre la première<br />
solution proposée et l’algorithme de Wong [Wong 2002]. En effet, l’algorithme de Wong ne<br />
réorganise les tâches que lorsque la largeur du groupe de tâches est supérieure à celle de la<br />
résolution choisie. Aussi, dans notre cas, ceci serait totalement inutile car notre méthode de<br />
génération automatique d’interfaces semi-concrètes se base sur l’usage d’une seule colonne<br />
par défaut.<br />
Alors, plutôt que de calculer la meilleure combinaison possible dès le départ, nous pourrions<br />
également partir du facteur de coût des tâches pour savoir quel groupe (niveau) réorganiser en<br />
premier (ceci en additionnant les différentes valeurs obtenues). Et ensuite, nous nous<br />
chargerions de continuer la transformation jusqu’à ce que la taille de la présentation soit la<br />
plus proche de celle souhaitée.<br />
Le module Widget Resizing Helper<br />
Ce module a pour but de déterminer une liste de tâche pour lesquelles les OIAs seront<br />
redimensionnés pour atteindre les objectifs de résolution d’écran attendus. Cette<br />
détermination passe par plusieures étapes.<br />
La première consiste à déterminer quels sont les OIAs qui sont redimensionnables et donc,<br />
quelles tâches seront à traiter par la suite. Remarquons que nous n’avons pas admis la<br />
possibilité de redimensionnement pour le widget Canvas car si celui-ci doit afficher des<br />
éléments graphiques, ceux-ci ne seront pas redimensionnés (à moins que la fonction<br />
sémantique d’affichage ne prenne en compte la résolution de l’écran, cas extrême que nous<br />
avons décidé d’ignorer). La deuxième consiste à créer la présentation complète et déterminer<br />
la taille des différents widgets qui la composent. De manière parallèle, nous construisons une<br />
liste de tâches organisées, de manière décroissante cette fois, en fonction de leur importance<br />
relative et récupérons les tailles admissibles pour les widgets de la présentation.<br />
91