LIVE · Workshop on Live Programming

Sketchable Interaction - End-User Customization via Interactive Regions

Jürgen Hahn, Raphael Wimmer

Video Code Plugins

Part of the Proceedings of the Sixth Workshop on Live Programming (LIVE 2020).

Abstract

Sketchable Interaction (SI) is a concept for a generic graphical environment that facilitates end-user customization of user interfaces and visual programming. Within an SI context, all graphical objects, including canvas, icons, and the mouse pointer, are interactive regions with arbitrary shapes. Users can draw further interactive regions with their mouse cursor, fingers or stylus, creating a sketch of a user interface. All interactive regions may contain effects which are applied to other regions once those overlap or touch. These effects can modify data, graphical representation, or both, of other regions. For example, a “Delete” region will delete all documents that are dragged onto it. Additionally, regions have properties such as position, scale, or color which can be linked to arbitrary properties of other region effects. For example, while dragging a region, the position of that region is temporarily linked to the position of the cursor’s region. These two principles allow users to iteratively construct user interfaces for a variety of different tasks, such as document management, data processing, or window management. Sketchable Interaction can also function as a visual programming language via special conveyor belt regions which transport other regions (e.g. documents) along their path. While in transit, these regions can pass through other regions which apply their effects to the document. Conveyor belts can also be used as conditional branches, allowing for simple application logic to be implemented via SI concepts. A C++ runtime handles collision and linking. All interactive regions and their behaviors are implemented via Python plugins.

We have completed a robust implementation of the runtime and are currently exploring novel application supported by combinations of simple tools.

Workshop Presentation