A Uniform Way to Handle Any Slide-Based Presentation: The ...

3 downloads 2493 Views 2MB Size Report
Cite this paper as: Turban G., Mühlhäuser M. (2006) A Uniform Way to Handle Any Slide-Based Presentation: The Universal Presentation Controller. In: Cham ...
A Uniform Way to Handle Any Slide-Based Presentation: The Universal Presentation Controller Georg Turban and Max Mühlhäuser Darmstadt University of Technology {turban, max}@informatik.tu-darmstadt.de

Abstract. We present a sophisticated approach for handling and processing presentations and multimedia content in the classroom. The main contribution of our work is the way we technically control and display our models for multimedia based presentations: In contrast to existing approaches we avoid converting the file-based representation to a home-brew format which seems to be the easiest way for the processing and appliance of own features. Instead, we present the benefit of our layered solution that creates a model-based representation of any popular slide-based presentation format like PowerPoint and PDF and uses the original presentation systems that run in parallel to our own application, the universal presentation controller. Therefore, we can keep all hot features like integrated audios or videos, animations and slide transitions, notes and even native inking of the original presentation systems, but are also able to add our own extensions in general. We can communicate with other applications and offer them access to our model and core functionality. The models can be modified and extended online, which for example allows the integration of snapshots taken from a webcam. Keywords: multimedia representation, processing, compatibility, framework.

1 Introduction Nowadays, lecturers often use multimedia-based presentations at universities or high schools to mediate content. For authoring, presentation and distribution of them, they often use several software tools. Working with different tools requires most of the time the conversion of the underlying file-based representation of such presentations. To give you an example, we present the following simplified1 but still typical workflow: authoring  categorization and archiving by the use of a learning management system  conversion and integration into an ink-aware presentationsystem  augmented presentation  storage and distribution. We are especially interested in the chain link that deals with the conversion and integration of presentations. Such a conversion step is often performed by systems that rely on their own data and file format, which is usually restricted but much easier to handle. Another disadvantage is that the same content exists in two different formats resp. files, so that modifications cause the overhead of synchronization. In addition, it’s 1

We completely skipped stages like knowledge production and transfer.

T.-J. Cham et al. (Eds.): MMM 2007, LNCS 4351, Part I, pp. 741 – 750, 2007. © Springer-Verlag Berlin Heidelberg 2007

742

G. Turban and M. Mühlhäuser

likely that converters produce a very restricted result. Due to complexity of presentation formats, features like animation in PowerPoint-slides [1] are often gone. In our opinion, this kind of conversion is a final step that doesn’t sufficiently meet today’s requirements and motivated us to develop a different approach. To obtain our design-goals we identified and analyzed requirements of categories like usability and interoperability under the view of users of different presentation systems who use such systems either isolated or in combination with more complex e-learning processing systems. We present those major design-goals in the following chapter, while the remainder of this paper is organized as follows: Since chapter 3 about the implementation describes how we successfully transformed our design-issues into a sample realization, selected scenarios for the usage of our application will be presented in chapter 4 that also deals with the evaluation of our contributions. We complete our publication by a chapter that highlights our research results and contributions and the last chapter that presents related research topics for the future.

2 Design E-learning systems are more and more used during lectures or even conferences: In such scenarios, the presentation system is often used in combination with recording subsystems that capture slides and videos of the speaker. But common systems like Microsoft’s Windows Journal [2], UW Classroom Presenter [3], Lectern II [4] or methods like Authoring on the Fly [5] require a dedicated preprocessing step to convert content into their native, internal representation of a slide-set. We discuss two of the most popular conversion-approaches that are based on virtual printer redirection and dedicated tools for conversion, their limitations and impact on our main design goals and concept in the following sections. For the presentation of the first approach, we refer to Adobe Systems professional version of Acrobat [6] that – in contrast to the freely available viewer – consists of a virtual printer driver that can be used to convert every print-inquiry into a file-dump in the portable document format (PDF) instead of a real paper-based print. E-learning and ink-aware systems like Lectern II or Microsoft’s Windows Journal use the same technique to create file-based representations of presentations in their desired and most often home-brew format. E.g. in case of Lectern II a modified enhanced-metafile-printer is used. The benefits are obvious; the desired preprocessing step can be easily performed by non-experts and covers all printable contents that would have been printed on different sheets of paper. The disadvantages based on conceptual ignorance of the original file-format are similar to that of printed versions; like on a printed sheet of paper, many features can’t be taken over and are lost – think about all dynamic contents like videos, animations or sound at all. Another approach attempts to pay more attention to the individuality of the original formats: Dedicated conversion tools – either stand-alone applications or add-ins for parent host-applications – have been implemented to support conversion of selected formats and therefore are possibly able to reach a higher degree of functional support. Certainly, such conversion tools support only the formats respectively applications for which they have been implemented. In general the most common representation of

