
LecTix: A Lecture-Multimedia Player by Timothy D. Olsen Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Master of Engineering in Electrical Engineering and Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2005 Massachusetts Institute of Technology 2005. All rig M-s INSTn-UTE OF TECHNOLOGY JUL 18 2005 LIBRARIES A uthor .......... .... ........... Department of Electrical Engineering and Computer Science May 20, 2005 Certified by.............................. Charles E. Leiserson Professor 0---,rvisor Accepted by . Arthur C. Smith Chairman, Department Committee on Graduate Students BARKER 2 LecTix: A Lecture-Multimedia Player by Timothy D. Olsen Submitted to the Department of Electrical Engineering and Computer Science on May 23, 2005, in partial fulfillment of the requirements for the degree of Master of Engineering in Electrical Engineering and Computer Science Abstract LecTix 2.0 is a multimedia player designed specifically for the playback of recorded classroom lectures. LecTix 2.0 plays multimedia consisting of synchronized audio, video, and PowerPoint-style slides. In addition to controls commonly found in multi- media players, LecTix 2.0 features controls designed specifically for lecture-multimedia playback such as customizable skip, variable-speed playback with pitch-normalization, and a browsable timeline of slides. LecTix 2.0's features contribute to its being usable, widely available, and exten- sible. LecTix 2.0's automatic media synchronization and large, externally consistent controls for navigation make for a learnable, memorable, and efficient user interface. LecTix 2.0's open-source implementation using the Java Media Framework allows it to be freely distributable, portable, and convenient to use without a network connection. LecTix 2.0's media class hierarchy, events, and lecture description result in a modular player that can be extended to support new media types without recompilation of the player's core. In addition to presenting LecTix 2.0, this thesis reviews seven players in use today. I compare them to LecTix 2.0 in terms of usability, availability, and extensibility. I also present a case study of the production of lecture multimedia and the use of an early version of LecTix in an introductory algorithms course. Thesis Supervisor: Charles E. Leiserson Title: Professor 3 4 Acknowledgments I have taken a round-about journey to get to this point, but I have finally made it. Without people to support and encourage me, I wouldn't have made it this far. I thank my advisor, Charles Leiserson, for his patience, advice, and insight. He's made a better writer out of me. Professors like him are what make MIT so great. I thank my parents and my sister for their never ending love and support, and for knowing not to bother me while I wrote "the thesis." Members of the Supercomputing Technologies Group provided feedback on LecTix and friendship. I thank Kunal Agrawal, Elizabeth Basha, Michael Bender, John Danaher, Leigh Deacon, Jeremy Fineman, Zardosht Kasheff, Angelina Lee, Bradley Kuszmaul, Sid Sen, Gideon Stupp, and Jim Sukha. I thank the people who have worked on LecTix and those who continue to do so. In particular, I thank Kai Huang and Luis F. G. Sarmenta. Luis also provided well thought-out advice on the thesis document. I thank Charles Leiseron, Tomas Lozano-Perez, and the Singapore-MIT Alliance for funding my research. This project never would have gotten done without the support. Rob Miller's course on user interface design and implementation was essential to LecTix 2.0's implementation. I thank him and Min Wu for imparting their knowledge to me and offering their invaluable feedback. I also thank the students who performed a heuristic evaluation of what was an atrocious prototype of LecTix: Alex Faaborg, Albert Leung, Andrew Perelson, and Anson Tsai. Numerous other people provided feedback on LecTix. I especially thank Tom Lasko, Larry Rudolph, and Bill Thies. Bill Thies also took slide timings for the course 6.046: Introduction to Algorithms. I thank the people from MIT's Academic Production Media Services for capturing lecture videos and providing copies for me. I especially thank Joanne Flood, Craig Milanesi, and Peter Hess. I thank Alejandro Caro for being a great and patient manager while I worked at 5 Akamai Technologies. He helped me to become a better person. I thank my friends who have stuck with me through thick and thin: Greg Ander- son, Michael Collier, Rachel Craig, Alex Dzindolet, Gene Fierro, Lizzy Hickey, Effie Hios, Oliver James, Rhiannon Jordan-Woodbury, Matt Lalime, Gabe Law, Betty Li, Celeste Loetz, Mike McGlothin, Vicky Medina, Erick Medina, Diego Medina, Becca Nathan, Ernesto Pascaul, Kenny Perry, Ian Scott, Jaime Tayag, Kat Troncellito, Brett Wiesner, and James Williams. These folks have always kept it real. They're my family. I thank Xiaolu Hsi, Marcia Yousik, and Kim McGlothin for their support. I never would have made it this far without them. And I thank MIT for generous financial aid and for teaching me how to use my brain. I graduate smarter and more knowledgeable than I was ten years ago. Images of PowerPoint slides shown in Figures 1-2, 2-1, 2-2, 4-4, 5-4, and 5-7 are reproduced by permission from Charles E. Leiserson. 6 Contents List of Figures 9 List of Tables 11 1 Introduction 13 1.1 LecTix 2.0: A Lecture-Multimedia Player . ............... 15 1.2 Organization of the Thesis ... ........ ........ ..... 17 2 Usability 19 2.1 Attributes of Usability .......................... 19 2.2 Features of LecTix 2.0 that Contribute to Usability .......... 20 2.2.1 Large Controls ............. ............. 20 2.2.2 Externally Consistent Controls ................. 21 2.2.3 Navigation Controls .......... ............. 22 2.2.4 Media Synchronization ...................... 25 2.2.5 Variable-Speed Playback ..................... 29 3 Availability 31 3.1 Attributes of Availability .................... ..... 31 3.2 Features of LecTix 2.0 that Contribute to Availability ......... 32 3.2.1 The GNU General Public License ................ 33 3.2.2 The Java Programming Language ................ 33 3.2.3 Java Media Framework .... .................. 35 3.3 Restrictions on Contemporary, State-of-the-Art Codecs ....... 37 7 3.3.1 Specifications, API's, and Royalties ... ... .... ... .. 38 3.3.2 Portability of Vendors' Players ... .... ..... ..... 40 4 Extensibility 43 4.1 Attributes of Extensibility .. ... .... ... .... ... .... 43 4.2 Features of LecTix 2.0 that Contribute to Extensibility ... .... 44 4.2.1 The GNU General Public License . .... ..... ..... 45 4.2.2 The Java Programming Language ... ....... ...... 46 4.2.3 Media-Class Hierarchy . ........ ....... ...... 47 4.2.4 Media Events ... ..... ..... .... ..... ..... 49 4.2.5 Lecture Description .... ........ ........ .... 54 5 Related Work 57 5.1 Columbia Video Network ..... ...... .... ..... ..... 58 5.2 IIT O nline ... ..... ..... ...... .... ..... ..... 58 5.3 Microsoft Producer .... .... .... .... ..... .... ... 60 5.4 Singapore-MIT Alliance .... ...... .... ..... ..... 60 5.5 Stanford Online .. ....... ...... ...... ...... ... 64 5.6 University of Minnesota UNITE ........ ........ ..... 64 5.7 LecT ix 1.3 .. ..... ..... ...... ..... .... ..... 67 5.8 Comparison of Players to LecTix 2.0 .... .... ..... ..... 68 6 LecTix 1.3 Case Study 73 6.1 Production of Lecture Multimedia .. .... .... .... .... .. 73 6.2 Student Reaction to LecTix 1.3 .... ..... ..... ..... .. 76 7 Conclusion 77 7.1 LecTix 2.0 Contributions. ...... ........ ......... 77 7.2 Future Work ....... ......... ........ ........ 78 Glossary 79 Bibliography 81 8 List of Figures 1-1 RealPlayer ....................... .......... 14 1-2 LecTix 2.0's main components. ..... ..... ..... ..... 16 2-1 LecTix 2.0 and RealPlayer's real-world controls. .. ..... ..... 22 2-2 LecTix 2.0 controls ... ..... ..... ..... ..... ..... 23 2-3 Segment synchronization vs. trigger synchronization .... ..... 28 4-1 Layers of LecTix 2.0's extensibility. ... .... ... .... ... .. 45 4-2 LecTix 2.0 media-class hierarchy .... .... ..... .... .... 48 4-3 Event-support classes and interfaces ... .... .... ..... ... 51 4-4 Advancing a slide ...... ...... ....... ...... .... 53 4-5 A lecture description file .... .... .... ..... .... .... 55 5-1 Columbia Video Network . .... .... .... .... ..... ... 59 5-2 IIT Online ..... .... .... .... .... .... ..... ... 61 5-3 Microsoft Producer .... .... .... .... .... ..... ... 62 5-4 Singapore-MIT Alliance ..... ...... ...... ...... .. 63 5-5 Stanford Online . ... .... ... ... ... ... ... ... ... 65 5-6 U N IT E .. .... .... ... .... ... .... .... ... .... 66 5-7 LecT ix 1.3 .. .... ... ... ... ... ... ... ... .... .. 67 6-1 Production work-flow for 6.046: Introduction to Algorithms .. .... 75 9 10 List of Tables 2.1 LecTix 2.0 features that contribute to usability ..... 20 3.1 LecTix 2.0 features that affect availability ........ .. .. 32 3.2 Java Virtual Machine ports . ........ ....... .. .. 34 3.3 Java Media Framework video-codec support by platform 36 3.4 Openness of state-of-the-art formats and codecs ..... .. .. 39 3.5 State-of-the-art formats and codecs: players and ports .. .. ... 41 4.1 LecTix 2.0 features that contribute to extensibility .. 44 4.2 LecTix 2.0 media events ................. 49 5.1 Expanded list of features that contribute to usability 69 5.2 Reviewed players' features that affect usability ..... 70 5.3 Reviewed players' availability
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages85 Page
-
File Size-