Smart Bookmarks: Automatic Retroactive Macro Recording on the Web
Total Page:16
File Type:pdf, Size:1020Kb
Smart Bookmarks: Automatic Retroactive Macro Recording on the Web by Darris Hupp 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 May 11, 2007 © 2007 Darris Hupp. All rights reserved. The author hereby grants to M.I.T. permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole and in part in any medium now known or hereafter created. A utho r ...................................... ...... Department of Electrical Engineering and Computer Science May 11, 2007 Certified by ................................. Robert C. Miller Associate Professor 'lesis Supervisor Accepted by............. Arthfr-Gmith Professor of Electrical Engineering Chairman, Department Committee on Graduate Theses MASSACHUSETTS INS'r E OF TECHNOLOGY OCT 0 3 2007 BARKER LIBRARIES 2 Smart Bookmarks: Automatic Retroactive Macro Recording on the Web by Darris Hupp Submitted to the Department of Electrical Engineering and Computer Science May 11, 2007 In Partial Fulfillment of the Requirements for the Degree of Master of Engineering in Electrical Engineering and Computer Science ABSTRACT New technology has made the Web more dynamic and personalized, while at the same time interaction with the Web has become more complicated and involved. This thesis presents Smart Bookmarks, a web automation system that allows users to automate complex tasks or easily return to otherwise hard-to-reach dynamic web pages by creating smart bookmarks. A smart bookmark consists of an automatically generated script of recorded browsing commands that returns to a particular web page or web application state. Smart bookmarks can be created retroactively, meaning that the user does not need to explicitly initiate recording before performing a task, but can instead request a bookmark after visiting the destination page; the appropriate sequence of commands need to return to a page is selected automatically from a history of the user's browsing interactions. Smart Bookmarks provides a rich, visual representation of recorded bookmarks in order to clearly illustrate the actions that a bookmark performs, and includes textual descriptions, screenshots, and animated previews of each command. Finally, the system allows users to easily and intuitively edit bookmarks after they have been created, and to share smart bookmarks with other users. Thesis Supervisor: Robert C. Miller Title: Associate Professor 3 4 Acknowledgements I would like to thank Rob Miller for his invaluable advice and support. He was a constant source of encouragement and inspiration throughout this process, and I am grateful to have had him as my research advisor. I would also like to thank all the other members of the User Interface Design group for their technical advice and valuable feedback, and especially Kevin Su, Vikki Chou, and Greg Little for their insight and support. Finally, I would especially like to thank my parents, Russ and Regina, and my sister, Chelsie. They have been a constant source of motivation and support throughout this project and my entire MIT career. None of this would have been possible without them and their unwavering encouragement and belief in my abilities. 5 6 Contents 1 Introduction......................................................................................................................14 2 Related W ork....................................................................................................................18 2.1 W eb Autom ation and Custom ization ..................................................................... 18 2.2 W eb-based M acro Recording ................................................................................. 19 2.2.1 Proactive vs. Retroactive Recording ................................................................. 19 2.2.2 Architectures for Recording User Actions........................................................ 20 2.2.3 Representing Recorded Com mands ................................................................. 21 2.2.4 Variable and Private Com mands ..................................................................... 22 2.3 Other Web-based Progra mming-by-Demonstration Systems ................................. 23 2.4 Visual M acro Recording ......................................................................................... 23 3 Usage Scenarios ................................................................................................................ 25 3.1 Accessing a Hard-to-Reach Bank Portfolio Page ..................................................... 25 3.2 Searching for a Flight on a Travel W ebsite............................................................... 27 3.3 Sharing a Custom Laptop Configuration ................................................................. 28 4 User Interface Design.................................................................................................... 30 4.1 Overview of the Layout .......................................................................................... 30 4.2 Creating a Bookmark............................................................................................... 32 4.3 Graphical Representation of a Bookmark ............................................................... 33 4.4 Replaying a Bookmark............................................................................................. 35 4.5 Editing a Bookm ark ................................................................................................. 37 4.5.1 M anually Editing a Command .......................................................................... 37 4.5.2 Copying, M oving, and Deleting Com mands ...................................................... 38 4.5.3 Live Edit ............................................................................................................... 40 4.6 Param eterizing a Bookmark ................................................................................... 41 4.7 Graphical Browsing History ..................................................................................... 42 4.8 Sharing Bookm arks ................................................................................................. 44 5 Im plem entation ................................................................................................................ 45 7 5.1 Overview of the Design .......................................................................................... 45 5.2 Internal and External Representation of Bookmarks .............................................. 48 5.2.1 Internal Representation ................................................................................... 48 5.2.2 External Representation....................................................................................49 5.3 Recording the User's Browsing Actions ................................................................... 50 5.3.1 Recording Com mands ..................................................................................... 50 5.3.2 Recording W eb Page DOM s ............................................................................ 54 5.3.3 Recording Im ages............................................................................................. 54 5.4 Autom atically Generating a Bookmark .................................................................... 56 5.4.1 Determ ining W hether a W eb Page is Bookmarkable ........................................ 59 5.4.2 Removing Unnecessary Commands from a Generated Bookmark .................... 60 5.5 Playing a Bookmark................................................................................................. 61 6 Discussion of Challenges............................................................................................... 63 6.1 Dealing with Side Effects ........................................................................................ 63 6.1.1 Side Effect Detection User Interface..................................................................64 6.1.2 Side Effect Detection Im plementation............................................................. 66 6.2 Security and Privacy ............................................................................................... 68 7 Evaluation ......................................................................................................................... 70 7.1 Autom atic Bookmark Generation ............................................................................. 70 7.2 Robustness of Bookmarks ........................................................................................ 72 7.3 W eb Page Com parison Algorithm ........................................................................... 73 8 Conclusion ........................................................................................................................ 77 8.1 Future W ork................................................................................................................78 8 List of Figures Figure 1.1 A smart bookmark script that accesses my MIT Webmail inbox ............................ 14 Figure 1.2 Smart Bookmarks is implemented as a sidebar in the Firefox browser..................16 Figure 1.3 An example bookmark displayed in the Smart Bookmarks sidebar........................16 Figure