Skip navigation.

digital-nation

Blog-note d'un informaticien procrastinate...

Posts tagged with "interface"

Ergonomie: OpenOffice.org et Microsoft Office

, , , ...

Étant donné que je suis dans ma période d'étude et plus particulièrement sur l'ergonomie cognitive IHM, je pense que ce sondage est intéressant: OOo doit-il se mettre à la sauce MSO ?

Dans l'aperçu général et sans avoir pensé plus loin, faisabilité, utilisateurs, etc. je dirais oui... Il n'y aucune honte à dire que la version 2003 est "belle", qu'elle a des idées, des principes simples et efficaces etc. mais il reste bien évidement des erreurs à corriger, il faut espérer qu'OOo les dépasses !

Interface utilisateur

, , , ...

Il y a peu j’ai twittéune pensée à brut d’une image connue :


La réponse de certain(e)s ne s’est pas fait attendre … Pour en arriver facilement à un futur dialogue.

Mais qu’en est-il en pratique… De ce que nous pouvons parler mais surtout faire.
Reprenons un peu brusquement :
Actuellement nous avons des interfaces utilisateurs qui ressemblent à ceci (comme le démontre l’image première) :


Que pouvons-nous constater ? Enormément de chose :

  • L’espace de la fenêtre est mal utilisé,
  • Les champs ne sont pas alignés,
  • Aucuns champs n’est renseigné comme obligatoire, (est-ce pour autant qu’il n’y a aucun contrôle et qu’au fait qu’on pousse sur Valider, cela nous renvoie la base complète des sociétés ?!!),
  • Les champs sont nombreux et non mis dans l’ordre, est-ce que l’ordre de tabulation est correct ?
  • Certains libellés ne sont pas affichés complètement…
  • Et bien d’autres tel : le nom des boutons n’est pas « significatif », pourquoi autant de bouton dans une fenêtre de recherche ? (peut-être faut-il alors repenser la recherche !)

Voyons maintenant ce que cela donnerait modifié !


Nous prenons en compte l’espace (coté gauche, coté droit, bas et espace des boutons), les champs sont alignés, sauf le premier qui est le requis afin d’attirer l’attention, en information est indiqué les champs optionnels, l’ordre de tabulation a été repensé… etc. etc.
En gros le formulaire est actuellement exploitable.

Mais… Pourquoi afficher les champs optionnels ? Ne peut-on pas les afficher uniquement sur demande ? Voyons cela :
  • Simplifions d’abord la fenêtre de recherche, que nous considérerons comme « normale » :

    Qu’avons-nous fait ? Suppression des champs inutiles, rajout d’un bouton permettant d’accéder à la recherche avancée (bien entendu chaque bouton dispose d’une infobulle !).

  • Par la suite, créons une nouvelle fenêtre de recherche avancée :

    Qu’avons-nous fait ? Simplement rajouté les champs de la fenêtre précédente… Et nous avons supprimé le bouton Annuler. Pourquoi disposer d’un bouton Annuler alors que nous demandons une recherche avancée ? Par contre nous gardons bien le bouton pour accéder à la recherche « normale ».


Est-ce pour autant la meilleure solution ?
Certainement pas, il n’y a pas de solution « standard », il n’y a qu’une approche supposée de l’utilisateur. Tout le monde ne peut pas le partager et tout le monde ne regarde pas l’infobulle par exemple avant de cliquer sur un bouton (et donc on peut se poser la question faut-il un bouton Annuler dans la recherche avancée ?) etc.

En gros l’ergonomie est une chose aussi complexe que la programmation dont elle dépend. Une fausse action ou une fausse idée, ou un bouton de trop ou trop, un changement flagrant dans les habitudes de l’utilisateur ne font pas avancer le schmilblik. Loin de là, il y aura un certain recul envers l’application.

A suivre avec un prochain Twunch.

Rendre le menu Dock (Fisheyes) accessible

, , , ...

J’ai récemment pu télécharger un menu très sympathique, rappelant celui de Mac… Son utilisation est des plus simplistes, vu que le travail nous a été maché.

