MADCOW: a Multimedia Digital Annotation System Paolo Bottoni, Roberta Civica, Stefano Levialdi, Laura Orso, Emanuele Panizzi, Rosa Trinchese Universita` di Roma La Sapienza, Dipartimento di Informatica Via Salaria, 113, 00198 Roma, Italy
(bottoni,levialdi,panizzi,trinchese)@di.uniroma1.it,
[email protected],
[email protected] ABSTRACT
it can be usefully put in the context of its possible usages, while allowing automated agents retrieve interesting pieces of knowledge, based on such descriptions. This poses, however, the problem of creating rich descriptions of the Web content to support such usages. While the manual authoring of these descriptions places an unbearable burden on the users, research on its automatic creation and management is still in its infancy and has not yet produced universally accepted solutions. Currently, users interact with the Web content in a passive way which, despite the availability of several types of media reachable over the Internet, has not changed much since the early days of the Web. They follow links, read, observe, or hear content, occasionally fill in forms, and if something interesting comes in their way, add URLs to their bookmarks. Hence, no real support is given by the current Web browsers to placing the content of the navigation in the context of the user activity, knowledge, purpose in retrieving content. On the other hand, people have developed ways of perusing paper documents to the effect of fixing ideas, communicating comments to peers, or highlighting important parts: in a word they annotate documents in the context of their activity in order to later use these annotations. Annotation supports different cognitive functions such as remembering – by highlighting the most significant parts of the annotated document, thinking – by adding one’s own ideas, critical remarks, questions, and clarifying – by reshaping the information contained in the document into one’s own verbal representations. The traditional notion of annotation has recently evolved into that of digital annotation, and been extended from paper document to any type of digital, in particular multimedia, document. Digital annotation of a multimedia document can be defined as the production of additional information related to the document (e.g. a web page) or to some parts of it (a multimedia object such as an image or a video stream contained in the document). These annotations come to constitute a new document, rather than being modifications of the original document, as occurs for manual annotations on paper documents. A number of systems are being developed to allow forms of annotation of Web content, a pioneering initiative under this respect being Annotea [1]. However, a common feature of these efforts is that they force the user either to navigate through specific browsers – endowed within annotation facilities, but often supporting a restricted set of contents – or to disrupt the normal navigation activity to start an annotation application. We feel, on the contrary, that an-
Digital annotation of multimedia documents adds information to a document (e.g. a web page) or parts of it (a multimedia object such as an image or a video stream contained in the document). Digital annotations can be kept private or shared among different users over the internet, allowing discussions and cooperative work. We study the possibility of annotating multimedia documents with objects which are in turn of multimedial nature. Annotations can refer to whole documents or single portions thereof, as usual, but also to multi-objects, i.e. groups of objects contained in a single document. We designed and developed a new digital annotation system organized in a client-server architecture, where the client is a plug-in for a standard web browser and the servers are repositories of annotations to which different clients can login. Annotations can be retrieved and filtered, and one can choose different annotation servers for a document. We present a platform-independent design for such a system, and illustrate a specific implementation for Microsoft Internet Explorer on the client side and on JSP/MySQL for the server side.
Categories and Subject Descriptors H.5.1 [Multimedia Information Systems]: Audio input/output; H.5.2 [ User Interfaces]: GUI
General Terms Design
Keywords Annotation, multimedia document, plug-ins
1.
INTRODUCTION
The promise of the Semantic Web is to enrich the current ability of browsing the Internet for significant content by providing some precise description of such content, so that Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are Permission make digital hard or copies of all or advantage part of thisand work not made orto distributed fororprofit commercial thatfor personal or classroom granted withouton feethe provided that To copies copies bear this noticeuse andisthe full citation first page. copyare not made ortodistributed and that otherwise, republish,fortoprofit post oroncommercial servers or advantage to redistribute to copies lists, bear this prior noticespecific and thepermission full citationand/or on theafirst requires fee.page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific AVI '04, May 25-28, 2004, Gallipoli (LE), Italy permission and/or a fee. © 2004 ACM 1-58113-867-9/04/0500..$5.00 AVI2004 2004 Gallipoli, Italy Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$5.00.
55
for retrieving and filtering annotations have been defined, as well as for establishing a default annotation server for a document. As the design of madcow separates platform-independent from platform specific components, it can be implemented as an integration to different browsers (on the client side) and different web servers (on the server one). We started by implementing a MSIE plug-in as client and a JSP/MySQL application for the server side. The choice of an implementation as a MSIE plug-in favours usability by different kinds of users, interested in professional, learning or entertainment uses of the tool. The current categories of annotation considered are general, but especially suited for e-learning purposes. However, the only user requirement is the ability to navigate over the Web. In the next sections we describe our definition of digital annotations along with the application on different multimedia objects; we then introduce the architecture of madcow describing classes, roles and operations involved, and finally we report on its implementation and deployment. A section about related works concludes the paper.
notation will become a common activity in future styles of navigation, generating a wealth of new content. For this reason, tools to support annotation must be smoothly integrated in existing browsers, allowing a user to effortlessly switch between the navigating and annotating modalities of interaction with the Web content. Digital annotations can be kept private or shared among different users over the internet. When private, they provide valuable integrations to a content. As such, they can be used in e-learning environments, much as a student would mark and comment a textbook or some lecture notes. When shared, they provide support for discussions, again among students following a given course, or in web-based communities discussing arguments of common interest. The possibility of referring to concrete objects provides a better grounding of such discussions with respect to forums, or newsgroups, where discussions are very soon led astray due to the lack of a focusing object. The possibility of sharing annotations is of obvious advantage as a support for cooperative work, where forms of discussion on shared objects are already in use [13], and for knowledge management systems, where the traditional paradigm organises documents around business-related themes. The introduction of annotationbased systems would favor a document-centred way of interacting with such systems. The theoretical basis for this approach has been presented in [10]. In this view, the annotated document is a multimedia one: a web page including text, images, audio and video files; moreover, the annotation itself can be a multimedia object as well, being composed, for example, by text and images. An annotation can refer to a single object in the document (eg. an image, or a paragraph) or to a multiobject, i.e. a group of different objects contained in the document. Private annotations are kept in the computer on which the client resides, while shared annotations can be distributed over different servers. For example, while observing a heavy metal video embedded in a web page, one could choose to share an annotation related to some technical aspect of the video with his or her fellow students of the Multimedia course at the University, while placing some commentary to the video on the server for a community of heavy metal fans. Of course, this requires that both servers support the addition of annotations, even on documents not originally contained in the server, and a common format for expressing annotations, with facilities for their retrieval. Following this view, and based on UCAT, a previously developed annotation system [9], we designed and developed a new digital annotation system, called madcow from the acronym of Multimedia Annotation of Digital Content Over the Web. madcow is organized in a client-server architecture, where the client is a plug-in for a standard web browser and the servers are repositories of annotations to which different clients can login. Independently of their location, annotations are produced and stored according to an XML format, which incorporates contributions from existing standards both for the management of semantic content and of multimedia formats over the Web. The Document Type Definition (DTD) for annotations corresponds to a part of the schema for the annotation database, so that a common format can be used for producing an annotation, querying the database, and extracting the results for the query. Specific user interfaces
2.
ANNOTATIONS
In this paper we only refer to web-based annotation, so that a document is here considered as a web page identified by a URL. A document can thus be made up of several objects specified by a content 1 . Examples of content are text, hyperlinks, table structures, form fields, images, audio and video files. These are described in the Document Object Model (DOM), to which one refers for identifying the different components. We allow the user to annotate the entire document as well as single objects. Moreover we allow the annotation of groups of objects chosen arbitrarily within the document. Such a group is called a multistructure and the act of selecting it is called a multiselection. A digital annotation consists of two main components: metadata and content. The first is a set of attributes like author, title, creation date, modification date, location (a reference to the position of the annotated object in the document, typically an XPointer), URL (of original document), local or remote storing. Finally, the type of the annotation is an attribute that describes the communication relation between the contents of annotation and the annotated object. We follow here the definitions of the Rhetorical Structure Theory (RST) [18], a descriptive theory of the organization of natural language texts, which identifies in each text some nucleus (defining the main concept in the text) and some satellites which do not have semantic autonomy, but can be understood only with reference to the nucleus and clarify its meaning. When applied to the domain of annotations, it is easy to consider annotations as some form of satellite. The RST identifies a taxonomy of annotation types that users may employ to define different functional roles that the annotation plays with respect to the annotated object. We leverage from the UCAT [9] implementation of these types, so that a user can construct an annotation of the following types: explanation, comment, question, integration, example, summary, solution, announcement and memorandum. Each type is presented to the user with a different 1 In this paper we do not have the space to present the DTD for annotations. The reader can however assume that all the attributes we are going to mention have a corresponding tag and definition in such a DTD.
56
ones. The server can ask for a login, and can provide only those annotations that the user is enabled to access according to a privilege policy.
icon. Annotations are created with a type, and interpreted accordingly. This helps in reducing ambiguity when annotations are shared and communicated among users. Moreover, this facilitates the identification or filtering of annotations by the user, adding the type of the annotation as a selection criterion. In general, however, any attribute can be used to filter the annotations to be retrieved. The second component is the multimedia content of the annotation, which constitutes an HTML page that can contain textual information, video, image or audio files, as inserted by the user. The presence of an annotation in a document is indicated by a placeholder. The placeholder can be rendered in different ways according to the type of annotated object. For example, an icon superimposed on the display of the document can be used as a placeholder for an annotation relative to a portion of text. In most cases, the placeholder is also used as an access point to the annotation: when clicking on the icon (in the example above), the annotation content and attributes are displayed. Different icons are used in order to show the annotation role in the placeholder. An annotation can also consist of a link to the URL for an already existing document. In this case the placeholder can function as an anchor to access the external URL. madcow distinguishes between placeholders referring to documents generated to annotate an object, and placeholders linking to other documents, by presenting the icon denoting the annotation type in reversed colours. An interesting problem occurs when the placeholder must refer to a non-visual component of the document, typically an audio file. As one does not want to corrupt the presentation of the original document, some visualiser of the audio flow can be used, with some visual marker shown when the visualization of the document has reached the position of the annotation. The problem is less relevant when visually perceived media are shown, as this form of perception allows a better discrimination between the original content and the presence of markers. Digital annotations can be either public or private. The latter are for personal use, while the former are shareable among different users. Public annotations are stored remotely and can be downloaded by anyone having the proper access rights. The annotation author has higher privileges over a public annotation, being the only one allowed to modify or delete it. Forms of group ownership are also be devised, so that modifications of existing documents are permitted only to members related to the document author.
3.
3.1
Server Architecture
The architecture we propose for the madcow annotation server is based on the use of XML, of the HTTP protocol and of existing web servers. madcow can use different servers to store and retrieve annotations based on user choice, document suggestions and automatic server retrieval. The list of servers is maintained in the madcow client. A madcow annotation server is identified by a URI, and is composed by a set of scripts (eg. JSP or PHP or ASP scripts) that offer several annotation related services via the HTTP GET and POST methods. The annotation server uses a database to store annotations and to retrieve them based on the URL of the document they refer to, or based on a search on any other attribute (annotation metadata), e.g. the type of annotation. The database schema is defined upon the Annotation XML DTD. Each annotation in the server is uniquely identified by an annotation ID and is directly accessible using a unique URI. For each annotation, the three fields representing the ID, the type and the annotation location within the document are called annotation description, and constitute the necessary information for madcow to display placeholders. The annotation location refers to the original web page exploiting the XML Pointer Language (XPointer) [6], which allows the identification of fragments for any URI reference that locates a resource. It is based on XPath [5], an XML Language that models a HTML document as a tree of nodes, and allows addressing of portions of documents. The set of services that a madcow annotation server provides is the following: 1. storage of a newly created annotation 2. update of an existing annotation 3. retrieval of all the annotation descriptions related to a specific document 4. retrieval of all the descriptions of the annotations that match one or more search criteria 5. retrieval of the URIs of all the documents to which the annotations in the server are related When the user produces a new annotation, the madcow client formats the metadata and content in an XML file (according to the DTD), and sends it to one of the annotation servers in the list, using the HTTP POST method. The server saves the annotation in its repository. The server to receive the annotation can be chosen either explicitly by the user, or implicitly based on default values. Similarily, the services offered by the annotation server, can be interrogated and activated using the HTTP GET method.
SYSTEM ARCHITECTURE
madcow is based on a distributed architecture, in which document servers and annotation servers are present, and independent of one another. Document servers are indeed any website able to deliver content identified by a URI. madcow has been designed as consisting of a server side and a client side. The former contains a database of user annotations related to documents; the latter allows downloading of annotations from the servers, exploration of their content and production and storage of new annotations. The user can decide to operate on a particular server or on all servers containing annotations. The annotation servers are accessible via the HTTP protocol. The system connects to the server in order to retrieve (download) annotations as well as to upload newly created
3.1.1
Annotation Server Network
madcow can use different servers annotations. In fact, it manages a which comes filled with a starting set extended both manually by the user madcow
57
to store and retrieve list of servers’ URIs, of servers, and can be and automatically by
choosing the proper entry in the system menu. In this case, a new window opens, allowing the author of the annotation to add text, images, video and audio files. The user is asked to decide whether the annotation should be private (accessible only to him or her) or public.
Users may know about the existence of annotation servers that are publicized on web sites or in other ways, and so they may add the respective URIs to the server list. Moreover, madcow can find out a new annotation server URI and add it automatically to its list. It could discover a new annotation server in two ways:
3.2.1
• by reading the default annotation server suggested by a document: this can be optionally specified by the document author in a HTML META tag.
Classes.
madcow conceptual architecture is described by the Class Diagram of Figure 2.
• by using a search engine for retrieving URIs of servers that hold annotations about the current document. Search engines can access annotation servers when crawling the web as they do for ordinary web sites, and can use the appropriate service (see above) to retrieve URIs of documents annotated in each annotation server.
3.2
The MADCOW client
The madcow client is realised as a plug-in for existing browsers (see Figure 1), so that it can be implemented in different versions, in order to support different communities of users. When the user loads a web page in the browser, the madcow client looks in the list of known servers as well as in its private annotation storage for annotations related to that page. Each server responds with an XML file containing annotation descriptions. The client uses them in order to insert placeholders in the document, at the proper locations and using icons corresponding to the annotation types. If the user clicks on a placeholder, madcow downloads the corresponding annotation from the server, by using the ID contained in the description. A new browser window pops up and the multimedia content of the annotation is loaded and shown, together with its attributes. As the annotation content can present links to audio, video, image or text documents, suitable windows are open to reproduce the multimedia content of the annotation, as well as to show its attributes.
Figure 2: The conceptual architecture of madcow The GUI class provides the user with an access to the Annotation and Management classes. The first contains the (metadata) attributes, as well as the methods that manage the annotation life cycle. Annotation is an abstract class to be specialized in one of its concrete types: Highlight, Mark, Active Zone and Annotation with Content. Annotation provides the basic structure for the management of the location attribute, in the form of a list of XPointers. Highlight provides support for the choice of the style of highlighting. Mark additionally allows the selection of the type of mark, which can also be of user’s own creation, not related to any specific type from the RST. The ActiveZone class allows activities to be started when the user interacts with structures defined by some annotation actions. Finally, AnnotationWithContent allows an annotation to embody a document that can be annotated in turn. The content of an annotation being a digital document, it consists of Text, Video, Image, Audio or any combination of these. The Management class contains the client side methods that allow retrieving (saving) of annotations from (to) the repository. The storage can be a local directory on the user’s computer, in which case it is managed by the LocalFileSystem class, or it can be any server from the client’s list, and managed by the AnnotationServer.
Figure 1: madcow context diagram As the annotation body can integrate different multimedia content, the use of video or audio types when creating annotation causes the system to call an external tool to manage these formats. In the current implementation, the Windows Media Player SDK has been exploited to use the player functionalities from within an application. In order to allow the user to read a video or audio annotation, the plugin currently implemented incorporates Windows Media Player. For the management of image annotations, Visual Studio .NET classes are exploited. The madcow client also allows users to create new annotations by selecting the object(s) to be annotated and
3.2.2
Roles and operations
The functionalities supported by madcow consist of reading, creating, saving, updating and retrieving multimedia annotations. Users can play two roles with respect to madcow2 . Navi2
58
An Administrator role has also been defined, but will not
gators can only read, search for and filter public annotations. Annotators can also create private and public annotations. Moreover, an annotator user who belongs to the annotation authors group can modify it. Users wanting to act as annotators are requested to enter a login and password when accessing remote annotations.
and introducing in the dialog form further parameters, or make a new search with other parameters. Filtering annotations. madcow allows a user to filter annotations in a specific document. Namely, one can ask for particular kinds of placeholders to be shown, providing values for parameters such as the author or the type of the annotation.
Reading annotations. The user can open an annotation and read its content by clicking on the related placeholder. Upon this user action, madcow retrieves the annotation data in the local file system or in the annotation server and displays it in a new browser window, which may also contain the annotated image, video or audio file, if appropriate.
4.
IMPLEMENTATION
The current client side implementation of madcow is a plug-in for Microsoft Internet Explorer (MSIE), accessed as a MSIE toolbar whose tools allow a user to annotate any part of any web page, leaving an icon as placeholder. Visual Studio .NET, and Visual C# were used to develop madcow and to create the Annotation Toolbar, which is a band object, i.e. a window sitting inside the task bar of MSIE. It is also a COM object that implements three interfaces: IDeskBand, IObjectWithSite and IPersistStream. Optional interfaces include IInputObject if the band can accept input focus, and IContextMenu if there is a context menu. For each band class, the class ID (GUID) must be registered in the Windows Registry. When the Annotation Toolbar is selected from the Toolbars menu, MSIE detects the band object by searching COM objects that implement categories CATID DeskBand, CATID InfoBand, or CATID CommBand, and adds the name of our band to its Toolbars menu. Once the toolbar is visible, the user can operate all the available buttons. For each icon-button a dialog window will open to allow users to make the corresponding operation, as explained in the next section. When a user creates a public annotation with userid and password, madcow sends this information to an annotation server, which checks the user’s identity and stores the annotation in the database, using MySQL Database. The database is organised into two physical parts, one containing all the users entries, the other all the annotations attributes. The public annotation is accessible by all the users who open it but only the author, or users from the author’s group, can modify it.
Creating annotations. To create an annotation, the user chooses the location in the document to which the annotation must be attached by selecting the object (text, audio, video, image) to be annotated. After the selection, the user performs a dialogue specific for the type of annotation he or she wants to realise. Available types are highlight, marker, active zone and annotation with content. In each case, except highlight, a form is displayed, allowing the introduction of annotation data and the selection of an image region or a time interval for video or audio files. Some metadata associated with the annotation are automatically generated by the system, while the definition of the content and the remaining metadata is the user’s responsibility. Updating annotations. Users might want to change annotation metadata (e.g. its title, its functional type, etc.), or they could extend or modify its content. For example, they might want to transfer an annotation with content from a portion of text to a region of an image, or change it to an active zone, and so on. This is possible by clicking on the modify button when the annotation is shown on the browser window. At the end of the process, the new annotation can be saved or the modification cancelled. Saving annotations. Users can save the annotation on both local file systems and annotation servers. During remote saving, the server will check if a session is currently open. If none is, the user needs to be authenticated via a username and a password. If the authentication is successful, a new session is opened, otherwise the system will ask for the user’s registration. The user can then choose to exit the saving session or proceed to registration. After user’s authentication, if the annotation is a modified one, the system will check if the user belongs in the author’s group. If so, the system will save the modification on the annotation server. A confirmation message will finally be displayed.
4.1
User Interface
In the current implementation of the Annotation Toolbar five buttons are present (see Figure 3). The first three starting from the left allow users to create annotations on text, image and video, respectively. The fourth opens a search annotation window and the fifth allows users to highlight any portion of the text.
Retrieving annotations. Users might want to search for a specific set of annotations. After opening a dialog form, they introduce the retrieval parameters, which may be the type, the author, the title of the annotation(s) and so on. The search can be done in the local repository and/or in the remote repository. The results are then listed in a dialog form and the user can view an annotation by clicking on its link. It is possible also to refine the search, using the refine button
Figure 3: Buttons of the Annotation Toolbar
When users search the Web and want to create an annotation, they first click on a point in the Web page and then select a button on the toolbar. For every type of point chosen (text, image or video) a dialog window will open with the relevant attributes.
be considered here.
59
Figure 4 shows the dialog window of Annotate Text; this window allows the user to create an annotation on the selected point on the web page through the first button of the Annotation Toolbar. Some fields of the window are automatically filled, such as creation and modification date; others are entered by the user, such as title of annotation, type depending on the annotation content, public or private storing, external URL, content with text, image or any files, and the portion of image or video selection. When the user saves an annotation, the icon relative to the type selected is inserted as a placeholder in the web page, as shown in Figure 5. Clicking on a placeholder allows the user to open and view the annotation attributes and contents.
Figure 5: A page with placeholders deriving from annotation.
annotation with a few clicks.
5.
RELATED WORK
In this section we will synthetically report about current efforts in the direction of allowing interactive production and retrieving of annotations over the Web. We will shortly describe their features, and later summarise the differences with our approach. • AnnoteImage, developed by Brinkley et al. [15, 11], is an authoring tool which allows users to create and publish on the Web own atlases about annotated medical images. In this Java application, annotation data is stored in text files using a LISP-like syntax, and atlases are acceded over the Web via CGI scripts. • PAIS, subsequently developed by Lober and Brinkley [16, 14], was born to improve the AnnoteImage project. It is also an authoring tool developed in Java allowing creation of medical annotated images, but instead of accessing atlases via CGI scripts, Java applets are used. Besides, annotation data is stored using the Image Markup Language 1.0 [17], an XML Schema which describes image metadata and annotations.
Figure 4: Annotate Text dialog window
Figure 6 shows a dialog window of Annotate Image; this window allows the user to create an annotation on the selected image through the second button of the Annotation Toolbar. The image annotation dialog window is similar to the textual annotation one, except for the presence of the left side. It contains the image that user wants annotate, on the top, and the tools to select the portion of image, on the bottom. With toolbox the user can select the shape, for example line, circle, rectangle, as well as the line colour of the shape. Similarly, the video annotation dialog window contains the video that the user can annotate and the tools to select the video interval relative to the annotation (see Figure 7). The fourth button allows user to search any annotation, private or public, created by any user, as explained before. The last button allows users to highlight any portion of text on web page. A user must simply select the text and click on the button with the highlight icon. The Annotation Toolbar allows the user to manage the
• I2Cnet is a server network containing medical annotated images, developed by Chronaki et al. in 1997 [12]. It allows doctors to create, read, search and locally save annotations on images, as well as communicate them via e-mail to other doctors in readonly HTML format or as ”annotation objects” readable in the I2Cnet environment. Annotation objects, exported in HTML format, can also be posted on a I2Cnet server after a moderator’s review, but, after the upload, they cannot be modified any longer, not even by their author. The user interface is a Java applet connected to an I2Cnet daemon. Annotations data are stored in an ASCII file. • Inote is a standalone Java application that allows users to create annotations on images and saving annotation data on XML files [8].
60
Figure 6: Annotate Image dialog window
• Vannotea [20] is a prototype system that is going to be developed at the Distributed System Technology Centre at the University of Queensland. The major components of the system are search and retrieval database, annotation database, application server and MPEG-2 streaming. The model used for storing metadata is a simple application profile which combine Dublin Core [2] and MPEG-7 [3] standard. Furthermore, Vannotea is based on Annotea [1] so it uses an RDF-based annotation schema and Xpointer to link the annotations to the document.
has to be specified. Hence, contrary to what is made possible by our implementation as a browser toolbar, the generated annotation is untied from the original web page that contained the media object, possibly creating a loss of context for subsequent users of the annotation. Moreover, the literature concerning these tools, while employing external servers, does not mention the possibility of multiple servers hosting annotations, nor the management of distributed annotations concerning a same document, which is obtained in our approach by keeping lists of interesting servers with the client. Finally, these tools are generally devoted to a single specific type of document, eg. a video, an image, a text, whereas madcow allows an integrated management of multimedia documents.
• MRAS [7], the Microsoft Research Annotation System, is a system composed by a server and a client that communicate via HTTP. Moreover, it is possible to compose outgoing e-mail from annotation data and to process incoming e-mail from the server.
6.
• VideoAnnEx [4] has been released in July 2002 and has been developed by IBM. This tool allows the user to annotate MPEG-1 or MPEG-2 video format. Annotations are stored using MPEG-7 descriptions in XML files. The tool can also open MPEG-7 files in order to display the annotation for corresponding video file.
CONCLUSION AND FUTURE DEVELOPMENTS
In this paper, we have presented the multimedia digital annotation system madcow allowing internet users to create, read, modify, save, search for and filter private and public annotations related to the content of web pages. madcow is a useful support for sharing with others information, thoughts, doubts, proposals and comments about documents and their multimedial content. Moreover, private annotations can be used as a user memorandum attached directly to a web page. Our system is integrated in an existing browser in order to increase usability and to favour the development of a user-friendly interface. Finally, the server architecture based on the existence of multiple servers supplies a better distribution of the annotations over the Web, as well as the creation of annotation servers oriented to specific topics.
• Madeus [19] is an authoring environment for multimedia documents developed to analyze video structures. It saves informations in an XML format, using a self-developed DTD, and composes videos with other document elements. The tools described here are not integrated in existing browsers, but they are standalone applications, dedicated browsers or authoring and viewing tools for creating, uploading and downloading annotations on remote repositories. Thus, when annotations need to be produced on an image or video contained in a Web page, the multimedia object cannot be directly selected from the Web page, but its URI
7.
REFERENCES
[1] Annotea. http://www.w3.org/2001/Annotea.
61
Figure 7: Annotate Video dialog window
[2] Dublin core. http://dublincore.org. [3] Mpeg. http://www.mpeg.org. [4] Videoannex annotation tool. http://www.research.ibm.com/VideoAnnEx/. [5] Xpath. http://www.w3c.org/TR/xpath. [6] Xpointer. http://www.w3c.org/XML/Linking. [7] D. Bargeron, A. Gupta, J. Grudin, and E. Sanocki. Annotations for streaming video on the web: System design and usage studies. Technical report, Microsoft Research, 1999. http:// research.microsoft.com/research/coet/ MRAS/www8/paper.htm. [8] R. Bingler. Inote image annotation in java. Technical report, University of Virginia, 1998. http://jefferson.village.virginia.edu/inote/. [9] F. Bonifazi, S. Levialdi, P. Rizzo, and R. Trinchese. A web-based annotation tool supporting e-learning. In Proc. AVI ’02, pages 123–128. ACM Press, 2002. [10] P. Bottoni, S. Levialdi, and P. Rizzo. An analysis and case study of digital annotation. In N. Bianchi-Berthouze, editor, Proc. DNIS-2003, pages 216–230. Springer, 2003. [11] J. Brinkley, R. Jakobovits, and C. Rosse. An online image management system for anatomy teaching. In Proceedings of the AMIA 2002 Annual Symposium, 2002. [12] C. Chronaki, X. Zabulis, and S. Orphanoudakis. I2cnet medical image annotation service. In Med In-form (Lond), 1997. [13] D. Cox and S. Greenberg. Supporting collaborative interpretation in distributed groupware. In Proc. CSCW 2000, pages 289–298. ACM Press, 2000. [14] W. Lober. Personal annotated image server (pais). Technical report, Washington University, 2000. [15] W. Lober and J. Brinkley. A portable image
[16] [17]
[18]
[19]
[20]
62
annotation tool for web-based anatomy atlases. In Proceedings of the AMIA 1999 Annual Symposium, 1999. W. Lober and J. Brinkley. A personal annotated image server. Fellowship F38, LM00086, NLM, 2000. W. Lober, L. Trigg, D. Bliss, and J. Brinkley. Iml: An image markup language. Fellowship F38, LM00086, NLM, 2000. W. Mann and S. Thompson. Rhetorical structure theory: A framework for the analysis of texts. IPRA Papers in Pragmatics, 1:1–21, 1987. C. Roisin, T. Tran Thuong, and L. Villard. Integration of structured video in a multimedia authoring system. In Proc. of the Eurographics Multimedia’99 Workshop, pages 133–142. Springer Computer Science, 1999. http://opera.inrialpes.fr/people/Tien.TranThuong/Welcome.html Demos and Pubblication section. R. Schroeter, J. Hunter, and D. Kosovic. Vannotea - a collaborative video indexing, annotation and discussion system for broadband networks. In K-CAP 2003 Workshop on ”Knowledge Markup and Semantic Annotation”, 2003.