Azurite - Selective undo tool for Eclipse

Project Page: http://www.cs.cmu.edu/~azurite/
Eclipse Update Site: http://www.cs.cmu.edu/~NatProg/eclipse/updates/releases/
Source Code: https://github.com/yyoon/azurite-eclipse

Description

Azurite for Eclipse provides selective undo feature in Eclipse code editors. Using the data collected by Fluorite, Azurite visualizes the code edit history in a timeline view. Users can select multiple operations from the timeline and selectively undo them together. In addition, Azurite provides a powerful history search feature, which allows users to select the target operations to be undone very easily.

Demo Video


Description

Fluorite logger for Eclipse logs the developers' code editing behavior. With Fluorite installed, the code edit history is automatically written while Eclipse is running.

The log files can be found at: [Eclipse Workspace]/.metadata/.plugins/edu.cmu.scs.fluorite/Logs


Graphite - Active code completion tool for Eclipse

Project Page: http://www.cs.cmu.edu/~NatProg/graphite.html
Source Code: http://github.com/cyrus-/graphite

Description

Using Graphite, library developers can annotate their classes with pointers to specialized palettes, implemented using modern HTML5 technologies. An IDE extension discovers these palettes based on the code context when the user invokes the code completion command. Users interact with these palettes to provide parameters, which the palette uses to generate the appropriate code for insertion at the cursor.

This simple but powerful technique, which we call active code completion, makes it easy to integrate useful code generation tools directly into the editor, where developers can discover and use them most directly.

Demo Video

[Download .mp4]


Aquamarine - Selective undo tool for painting

Project Page: http://www.cs.cmu.edu/~NatProg/aquamarine.html

Description

Today's widely deployed painting applications use a linear undo model that allows users to backtrack previous operations in reverse chronological order. This undo model is not useful if the user has performed desired operations after undesired ones. Selective undo, in contrast, allows users to select specific operations in the past and only undo those, while keeping the remaining operations intact. Although selective undo has been widely explored in the context of text editing and object-oriented drawing, we explore selective undo for painting (bitmap) editing, which has received less attention and introduces many interesting user interface design challenges. Our system, called Aquamarine, explores the script model for selective undo, where selectively undone operations are skipped in the history, rather than the more explored inverse model, which puts an inverse of the selected operations at the end of the history. We investigated the design implications and showed through two informal user studies that selective undo is usable and desirable.