Scenario-Based Requirements for Web Macro Tools Christopher Scaffidi, Allen Cypher, Sebastian Elbaum, Andhy Koesnandar, Brad Myers.

Slides:



Advertisements
Similar presentations
The Web Wizards Guide to Freeware/Shareware Chapter Four Essential Tools for Web Page Authors.
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Live Excel PRESENTER: Brad Leupen | CTO, Entrinsik |
A Toolbox for Blackboard Tim Roberts
Programming Paradigms and languages
Copyright © 2008 Pearson Prentice Hall. All rights reserved Copyright © 2008 Prentice-Hall. All rights reserved. Committed to Shaping the Next.
Tutorial 12: Enhancing Excel with Visual Basic for Applications
Using the Web-based Training Tool MyFloridaMarketPlace Revised Date: 12/14/06.
Lecture 1 Introduction to the ABAP Workbench
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Introduction to the EUSES Web Macro Scenario Corpus Allen Cypher, Sebastian Elbaum, Andhy Koesnandar, Brad Myers, Christopher Scaffidi.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Dimensions Characterizing Programming Feature Usage by Information Workers Christopher Scaffidi, Andrew Ko, Brad Myers, Mary Shaw Carnegie Mellon University.
A Lightweight Model for End Users’ Domain-Specific Data Christopher Scaffidi Carnegie Mellon University VL/HCC Graduate Consortium 2006.
Programming by Example using Least General Generalizations Mohammad Raza, Sumit Gulwani & Natasa Milic-Frayling Microsoft Research.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
State of Connecticut Core-CT Project Query 4 hrs Updated 1/21/2011.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Welcome to the University of West Florida Online Employment System Applicant Tutorial.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
WorkPlace Pro Utilities.
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Dynamic Action with Macromedia Dreamweaver MX Barry Sosinsky Valda Hilley.
OFC304 Excel 2003 Overview: XML Support Joseph Chirilov Program Manager.
Self Guided Tour for Query V8.4 Basic Features. 2 This Self Guided Tour is meant as a review only for Query V8.4 Basic Features and not as a substitute.
System for Administration, Training, and Educational Resources for NASA SATERN Overview for Learners May 2006.
ACOT Intro/Copyright Succeeding in Business with Microsoft Excel
Delight QuickBooks Online Banking Internal Support Training QuickBooks Windows 2009/2010 Online Banking.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
| | Tel: | | Computer Training & Personal Development Microsoft Office Publisher 2007 Expert.
WEEK 3 AND 4 USING CLIENT-SIDE SCRIPTS TO ENHANCE WEB APPLICATIONS.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
Creating a Web Site to Gather Data and Conduct Research.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Administrative Software Chapter 7 Teaching and Learning with Technology.
Working with Reports in Microsoft Excel Session Version 1.0 © 2011 Aptech Limited.
Lecture # 6 Forms, Widgets and Event Handling. Today Questions: From notes/reading/life? Share Personal Web Page (if not too personal) 1.Introduce: How.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
ASP.NET.. ASP.NET Environment ASP.NET is Microsoft's programming framework that enables the development of Web applications and services. It is an easy.
Session Objectives • Login to PeopleSoft Test Framework(PTF)
Enhancing the Web With End-User Programming Tak Yeon Lee, Ben Bederson.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
CIS 250 Advanced Computer Applications Introduction to Access.
System for Administration, Training, and Educational Resources for NASA SATERN Overview for Users December 2009.
Capital Budget System (CBS) Agency Training 1. Introductions… Name Name Agency Agency Capital Budget System Role Capital Budget System Role Goals for.
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
Introduction Selenium IDE is a Firefox extension that allows you to record, edit, and debug tests for HTML Easy record and playback Intelligent field selection.
Chapter – 8 Software Tools.
Perfecto Mobile Automation
PMIS Introduction to Request New Catalog Item Training Presentation US Department of Health and Human Services.
: Information Retrieval อาจารย์ ธีภากรณ์ นฤมาณนลิณี
Viewpoint Modeling and Model-Based Media Generation for Systems Engineers Automatic View and Document Generation for Scalable Model- Based Engineering.
Preface IIntroduction Course Objectives I-2 Course Content I-3 1Introduction to Oracle Reports Developer Objectives 1-2 Business Intelligence 1-3 Enterprise.
Your Name Proposal Creation Module 5 Your Name
Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals Wikis are collections of searchable,
Instructor Name Instructor Title Library Name
A Data Model to Help End Users Shape Effective Software
Ringer: Web Automation by Demonstration
WEB PROGRAMMING JavaScript.
ICEweb 2 a new way of compiling high-quality web-based components for ICE corpora Martin Weisser Center for Linguistics & Applied Linguistics, Guangdong.
This module Provides some tips for data management
Unit J: Creating a Database
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

