Comparing and Managing Multiple Versions of Slide Presentations
Comparing and Managing Multiple Versions of Slide Presentations
Steven M. Drucker Georg Petschnigg Microsoft Research One Microsoft Way Redmond, WA 88052, USA {sdrucker|georgp}@microsoft.com
ABSTRACT
Maneesh Agrawala University of California, Berkeley 615 Soda Hall, Mail Code #1776 Berkeley, CA 94720-1776, USA [email protected]
A common approach to building a new presentation is to study the collection of older versions and then assemble together the appropriate pieces from the collection. Similarly, when collaborating with others on creating a presentation, the collaborators will often start from a common template, then separately fill in sections on their own and finally assemble the different versions together. Yet, current presentation creation tools [11, 1, 22] provide little support for working with multiple versions of a presentation simultaneously. The result is that assembling a new presentation from older versions can be very tedious. In this paper we present new techniques and tools for visually comparing and managing multiple versions of slide presentations. Our work makes three main contributions: Comparison framework: We develop a framework for comparing presentations to identify the subsets of slides that are similar across each version and the subsets that differ. There are a number of ways to measure similarity between presentations, including pixel-level image differences between slides, differences between the text on each slide, etc. We propose several such distance measures and discuss how they reveal the underlying similarities and differences between presentations. Interactive visualization: We provide an interactive tool for viewing multiple versions of a presentation. Users can examine the differences between presentations along any of the distance measures computed by our comparison framework. The visualization is designed to help users understand how the presentation has evolved from version to version and determine when different portions of it crystallized into final form. Users can quickly identify sections of the presentation that changed repeatedly. Such volatility might indicate problematic areas of the presentation and can help users understand the work that went into producing the presentation. Interactive assembly: Our interactive tool also facilitates assembly of new presentations from the existing versions. Users can select subsets of slides from any version and copy them into a new presentation. The tight integration of visualization and assembly allows users to see the history of
Despite the ubiquity of slide presentations, managing multiple presentations remains a challenge. Understanding how multiple versions of a presentation are related to one another, assembling new presentations from existing presentations, and collaborating to create and edit presentations are difficult tasks. In this paper, we explore techniques for comparing and managing multiple slide presentations. We propose a general comparison framework for computing similarities and differences between slides. Based on this framework we develop an interactive tool for visually comparing multiple presentations. The interactive visualization facilitates understanding how presentations have evolved over time. We show how the interactive tool can be used to assemble new presentations from a collection of older ones and to merge changes from multiple presentation authors.
ACM Classification: H5.2 [Information interfaces and
Slide presentations have become a ubiquitous means of sharing information. In 2001, Microsoft estimated that at least 30 million PowerPoint presentations were created every day [17]. Knowledge workers often maintain collections of hundreds of presentations [3]. Moreover, it is common to create multiple versions of a presentation, adapting it as necessary to the audience or to other presentation constraints. One version may be designed as a 20 minute conference presentation for researchers, while another version may be designed as an hour long class for undergraduate students. Each version contains different aspects of the content.
In submission to UIST 06
Figure 1: Our interactive visualization and assembly tool is comprised of a Visual Comparison window (left), an Presentation Assembly window (middle) and a Slide Preview window (right). Users examine multiple presentations (each column of the Visual Comparison window shows a different presentation) and find the similarities and differences between them. Users can select any subset of slides from the Visual Comparison window and assembly them into a new presentation. The Single Slide window allows users to inspect one slide and its alternate versions in greater detail.
a presentation and combine the most relevant parts into the new presentation. Such an assembly tool is especially useful for collaborative production of presentations. Authors can independently edit the presentation and then use our assembly tool to decide which portions of each version to coalesce into the final presentation. A screenshot of our interactive visualization and assembly tool is shown in Figure 1. In this case, the Visual Comparison window (Figure 1 left) shows 10 versions of a presentation. Each column represents a different version. Links and alignments indicate slides that are similar to one another from version to version. We discuss our comparison framework in Section 3 and then show how it is used to generate the visualization of multiple presentations in Section 4. Users can select any subset of slides from the Visual Comparison window and copy them into the Assembly window (Figure 1 middle) to create a new presentation. A yellow border in the Assembly window indicates that several slightly different versions of the slide are available. Users can also select a single slide either in the Visual Comparison window or in the Assembly window and an enlarged version of it appears in the Slide Preview window (Figure 1 right). The selected slide is highlighted with a blue border in both the Visual Comparison window and the Assembly window. We describe the interactive assembly process in Section 5. We provide examples showing how our system can be used to compare and manage multiple presentations in Section 6 and conclude in Section 7.
2 RELATED WORK
between two files using dynamic programming techniques [10, 8]. The LCS algorithm is related to the concept of string edit distance first introduced by Levenshtein [10]. The string edit distance is defined as the minimum number of operations (insertions and deletions) required to convert one string to another. File differencing programs based on edit-distance are often used by programmers to find all the lines of codes that were inserted, deleted or changed between two versions of a file. Similar techniques have been used to automatically detect plagiarism [16] and to find the best alignment between genetic sequences [14]. We use string edit distance to help compute distances between slides (Section 3.2.2), find corresponding slides between presentations (Section 3.3), and align slides in the visualization (Section 4.1). Computing differences between data sets solves only part of the problem. For large data sets it is essential to provide visualizations that depict the changes and make it easy for viewers to focus on the similarities and differences between versions. SeeSoft[4] and SeeSys[5] provide Focus+Context tools for visualizing differences in text files. Vigas et al.s [20] have developed the history flow system to visually compare the changes made to WikiPedia articles. Using history flow they uncover a variety of patterns of cooperation and conflict that arose naturally as authors collectively created and edited WikiPedia. Their system is aimed at visualizing hundreds of versions of text documents. While we draw on this work for inspiration, our work is aimed at comparing slide presentations that contain graphics, images, and text. Unlike the earlier systems we also provide tools for assembling new presentations from older version. Slide presentation tools such as PowerPoint[11] and Keynote [1] usually focus on providing tools for creating and presenting a sequence of slides. While PowerPoint does provide a track change mode for merging changes be-
Finding the similarities and differences between two or more datasets is a problem that occurs in many contexts. File differencing tools such as UNIXs diff [9] highlight line level changes between two documents. These programs treat files as an ordered sequence of lines and typically compute the Longest Common Subsequence (LCS) of lines
tween two presentations, it forces a specific workflow. Users must process slides one at a time and accept or reject changes. PowerPoint does not provide any way of seeing an overview of all the differences between multiple presentations at once. Our system provides this overview and allows users to work with multiple presentations simultaneously. While current commercial slide creation software focuses on producing a single linear sequence of slides, several research systems support multiple paths though a presentation. Pad[18] and CounterPoint [6] are zoomable interfaces that allow spatially positioning slides on an infinite canvas and support hyperlinked navigation to any slide in the presentation. Zellweger [0] has developed a system for building multimedia documents embedded with multiple scripted paths. Nelson et al.s [15] Pallete system is a tangible, paper-based interface for organizing presentations. A physical card is used to represent each slide and users can easily reorganize the slide sequence by rearranging the physical proxies. More recently, Moscovich et al. [13] have developed a system that allows users to choose between multiple paths, on-the-fly, as they are giving the talk. All of these systems facilitate the process of customizing a presentation. Our system is aimed at comparing and managing multiple presentations, therefore, it is largely orthogonal to these techniques and could be used in conjunction with any of them.
3 COMPARISON FRAMEWORK
tion 3.3) to find the best match between a slide in the first presentation and a slide in the second presentation.
3.1 Slide Features
We consider any basic descriptive element of a slide to be a feature. The graphical elements including vector drawings, images, charts and tables, as well as the text contained on a slide are all examples of slide features. We also consider the bitmap image of a slide to be a feature of it. Other examples of slide features include the position of text boxes and graphic elements, background graphics or colors, formatting parameters of text, header text, footer text, note text, and animation settings. Some features are specific to the tool used to create the presentation. For example, PowerPoint assigns a unique ID for each slide and for each image on a slide. For a comprehensive list of object model level features see the file format specifications of Microsoft PowerPoint [12] or Apples Keynote [1]. Figure 2 describes the features that we use in our framework. Although our implementation currently includes only a few basic features that we have found most useful for comparing presentations, the framework could easily be extended to handle any descriptive feature of a slide.
3.2 Distance Operators
The goal of comparing two slide presentations is to identify all of the similarities and differences between the slides comprising each presentation. The key step is to find for each slide in the first presentation the best matching slide in the second presentation, yet we can compute such matching correspondences with respect to many different features of slides. Moreover, the best correspondence in one feature may not be the best in another feature. Therefore we have developed a general framework for computing such correspondences with respect to a variety of features.
The first step in comparing two presentations is to compute distances between the slides with respect to the underlying slide features. Each distance operator takes two presentations and computes a distance for each pair of slides the first slide is from the first presentation, and the second slide from the second presentation. We have implemented several different distance operators that measure how the text and images differ between slides. These distances are the basic building block for comparing presentations.
3.2.1 Image based distance
We compute the visual distance between two slides by calculating the mean square error (MSE) between their bitmap images. The MSE measures visual similarity and a MSE of zero means that the two slides are visually identical to one another. Thus, a small MSE implies that slides are visually very similar to one another, while a large MSR implies that there may be large visual differences between the slides. A drawback of MSE, is that it often does not match human perceptions of visual differences. For example, slightly changing the position of an image between two slides can produce a large MSE, even though the slides will look very similar. Similarly, a minor insertion or deletion of text that causes the text to reflow will produce a relatively large MSE. Yet, the meaning of the text may not have changed at all. Alternate image comparison based on sub-region comparison of the image may be less sensitive to small object transformations. Similarly image distance metrics based on models of human visual perception might provide more meaningful distances. Nevertheless we have found MSE to be a very useful measure of slide similarity and it is particularly useful for identifying visually identical slides.
For each slide in a presentation, we extract a set of basic features (discussed in Section 3.1) and then use featurespecific distance operators (Section 3.2) to compute a set of distances between pairs of slides one distance per feature type. Next we apply correspondence operators (Sec-
3.2.2
As mentioned previously, the string edit distance measures the minimum number of operations required to convert one string into another string. Our text distance operator uses Levenshteins dynamic programming algorithm [10] to efficiently compute the edit distance between textual features (Slide Title, Body Text). The basic algorithm is to build a matrix of costs required to convert one string into another; the costs are based on inserting a character in one sequence or in the other. Another approach to compare text strings is based on a trigram model [19]. The idea is to build a histogram of all three letter sequences of characters within each string. The distance between the strings is then computed as the dot product of the histograms. The advantage of this approach is that it is less sensitive than string edit distance to rearrangements of text. For example, reordering bullet points in the body text of a slide will yield a large string edit distance but a relatively low trigram distance. In practice, however we have found that the string edit distance provides a good measure of text similarity.
3.2.3 Comparison of slideIDs, picture IDs
operator can leave a slide unmatched. Correspondences are computed based on the distances between slides.
3.3.1 Minimum Distance Correspondence
A simple technique for computing correspondence is as follows. For each slide in the first presentation, find the minimum distance slide in the second presentation. While this approach could be used in conjunction with any of our distance operators, it has several drawbacks. If multiple slides are at the same minimum distance, it is unclear how to pick the best match from amongst them. There is no provision for leaving a slide unmatched; even if none of the slides in the second presentation is a good match, this technique will still generate a correspondence. Many slides might match to the same slide, and finally the technique is asymmetric as matching the first presentation to the second will produce different results than matching the second to the first.
3.3.2 Longest Common Subsequence
Slide IDs and Picture IDs are PowerPoint specific features. They are unique identifiers for each slide and each image on a slide and once created they remain fixed for the lifetime of a document. Thus, we can directly compare these IDs to identify matching slides and images between two versions of a presentation. The Slide ID distance operator returns 0 if the slide IDs match and a very large value when they do not match. The Picture ID distance operator determines the maximum number of images in common between the two slides and returns the reciprocal of that number plus 1, thus slides with many matches have lower distances than those slides with fewer or no matches. While a Slide ID distance of 0 shows that two slides once started out as identical, there is no guarantee that the slides remain similar. The slides could have been heavily edited within each presentation independently. Similarly even if slide IDs differ, the slides may be visually identical. as the simple act of copy/pasting (as opposed to cut/paste) will produce identical slides with different Slide IDs. Yet the Slide ID distance does provide a notion of slide similarity that is insensitive to subsequent slide edits.
3.3 Slide Correspondence Operators
Another option for finding correspondences is to use a Longest Common Subsequence (LCS) algorithm [10] to find the longest sequences of slides that match from one presentation to the other. However LCS does not find moved blocks, but rather, uses symbol insertions and deletions which prevents correspondences from being created that cross each other (eg. a group of slides is moved from later in a presentation to earlier in a subsequent presentation while a group in the middle stays the same).
3.3.3 Greedy-thresholded correspondence
Heckel [7] uses a greedy algorithm which finds uniquely corresponding symbols, removes them from the potential set for consideration, and then expands the search from those symbols to adjacent symbols in order to find the best correspondences. This algorithm iterates until no more matches are found. Since were using feature distances instead of exact matches between symbols, this algorithm does not quite work for our situation. We use a similar greedy algorithm, which contains a threshold so that slides that are more than a minimum distance away are never matched with other slides. We start with the minimum distances between slides. The algorithm is as follows: 1. 2. Slide distances for a feature are sorted from least to greatest. For each slide in each presentation, find the slide with minimum distance subject to a minimum threshold distance. Create a new correspondence between these slides Remove both slides from potential subsequent correspondences. Continue until no more correspondences can be found.
To find the best match between slides in each presentation we compute slide to slide correspondences. These correspondences are the key to identifying the changes between presentations. As we will show in Section 4 our interactive visualization tool is designed to visually depict these correspondences so that users can quickly see similarities and differences between multiple presentations. Correspondence operators take two presentations as input, and yield a mapping between each slide in the first presentation and its best matching slide in the second presentation. In our implementation, each slide can appear in at most one match, and if no good match is found the correspondence
3. 4. 5.
This version works reasonably, but can still run into some problems. Its not clear whether to assign a greater priority to neighboring slides with slightly greater feature distances versus lower feature distant, but further slides. Also, any
v1
v2
v1
v2
v1
v2
v1
v2
v3
v1
v2
v3
(a)
(b)
(c)
(d)
(e)
Figure 3: Given two presentations (a) our visualization can show various slide correspondence types (b). Maxiumum alignment is achieved using a Hirschberg string matching algorithm (c) which inserts a minimum number of gaps even with multiple slide versions (d). An alternate layout comparing one to many presentations in shown in (e).
greedy algorithm might not come up with an overall best solution for all slides involved.
3.3.4 Composite correspondences
It is often convenient to create correspondences from several different distances at the same time since the system can only align on one correspondence at a time. For instance, by using both image and text distances, we can create a single correspondence that works well for both slides with extensive amounts of text and those with no text, but only images. There is some heuristic tuning that needs to be done when combining these two different distances since the image distances are in the number of different pixels between the slide images, and the text is in the number of insertions and deletions required to convert one text string to another. We simply use the correspondence with the minimum distance (after normalizing the text and image distances). By adding additional feature distances, such as slide ID, we can arbitrate when the other measures produce different correspondences. Specifically, if neither text nor image distance yield an exact match and both text and image distances result in a different correspondence, the slide ID correspondence is used if it is the same as one of the others. If none agree, then no correspondence is produced.
4 VISUALIZING MULTIPLE PRESENTATIONS
In the version pictured in Figure 3, each rectangle represents a single slide and slide presentations are represented in columns. In the initial layout (Figure 3-a), the relative lengths of both presentations is immediately apparent.
4.1 Conveying correspondence
We can connect corresponding slides with lines which use color to convey the type of the correspondence. Corresponding slides measured along any feature can also be aligned. The visualization computes a minimum number of gaps to maximize alignment of corresponding slides between two presentations given the constraint that each presentation must not modify the order in which the slides occur (Figure 3-c). We again use a string alignment algorithm, based on Levenshtein to compute optimal alignment. In this case, we use a modified Hirschberg [8] implementation which uses less space then a standard Levenshtein string matching algorithm. Instead of matching string characters, we base a match on the chosen correspondence function and use it to build up our cost matrix of insertions and deletions. If two slides correspond, then a cost of 0 is added to the matrix. Otherwise, a cost of 1 is used in each of the directions indicating insertion in either sequence. After the minimum cost has been determined, this same matrix can be used to determine maximal alignment by backtracking through the matrix and following where insertions have been made. As more presentations are added to the comparison, gaps are adjusted throughout all the presentations to keep corresponding slides aligned when possible. In order to do so, we move through the presentations from earliest to latest computing alignments gaps for each presentation. Gaps
To help users understand similarities and differences in the presentations, we generate a visualization that reveals correspondences between presentations and lets users interact with it in a variety of ways.
must be inserted throughout all the already aligned presentation to keep them aligned (indicated in Figure 4 by the red ellipses).
No alignment 1 - 2 aligned 1 -2 - 3 aligned 1 - 2 - 3 - 4 aligned
4.3
The user can interact with the visualization by using a slider to zoom out to see an overview of the changes, or to zoom into a particular slide or region of slides. Clicking on a slide will select it and bring up a full resolution slide in a slide preview window. The user can use the arrow keys on the keyboard to move the selection forward or backward within a presentation, or move between corresponding slides within presentations. By quickly moving back and forth between corresponding slides, the user can easily perceive differences in the slides using the preview window. Checkboxes allow different correspondence links to be turned on and off, and a pull down menu allows the presentations to be aligned along any of the correspondences. Images of slides can be turned on or off to just focus on the overall structure of changes. The user can also changed the layout to horizontal or vertical depending on the preferred mode of operation.
5 ASSEMBLING PRESENTATIONS
Weve also found it useful to distinguish between slides that are exact matches and those that are just correspond. For example, a text edit distance of 0 may indicate that slides text correspond identically, but does not include formatting or positioning on the page. We convey the notion of exact and inexact matches using colored end caps at the end of the corresponding lines. Different distance measures can be used to color the end caps but in practice, we use the visual distances since exact matches in the image means that the slides will be visually indistinguishable. We can turn this on and off with a button in the interface. These caps can be seen in Figures 1, 6, and 7. Finally, we can dim slides that do not change at all from one version to another to help emphasize those that do change. An example of this can be seen in Figure 6 in the results section.
4.2 Presentation to presentation visualizations
Besides allowing analysis of the relationships between multiple presentations, the visualization tools also facilitate the assembly of new presentations. We designed these tools in to support common usage patterns among presenters. Users often pull from a large number of related presentations in the creation of a new presentation. They also often work with collaborators and need ways to examine and incorporate differences into a single presentation. Users can select slides from the visualization in a number of ways: individual slides can be selected by clicking on the slides themselves; all the slides within a presentation can be selected by clicking on the presentation title; all slides that have a particular term can be selected by searching for them; and finally, all changed slides can be easily selected using a button in the interface. Users can also move to the next change (as indicated by a slide with no correspondence, or a corresponding slide with visual differences) detected in any presentation. Selected slides can then be inserted into a newly created presentation at the current selection point. Slides can be rearranged within the new presentation via drag and drop or standard cut and paste. The slides also still maintain their correspondences to slides in the other presentations, and the user can easily choose with the arrow keys between alternate slides (relative to different correspondences) in the newly created presentation. Slides that have visually distinguishable correspondences are colored yellow to indicate that alternates are available. Strategies for assembling presentations can include starting with all the slides in the first version, copying them into the new presentation and then deciding which changed slides to use. Alternatively, the user can start with a final version and choose which changes to roll back. The user can also choose individual slides or slide ranges from the existing presentations and insert them into the newly created presentation.
Sequential, one-to-one, comparisons are useful for tracking changes on a single presentation over multiple versions. Some slides have no correspondences between next or previous presentations (either because they have been newly introduced in a subsequent presentation, deleted from a previous presentation; or modified enough that no corresponding slide can be found). This is shown in the visualization as a single slide at the beginning (for newly introduced slides) or end of a row (for deleted slides). Slides that have been moved across stable boundaries cannot be aligned, but are still connected by corresponding links. An example is pictured in Figure 6 of the results section. The one-to-many comparisons are useful in examining differences between one base presentation and alternative versions. This may be because the version has been used to assembly new presentations or because multiple collaborators are simultaneously working on alternate presentations. Each slide is connected (and potentially aligned with) a corresponding slide in the first presentation. These are shown in Figures 5 and 7 of the results section.
Users can then save the new presentation and edit it within PowerPoint or some other slide creation program.
6 IMPLEMENTATION
searcher can still swap out slides with their alternate versions.
8 CONCLUSIONS
The system was implemented using the Microsoft Office Primary Interop Assemblies to access the object model for PowerPoint and automate the extraction of all the features contained on the slides including the text, IDs, and the images. The visualization was programmed using the Windows Presentation Framework, and a variant of Python called IronPython which uses the Common Language Runtime (CLR) which facilitated rapid development and allowed for convenient loading of modules for visual comparison, textual comparison, and PowerPoint interaction. The code is not currently optimized and takes approximately 1 minute to extract features and compare two moderate sized presentations on 2 GHz P4 computer with 1 Gb of RAM. The features and the comparisons are saved in XML files so that once run, the comparison will only re-run if the source presentations are altered.
7 RESULTS
We have presented a framework and set of visualization tools for analyzing and simultaneously presenting multiple presentations. These tools can be used to assist in the creation of new presentations and support a variety of work strategies from tracking changes for individuals, merging multiple versions, or assembling new presentations. Looking forward, the creation process of presentations has not received much study, despite their popularity. Our visualization can give sociologists the tools to detect patterns in multiple versions of a slide presentation or even among all the presentations owned by a user or organization. For example the size of a presentation over time can be studied as well as the time when a presentation crystallizes. We believe our tool could be helpful in analyzing the creative journey a presenter takes in preparing a presentation since corresponding slides, the main artifact in a presentation, can be tracked over time.
Our results are depicted in Figures 5 7. Figure 6 shows a visualization of 10 different versions of a presentation prepared by multiple authors for an executive review. The visualization totals 497 slides. In this view, identical slides have been dimmed to draw attention to 112 slides that have been edited. Each version of the presentation is sequentially compared to the next which allows for an analysis of the presentation over time. In version 3 and in version 8 several slides have been added as indicated by the large insertion gaps. Conversely from version 5 to version 6, a six slide section was removed to shorten the presentation. Slide changes occur all the way to the end, across the entire presentation reflecting modifications introduced after rehearsing the presentations. Figure 5 shows a one-to-many comparison where several authors edited a single base presentation and the system is used to identify and coalesce changes. The system shows when authors spot the same typo or how different authors might suggest alternate changes to the flow of the presentation. Figure 7 depicts a case of presentation assembly. Here a researcher prepares for a mid year review by pulling slides from two research talks given earlier in the year. Our visualization lets the researcher compare the two presentations Figure 7-a and choose the desired slides (outlined in orange). For example the second slide in the assembly is from version 2, the fifth slide from version 1. Additionally the visualization uses gaps to show which slides only exist in one version. Once the assembly step is complete, the researcher can save out a new version of the presentation and make modifications such as updating the title slide. Figure 7-b uses our one-to-many correspondence. Here the newly assembled presentation is compared to its sources. This view shows from which presentation slides were taken. A line without red dots indicated an identical image match, which is a strong correspondence. In this view the re-
v1
v2
v3
v4
authors v2 and v4 spot the same typo author v4 changes the slide v3 and v4 propose moving these slides, howeverto different locations
v4 proposes to move and changes slides which would cause a new narrative flow for this section
9 1.
v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v1 is the base presentation for an executive review
2. Baker, M.J., and Eick, S. 1995. Space-filling software visualization. Journal of Visual Language and Comuting. 6. pp. 119133. 3. Brand, John. 2004. Presentation (Mis)management: Content and Collaboration Strategies, Delta 3057. Sept 14, 2004. 4. Eick, S., Steffen, J.L., and Sumner, E.E. 1992. Seesoft A tool for visualizing line oriented software statistics. IEEE Transactions on Sotware Engineering. 18, 11. pp. 957968.
5. Eick, S. 1994. Graphically displaying text. Journal of Computational and Graphical Statistics. 3, 2. pp. 127142. 6. Good, L., and Bederson, B. 2002. Zoomable user interfaces as a medium for slide show presentations. Information Visualization. 1, 1. pp. 3549. 7. Heckel, P. 1978. A technique for isolating differences between files. Communications of the. ACM 21, 4. pp. 264268. 8. Hirschberg, D.S. 1975. A linear space algorithm for computing maximal common subsequences. Communications of the ACM. 18, 6. pp.341343. 9. Hunt, J.W., and McIlroy, M.D. 1976. An algorithm for differential file comparison. Bell Telephone Laboratories CSTR #41.
10. Levenshtein, V.I.. 1966. Binary codes capable of correcting deletions, insertions and reversals. Soviet Physics Doklady.. pp 707710. 11. Microsoft. PowerPoint. 2003. http://www.microsoft.com/powerpoint 12. Microsoft PowerPoint Object Model Reference, http://msdn.microsoft.com/office/understanding/powerpoint/
13. Moscovich, T., Scholz, K., Hughes, J.F., and Salesin, D. 2004. Customizable presentations. Technical Report CS-0416, Computer Science Department, Brown University. 14. Needleman, S. and Wunsch, C. 1970. A general method applicable to the search for similarities in the amino acid sequence of two proteins, J Mol Biol. 48(3):443-53
the talk is rehearsed from v7 through v10 which causes several changes
15. Nelson, L., Ichimura, S., Pedersen, E.R., and Adams, L. 1999. Palette: A paper interface for giving presentations. In Proceedings of CHI 1999. pp.354361. 16. Parker, A., and Hamblen, J.O. 1989. Computer algorithms for plagiarism detection. IEEE Transactions on Education. 32, 2. pp. 94-99. 17. Parker, I. 2001. Absolute PowerPoint: Can a software package edit our thoughts? The NewYorker. pp. 7687. 18. Perlin, K., and Fox, D. 1993. Pad: An alternative approach to the computer interface. In Proceedings of SIGGRAPH 2003. pp. 5764.
Figure 6: Ten versions of a presentation prepared for a review. The presentation consists of 487 slides. Identical slides are dimmed to bring focus to the 112 changed slides. Gaps denote were sections where added and removed. For example between v5 and v6 a large section was removed to shorten the talk.
19. Salton, G. and McGill, M. J. 1986. Introduction to Modern Information Retrieval. McGraw-Hill, Inc.
20. Vigas, F. B., Wattenberg, M., and Dave, K. 2004. Studying cooperation and conflict between authors with history flow visualizations. In Proceedings of CHI 2004. pp. 575-582. 21. Zellweger, P.T. 1989. Scripted documents: A hypermedia path mechanism. In Proceedings of ACM Hypertext 1989.
22. Zongker, D. E. and Salesin, D. H. 2003. On creating animated presentations. In Proceedings of the 2003 ACM Siggraph/Eurographics Symposium on Computer Animation. pp. 298-3
v1
v2
Assembled v 3
v3
v1
v2
(a)
(b)
Figure 7: (a) Our system as used for presentation assembly. V 1 and V 2 are two related research presentations. The sequential comparison makes it easy to choose slides from the two versions: Alternate versions of a slide are aligned, and slides that have changed under the image metric are denoted with red dots. The user can pick the desired slides (shown in orange) and add them to the presentation assembly. In (b) the assembled presentation is compared to its source versions. Our one-to-many comparison shows from which version of a presentation a slide came from and if an alternate slide exists.