hn.today

Declarative Dragging

declarative-dragging.github.io11 points1 comments
Screenshot of Declarative Dragging

Declarative Dragging presents a way to make drag-and-drop interactions easier to build and more expressive. Instead of manually coding target geometry, visual feedback, and animation, an interface designer specifies which future application states should be reachable by dragging an element. The system renders those possible states in advance, finds where the element appears in each, and uses those positions to create drop zones and guide a responsive drag. The central argument is that interaction design should begin with the meaningful changes an action can make, rather than with the low-level mechanics of moving objects on screen.

The approach, implemented in the web library Dragology for SVG interfaces, is model-driven and composable: basic dragging behaviors can be combined, while modifiers add features such as floating, snapping, and transitions. Demonstrations include algebraic structures, trees, curves, braids, and other interactive diagrams. The authors also highlight interfaces with parallel representations, where dragging in one view updates related views in real time, and applications such as a programming environment where code refactorings become tangible. The project grew from efforts to make mathematical ideas and transformations physically explorable, where menu-based operations felt less engaging than direct manipulation. Declarative Dragging received the UIST 2026 Best Paper Award.

Read on declarative-dragging.github.io1 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.