UniQMG's Blog: Double Drag And Drop

Double Drag And Drop

Double Drag And Drop

I’m working on a side project that uses heavy pointer interaction, and wrote a small library to unify touch and click events. While making it, I came across an odd emergent behavior: Double Drag and Drop.

The library tracks data per interaction. In a normal touch-enabled web app, each touch event is generally considered an interaction. Things are fuzzier for mouse events, and while debugging an issue where data would be lost between events I came upon an interesting solution: track each mouse button as its own interaction.

Since each interaction has data backed by the library, each mouse button has it’s own ‘box’ of drag and drop data. Thus, you can hold multiple items by using both left and right buttons.

Sidenote: the project itself

The project itself is essentially a site hosted on a Raspberry Pi. However, the Pi isn’t connected to the internet and instead broadcasts its own wifi network. Anyone connected to the network can see the website.

The content for the website itself isn’t quite nailed down yet, but plans include a public file server, forum, and (see above) DJ system. The DJ system processes audio in-browser then streams it to the Pi, where it’s fed to a portable amp connected to the sound out. Granted, I know nothing about actual DJing but it’s a fun experiment.