DEA ISC - Module MW : Revue d'Article
 
 
Sommaire
 

I. Présentation de la publication

II. Analyse
A. Résumé de l'article
B. Commentaire
C. Evaluation

III. Comparatif
A. Descriptif de l'article de comparaison
B. Sens de la comparaison
C. Héritage

IV. Références

 
I. Présentation de la publication
 
Titre : "CMIFed : A Presentation Environment for Portable Hypermedia Documents"
Auteurs : Guido van Rossum, Jack Jansen, K. Sjoerd Mullender, Dick C.A. Bulterman (CWI, NL)
Année de parution : 1993
Type d'article : Article de référence
Relecteur : Boris Baldassari (boris.baldassari@wanadoo.fr)

Cet article est une présentation de l'environnement de travail CMIFed, dédié à l'édition et la présentation de documents hypermédia. Au-delà de l'outil, c'est le langage CMIF (CWI Multimedia Interchange Format, prononcer see-miff) lui-même, l'un des précurseurs de l'aventure hypermédia, qui nous est présenté.

 
II. Analyse
 
II. A. Résumé de l'article

L'exploitation des capacités multimédia des plate-formes récentes est rendu difficile par notamment deux facteurs : premièrement, la nature difficilement appréhendable du multimédia et de sa composante temporelle, et secondement l'hétérogénéité des systèmes. Parmi les approches envisagées, on trouve le scripting, dont l'inconvénient principal est la difficulté à mettre en place des média parralèles, et l'approche timeline, qui s'avère peu maléable (i.e. le remplacement d'une scène par une scène de durée différente implique un réaménagement conséquent). L'un des buts de ce projet est l'utilisation dans un environnement réparti, ce qui génère des besoins de synchronisatin particuliers.

CMIF est un modèle de présentation de documents multimédia basé sur l'Amsterdam Hypermedia Model [1] publié en 1993, qui est lui-même une extension du Dexter Hypertext Reference Model [2], publié en 1990. CMIF définit l'animation multimédia comme un arbre dont les noeuds sont des présentations composées, et dont les feuilles sont des présentations atomiques. Une présentation composée contient une ou plusieurs présentations atomiques.

Les éléments de la présentation (piste audio, texte de titre, texte de corps, scène vidéo, etc..) définissent des évènements. Des informations supplémentaires peuvent, selon le type de média, être ajoutées sous forme d'attributs (nom du fichier, couleur, durée, etc..). Les canaux sont une abstraction réunissant plusieurs évènements de même nature (i.e. de même type de média) ; ils offrent à l'utilisateur une plus grande facilité d'utilisation, en offrant des propriétés communes à tous les évènements du canal : le volume sonore pour un canal d'évènements de type son, les coordonnées pour un canal image, etc..

La synchronisation et l'ordonnancement des éléments multimédia sont définies par les indications présentes au niveau des noeuds (déroulement parallèle ou séquentiel) et par des contraintes de temps ajoutées entre éléments. Les contraintes de temps sont des relations entre deux évènements appartenant à la même présentation atomique. L'utilisateur peut agir sur le déroulement de la présentation grâce à la présence d'hyperliens. Ceux-ci se présentent comme des liens orientés entre deux parties d'un évènement, appelées ancres (lettres d'un texte, image d'une scène vidéo, etc..).

L'interface de CMIFed offre trois vues pour appréhender l'édition de documents hypermédia. La vue hiérarchique offre une vue des présentations composées ou atomiques contenues dans l'arbre, permettant une exploration aisée. En réduisant ou augmentant le scope visible, l'utilisateur a accès à l'intégralité de l'arbre jusque dans les détails des feuilles. Des commandes adaptées à chaque type de média permettent l'insertion ou la suppression de noeuds, et l'édition de toutes les caractéristiques intrinsèques de chaque feuille via un éditeur externe.

La vue canal présente une chronologie des évènements associés à chaque canal. On peut également voir, et éditer, les arcs de synchronisation reliant les évènements ; les contraintes de temps ainsi exprimées sont immédiatement visibles. Il s'agit d'un véritable outil de débuggage : lorsqu'une présentation est jouée, les évènements correspondants dans la vue canal changent de couleur et évoluent au fil de la lecture.

Le lecteur, enfin, permet de jouer les présentations créées et de modifier certains attributs directement, telles que les informations de dimensions et de placement. Une fenêtre unique regroupant tous les évènements peut être utilisée, ou plusieurs correspondant chacune à un canal.

