dimanche 11 décembre 2011

Bilan de début de parcours sur la mise en place des données ouvertes à Lyon

Contexte

Dans le cadre de mes activités avec le Parti Ꝓirate Rhône-Alpes pour la mise en place globale des données ouvertes à Lyon, je suis amené à rencontrer de nombreux élus, gestionnaires de collectivités, et responsables d’entreprises.

Si la première étape (rassemblement de personnes au fait des problématiques et motivées pour y répondre) de la mise en place est réalisée depuis de nombreux mois, la seconde (amorçage avec quelques partenaires industriels et administrations choisis et réactifs) est fortement bloquée. Les suivantes (implications des citoyens, établissement d'un écosystème, etc.) sont quant à elles incertaines.

Je liste ici les principaux problèmes que nous rencontrons et je tente d’y répondre par des propositions.

Problèmes rencontrés

Entreprises

Les PME & PMI sont mal informées sur les données ouvertes. Bien souvent elles ne connaissent pas cette démarche ou en ont une vision incomplète.

Les entreprises expriment de nombreuses craintes sur la publication de leurs données : harcèlement de démarcheurs commerciaux, intérêt économique de réaliser cet investissement, perte de contrôle sur l'activité, etc.

Les entreprises qui assurent des missions de service public (comme les TCL) refusent d’ouvrir leurs données les plus basiques sur les services qu’elles fournissent aux citoyens, argumentant que cela ne fait pas parti de leur contrat passé avec la ville. Elles déclarent les commercialiser selon des engagements spécifiques (non-redistribution, etc.)

Administrations

Il y a une absence flagrante de responsables dans les administrations locales : la pratique des données ouvertes y est quasi inexistante ; il n'y a donc pas d’organisation. Personne ne possède l’attribution de piloter l'ouverture des données, donc personne ne prend en charge cette question ; les services se renvoient la balle en se déclarant incompétents.

Citoyens

Les citoyens qui désirent individuellement mettre en place des initiatives de données ouvertes n'ont pas accès aux données nécessaires. Les entreprises leur claquent la porte au nez, et les administrations les promènent de service en service pour finalement les ignorer.

Propositions pour soutenir le développement des données ouvertes à Lyon

Les administrations doivent être motrices de l’amorçage de l’environnement des données ouvertes. Ce ne seront ni les entreprises (par crainte) qui seront à Lyon le moteur initial des données ouvertes, ni les citoyens (tributaires des données captives).

La collecte, la diffusion et l'utilisation de données ouvertes sauvages[1] est une solution tout à fait envisageable auprès de certaines entreprises récalcitrantes qui remplissent des missions de service public. Cette approche permet de mettre directement les entreprises en face de la question des données ouvertes, et de les obliger à prendre en compte l'évolution de la société.

Dans les administrations, il est nécessaire d'attribuer visiblement la responsabilité de la mise en place et de la gestion des données ouvertes, et ce dans une approche transversale des différents services. Le point de blocage étant ici politique, il est nécessaire de le régler à ce niveau via des personnes (élus, hauts responsables…) pouvant prendre des décisions et mettre en œuvre la démarche des données ouvertes.

Note

[1] J’appelle « données ouvertes sauvages » des données légalement mises à la disposition du public, mais non destinées par leur propriétaire à être réutilisées dans un cadre plus vaste. Par exemple, il peut s'agir d'informations sur un réseau de transport public, collectées via une aspiration de site web suivi d'une extraction. De telles données sont actuellement dans le cadre gris de la loi : pas explicitement interdites, mais pas non plus encadrées. Exemple : Indian Rail Database

jeudi 19 août 2010

Les chercheurs, la voiture et le plot : une réflexion sur l'usage de la force brute

Au LIRIS, nous n'hésitons à pas donner de notre personne pour résoudre les problèmes. Surtout quand il ne sont pas du domaine de nos spécialités. Laissez-moi vous raconter une histoire.

L'histoire

Il était une fois, un groupe de chercheurs qui sortaient de leur laboratoire afin de rentrer chez-eux.

Chemin faisant, ils se firent héler par une splendide demoiselle aux doux yeux maquillés tel le dieu Ra. La jeune fille était bien en peine car sa voiture, suite à une mauvaise manœuvre, se trouvait perchée sur un plot de béton.

Voiture coincée

Les chercheurs étaient emplis de bonne volonté et s’approchèrent afin d’examiner cette curiosité. Ils se mirent à tourner autour de la voiture, à palper des éléments, à poser des hypothèses et à estimer les différents paramètres.

Leur conclusion fut sans appel : oui, cette voiture était effectivement bloquée sur le plot en béton, et le dégagement allait être une opération délicate car son dessous commençait à être endommagé.

Voiture coincée, vue de dessous avant, protection endommagée
Voiture coincée, vue de dessous avant, protection endommagée

Une fois ce constat établit, restait aux chercheurs à proposer et à mettre en œuvre une solution. En effet, la demoiselle en détresse n'avait pas fait appel à eux pour lui apprendre ce qu'elle savait déjà (à savoir que sa voiture était coincée sur un plot de béton), mais bien pour y apporter une réponse.

Comme nos chercheurs étaient emplis de bonne volonté et se sentaient d'humeur virile, ils affirmèrent vouloir relever ce défi. Mais comment faire ? Deux courants de pensée apparurent.

Il y avait d'une part des chercheurs, emportés dans un élan idéaliste, qui songeaient à fournir des appuis supplémentaires à la voiture afin de lui permettre de se mouvoir de nouveau; et donc de se dégager par elle-même. En langage courant on appelle cette technique « mettre une rampe sous les roues ».

Et d'autre part, des chercheurs (sans doute pressés de rentrer chez eux vu l'heure déjà tardive; qui pourrait leur en vouloir ?) préféraient dégager la voiture à la main en la portant.

