Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Plans and situated actions: the problem of human-machine communication
Plans and situated actions: the problem of human-machine communication
User-tailorable systems: pressing the issues with buttons
CHI '90 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Triggers and barriers to customizing software
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A small matter of programming: perspectives on end user computing
A small matter of programming: perspectives on end user computing
Watch what I do: programming by demonstration
Watch what I do: programming by demonstration
Providing access to graphical user interfaces—not graphical screens
Assets '94 Proceedings of the first annual ACM conference on Assistive technologies
Systematic output modification in a 2D user interface toolkit
Proceedings of the 10th annual ACM symposium on User interface software and technology
Instrumental interaction: an interaction model for designing post-WIMP user interfaces
Proceedings of the SIGCHI conference on Human Factors in Computing Systems
More than dotting the i's --- foundations for crossing-based interfaces
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
AppleScript Language Guide
Chromium: a stream-processing framework for interactive rendering on clusters
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
IEEE Internet Computing
Flexible collaboration transparency: supporting worker independence in replicated application-sharing systems
WinCuts: manipulating arbitrary window regions for more effective use of screen space
CHI '04 Extended Abstracts on Human Factors in Computing Systems
Automation and customization of rendered web pages
Proceedings of the 18th annual ACM symposium on User interface software and technology
User interface façades: towards fully adaptable user interfaces
UIST '06 Proceedings of the 19th annual ACM symposium on User interface software and technology
Design for unanticipated use...
ECSCW'93 Proceedings of the third conference on European Conference on Computer-Supported Cooperative Work
SwingStates: adding state machines to Java and the Swing toolkit
Software—Practice & Experience
Toward user interface virtualization: legacy applications and innovative interaction systems
Proceedings of the 1st ACM SIGCHI symposium on Engineering interactive computing systems
Sikuli: using GUI screenshots for search and automation
Proceedings of the 22nd annual ACM symposium on User interface software and technology
Prefab: implementing advanced behaviors using pixel-based reverse engineering of interface structure
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Content and hierarchy in pixel-based methods for reverse engineering interface structure
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
User interface toolkit mechanisms for securing interface elements
Proceedings of the 25th annual ACM symposium on User interface software and technology
Proceedings of the 2nd ACM International Symposium on Pervasive Displays
Skillometers: reflective widgets that motivate and help users to improve performance
Proceedings of the 26th annual ACM symposium on User interface software and technology
Pixel-based reverse engineering of graphical interfaces
Proceedings of the adjunct publication of the 26th annual ACM symposium on User interface software and technology
WidgetLens: a system for adaptive content magnification of widgets
BCS-HCI '13 Proceedings of the 27th International BCS Human Computer Interaction Conference
Hi-index | 0.00 |
This article introduces runtime toolkit overloading, a novel approach to help third-party developers modify the interaction and behavior of existing software applications without access to their underlying source code. We describe the abstractions provided by this approach as well as the mechanisms for implementing them in existing environments. We describe Scotty, a prototype implementation for Mac OS X Cocoa that enables developers to modify existing applications at runtime, and we demonstrate a collection of interaction and functional transformations on existing off-the-shelf applications. We show how Scotty helps a developer make sense of unfamiliar software, even without access to its source code. We further discuss what features of future environments would facilitate this kind of runtime software development.