CMIFed est entièrement écrit en Python ; l'approche est donc évènementielle et orientée objet. Le lecteur est l'élément dont l'implémentation pose le plus de difficultées. La solution adoptée, définissant une file d'évènements réaménagée en fonction du déroulement de l'application et une horloge d'exécution, a deux avantages : une interaction en temps réel avec l'utilisateur (qui n'est pas contraint d'attendre la fin d'une présentation pour déclencher la pause) et la capacité à modifier l'échelle de temps de l'animation en changeant la fréquence de base.

La construction du graphe orienté se fait d'abord par rapport aux informations internes des évènements (jeu séquentiel/parallèle) puis par l'ajout des arcs de synchronisation ; les délais sont des valeurs associées à chaque arc de l'arbre. En dernier lieu, deux noeuds sont ajoutés (début, fin) et le lecteur peut commencer son déroulement. Un calcul heuristique précharge en fonction des disponibilité des ressources les éléments à venir dans la présentation ; notons qu'une utilisation intensive des hyperliens rend ce dispositif inefficace.

 
II. B. Commentaire

Aspects rédactionnels

L'une des difficultées majeures dans ce papier était d'arriver à présenter un concept (chose difficile s'il en est), celui de la présentation hypermédia, et de CMIF en particulier. C'est en ce sens une réussite : on a après lecture de l'article une idée claire de ce qui a été fait ; les idées sont exprimées de manière concise et précise. Le seul regret du relecteur est la séparation, pas assez nette, entre l'éditeur CMIFed et le modèle de présentation CMIF.

 

Aspects conceptuels

La structure arborescente est bien choisie ; les arbres sont une structure de base très commune en informatique. De nombreux algorithmes donnent toute sa puissance à cette forme d'abstration flexible et aisément préhensible par les ordinateurs. Parmi ses qualités, la facilité d'extension et d'édition, l'efficacité des algorithmes de recherche, et la visualisation aisée. La notion d'attribut ajoute à la force du modèle.

La granularité fine induite par l'arborescence permet un contrôle précis sur les feuilles, aussi bien qu'une généralisation à une branche, selon la profondeur de travail sur l'arbre.

Bien qu'apportant un confort de synchronisation nécessaire, les arcs de synchronisation complexifient considérablement le modèle. Cet aspect est (au moment de la publication de l'article) et aura désormais créé des attentes de synchronisation sévères, sans lesquelles le modèle de présentation multimédia n'aurait pu percer. Ce qui justifie le sacrifice de complexité, d'autant plus qu'il n'y a pas d'alternative simple.

 

Aspects implémentation

Il n'en reste pas moins, et cela est annoncé, que l'implémentation du player représente une difficulté majeure. Une forte diffusion populaire en pâtirait indubitablement. L'algorithme présenté propose une solution astucieuse, mais certains aspects ne sont pas encore traités, et les futures extensions ne se contenterons peut-être pas de cette implémentation.

Une des difficultés principales résidait sans doute dans les possibilités de visualisation de l'arbre. Lors de l'élaboration d'une présentation, il est en effet primordial de pouvoir suivre ce qui est en train d'être fait. Le problème est plus large encore : comment représenter une telle structure abstraite ? L'adoption des trois vues, chacune à un niveau d'abstraction différent, est une solution saluable. En ce sens, les canaux introduisent un niveau d'abstration intermédiaire particulièrement intéressant et pratique, tant pour le regroupement des données que pour la facilité de visualisation.

 

Conclusion

Cet article est un excellent travail de recherche. Les concepts avancés sont ingénieux, les idées sont bonnes, et le rapport qui en est fait intéressant. Mais il manque plusieurs choses qui pourraient transformer l'essai en réussite -- car la finalité de tels travaux est toujours une large utilisation publique. Premièrement, une plus grande facilité d'édition : les utilisateurs ont à leur disposition des outils commerciaux d'un très grand confort d'utilisation et ne changeraient pas sans retrouver la même facilité. Placer à la main les arcs de synchronisation sur la vue canal en rebuterait plus d'un (même si le principe s'avère très pratique et efficace). Par ailleurs, un certain nombre de primitives manquent encore -- par exemple, que se passe-t-il lorsqu'une vidéo finit avant la scène l'incluant ? Cela est traité par SMIL grâce à la commande fill. Ces aspects peuvent faire figure de détails, mais sont nécessaires à une large utilisation. Dans son contexte, l'article est très bien ; mais un recul de quelques années met en relief un manque de maturité de certaines de ses composantes.

 
II. C. Evaluation

CritèreNote
Pertinence par rapport au cours5/5
Une bonne partie du cours portait sur la présentation du langage SMIL ; l'étude des origines de ce langage et des concepts utilisés est un très bon exercice et permet de mieux appréhender la situation actuelle, le travail effectué et à venir dans ce domaine.
Qualité d'écriture4/5
Deux remarques justifient cette note : premièrement, le mélange dans un même document du concept (de la présentation hypermédia) et de son implémentation dans CMIFed est plus ou moins heureuse ; le lecteur a du mal à dissocier, après coup, l'un de l'autre. Et certaines parties restent mal documentées, comme par exemple le format d'enregistrement du fichier CMIF. L'ensemble est cependant très correct
Note globale4/5
 