En personnes civilisées, les chercheurs se sont mis à débattre du pour et du contre de ces deux approches. Pendant que la demoiselle en détresse commençait à désespérer de voir son problème résolu (surtout que, apparemment, la voiture n'était pas à elle…).

Ne pouvant arbitrer, mais restant toujours bons collègues, les chercheurs établirent le compromis de réaliser les deux solutions.

Le premier petit groupe de chercheurs s'en allât emprunter sur un chantier voisins des matériaux de construction : parpaings, planches épaisses, cales… ils étaient certains d'y trouver les ressources nécessaires à leur entreprise.

Pendant ce temps, hésitant sur la conduite à tenir durant l'expédition du premier groupe, le second groupe de chercheurs rassurait la demoiselle en détresse. Se faisant, les chercheurs examinaient aussi la voiture; cherchant qui des points de levage, qui estimant l'effort à fournir pour lever et porter la voiture, etc.

Voiture libérée

Finalement, n'y tenant plus et ne voyant toujours pas revenir le premier groupe, les chercheurs du second se rassemblèrent autour de la voiture, la levèrent et la portèrent au delà du plot bétonné.

Folle de bonheur, la demoiselle remercia ses sauveurs et s'en allât rejoindre son prince charmant. Ne voyant toujours pas revenir ceux du premier le groupe, les chercheurs se dispersèrent pour rentrer chez eux.

Nul ne sut jamais ce qu'il advint des autres chercheurs partis en quête de matériaux.

Conclusion

Il ne faut pas sous-estimer la capacité de la force brute à résoudre un problème complexe ou sensible.


Discussion

Régulièrement dénigrée dans le monde de la recherche où elle peut être qualifiée d' « inélégante » et de « simpliste », la force brute n'est pas pour autant dénuée de qualités.

En effet, utilisée correctement, elle permet de répondre à un besoin avec des coûts modérés et une mise en œuvre rapide.

Par exemple, supposons que nous aillons à examiner 30000 heures de vidéo provenant de caméras de surveillance pour en relever les passages d'un personne. Les images, qui proviennent d'appareils de qualité moyenne, sont régulièrement floues ou bruitées.

Quelle est la solution la plus rentable ? Concevoir et développer un logiciel d'analyse d'image avec détection de formes et reconnaissance de visages, ou d'embaucher 100 chinois 10 heures par jour durant 30 jours ?

Dans le premier cas, il faut recruter des experts, des ingénieurs et des développeurs dans de nombreuses disciplines : génie logiciel, analyse de signal, traitement de données temporelles, etc. Cela coûte cher et l'estimation du temps nécessaire à la mise en œuvre est imprécise.

Dans le second cas, avec 100 chinois payés $5 par jour durant 30 jours, le coût sera de $15000 et le travail aisé à planifier.

Certes, on peut avancer que le développement du logiciel de reconnaissance est un investissement et permet donc de diminuer le coût unitaire à la longue. Mais en contrepartie, il est moins adaptable que les humains à qui on pourra demander de rechercher dans les images une voiture, une personne portant une valise précise, etc.

Il est également important d'évaluer le coût de maintenance : revient-il plus cher de remplacer un élément déficient (pour cause de maladie ou de casse) d'un système base sur la force brute (tel un ouvrier chinois ou encore un ordinateur basic), ou bien de remplacer un élément d'un système sophistiqué (tel un expert international ou un supercalculateur intégré) ?

Malgré tout, il ne faut pas oublier que l’apparente simplicité d'une solution à base de force brute est illusoire. Cette approche demande des investissements en coordination et en gestion des nombreux éléments : il est loin d'être évident d'interconnecter des milliers d'ordinateurs, et lorsqu'il s'agit de travailleurs humains le support devient une tâche à part entière (rotation d'équipes, restauration, commodités, etc.)

Le choix de la stratégie d'approche intervient tôt dans le cycle de résolution de problème; on constate qu'il peut avoir un impact significatif sur le reste du projet. il est donc important d'évoquer la question suffisamment tôt, par exemple durant la phase d'analyse, afin de ne pas se retrouver piéger.

mercredi 9 juin 2010

Comparaison appliquée des principaux outils web de calcul d'itinéraire

J’ai eu récemment à faire un déplacement sur Vienne (Isère). Étant un villeurbannais sans voiture, mon choix s’est naturellement porté sur le train pour m’y rendre. Ne connaissant pas du tout Vienne, je me suis tourné vers les outils gratuits du web pour organiser le trajet depuis la gare de Vienne jusqu’à mon lieu de rendez-vous. Leur comparaison sur ce cas concret en dehors des grandes agglomérations fortement couvertes me laisse songeur sur la qualité des zones peu peuplées.

Informations sur le trajet à effectuer :

  • Départ : la gare d'Estressin, à Vienne, en France
  • Arrivée : le 49 avenue Marcelin Berthelot, à Vienne, en France
  • Mode de déplacement : piéton

Google maps

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France
  • Option : piéton

Problème immédiat : Google ne connait pas la gare d'Estressin

# Gare de Vienne‎ - plus d'infos » Place Pierre Semard, 38200 Vienne

# Gare de Givors-Canal‎ - plus d'infos » Avenue du 11 Novembre 1918, 69700 Givors

# Gare de Givors-Ville‎ - plus d'infos »

# Gare du Péage-de-Roussillon‎ - plus d'infos » Place de la Gare, 38550 Péage de Roussillon (Le)

# Gare d'Oullins‎ - plus d'infos » 69600 Oullins

# Gare de Saint-Clair-Les Roches‎ - plus d'infos »

# Gare Saint Paul‎ - plus d'infos » Place Saint-Paul, 69005 Lyon

# Gare de Vénissieux‎ - plus d'infos »

# La Gare 12 Route Nationale, 69560 Sainte-Colombe

Lancer une nouvelle recherche de commerces et services à proximité pour afficher les 7 484 résultats pour Gare Estressin, Vienne

Et son mauvais mappage carte ↔ terrain lui fait placer le n°49 de l'avenue Berthelot à l'endroit du n°8. Vérifier soi-même

Résultat : la proposition d'itinéraire est complètement râtée. C'est dommage, car le mode Street View est extrêmement pratique pour se répérer durant le trajet.

Via Michelin

Réglages : Tester soi-même

  • Départ :
    • ville : Vienne (France)
    • emplacement : gare Estressin
  • Arrivée :
    • ville : Vienne (France)
    • emplacement : 49 avenue Marcelin Berthelot
  • Option : piéton

Suivent aussitôt deux questions & un nettoyage automatique :

  1. confirmer dans une liste que ma ville de Vienne se trouve bien dans l'Isère (38) ? Aucune idée, je dis oui
  2. « gare Estressin » est corrigé automatiquement en « Gare d’Estressin »; ah ben… merci
  3. confirmer dans une liste que ma ville de Vienne se trouve bien dans l'Isère (38), et que 'est bien le 49 avenue Berthelot que je demande ? Je dis oui

Résultat : il est immédiat et délicieux.

  • cartes : globale, détail du départ, détail de l'arrivée, détail sur chaque changement de direction
  • feuille de route très lisible (continuer sur… prendre à droite sur…), avec les distances en kilomètres et en temps
  • possibilité d'imprimer une version papier très lisible et complètes : principales cartes, directions, etc.
  • possibilité d'envoyer les information par email, ou sur un GPS (6 grands fabricants supportés)

Bref, yabon. On sent bien l’efficacité des bases de connaissances de Michelin : les détails sont précis et conformes à la réalité, les informations ultraclaires et tout a été pensé pour faciliter le déplacement de l’utilisateur.

Mappy

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France
  • Option : piéton

Le formulaire de saisie me demande de préciser mon lieu de départ en choisissant entre le Parking de la gare d'Estressin, et la Gare d'Estressin; va pour la gare.

Résultat : il est sans appel.

  • Mappy interprète ma gare d'Estressin comme étant en fait la gare de Vienne, située à l'autre bout de la ville. Ce n'est pas du tout le résultat attendu. Pire, c’est même un résultat trompeur. Pourtant, j'aurais cru que… mais non. Et si je choisis à la place de la gare le parking de la gare d'Estressin, à Estressin, Mappy m'impose la gare de Vienne comme interprétation.
  • L'itinéraire proposé est du coup complètement faux, même s’il est très bien présenté : directions à prendre, distances en mètres et en temps, cartes locales… Mais il est faux.

Yahoo! maps

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France

Résultat : What. The. Fuck. L’envoi de ma recherche est intercepté par un bulle d'aide jaune, à la Windows.

Le lieu que vous avez demandé est introuvable. Voulez-vous essayer avec cette adresse proche : 49, avenue Marcellin Berthelot ? Conseils :

* Vérifiez l’orthographe.

* Spécifiez une nouvelle valeur d’adresse (rue), de ville et de région (département/province/état), ou un code postal.

* Pour signaler une erreur de la carte, cliquez sur ce lien.

J'ai envie de dire « Mais pourquoi ? POURQUOI ? ».

Je valide la bulle d'aide et obtiens le résultat de ma recherche d'itinéraire, avec l'adresse telle que je l'ai demandée.

L'itinéraire proposé est correct, sans plus, car il est surtout adapté aux voitures. La présentation est touffue et les points de passages ne sont pas détaillées (panneaux à suivre, cartes, etc). La carte proposée pour visualiser le trajet est uniquement en mode « plan », aucune photo aérienne ou satellite n'est disponible pour afficher cette zone.

Splendide raté de Yahoo! Maps, car même s'il a trouvé un itinéraire je ne peux que difficilement l’utiliser.

Bing Cartes

Réglages : Tester soi-même

  • Départ : Gare Estressin, Vienne, France
  • Arrivée : 49 avenue Marcelin Berthelot, Vienne, France
  • Option : piéton

Ah ben ça commence bien. Ma gare de départ est inconnue de Bing.

Nous n'avons trouvé aucun résultat correspondant à votre recherche.

Aller, je lui donne un coup de pousse et corrige en « Gare Estressin, France » et je valide.

Résultat : Sans sourciller, Bing m'annonce que :

Aucun itinéraire aussi long n'est disponible pour les piétons. Modifiez vos préférences.

Ce qui est plutôt normal au vu du fait qu'il a interprété ma gare de départ comme étant « Gare, Nord, France ». Tout en quittant Bing, j'apprend en soupirant que Gare est un petit village situé à l'Est de Cambrais; qui se trouve effectivement dans le Nord.

Échec sans appel. En plus, la carte de résultat est moche. Aucun regret.

Conclusions

J'utilise les outils de préparation d'itinéraires depuis de nombreuses années, et je n'ai jamais eu à me plaindre des résultats pour les grandes villes : indication des stations de métro, des sens uniques ou encore des voies piétonnes, photos aériennes des changements de directions, calcul des distances au mètre prêt, etc, le résultat est presque toujours parfait; la différence entre les outils se fait alors sur leur ergonomie et fonctionnalités annexes.

Mais en ce qui concerne les zones moins peuplées (petites villes de province, campagnes, bords de mer, etc) les plans sont très souvent approximatifs. En effet, les outils de cartographie travaillent automatiquement à partir de photos aériennes et satellite, couplées à des données GPS collectées de façon assez cavalières.

Des projets comme OpenStreetMap permettent de réparer ces imprécisions en construisant des cartes libres à partir de différentes sources, libres elles-aussi. La prochaine étape pour améliorer les outils de calcul d'itinéraires sera logiquement de croiser ces bases de connaissances libres avec des bases de connaissances privées de qualité, telles que celle de Michelin.

samedi 5 juin 2010

Valorisation de mon travail

Pour la quatrième fois, une de mes photos a été reprise pour illustrer un article. Je ne sais pas si je dois désormais me demander si je suis meilleur photographe que chercheur, mais je pense qu'il y a peut être une piste à explorer ;)

Plus sérieusement, j'estime que les facteurs étant à l'origine de ces reprises de mes photos sont les suivants :

  • publication en ligne sous une licence libre (CC by-sa fr 2.0)
  • mise à disposition en haute définition
  • géotaguage pour localisation du sujet
  • annotation par tags standardisés de folksonomies
  • nom explicite de la photo
  • mise en ligne sur une plate-forme ayant une forte visibilité
  • et bien sur, un talent artistique inné pour la photographie ;)

En résumé : des métadonnées propres, une bonne visibilité, le soucis de la qualité et surtout une licence libre sont ici les principaux éléments qui ont permis à mon travail d'être non seulement connu, mais également réutilisé.

Mes photos reprises, avec liens

Illustrations de résections de la mâchoire inférieure

Illustrations de résections de la mâchoire inférieure, repris sur FrogSmoke.

Nou Camp Stadium Barcelona

Nou Camp Stadium Barcelona, repris sur Schmap.

Palmier du jardin d'acclimatation

Palmier du jardin d'acclimatation, repris sur le blog de l'école Jules Romains.

Le téléphone Samsung E1070

Le téléphone Samsung E1070, repris sur HandyList.

mardi 13 octobre 2009

BiblioCNRS, un FAIL en perspective

Avant les grandes vacances, je me suis retrouvé embarqué (je ne sais plus comment) pour betatester le futur service unifié de recherche bibliographique du CNRS : BiblioCNRS. Et bien moi, je vous le dis, c'est pas gagné.

BiblioCNRS

À base de Netvibes, le portail a la pesanteur d'un mammouth farci à l'herbe à chat. Ça rame, ça rame, ça rame. On a beau supprimer des widgets, désactiver tous les effets et même coller une CSS perso, ça rame.

L'organisation est... non, en fait il n'y a pas d'organisation : on y comprend rien, les actualités sont rangées entre un lien vers l'AERES et l'annuaire du personnel; ou l'inverse, c'est selon la session.

Pensant pouvoir s'échapper, on clique sur des mots familiers écrits en gros « ST2I » ou « Mon BiblioCNRS ». Et bien non, c'est juste une illustration qui sert à montrer que, ben, rien justement.

De dépit, on se résout à cliquer sur un onglet en haut de page (BiblioST2I dans mon cas), et là encore, ça rame. Horreur ! On se retrouve face à une page semblable à la précédente, mais avec *encore* plus de widgets. Y'en a plein, partout, tellement que ça ne tient même pas à l'écran !

C'est bourré de textes en noir, rouge et orange. Des widgets entiers sont remplis de juste une URL indicible surmontant un texte incompréhensible si on n'a pas fait 20 ans dans un labo. On devine bien ce qu'on peut faire avec certains formulaires, mais à ce point on commence à redouter ce qui se cache derrière.

Vraiment, c'est innommable comme portail de recherche de publications. Moi, je voulais juste un truc tout simple, avec quelques options stockées dans un cookie. Genre Google Scholar, quoi, mais directement sur les catalogues du CNRS. Et bien non, apparemment quelqu'un a décidé que l'Avenir c'était le mashup lourdingue tendance « débrouille toi ». Dommage.

jeudi 30 juillet 2009

Pourquoi je ne crois pas (encore) en la trace modélisée

Non, non, ne hurlez pas; je vous vois venir avec vos mais qu'est-ce qu'il va encore nous inventer cette fois-ci ? :)