A Uniform Way to Handle Any Slide-Based Presentation

743

slide-based presentations relies on a set of images that is no longer compatible with the original authoring software. In case of Classroom Presenter the result is a file in the so-called csd-format (stands for conferencing slide deck) that looses all animations and notes of the original PowerPoint-presentation.

Meta-information • title, format, #slides, … Sync-information • begin, end …

Syncinformation • begin, end •…

Backgroundcolor Image Annotations

Content • data, begin, end •…

Fig. 1. Presentation and slide-model

Especially at conferences the desired preprocessing step concerning slides is not the only disadvantage; we observed that speakers feel more comfortable with a presentation environment they are used to. Nowadays, the different subsystems for presenting and controlling of slide-sets are muddled and demand training of those users. That’s why a clearer conceptual separation is another design-goal for us. We expect profits like reusability and single training for users by a decoupled architecture and separation for the controlling and presentation subsystems. In our opinion this architecture should also support multiple-monitor systems. The underlying technical constraints are widely fulfilled, since actual hardware like notebooks or graphic cards are aware of at least two independent output-devices. Based on outputs containing different signals, already existing approaches use this possibility to display an enhanced version of the currently presented slide that can be augmented by digital ink and several tools, but also allows navigation in the whole slide-set. Here, the main idea is to hide those graphical interfaces from the audience. Because of the presented disadvantages and given limitations we feel that existing approaches are not satisfying and summarize our main design-goals in the following list, before we present the details about the implementation that follows these goals: (a) Minimize loss of functionality during the conversion to increase compatibility with native (re-)presentation (b) Higher interoperability with other systems, e.g., used to synchronize and coordinate cooperative processing (c) Support multiple-monitor systems besides usage via a single display (d) Intuitive controlling of slide-sets and navigation in them

744

G. Turban and M. Mühlhäuser

3 Realization

layers

According to our overall design goals, we developed the following solution: In contrast to common approaches, we avoid a dedicated preprocessing step for the conversion of the content; instead we keep the presentation in its source-format all the time. Referring to item (a) – alphabetic references point to chapter 2 – we reach a much higher degree of available functionality, because for each supported presentation-format, we use the corresponding and original presentation software. universal presentation controller abstract presentation-model native presentation-model native presentation-system

click on thumbnail seekToSlide(x) GotoSlide(x)

Fig. 2. Vertical view of layered architecture

We decided to wrap this native presentation layer that communicates with the different presentation or authoring systems by a layer that is able to uniformly interact, communicate and exchange content with other subsystems. For this uniform handling we had to develop a representation for all kind of presentation-formats we want to support (cf. figure 1). For clarity, we highlight our core steps of realization: We avoid converting content to a new destination format, use the corresponding native presentation-system for handling of each format (e.g. for PPT-files we use Microsoft PowerPoint) and provide a “wrapping layer” for all formats that uniformly interacts through common interfaces and protocols with any other subsystem and enables us to implement core features of our presentation controller only once. Our architecture contains four layers. We decided to present them in separate subsections and in top-down order, which mainly reflects our procedure of design and implementation. For ease of understanding, we give you the following simple example that dives through all layers displayed in figure 2: The user currently focuses the thumbnail of a slide he wants to present. By clicking this thumbnail, the top-most layer calls the method seekToSlide(x) in the layer abstract presentation model. The presentation model itself is just a calling convention and its implementation is hidden in the native layer below which knows how to perform the requested operation in the native presentation system. In our example, the initial click of the user will finally call the method GotoSlide(x) in PowerPoint’s API. 3.1 Universal Presentation Controller (UPC) The common interfaces that assure high interoperability with other applications also meet and simplify our presented design goal (d). Related processing systems had to implement their specific presentation-controller over and over, because of their internal presentation-format. In contrast, our application provides a user-interface that can be used in combination with every format and many other processing systems. Figure 3 shows a snapshot of UPC: The toolbar offers functions to load a presentation or to toggle communication with other systems. The information shown