III. Comparatif
 
III. A. Descriptif de l'article de comparaison

Titre : "Background Information on SMIL 2.0"
Auteurs : Lloyd Rutledge, Dick Bulterman (Oratrix)
Année de parution : May 25, 2002
Type d'article : User Manual (Gr/ns, Oratrix)
 
III. B. Sens de la comparaison

L'objectif de cette juxtaposition est d'observer l'évolution des concepts utilisés pour la représentation des documents multimédia. Nous considérons en effet le modèle défini pour CMIFed comme un prédecesseur du langage SMIL, sur lequel a travaillé quelques années plus tard le W3C. La chronologie des principaux modèles proposés dans notre cas est la suivante :

Chronologie des modèles

Nous allons tenter de retrouver les éléments communs, et d'établir l'expérience et les concepts apportés par la démarche de CMIF au standard actuel.

 
III. C. Héritage

Une des avancées majeures du Amsterdam Hypermedia Model, et par là-même de CMIF, reprise dans SMIL est la notion de contraintes de temps et d'arcs de synchronisation. Comme le souligne le document sur SMIL dans sa partie Timeline Definition (the timeline metaphor is essentially useless), et comme le précisait le document sur CMIF, les notions antérieures de scripting et de timeline notamment sont dépassées ; les délais, la synchronisation, le déroulement sont calculés à partir des contraintes de temps données et des arcs de synchronisation. L'utilisation des tags begin et end sont dans la même lignée. Les avantages sont une plus grande facilité d'édition et de modification, ainsi qu'un meilleur contrôle sur la présentation.

CMIF a également introduit la notion d'évènements, repris plus tard par SMIL. L'utilisation du standard XML va dans ce sens, en permettant de formaliser ces évènements de manière claire pour le lecteur humain. Cette notion de modularité y a même été largement étendue, puisque SMIL 2.0 définit pas moins de 50 modules. La faible granularité introduite, liée à la notion d'hyperlien, permet une réelle interaction avec l'utilisateur. Les notions d'attributs de présentation et de contexte, fortement présents dans SMIL, ont également été un ajout de CMIF au modèle de Dexter. SMIL est allé bien plus loin, en introduisant de nouvelles directives (e.g. fill) et de nouvelles notions (e.g. les transitions).

Les directives de composition séquentielle et parallèle présentées par CMIF ont été reprises et étendues dans SMIL, avec l'ajout de la directive excl. Ces notions sont la meilleure réponse actuelle aux problèmes de représentation des données temporelles et hypermédia, et un atout certain pour la facilité d'édition et de publication. Cependant, et les deux modèles CMIF et SMIL le spécifient tous deux, l'implémentation d'un lecteur est d'autant plus difficile.

De manière plus générale, on est tenté de dire que CMIF a été une base de travail pour l'élaboration du standard SMIL. C'est pour le moins incomplet. Si, en effet, de grandes notions introduites dans CMIF ont été reprises dans SMIL, les objectifs de SMIL, notamment dans sa version 2.0, sont bien plus ambitieux. L'Amsterdam Hypermedia Model et CMIF à sa suite ont eu le mérite de défricher les territoires inconnus de la présentation multimédia, de proposer des axes de travail et d'introduire des concepts nouveaux. L'élaboration du standard SMIL a nécessité une maturité, un approfondissement de certain de ces axes et concepts, le développement de nouvelles notions, pour parvenir à un langage plus précis, plus puissant (voir la diversité des fonctions offertes par SMIL), plus facile à produire (lisibilité du XML) et enfin offrant un éventail d'application infiniment plus large (e.g. l'utilisation du SMIL sur les mobiles de dernière génération).

 
IV. Références

L'article : A Presentation Environment for Portable Hypermedia Documents
L'article de comparaison : documentation Oratrix

Network-Based Multimedia : Experiences from the CMIF Project
Présentation CMIF par le CWI : A structure for Transportable, Dynamic Multimedia Documents
La société Oratrix, auteur et propriétaire de GRiNS (ex-CMIF) : www.oratrix.com
The Amsterdam Hypermedia Model : article de présentation du CWI
Page de liens intéressants sur le site du CWI : Abstract of recent publication (1991-1995)
Les spécifications de SMIL 2.0 : Site du W3C

 


Boris Baldassari - Web et Documents Multimédia, DEA ISC, 08.12.2002
Valid HTML 4.01 ! Valid CSS !