Lisez, vous allez voir, ça va vous intéresser.

Avant-propos

Je travaille depuis maintenant un bon moment à mettre en place une partie de nos idées sur les traces, concernant la visualisation d'activité (individuelle ou collaborative, a/synchrone, ici on s'en fout). Architecture, conception de modèles, instrumentation d'application, couche réseau, formats de données, parsers, etc; vous l'avez compris, tout passe entre mes mains excepté le SGBT qui est pour moi une boîte noire. Si vous pouvez imaginer quelque chose relatif aux traces (RàPC excepté), alors je me suis certainement penché dessus à un moment durant ces six derniers mois.

Je vous présente ici un retour sur l'expérience que j'ai développé, à base de réflexions personnelles. Le constat est plutôt mitigé, je vous préviens d'avance. Rien de dramatique, mais il faudra en tenir compte pour la suite de nos travaux car ça a des conséquences importantes. Je vais essayer de faire un découpage propre, mais vous allez voir que tout est lié.

Ma réflexion est orientée sur le transfert vers l'entreprise (non, ce n'est pas un gros mot) de nos travaux de recherche. C'est à dire : « qu'est-ce qu'il faut prendre en compte lorsqu'on va essayer de vendre la trace modélisée à un industriel ».

La conception de modèle

La première étape de l'enrichissement d'une situation informatique par les traces (sous-entendu, après tout le blabla d'analyse) est la conception d'un modèle de traces de logiciel(s). Cela :

Demande des compétences très spécialisées

Soyons réalistes, comprendre la théorie de la trace modélisée et être capable d'expliciter des interactions dans son formalisme n'est pas à la portée de tout le monde. Non pas que cela soit particulièrement complexe, mais cela exige un certain nombre de connaissances et de compétences qui ne se trouvent pas partout.

Que ce soit par une méthode ascendante ou descendante, concevoir des modèles de trace d'applications ne peut être fait que par un petit nombre de personnes. Or, ce qui est rare est cher. Il va donc falloir convaincre l'entreprise de réaliser cet investissement. Cela peut passer par une mission d'un expert extérieur, la formation d'une personne déjà en place, un partenariat avec une structure compétente, etc. Plusieurs possibilités existent, mais toutes ont un coût qui n'est pas négligeable.

Nécessite beaucoup de temps

Un logiciel, même très simple, est riche en possibilités d'interactions. On peut retenir l'utilisation de menus, de boutons, de paramètres, de zones de saisie, de fonctions, etc, ainsi que des opérations plus globales impliquant les périphériques d'entrée et de sortie.

Au final, on se retrouve à manipuler un très grand nombre d'observés et de relations, ce qui nécessite plusieurs jours semaines de travail. La richesse en observés étant exponentielle par rapport à la complexité d'un logiciel, essayez de visualiser ce à quoi pourrait ressembler le modèle de trace d'OpenOffice. Oui, c'est plus que gros : c'est énorme. Et on ne peut pas se permettre de laisser de côté certaines parties du modèle car cela impliquerait de ne pas être capable de représenter correctement les interactions de l'utilisateur sur ce logiciel.

L'entreprise ayant besoin de tracer une activité, un environnement ou que sais-je encore, va devoir y passer du temps (qui est aussi de l'argent, comme nous le rappel le célèbre adage). Ce temps sera pris au dépend d'autres activités, peut-être plus facilement et rapidement rentables.

