collected dimensions

•Scientific Contribution

–What was original to the work?

–Who followed on this work?

–Which systems were “seminal”

•Role of collaboration

–Shared data, shared systems

–Where is the code? In the cloud, on the desktop

–Software from scratch, modifying existing software

–Ecology of different kinds of users (some tailor, some do development)

–Copy and change vs. create new

–Shareability: how easy it is to share? Does the language or tool support sharing?

–Security and privacy issues

–Dependencies

•Does this system rock? (self-rated)

•Task

–Driving applications or scenarios

–Data focused or interaction focused

–Duration of the task

•Placement in the software lifecycle (requirements, create, debug, testing)

•Application

–What types of applications can the tool script? (DOM, JavaScript, etc.)

•System vs. Study

–Systems

•Explicit vs. Implicit Authoring

•Degree of automation (user support, inferences) – where does the automation come from? Does the user decide to automate or does it just happen?

•Programming Concepts

•Fragility

•Interface model (VCR, script, etc.)

•Expressibility (Ceiling/Floor)

•Where does the system live?

•Platform (desktop, mobile, etc.)

•User interface design challenge (did you leverage existing interface styles to build your tool)

•Language paradigm (input/output)

–Technique of inputting data: demonstration, rule-based, etc.

–Output – how is the output communicated

–What are the boundaries of your system? How can we tell them apart?

–Studies

•Needs gathering vs. Post-hoc evaluation

•Artifacts that have been created vs. People

•Who generates the scenarios: from system or users

•User

–What does the user bring? User characteristics…novice <-> experts

–Communities to which they belong

–Accessibility within domain

•Knowledge

–Domain knowledge built-in to system

–What knowledge does the user need to have?

–What knowledge does the user add to the system?

–What knowledge do users take/learn from the system? (how generalizable is that knowledge?)

–Is generalizable knowledge vs. just learning the system itself

•Role of Failure

–What parts can be replaced and by who?

–What users are involved

–Dependencies (from above)

–What does failure look like? (blue screen vs. )

–Transparency & Control (what will the system do for you vs. what will it not do)

•How does the user interface get created?

–Reuse of components

•How can the tool be used?

–How is it packaged?

•Reusability

–Can it be built upon?

•Maturity

–Many different levels

•Suggestions to page creators

–What should content providers be doing to make our job easier?