Scenario-Based Requirements for Web Macro Tools Christopher Scaffidi, Allen Cypher, Sebastian Elbaum, Andhy Koesnandar, Brad Myers

2 PBE and browser automation Programming-by-example (PBE) is a success story –Research systems: Eager, Marquise –Systems in widespread use: Microsoft Office macros Researchers have applied PBE to browser automation –e.g.: Internet Scrapbook, Koala, Miro, Robofox, Turquoise –These tools… 1.Watch the user perform a task 2.Infer the user’s intent 3.Record a web macro representing the intent 4.Allow the user to replay the macro on new data introduction  scenarios  requirements  Robofox  conclusion

Step 1:Open Step 2:Submit the amount, date, foreign currency type, and target currency. Step 3:Retrieve the result in the target currency.

4 PBE web macro tools are not widely adopted The web context introduces new challenges to PBE: –Web site changes can break macros without warning  Need features for detecting and responding to site change –Office tasks involve not just browsers but also spreadsheets and other applications  Need integration with other applications What other unmet requirements are there? introduction  scenarios  requirements  Robofox  conclusion

5 Missing: a methodical characterization of requirements for web macro tools Many papers use scenarios to explain and motivate a PBE tool’s features. Such scenarios… –Are retrospective: The scenarios show the features that actually work, rather than opportunities for future work. –Lack pedigree: Are the scenarios hypothetical or based on a user study? Will the tool features be useful in practice? introduction  scenarios  requirements  Robofox  conclusion

6Outline We have… –Analyzed 10 scenarios where web macros would be desirable –Characterized 25 requirements that tools must support to be useful for many real-world tasks –Used these requirements as a benchmark to identify opportunities for enhancing a particular tool (Robofox) introduction  scenarios  requirements  Robofox  conclusion

7 Catalog of scenarios Using a web site to look up information – 6 scenarios –Currency converter, Package tracker, Per diem lookup, Staff lookup, Stock analysis, Watcher for eBay –Typical users: office workers Using a web form to order products – 1 scenario –Path to procurement –Typical users: online shoppers “Scraping” a large part of a site – 3 scenarios –Peoplesoft scraper, Person locator scraper, Scraper for CMS –Typical users: System administrators introduction  scenarios  requirements  Robofox  conclusion

8 Scenarios came from a variety of sources Contextual inquiry – 3 scenarios –Currency converter, Per diem lookup, Staff lookup Co-workers – 2 scenarios –Path to procurement, Peoplesoft scraper Our own experiences – 2 scenarios –Package tracker, Scraper for CMS Online sources – 3 scenarios –Person locator scraper, Stock analysis, Watcher for eBay introduction  scenarios  requirements  Robofox  conclusion

9 What is in a scenario? * Title Pithy name to make it easy to refer to the scenario * Typical User Tells what type of person is likely to perform the task * Overview Context and forces that would prompt a user to do the task * Starting Conditions Pre-conditions that hold true before the scenario * Result Post-conditions that should hold true after the scenario * Actions Steps that the user performs (maybe with a tool) Action Details Screenshots or other clarifying information Variations Discusses likely tweaks of the main scenario Macro Maintenance Examines how scenario evolution prompting macro changes * Scenario Source Summarizes empirical data that generated this scenario * = required section introduction  scenarios  requirements  Robofox  conclusion

10 Requirements: Triggering macros On-demand execution –Required to support users’ work tasks Scheduled execution –Especially for scrapers Event-based triggers –Watcher for eBay executes when user visits Google homepage Subroutines –Especially for lookup macros introduction  scenarios  requirements  Robofox  conclusion