Comprend aussi la conception des règles de transformations usuelles

Tout comme sans maîtrise, la puissance n'est rien, des traces qu'on ne peut pas manipuler sont tout de suite moins intéressantes. La conception de jeux de règles de transformations adaptées aux modèles de traces est un des à-côté du travail conceptuel de la trace.

En effet, on ne peut pas simplement donner un modèle de trace à une entreprise en lui disant « voilà, tu as ton modèle, à toi de te débrouiller pour faire ce que tu veux avec ». Il faut donc en parallèle du modèle construire les règles de transformations qui vont les utiliser, afin d'obtenir un résultat final qui corresponde aux attentes de l'entreprise. L'entreprise pourra certes produire en interne de nouvelles règles de transformations (par une tactique de copie/adaptation), mais il faudra lui préparer le terrain. Et qui est-ce qui va se taper le travail ? Gagné, c'est l'expert qui s'occupe déjà du modèle. Cela augmente sensiblement sa charge de travail, et donc le coût pour l'entreprise.

Instrumentation des logiciels

Selon le logiciel à instrumenter, le travail technique pour réaliser la collecte d'observés varie grandement. J'ai identifié 3 catégories d'instrumentation :

  • édition en profondeur du code source : méthode qui nécessite d'avoir accès au code source du logiciel, et d'être en mesure d'y apporter des modifications;
  • création de greffons présentant des interfaces pour interroger le contenu de variables d'état : ici, on ajoute des fonctionnalités à l'application en s'appuyant sur ses API. On est limité par ce que propose l'application en terme d'accès aux ressources internes.
  • création de préparateurs de traces qui récupèrent des données exportées par l'application pour produire des observés : cette approche consiste à récupérer des informations sorties de l'application via ses méthodes standard (par exemple, flux RSS ou AppleEvent). Cette méthode apporte le découpage le plus fort dans le tandem application/traçage, et est limitée par l'application elle-même.