A Uniform Way to Handle Any Slide-Based Presentation

745

below the slides are selected information of our presentation- and slide-models like the slide-id, the amount of animation-steps per slide and the comments of the presented slides. We redesigned the part of a user-interface we presented in a different context [7] and improved our handling of preview and presentation via thumbnails and controls to be more intuitive. Instead of separate preview and control-panels we decided to imitate a common filmstrip that has following two functions: initially the center image contains the currently presented and highlighted slide, while images to the left may have been just presented before or images to the right show upcoming slides and allow a smoother transition to them. The second functionality can be activated by the scrollbar below the images that allows scrolling through (and therefore previewing of) the whole slide-set without change of the currently presented and still highlighted slide. To seek to one of the previewed slides, users can easily click on the thumbnail and present the corresponding slide. If necessary – mainly for slides that contain dynamic content and several animation steps – an instantly created copy of the content that is shown to the auditorium can be displayed in addition to the thumbnails on the screen of the speaker; see figure 4 that shows a speaker using UPC. 3.2 Abstract Presentation-Model The model of a presentation (see sample 1) serves as a uniform online-representation of any original presentation format and holds references to the models of the

Fig. 3. A snapshot of UPC’s user-interface. A PowerPoint-presentation has been loaded and is currently presented. We placed out toolbar on top of the interface, while a status-strip resides at the bottom. The remaining interface contains the following three panels: a filmstrip view that consists of slide-thumbnails, selected information of our presentation-model and slide-notes.

746

G. Turban and M. Mühlhäuser

corresponding slides (see line 7). We developed an abstract model to provide uniform access to content and (!) features like navigation or synchronization that will be implemented in any derived model (refer to figure 1 and 2). Our abstract model – and therefore all derived implementations – contains descriptive information about the corresponding presentation like the underlying (original) format, the title and total amount of slides. Since PowerPoint animations are widely used by speakers to develop slides during their talk, we designed slide-models that can represent animations. Such models contain information like the title, a graphical representation (e.g. for thumbnails or previews), the amount of animation-steps and notes of slides. Again, it is very important that we use this model as a representation for individual, native interaction with the original software (presentation- or authoring-systems), but global, uniform communication – to meet design goal (b) – with processing-systems like the ink-aware ones that we presented in [7] and [8]. 3.3 Native Presentation-Model This layer includes the fully functional derivations for each supported presentation format of our well-designed, but still abstract presentation-model and acts like a mediator between the abstraction layer and the native presentation systems. It essentially contains the native bindings to the original presentation-systems. The layering between one abstract and many native presentation models opens our architecture to be easily extended by pluggable components that contribute their support for other presentation-formats. The abstract class PresentationModel has been simplified for illustration purpose and already contains some bundled portions of interfaces (descriptive, loadable and displayable). The interfaces listed in table 1 can be implemented in this layer to extend the representation and functionality of the core presentation model. For example, the extensible interface forces the developer to implement a method insertSlideAtCurrentPosition that has to create a slide-model that will be added to the whole set of slides. Our implementation for PowerPoint is quite powerful: Instead of a