Malheureusement, lorsque nous regardons le code, ce n’est pas très propre (oui cela valide, mais on peut faire mieux !) :
<div class="dock-container" id="dock-contener">
  <a class="dock-item" href="../index.php" tabindex="1" accesskey="1"><img src="../images/menu/accueil.png" alt="Accueil"><span>Accueil</span></a> 
  <a class="dock-item" href="../contact.php" tabindex="2" accesskey="2"><img src="../images/menu/contact.png" alt="Contact"><span>contactez-nous</span></a> 
  <a class="dock-item" href="../photographies" tabindex="3" accesskey="3"><img src="../images/menu/les-photos.png" alt="Photos"><span>Les photos</span></a>
  <a class="dock-item" href="../ceremonie_civile.php" tabindex="4" accesskey="4"><img src="../images/menu/ceremonie-civile.png" alt="cécrémonie civile"><span>La cérémonie civile</span></a> 
  <a class="dock-item" href="../ceremonie_laique.php" tabindex="5" accesskey="5"><img src="../images/menu/ceremonie-laique.png" alt="cécrémonie laïque"><span>La cérémonie laïque</span></a> 
  <a class="dock-item" href="../nos_fiancailles.php" tabindex="6" accesskey="6"><img src="../images/menu/nos-fiancailles.png" alt="fiançailles"><span>Nos fiançailles</span></a> 
  <a class="dock-item" href="../le_mariage.php" tabindex="7" accesskey="7"><img src="../images/menu/mariage.png" alt="mariage"><span>Le mariage</span></a> 
  <a class="dock-item" href="../le_voyage_de_noce.php" tabindex="8" accesskey="8"><img src="../images/menu/voyage-de-noces.png" alt="voyage de noces"><span>Le voyage de noces</span></a>
</div>

Comme vous pouvez le constater, ici il s’agit d’une succession d’ancre située dans un conteneur… Ces ancres, ce conteneur et ces « span » sont mis en forme par du CSS que voici :
.dock { margin-left: 150px; float: left; width: 400px; position: relative; height: 50px;  text-align: center; padding-left: 20px; }
.dock-container { top: 0px; height: 50px; }
a.dock-item { display: block; width: 40px; color: #A50021; position: absolute; top: 0px; text-align: center; text-decoration: none;
font: bold 12px Verdana, "Lucida Grande", Lucida, Tahoma, "Trebuchet MS", Arial, Geneva, Helvetica, sans-serif; }
li.dock-item a { color: #A50021; font: font: bold 12px Verdana, "Lucida Grande", Lucida, Tahoma, "Trebuchet MS", Arial, Geneva, Helvetica, sans-serif; }
.dock-item img { border: none; margin: 5px 10px 0px; width: 100%; }
.dock-item span { display: none; padding-left: 20px; }

Ce qui donne un bel effet de mise en page, grâce à la librairie Jquery ainsi qu’un petit complément appelé Interface.
Malheureusement lorsqu’on navigue sans le javascript activé, cela n’a pas l’effet escompté… Et la mise en page ne se charge pas comme nous le désirions, et rend donc la navigation impossible (en gros tout est superposé).
Il est vrai qu’il n’est pas recommandé de baser sa navigation principale sur le javascript ou un complément quelconque… Toutefois si nous regardons le code, ce n’est pas le cas principal ici : c’est du HTML mis en forme par du CSS sur lequel on passe une couche de javascript pour donner un effet. Ouf mais cela ne résoud pas notre problème !
Tentons d’abord quelques petites modification basique pour rendre ce code plus propres :
a)modifions le HTML comme suis :
<div class="dock" id="dock">
<ul class="dock-container" id="dock-contener">
  <li class="dock-item"><a href="../index.php" tabindex="1" accesskey="1"><img src="../images/menu/accueil.png" alt="Accueil"><span>Accueil</span></a> </li>
  <li class="dock-item"><a href="../contact.php" tabindex="2" accesskey="2"><img src="../images/menu/contact.png" alt="Contact"><span>contactez-nous</span></a> </li>
  <li class="dock-item"><a href="../photographies" tabindex="3" accesskey="3"><img src="../images/menu/les-photos.png" alt="Photos"><span>Les photos</span></a></li>
  <li class="dock-item"><a href="../ceremonie_civile.php" tabindex="4" accesskey="4"><img src="../images/menu/ceremonie-civile.png" alt="cécrémonie civile"><span>La cérémonie civile</span></a></li> 
  <li class="dock-item"><a href="../ceremonie_laique.php" tabindex="5" accesskey="5"><img src="../images/menu/ceremonie-laique.png" alt="cécrémonie laïque"><span>La cérémonie laïque</span></a> </li>
  <li class="dock-item"><a href="../nos_fiancailles.php" tabindex="6" accesskey="6"><img src="../images/menu/nos-fiancailles.png" alt="fiançailles"><span>Nos fiançailles</span></a> </li>
  <li class="dock-item"><a href="../le_mariage.php" tabindex="7" accesskey="7"><img src="../images/menu/mariage.png" alt="mariage"><span>Le mariage</span></a> 
  <li class="dock-item"><a href="../le_voyage_de_noce.php" tabindex="8" accesskey="8"><img src="../images/menu/voyage-de-noces.png" alt="voyage de noces"><span>Le voyage de noces</span></a></li>
