Interfaces for scripting: making Greasemonkey scripts resilient to website upgrades

  • Authors:
  • Oscar Díaz;Cristóbal Arellano;Jon Iturrioz

  • Affiliations:
  • University of the Basque Country, San Sebastián, Spain;University of the Basque Country, San Sebastián, Spain;University of the Basque Country, San Sebastián, Spain

  • Venue:
  • ICWE'10 Proceedings of the 10th international conference on Web engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Thousands of users are streamlining their Web interactions through user scripts using special weavers such as Greasemonkey. Thousands of programmers are releasing their scripts in public repositories. Millions of downloads prove the success of this approach. So far, most scripts are just a few lines long. Although the amateurism of this community can partially explain this fact, it can also stem from the doubt about whether larger efforts will pay off. The fact that scripts directly access page structure makes scripts fragile to page upgrades. This brings the nightmare of maintenance, even more daunting considering the leisure-driven characteristic of this community. On these grounds, this work introduces interfaces for scripting. Akin to the JavaScript programming model, Scripting Interfaces are event-based, but rather than being defined in terms of low-level, user-interface events, Scripting Interfaces abstract these DOM events into conceptual events. Scripts can now subscribe to or notify of conceptual events in a similar way to what they did before. So-developed scripts improve their change resilience, portability, readability and easiness to collaborative development of scripts. This is achieved with no paradigm shift: programmers keep using native JavaScript mechanisms to handle conceptual events.