15
1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

Embed Size (px)

DESCRIPTION

3 How can EUPs validate web forms if they do not know JavaScript or regexps? Is the input valid? “EDSH 225” Is the input nearly valid? “EDXH 225” Does it just need reformatting? “Smith 225” Or is it obviously invalid? “ ” past studies ● recent work ● future work

Citation preview

Page 1: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1 Year of Progresson Topes

Christopher ScaffidiBrad Myers, Mary Shaw

Carnegie Mellon University

Page 2: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

22

Our prior work:Our prior work:Studies of end-user programmers (EUPs)Studies of end-user programmers (EUPs)

• Contextual Inquiry:– 3 administrative assistants, 4 managers, and

3 webmasters/graphic designers

• Survey– Over 800 Information Week readers

• Interviews– 6 creators of Hurricane Katrina “person locator” web sites

past studies ● recent work ● future work

Page 3: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

33

How can EUPs validate web formsHow can EUPs validate web formsif they do not know JavaScript or regexps?if they do not know JavaScript or regexps?

Is the input valid?“EDSH 225”

Is the input nearly valid?“EDXH 225”

Does it just need reformatting?“Smith 225”

Or is it obviously invalid?“412-555-5444”

past studies ● recent work ● future work

Page 4: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

44

An example spreadsheet from MicrosoftAn example spreadsheet from Microsoft(similar to one of our user’s spreadsheets)(similar to one of our user’s spreadsheets)

The second column is “supposed” to contain first names, but some initials have snuck in.

past studies ● recent work ● future work

Page 5: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

55

Data may be Inconveniently FormattedData may be Inconveniently Formatted

• Consider all the ways that we write dates.Reformatting may be necessary when reusing a date from one web site to fill out a form in another web site.

past studies ● recent work ● future work

Page 6: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

66

Underlying problem: abstraction mismatchUnderlying problem: abstraction mismatch

• Tools support strings, integers, floats, sometimes dates.• Problem domain involves higher-level categories of data:

– University names “Carnegie Mellon”, “CMU”

– Person names “Scaffidi, Christopher”, “Chris Scaffidi”

– CMU phone numbers “8-1234”, “x8-1234”

– CMU room numbers “WeH 4623”, “Wean 4623”

• These data categories are:– Human-readable– Short (~ 1 input field)– Multi-format– Sometimes ambiguous / fuzzy (non-binary scale of validity)– Often particular to certain groups of people

past studies ● recent work ● future work

Page 7: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

77

TopesTopes

• Tope = an abstraction implementation for a kind of data– Greek word for “place,” because each corresponds to a

data category with a natural place in the problem domain

• Topes in practice:1. EUPs create new topes by using the basic tope editor (or

by writing topes in another language, such as JavaScript)2. EUPs publish topes on repositories.3. Other EUs & EUPs download topes to their local cache.4. Tool plug-ins let EUs & EUPs browse their local cache and

associate topes with variables and input fields.5. Plug-ins get topes from local cache and use them to

recognize, transform, and equivalence-test data.

past studies ● recent work ● future work

Page 8: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

88

Example topeExample topeNotional representationNotional representation

• An example tope for CMU room numbers– 3 isa functions, 4 trf functions– Functions can be omitted if desired

Formal building name& room number

Elliot Dunlap Smith Hall 225

Building abbreviation& room number

EDSH 225

Colloquial building name& room number

Smith 225

past studies ● recent work ● future work

Page 9: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

99

Example in our prototype format editor: Example in our prototype format editor: CMU Campus Phone NumberCMU Campus Phone Number

Features:

• Format inference• Format/part names• Soft constraints• “isa” generation• Testing features• Format reusability• EUP tool integration

(Similar UI style for implementing trfs)

past studies ● recent work ● future work

Page 10: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1010

Validation by associating a topeValidation by associating a topewith a textboxwith a textbox

• Invalid inputs cause a targeted message to appear.

• Inputs that violate an always or never constraint cannot be submitted to the server.

• Inputs that violate an often constraint cause a warning, which the application user can override.

past studies ● recent work ● future work

Page 11: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1111

Evaluations to dateEvaluations to date

• Usability:– Controlled experiment shows that our format editor

enables EUPs to validate data quickly and accurately

• Expressiveness:– We have implemented formats for dozens of kinds of data

(1) EUSES spreadsheet corpus(2) logs of EUPs’ web browsing

• Usefulness:– We have integrated topes with tools for creating web

applications, databases, spreadsheets, and web macros.

past studies ● recent work ● future work

Page 12: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1212

Collaborations to date:Collaborations to date:Integrating topes with web macro toolsIntegrating topes with web macro tools

• Integrating topes with RobofoxSebastian Elbaum & Andhy Koesnandar @ UNL– Assertions on what the clipboard should contain at runtime

• Integrating topes with Koala aka CoScripterAllen Cypher & Jimmy Lee @ IBM– Selecting a transformation to be executed at runtime

past studies ● recent work ● future work

Page 13: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1313

Future development workFuture development work

• Implement enhancements to the basic editor (Q4 2007)– UI improvements; behind the scenes: new meta-data fields

• Implement repository system (Q1 2008)– Plug-ins will have a list of “known” repository servers– EUPs will be able to publish topes into repository servers– Repositories will provide various search features

• Search by example• Search by contextual keywords• Search by collaborative filtering • Search by tope reliability• And of course, search by (non-unique) name

past studies ● recent work ● future work

Page 14: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1414

Future collaboration opportunitiesFuture collaboration opportunities

• Upcoming evaluation: field test (Q2 2008)– Sample: University denizens (this can include you)– Tasks: install our tools and use them for several weeks– Measures: logs of usage, satisfaction surveys– Comparison: normal way of doing work– Our IRB authorized us to share our data with EUSES

• Additional integration (Excel & Forms/3? phpClick?)– Our system will be available to download as a software library– We aim to support quick, painless integration of topes with

your tools.– How would you like to use topes?

past studies ● recent work ● future work

Page 15: 1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University

1515

Thank You…Thank You…

• …to EUSES for the opportunity to present

• …to many people for helpful suggestions

• …to NSF and EUSES for funding (ITR-0325273 and CCF-0438929)

Marwan Abi-Antoun Margaret Burnett Martin Erwig Andy Ko Mary Beth Rosson

Robin Abraham Owen Cheng George Fairbanks Thomas LaToza Mary Shaw

Matt Bass Ciera Christopher Thomas Green Alon Lavie Jeff Stylos

Nels Beckman Michael Coblenz Josh Gross Henry Lieberman Dean Sutherland

Kevin Bierhoff Allen Cypher Greg Hartman Larry Maccherone Steve Tanimoto

Alan Blackwell Uri Dekel Jim Herbsleb Brad Myers Susan Wiedenbeck

Barry Boehm Sebastian Elbaum John Hosking John Pane