</ul>
</div>

(en résumé j’ai ajouté un LI devant les A, et remplacé le DIV nommé DOCK-CONTENER par un appel de liste uniforme UL)
b)modifier le javascript
Mais si on recharge la page, cela ne fonctionne plus. Eh non, car dans les paramètres de Interface il faut modifier aussi du javascript. Comme suis :
$(document).ready(
function()
{
$('#dock').Fisheye(
{
maxWidth: 50,
//items: 'a',// test accessibilite
items: 'li',
itemsText: 'span',
container: '.dock-container',
itemWidth: 40,
proximity: 90,
halign : 'center'
}
)
}
);

(en résumé : j’ai changé l’interaction sur les éléments de liste en place d’un élément d’ancre)
Et là tout refonctionne à merveille…
Mais lorsque nous naviguons sans javascript, cela ne va toujours pas !
Bon ne paniquons pas… Que se passe-t-il ? La mise en page est scabreuse. Remodifions donc la mise en page pour le cas où le visiteur n’a pas le javascript d’activé !
c)petit hack entre amis
Pour cela, déterminons un emplacement dans l’entête qui va appeler une feuille de style (CSS) en cas où le javascript n’est pas actif. En effet, ici ce n’est plus un problème d’accessibilité, mais de mise en page.
Nous savons aussi que le dernier élément appelé d’une CSS est celui dont la mise en page sera appliquée. Parfais. Maintenant que nous savons cela, nous avons la solution !
Modifions le HTML comme suis, et rajoutons :
<!-- HACK pour JQUERY INTERFACE si Javascript desactive --> 
<noscript>
<link href="../css/noscript.css" rel="stylesheet" type="text/css">
</noscript>
<!-- FIN HACK pour JQUERY INTERFACE si javascript desactive -->

Ceci doit être placé en fin de la balise HEAD.
Créons maintenant une CSS appelée noscript.css qui sera appelée comme déterminé plus haut et remettons la mise en page correcte !
/* 
CSS Hack pour JQUERY INTERFACE
Rôle : réadapte le menu si le javascript n'est pas actif
Auteur :  X Brusselaers
Licence : GNU GPL v2
*/
.dock { margin-left: 150px; float: left; width: 400px; position: relative; height: 150px; padding-left: 20px; }/* augmenter la hauteur pour repousser les éléments du bas
réorganisation selon une liste classique */
.dock-container { height: 100%; }/* modification simple => 100% */
li.dock-item { display: block; width: 400px; color: #A50021; position: relative; text-align: left; /* remise en ordre des éléments du menu  */
text-decoration: none; 
font: bold 12px Verdana, "Lucida Grande", Lucida, Tahoma, "Trebuchet MS", Arial, Geneva, Helvetica, sans-serif;}
.dock-item img { display: none; }/* je cache les images, car je ne veux plus naviguer avec */ 
.dock-item span { display: block; }/* display en block, pour annuler le display none */

Maintenant lorsqu’on navigue sans javascript, nous avons un menu qui s’affiche comme une liste.

[[ EDIT ]]
Et zut, cela ne valide pas ! Mais au moins c'est accessible... Je recherche encore une solution pour cette "unique" erreur...

GMail : publicité ciblée dans l'interface

, , , ...

Alors que j'utilise à foison la messagerie GMail, par pur hasard je constate aussi qu'elle fait de la publicité ciblée dans l'interface !

En effet, ma femme et moi étions occupé à "discuter" par mail à propos d'une machine à laver et sur le coté comme par hasard se retrouve des publicités pour les machines à laver, lave-vaisselle, etc.
Je me dis que cela doit être un pur hasard et donc retourne dans l'interface générale et sélectionne un autre mail concernant une opportunité de travail et quel ne fut pas mon étonnement de voir la publicité adaptée sur le recrutement.

Cela ne me gène pas de voir de la publicité dans cet excellent Webmail... Mais la question que je me pose est surtout en rapport à la vie privée et donc à la lecture (certainement automatisée mais lecture quand même !) des messages.
Ne serais-ce pas un peu comme si la poste ouvrait votre correspondance et y glissait de la publicité et puis refermait l'enveloppe ou le colis ?

Ligne de commande v3

, , , ...

Quelques commandes en Shell (article un peu brouillon)

Read more...

Quelques liens

, , , ...

Cela surprend, ou pas...

Read more...

Ligne de commande

, , , ...

Quelques lignes de commandes pour configurer pour s'amuser... Et plus si affinité !

Read more...

Premier constat

, , , ...

Vista et ses premiers exploits sur le grand public : premières constatations...

Read more...

November 2009
M T W T F S S
October 2009December 2009
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30