11 Requirements: Using objects on pages Text snippets –Almost all scenarios require reading text Tabular information - –Almost all scenarios read tabular data Web form widgets –Read/write textbox, dropdown, checkbox widgets Other HTML structures –Watcher for eBay introduction  scenarios  requirements  Robofox  conclusion

12 Requirements: Adapting to site changes Adaptation to changing page layout –Changes to text location, text color, page structure Adaptation to changing form fields - –Changes to field names and field values Adaptation to changing URLs –“This page has moved to X. Please update your links.” introduction  scenarios  requirements  Robofox  conclusion

13 Requirements: Reading and writing data outside pages Browser APIs –Read/write highlighted text, show popup window Spreadsheets and other files - –Often one record per spreadsheet row or XML node Parameters containing user input –Prompting for an input (e.g. password) during playback introduction  scenarios  requirements  Robofox  conclusion

14 Requirements: Transforming data Reformat to equivalent value - –For comparing values and for making outputs consistent Extracting values’ parts –For comparing values Combining values –Such as arithmetic and string concatenation introduction  scenarios  requirements  Robofox  conclusion

15 Requirements: Executing control structures Looping operations - –Especially in scrapers Conditional operations –Macro behavior depends on data provided by user as well as data returned by web sites introduction  scenarios  requirements  Robofox  conclusion

16 Requirements: Recovering from failure Partial restarts –Especially for scrapers Exception handlers –Integration with assertions introduction  scenarios  requirements  Robofox  conclusion

17 Requirements: Supporting macro maintenance User-understandable representation –For maintenance and for sharing macros with other users Editable macros –Analogous to features supported by textual editors Features for debugging –Traces, breakpoints, step-by-step execution, etc Maintenance at runtime –On error, enter maintenance mode introduction  scenarios  requirements  Robofox  conclusion

18 Example benchmark use: Robofox Triggering macros On-demand execution Yes Scheduled execution Yes Event-based triggers Yes Subroutines No Using objects on web pages Text snippets Yes Tabular information No Web form widgets Yes Other HTML structures No Adapting to site changes Adaptation to changing page layout Limited Adaptation to changing form fields Yes Adaptation to changing URLs No Inserts “sanity checks” to detect changing page structure. Includes heuristics for “refinding” page elements based on color, label, DOM location. Some changes (e.g.: form field renaming) are not handled automatically. introduction  scenarios  requirements  Robofox  conclusion

19 Example benchmark use: Robofox Can read/write spreadsheets, but only if they have a specific layout Reading and writing data outside pages Browser APIs Limited Spreadsheets and other files Limited Parameters containing user input Limited Transforming data Reformat to equivalent value No Extracting values’ parts Yes Combining values No Executing control structures Looping operations Limited Conditional operations Yes Can do a “foreach” loop but not a “while(condition)” loop introduction  scenarios  requirements  Robofox  conclusion

20 Example benchmark use: Robofox User-defined exception handlers can fire when assertions fail Recovering from failure Partial restarts No Exception handlers Yes Supporting macro maintenance User-understandable representation Yes Editable macros Yes Features for debugging Yes Maintenance at runtime Yes introduction  scenarios  requirements  Robofox  conclusion

21 Summary of Robofox limitations Of 25 requirements… –Supported: 13 –Limited support: 5 –Unsupported: 7 Of 10 scenarios… –Supported: 3 –Limited support: 2 (unsupported scenario variations) –Unsupported: 5 introduction  scenarios  requirements  Robofox  conclusion

22 Opportunities to enhance Robofox Adding support for 2 requirements… –Tabular information –Reformat to equivalent value … would leave only… –2 unsupported scenarios –2 unsupported scenario variations introduction  scenarios  requirements  Robofox  conclusion

23 Extending the benchmark These 25 requirements are “Version 1” of a benchmark for evaluating web macro tools. As researchers meet existing requirements, new scenarios and new requirements will appear. We created a wiki where YOU can upload scenarios. – introduction  scenarios  requirements  Robofox  conclusion

24 Thank You… To VL/HCC for the opportunity to present. To EUSES Consortium members for suggestions. To NSF and EUSES for funding (CCF , CCF , CCF ). introduction  scenarios  requirements  Robofox  conclusion