Sample 1. Model description for the presentation and slide: 01 public class PresentationModel 02 { 03 public string title; 04 public int firstSlideId, lastSlideId; 05 public int currentSelectedSlideId; //previewed slide 06 public int currentDisplayedSlideId; //projected slide 07 public SlideModel [] sm; 08 public virtual void seekToSlideAndAnimationStep(int sid, int aid); 09 } 01 public class SlideModel 02 { 03 public string title; 04 public int firstAnimationId, lastAnimationId; 05 public int currentAnimationId; 06 public System.Drawing.Image img; // e.g. for thumbnails 07 public String [] Notes; // notes of the slide 08 }

A Uniform Way to Handle Any Slide-Based Presentation

747

simple, blank slide we obtain a slide from PowerPoint’s slide-master that contains our logo, header and footer plus the correct slide-number, because all following slidemodels will be updated automatically. The implementation of latter interface is absolutely essential for the Webcam-model which usually starts with zero slides from scratch; the Webcam-implementation has to call the method insertSlideAtCurrentPosition after each snapshot.

Storable

Extensible

Dynamic

Notes

Navigation

Displayable

Loadable

Descriptive

Application PowerPoint Image sets Portable documents WebCam

Extension

Table 1. Interfaces that define the core presentation model and enable its extension

3.4 Native Presentation-System This layer is optional for our own format, because the implementation can be included in the layer above or reside in the same application domain. But for other formats, this layer contains the referenced and corresponding (third-party) presentation-software that kindly gives us access to its controlling and presentation functionality. In case of PowerPoint we need to use the professional version, because the freely available viewer does not contain the API and has other limitations. Referring to Sample 2. PowerPoint specific realization of method “seekToSlideAndAnimationStep”: 01 public override void seekToSlideAndAnimationStep(int sid, int aid) 02 { 03 GGT.Communication.Communicate(); 04 SlideModel sm= getSlideModel(currentDisplayedSlideId); 05 06 if(currentDisplayedSlideId == sid) 07 { 08 switch(aid-sm.currentAnimationId) 09 { 10 case -1: pptPres.SlideShowWindow.View.Previous(); break; 11 case 0: /* no operation */ break; 12 case +1: pptPres.SlideShowWindow.View.Next(); break; 13 } 14 sm.currentAnimationId = aid; 15 } 16 else 17 { 18 sm.currentAnimationId = sm.firstAnimationId; 19 pptPres.SlideShowWindow.View.GotoSlide(sid+1, Microsoft.Office.Core.MsoTriState.msoTrue); 20 currentDisplayedSlideId = sid; 21 } 22 }

748

G. Turban and M. Mühlhäuser

sample 2, we use PowerPoint’s API at lines 10, 12 and 19 to navigate to the target position in the whole slide-set. If the evaluation in line 6 becomes true, the current slide remains, but a different animation-step has to be shown. The following call of block 7-15 forwards the task of changing the animation step within the current slide to PowerPoint-APIs commands Previous and Next in lines 10 and 12. These are basically the same calls that are performed when a human manually presses the left or right cursor key. If the slide has to be changed, block 17-21 will be executed. The call of the method GotoSlide in line 19 forces PowerPoint to seek to a specific slide, while the remaining instructions in lines 18 and 20 are necessary to keep our presentation model in sync with the native one. Our solution for PDF-files is almost the same; we also use the professional version of Acrobat that contains the SDK and provides similar methods. The next application we are looking forward to support is Impress and its presentation by using the UNO Development Kit [10].

4 Evaluation UPC is highly interoperable and can be used in several isolated scenarios or in combination with many other processing systems. For evaluation purpose we present the following list of selected use-cases: (i) isolated and independent usage, either on single or multiple-monitor systems (ii) usage as a converter, transforming one presentation format into another (iii) combined usage of multiple presentation-models and real-time integration (iv) combined usage with (foreign) processing systems We developed an application that can be used to present presentations in different formats via a single user-interface, while its global configuration is still easy: Settings like the destination screen for presentations can be set independently of the format, so that all presentations (PPT, PDF, etc) appear on this screen (i). Because we use the native presentation system to control and present the corresponding format, e.g. PowerPoint-presentations can be presented including animations or even fully dynamic and continuous content like sound or videos with no restrictions. It is very important to notice that our solution implicitly covers all conversionapproaches of related work we presented in chapter two (ii), though not focused here. To demonstrate our far-reaching capabilities in the third case, we composed a scenario we named the virtual overhead-projector: The lecturer uses digital instead of overhead-slides. While this is our first model, e.g., to represent a PDF-presentation, the second one represents a webcam that still offers the functionality of a real overheadprojector but is able to display even three-dimensional objects, while captures are integrated into the targeting first model that enables uniform digital annotation. Regarding the combined usage with processing systems for augmentation and/or recording like InkPresenter or DLH-Presenter, we already presented results of several semesters’ experiences in [7] and [8]. But also approaches that appear controversial to case (iv) can benefit from our communication infrastructure. For (pure) screen recording systems we deliver valuable synchronization information that are useful navigational indices and minimize post-processing efforts like discussed in [9].

A Uniform Way to Handle Any Slide-Based Presentation

749

Fig. 4. UPC in the classroom. The lecturer turned around to show the convertible he uses in portrait mode. While he placed UPC in the lower portion of the display, the upper one continuously mirrors the content that is projected by PowerPoint to the students and forwards all stylus-inputs to PowerPoint, which enables him to use its native ink-mechanism.

A prior version of UPC was widely used by lecturers in a total of 14 lectures (scheduled weekly) and two block courses of several days duration each. In addition, a considerable number of national and international conferences and fairs were successfully supported by the controller. In this summer we created evaluation forms for all lecturers and received nine forms. “Which presentation formats should be available by the presentation controller besides PowerPoint?” was a question that was answered as follows: PDF (47%), Impress (27%), Image sets (13%), others (13%) and “no more” (0%). We decided not to put PDF that is already supported into the question, because we wanted to determine if this format is really requested. Nearly half of all lecturers requested PDF. The amount of requests for Impress was higher than for image based presentations which is interesting, because in a former evaluation Impress was only requested by two persons. Requirements that have been reported to the prior version of UPC were integrated into the current version presented in figure 3 and 4. Some users reported that they feel irritated about a scrollable panel that contains the whole slide-set and two more panels representing the currently presented and upcoming slide. First, we expected that we “clearly” indicated these modes by titled borders and that their separation was the best choice, but current observations regarding the newly ordered film-strip-design, which still includes both modes, shows that this solution is definitely much easier to use. The correspondence to a common camera containing a filmstrip, where the image that is currently in front of an optic is projected, seems to be more intuitive.

5 Summary of Contributions We presented requirements in the context of integration and presentation of individual content that we identified by observations, requirements analysis and discussions with users. Based on those discoveries we built an application that deals with given limitations and wishes. Since it is widely used, it was possible to refine it heavily in a couple of iterations and to meet user’s requirements very well. Our application can be installed straightforwardly and requires no configuration to work with PowerPoint and Acrobat Professional. It is robust and easy to use – usually an introductory instruction of less than 5 minutes is sufficient. Hence, our users can

750

G. Turban and M. Mühlhäuser

use a single application to present their content in the following formats: Microsoft PowerPoint, Adobe PDF, image-sets, home-brew-formats and experimentally static and dynamic captures from cams. Introducing a clear description and representation for presentations enabled us to concentrate on the fundamental technical interactions with native presentation systems; we developed global infrastructure only once for all formats and therefore minimized complexity besides costs of our universal solution. We presented detailed results of our conceptual contributions by a mature application that is aware of a new stage in the processing chain that has been unfortunately disregarded by related work. Our contribution is able to change the traditional awareness and workflow of multimedia based presentations, because of its uniformity and online capability.

6 Outlook Based on our concept and solution, further research may focus on following topics: Multiple instances of same and different presentation models and cross-operations, individual processing capabilities including annotations and their specific storage, the integration and recording of continuous media from different sources and altogether the impact on the extension of the presentation- and slide-models.

References 1. Microsoft Corporation, “Microsoft PowerPoint,” http://www.microsoft.com, last visited October 8th, 2006. 2. Microsoft Corporation, “Microsoft Windows Journal,” http://www.microsoft.com, last visited October 8th, 2006. 3. University of Washington, “UW Classroom Presenter,” http://www.cs.washington.edu/ education/dl/presenter/, October 8th, 2006. 4. N. Joukov, T. Chiueh, “Lectern II: A multimedia lecture capturing and editing system,” In Proceedings of the International Conference on Multimedia and Expo, Baltimore, Maryland, Volume 2, pp. 681-684, July 2003. 5. W. Hürst, R. Mueller, and T. Ottmann, “The AOF Method for Production, Use, and Management of Instructional Media,” In Proceedings of the International Conference on Computer in Education, Melbourne, Australia, Common Ground Publishing, 2004. 6. Adobe Systems Incorporated, “Adobe Acrobat Professional,” http://www.adobe.com/ products/acrobat/index.html, last visited October 8th, 2006. 7. G. Turban, M. Mühlhäuser, “A category based concept for rapid development of inkaware systems for computer-assisted education,” In Proceedings of the 7th IEEE International Symposium on Multimedia, Irvine, California, USA, pp. 449-457, 2005. 8. G. Turban, G. Rößling, and C. Trompler, “Bridging media breaks in presentations,” In Proc. of the 10th annual SIGCSE conference on Innovation and Technology in Computer Science Education, Caparica, Portugal, ACM Press, New York, USA, p. 377, 2005. 9. P. Ziewer, “Navigational Indices and Full Text Search by Automated Analyses of Screen Recorded Data,” In Proceedings of E-Learn 2004, Washington, DC, USA, 2004. 10. OpenOffice.org, “UNO Development Kit (UDK) project,” http://udk.openoffice.org/, last visited October 8th, 2006.