Selon les applications à instrumenter et les méthodes utilisées, le coût de l'adaptation logicielle varie énormément. Malheureusement, il n'est pas possible d'identifier un petit nombre de critères précis permettant de quantifier simplement ce coût. C'est uniquement en prenant en compte une combinaison de nombreux facteurs qu'on peut le déterminer. À titre d'idée, on peut citer sans s'y restreindre :

  • la complexité du travail;
  • la durée du travail;
  • le langage de programmation (allez trouver quelqu'un qui fait encore du COBOL, tiens :)
  • la documentation disponibles (humain, référentiel de développement, etc);
  • l'urgence;
  • etc.

Il y a également les coûts liés; par exemple, les structurels : achat d'un serveur pour le SGBT, mise à jour des matériels, adaptation de l'architecture réseau...

Les cycles de vie logiciel dans environnements tracés

Un logiciel peut être vu comme quelque chose de « vivant », évoluant au fur et à mesure des versions. Ces évolutions sont nécessaires pour de nombreuses raisons : changement dans l'environnement d'accueil (le système d'exploitation), sécurité, nouvelles fonctionnalités, etc.

Tout naturellement, il faut que les éléments du traçage accompagnent ces évolutions. Tout s'enchaînent très rapidement de façon implacable :

  1. modifier le logiciel tracé (peut) oblige(r) à modifier la collecte
  2. modifier le logiciel tracé oblige (pas moyen d'y échapper, là) à modifier le modèle de traces
  3. modifier le modèle de traces oblige à modifier les transformations de traces (et oui...)
  4. modifier les transformations de traces impacte sur la visualisation des traces (j'y reviendrais plus tard)

On se rend compte alors que la mise à jour est coûteuse car il faut de nouveau faire appel à notre expert. Vous souvenez de lui, celui de la 1e étape, qui avait conçu les modèles ? Et bien il va falloir retourner le voir pour lui demander de se pencher sur les modifications. Ceci dit, ça tombe bien car il pourra tout traiter d'un seul coup : l'évolution des modèles et celle des transformations. Et si en plus derrière il peut assurer la formation ça ne sera pas perdu.

Le plus problématique est qu'il faut répéter ce cycle à chaque nouvelle version du logiciel. C'est réellement un surcoût, car la rentabilité n'est pas évidente à dégager (comptablement parlant).

Mentalement, insérez ici un joli schéma de traces complet d'une application, montrant côte à côte les modèles de traces pour la version N et la version N+1. Imaginez de gros, gros (mais alors gros), graphes avec des nœuds et des arcs dans tous les sens, qui seraient différents de seulement quelques détails : observés en plus ou en moins, déplacement de relations, changement d'attributs, etc.

Je mettrais les schémas quand je les aurais fini, le but est ici de vous faire prendre conscience du volume de travail que ça représente.

Pratiques des utilisateurs liées aux traces

En ce qui concerne l'utilisateur final, c'est plus simple pour lui. Une évolution de son environnement tracé se traduit non seulement par une modification de sa pratique métier, mais également de sa pratique réflexive via les traces. Ben oui, vous ne croyez quand même pas qu'au final rien ne change ? Et comme nous le savons, tout ce qui change les habitudes de l'utilisateur le fait râler (sauf si c'est Génial, mais ça seul Apple arrive à le faire :)

De petites modifications dans un logiciel peuvent avoir de grandes répercutions sur le modèle de trace, et donc sur la visualisation interactive de la trace par l'utilisateur. Il va donc lui falloir un temps d'adaptation (ce qui influera sur sa productivité), voir même une formation.

Également, les changements dans les traces et modèles pourront se propager à d'autres environnements, tracés ou non. C'est le cas lors de la documentarisation de traces en vue de générer des productions (textes, hypermédia, etc.) Même si ces outils ne sont pas tracés, ils sont impactés par les changements sur les données d'entré.

Que retenir au final ?

On peut dire qu'instrumenter un environnement pour lui faire générer des traces est long, pas toujours simple, et n'est pas nécessairement faisable de façon clairement rentable.

Les problèmes apparaissent à tous les niveaux : conceptuel (modèles), technique (instrumentation) et humain (usage). Les principaux étant le coût (je crois l'avoir suffisamment répété :) de la mise en œuvre de la trace dans un système existant, et les compétences spécialisées requises dans chacune des étapes de la réalisation.

Convaincre un industriel d'investir dans la trace est alors réellement un problème, car les gains à dégager sont difficilement calculables, et la mise initiale est élevée.

Au final, pour moi la théorie de la trace est attirante sur le papier, mais les difficultés liées à la réalisation sont vraiment rebutantes.

Pistes envisageables

Tout n'est pas perdu ! Maintenant que nous avons regardé le problème droit dans les yeux, on peut louvoyer en évitant ce qui justement nous embête.

Ainsi, on peut songer à cibler en priorité les systèmes figés, qui n'évoluent pas ou très peu :

  • machine-outil : une chaîne de production change rarement, car son utilisation est planifiée en amont. Du coup, pas besoin non plus de faire évoluer les trucs-de-la-traces \o/
  • systèmes critiques : les outils comme ceux du contrôle aérien n'ont pas le même cycle de vie que les logiciels grand public; on ne passe pas son temps à les mettre à jour. Il sont conçus pour durer, et c'est au contraire les autres systèmes qui s'adaptent pour interagir avec eux. En gros, une fois le traçage dedans, il n'en bouge plus.
  • logiciels arrivés à maturité; ils peuvent être complexes (Lotus Notes) ou très simples (calepin de Windows). De par leur nature, rôle ou histoire, certains logiciels sont intouchables; on se contente au plus de les recompiler, mais en veillant à ne rien changer afin de ne pas provoquer d'effets de bord (comme par exemple un changement de modèle de trace).

Une autre approche est de se poser la question de savoir qui a suffisamment d'argent à dépenser pour se lancer dans un projet pareil, sans que le responsable risque de se faire virer après la réception de la facture par le service compta :

  • les grands comptes : la Poste, EDF (eh, ça tombe bien :), etc;
  • la fonction publique : quand l'administration investie, elle ne le fait pas à moitié; souvenons-nous du « Plan informatique pour tous »;
  • les Décideurs Pressés qui imposent contre l'avis de leurs DSI des solutions qu'ils jugent intéressantes. Avec un joli PowerPoint®™©, on arrive à vendre des glaçons au Pôle Nord.

Vous l'avez compris, j'exclus tout ce qui est grand public dans les cibles potentielles. Il y a éventuellement le monde du Libre qui pourrait mettre en place et maintenir des utilisations de traces modélisées, mais il faudrait vraiment que ça soit pertinent.

mardi 12 septembre 2006

Participation au 2006 HCI Workshop on Computer Assisted Recording, Pre-Processing, and Analysis of User Interaction Data

Je viens de participer au 2006 HCI Workshop on Computer Assisted Recording, Pre-Processing, and Analysis of User Interaction Data, in co-operation with ACM. Voici ce que j'en retiens à chaud.

Informations

Theme

Although computer-assisted recording, pre-processing and analysis of user interaction behaviour has received continuing research attention over the years, its full potential as a data source to inform the design process seems still unrealised. With technologies such as broadband internet and distributed applications, it is possible to continuously and unobtrusively collect interaction data. This data can relate to keypresses, mouse movements, eye gaze, as well as high-level events such as completing a task. This workshop will explore a number of open questions in this area, including: What is the best way to record and collect interaction data? What kind of computer tools, i.e. algorithms, can we use to filter and separate relevant data from noise? Which types of analysis and measures give us design-relevant insight into the interaction, the users, their interaction problems, their needs, personality, and experience? Traditionally, psychologists, usability experts, ergonomists, etc. have been among the main consumers and users of this type of data and supporting tools. However, making the data and tools easy accessible to designers and software engineers might even more directly impact the quality of the application. Therefore, we shall also explore the implications of this wider applicability of usage data.

Objective

The main objective of the workshop is to establish a community of researchers with an interest in this area, allowing a lively exchange of ideas and a joint exploration of outstanding problems and potential solutions. Please note that web usage mining in relation to product sales strategies is not within the scope of this workshop.

Ce que nous présentions

Le travail que nous présentions, dans le cadre du projet de recherche européen AtGentive, portait sur la conceptualisation et la gestion de l’activité : comment identifier les différents types d’activités réalisées sur ordinateur par utilisateur, pour les regrouper automatiquement en thématiques et faciliter le basculement de contexte de travail via des outils intelligents.

Nous avons présenté nos deux prototypes actuellement à l’essai. Le premier s’appuyant sur l’utilisation simple d’un virtual desktop manager, et le second, plus poussé, mettait en œuvre nos outils d’analyse d’activité pour proposer des éléments de métacontrôle à l’utilisateur.

The 2006 HCI Workshop on Computer Assisted Recording, Pre-Processing, and Analysis of User Interaction Data, in co-operation with ACM

Voir aussi les documents en annexe de ce billet.

Opinion

Les sujets abordés dans cet ateliers étaient très variés, allant de la réalité augmentée pour la géolocalisation aux EIAH, en passant par la définition automatisée de profiles musicaux.

Cet atelier, bien qu'enrichissant pour connaître ce qui se fait ailleurs, était trop vaste pour pleinement travailler sur les problématiques qui nous intéressaient. Cependant, tous les retours que nous avons eu sur nos travaux étaient positifs et résonnaient particulièrement avec ce qui se fait en ce moment dans les EIAH.