The new NodeBox forum is live! Everything from support.nodebox.net moved here: sign in with the same email to pick up your old posts. Something not working? Write to forum-support@nodebox.net.

NodeBox 3From the old forum

Drag Interactions?

3 replies Last reply

  1. NodeBox is paradoxical. The design-time UI has rich interactivity; you can zoom and pan in both the view and network panes to your heart's content. But it is difficult to interact in the same way with the things you make in NodeBox.

    I am particularly interested in allowing users to drag over my creations and have them react. In fact I'd like to start a NodeBox file running (playing), put it in fullscreen, hand it to an end user, and watch her interact with it. You can kinda sorta almost do this in several (somewhat bizarre) ways:

    • Drive an animation with frame nodes. The user can then scrub the frame counter below the viewer pane to simulate a limited drag animation. Can't do this in fullscreen.

    • Use the experimental mouse node. Sadly, this node detects position but cannot tell if user is pressing down on the mouse (as far as I can tell). With some ingenuity it might be possible to initiate a drag by simply hovering over an area for a fixed amount of time but this is both tricky to implement and awkward for the user. Even sadder: mouse doesn't work at all in fullscreen.

    • Use the freehand tool. Unlike the mouse node, it can recognize when the user is pressing down on the mouse. It only adds to its path when the user drags. By colorizing with a transparent fill and doing lookups on the most recent point in the path it is actually possible to drag things with the freehand tool. But you will create an enormous ever-growing invisible path in the process which is bound to cause trouble sooner or later. And it doesn't work in fullscreen.

    • Use the NodeBox UI. Create a small rectangle and rename the node "Cursor". Hit play and then select the Cursor node in the network pane. In the viewer pane, move the real cursor over this fake cursor and drag it to reposition the rectangle. By continuously detecting and responding to the position of the fake cursor you can drag other elements around. But "picking up the cursor" is a strange interaction for end users. And, like all of these techniques, it doesn't work in fullscreen.

    So near and yet so far.

    I realize that NodeBox was originally designed for output, not input. But in my work I see a steady progression from GUI to NUI, from static visualizations to animated visualizations to interactives to multi-touch interactive to "living systems" where objects exhibit complex behaviors and obey physical laws when responding to user interactions. I can only go part way on this journey with NodeBox. But with just a few tweaks, NodeBox could be as powerful at input as it is at output.

    A few questions for the staff:

    Are there any plans to make a mouse node that can report the state of the mouse button (via a lookup) so I could implement drags? Is there already some (possibly device dependent) Python code I could plug in to do this?

    Why doesn't mousing and freehanding work in fullscreen? Is this just a bug or a more fundamental design limitation?

    Do you have a roadmap for allowing fullscreen "runtime" interactions? Multi-touch interactions?

    Thanks for listening,

    John

    Copy link
  2. NodeBox team

    Hi John,

    All excellent questions! We haven't been developing interactions further in NodeBox since it's difficult to publish the work once you're done with it.

    That's why we've started development on a web-based version of NodeBox, called NodeBox Live. This will let you use all the rich HTML5 API's that you're used to in the browser.

    The version is currently in private beta. If you're interested in testing, I can send you an invite.

    Copy link
  3. Thanks, Frederik. You already did invite me, but I haven't had much time to explore NodeBox Live yet. I see that I can embed a NodeBox project in my own web page, but have not yet tried to access any rich HTML5 APIs.

    Will nodeBox 3 be retired once NodeBox Live goes live? Or do you plan to keep evolving both in parallel?

    Copy link
  4. NodeBox team

    Will nodeBox 3 be retired once NodeBox Live goes live? Or do you plan to keep evolving both 
    in parallel?

    We’re not really sure yet, it depends on the usage patterns. We’re a small group, so we have to carefully manage our time.

    Grtz,

    F

    Copy link

Know something that helps?

Sign in with your email address to reply. No password needed.

Sign in to reply