CoScripter is a system that enables users to record, play back, edit, and share web-based tasks.

With CoScripter, people can automate tedious, repetitive online tasks. They can also record how to perform a web process that is infrequently used and hard to remember, and publish their recordings so that others can benefit from their knowledge. You can try CoScripter out through alphaWorks Services.

CoScripter includes an extension for the Mozilla Firefox web browser, which appears as a browser sidebar. This extension can record a user's actions in the browser and play them back at a later time. User actions are recorded as pseudo-natural-language instructions, such as "go to" and "click the Search button." Because these instructions are purely textual, CoScripter scripts can be read and modified by people as easily as reading and editing text.

CoScripter can also parse these instructions and execute them, in order to automatically perform the steps in a script. Scripts may be executed all at once using a "run" mode, which enables people to automate frequent or rote tasks. Scripts may also be executed one step at a time, which is useful for learning how to perform complex or unfamiliar tasks.

Scripts are, by default, stored publicly on the CoScripter wiki to enable sharing between users, though users may mark scripts as private to prohibit others' access. Users can also browse, tag, rate, edit, and run any public script directly from the wiki. Thus the wiki serves as a central repository of "how-to" knowledge. Experts can share their knowledge by recording their actions and publishing the results on the wiki, and learners can easily find it there.

Research goals

We created CoScripter to explore several research topics in the areas of human-computer interaction (HCI) and computer supported cooperative work (CSCW). These include:

  • How can we enable non-programmers to create their own automations (in this case, in a web browser)?
  • How can we encourage people to share knowledge about how to do work?
  • How does knowledge about a work process spread across an organization?
  • What mechanisms will enable people to find existing knowledge and reuse it for their purposes?
  • How can we generate CoScripter scripts so that they are easily reusable by different people in different situations?
  • As web pages change, how can CoScripter scripts that reference those pages keep working?


Graduate Students / Interns

  • Jeffrey Bigham

  • Yevgen Borodin

  • Gaston Cangiano

  • Gilly Leshed

  • Ian Li

  • Greg Little

  • Christopher Scaffidi

  • Patrick Shih

  • Jeffrey Wong