Getting Started
About

Quickpose is a version control system for Processing. Think of it like a version control system inside of a canvas editor. Quickpose displays all the versions of your sketch in a browser window alongside your code editor, so you can quickly iterate, experiment, and return to a previous train of thought.

Quickpose was developed by Eric Rawn, a PhD Student at UC Berkeley. If you're interested in Quickpose I'd love to chat! Shoot me an email at erawn (at) berkeley (dot) edu.

Installation

To Install Manually:

  1. Download The Latest Version Here
  2. Unzip inside your sketchbook folder /Processing/tools/ folder. If you don't have a /tools/ directory yet, you'll have to make one.

Quickpose hasn't been added to the Processing Tool manager yet! To Install With the Tool Manager:

  1. Open Processing, navigate to Menu->Tools->Manage Tools...

  2. Search for Quickpose in the List, and Press Install

  3. Start Processing and Open up a new blank sketch.

  4. Navigate to the Menu->Tools->Quickpose (if you don't see Quickpose in the menu, you might have placed it in your Processing application folder instead of your sketchbook folder - the sketchbook folder is by default in your /Documents/)

  5. You should see some starter code populate the editor, and a console message appear asking you to navigate to https://quickpose.ericrawn.media in your browser.

The Basics

Quickpose is pretty simple to use!

Left Click to Change Versions

Shift-Click to Fork a Version

(Once you fork, the original will be locked for editing to maintain a linear edit history. Just make another fork when you want to edit again!)

Annotate, Arrange, Style

Quickpose is built on a fully featured canvas editor, so you can add stickies, images, colors, arrows, shapes, and more:

Live Thumbnails

Quickpose will automatically use whatever is called Render.png in your sketch folder for the current thumbnail. You can generate this however you want - the starter code provides a place to start:

  if(frameCount % 20 == 0){
    save("render.png"); 
  }

Settings

There are two settings to know about right away: first, you can toggle Autorun Sketch to automatically re-run your Processing sketch when you switch versions. Below that, Pause Simulation will stop the force simulation that pushes the versions around. If anything glitchy happens, turning this on should let you keep working.
Features
Checkpoints
On every save, Quickpose saves a copy of your sketch code locally. You can see this with the number in the bottom right corner of each version:

Checkpoints are meant to be emergency solutions when you've accidentally overwritten a value or a few lines. As such, you'll have to manually retrieve them (for now at least!) from your Quickpose folder. To do that, open up your sketch folder and find the current version (in the /Quickpose/ directory, all versions are labeled _{id}) and look in the /checkpoints/ directory.

Personally, I've found that after using Quickpose for a bit, I get into the habit of forking before I make any changes, and don't have to use Checkpoints nearly as much. As such, checkpoints are primarily intended as a cushion to help you transition to working within Quickpose without fear that you've lost something during a coding session.

Export By Color

Export by color allows you to export the code and render outputs for all of your versions which have been given a certain color in the Quickpose canvas. Click the Green project title bar at the top of the canvas to get to this menu:

You'll find a folder with the code and render.png for each of the versions of that color in your /Quickpose/exports/ directory with the renders at the top level of the folder and also within each version folder.

FAQ

Participating in Research

Quickpose is an ongoing research project that you can participate in! If you'd like to send anonymous usage data to help our research, you can opt-in at the pop-up screen when you open Quickpose (you can set a default preference if you don't want to go through this pop-up on every new project). At any time you can opt-in or opt-out in the settings for the project (Menu->Preferences->Send Usage Data). For more information, please look at the consent form for research. If you have any questions, you can always email me at erawn 'at' berkeley 'dot' edu.

What information is collected about me?

If you don't opt-in to research, I won't collect any data about your project. There is a google analytics tag on the website so I can get a rough estimate of how often Quickpose is being used (this can be disabled with an ad-blocker, if you wish), but this is the only data I recieve if you use Quickpose without opting into research. If you do participate in research, I'll collect anonymous data about your usage (you can look at the logs in each quickpose project, in the "archive" folder. The ones sent to the analytics server are called "UsageLogs.log"). I won't send any information about the content of your projects (programs, outputs, what you write in the canvas, etc), I'll only collect metadata about those events that isn't personally identifiable, like how often you fork, or the number of edits you made to a version before forking. Detailed information is in the consent form linked above.

Are my files remotely stored anywhere?

Nope! The web browser interface is simply a convenient way to serve a front-end app. All of your files are stored in the /Quickpose/ folder inside each of your sketches. Quickpose stores everything in a human-readable, uncompressed format to support Processing artists building their own tools or automation scripts on top of Quickpose (I'd love to see what you make if you do!) and also to give transparency about what data is being recorded locally. For a complete look at how Quickpose stores information, take a look at the full writeup on Github

Although Quickpose is a version control system, it is not a remote backup. You should still make regular backups of your projects in case of a loss of files. This should be pretty easy though, as everything is contained locally in your sketch folder under the /Quickpose/ directory.

What should I do if I run into a bug?

Please open an issue on Github with a complete description, and upload your Quickpose folder if you're able. Apologies if there's a delay in addressing bugs - I'm just a single grad student /cry.

I want to use Quickpose for teaching/research/something else cool!

That would make me so happy! If you want to talk over your specific ideas/needs, or are interested in a potential collaboration, please send me a message at erawn (at) berkeley (dot) edu and we can setup a time to chat!

If you end up doing something cool with Quickpose, I'd love to hear about it too!