tag:support.nodebox.net,2012-11-01:/discussions/nodebox-2-3/5607-subnetworks-not-abstractionsNodeBox: Discussion 2016-08-11T12:05:18Ztag:support.nodebox.net,2012-11-01:Comment/381794772015-10-13T15:44:49Z2015-10-13T15:44:49Zsubnetworks not abstractions?<div><p>From the documentation, I was expecting a subnetwork (SN) to act
as an abstraction. Once I created a SN I copied it and noticed it
was entirely separate code. Modifying one SN did not update the
other.</p>
<p>This seems less than useful. As a newbie I assume I am missing
something really basic.</p></div>robintag:support.nodebox.net,2012-11-01:Comment/381794772015-10-13T17:55:01Z2015-10-13T17:55:01Zsubnetworks not abstractions?<div><p>Hi Robin,</p>
<p>You're not missing anything. Subnetworks in NodeBox 3 are
designed like subdirectories on a hard drive: they copy their
entire contents as well.</p>
<p>If you find this silly, so do we :-) We're currently working on
NodeBox Live, which is a version that runs on the web. There, we
changed the behaviour of subnetworks to work like functions (we
also renamed them "functions"). So you can use a function in many
places, and they are interoperable with plain JavaScript
functions.</p>
<p>Once the kinks in NodeBox Live are ironed out, we'll probably
backport this functionality to NodeBox 3 as well.</p>
<p>If you want, I can send you an invite to the NodeBox Live alpha
release so you can play with it yourself.</p></div>Frederik De Blesertag:support.nodebox.net,2012-11-01:Comment/381794772015-10-13T18:59:50Z2015-10-13T18:59:50Zsubnetworks not abstractions?<div><p>Thanks for your reply.<br>
I am terrible with graphics really, but pretty good with
programming in general and Python in particular. Your intriguing
product came to my attention when researching possible tools for my
students. They learn Max and sometimes pd, so the visual paradigm
is familiar to them. For graphics they use either Jitter or
Processing.<br>
I've been hacking a few things together in NodeBox. As a
programmer, the first thing I look for is abstraction and
encapsulation. Thanks for clearing that up for me!</p>
<p>I have a few other questions that are likely to be feature
requests. Should I ask them here or on the forum? As for
NodeBox Live... I can see the appeal, but wonder what the benefits
are? Is it simply to get output directly in a browser pane?<br>
Functions are obviously worth having. Having to give up Python for
Javascript... not so much.</p>
<hr>
<p>Robin Parmar<br>
robinparmar.com<br>
From: Frederik De Bleser <a href="mailto:tender2+d662f6b6b7@tenderapp.com">tender2+d662f6b6b7@tenderapp.com</a>
To: <a href="mailto:robin@robinparmar.com">robin@robinparmar.com</a> Sent:
Tuesday, October 13, 2015 6:55 PM Subject: Re: subnetworks not
abstractions? [NodeBox 2 & 3 #5607]</p>
<p>#yiv8425974785 pre {width:92%;margin:10px 2%;padding:5px
2%;background:#efefef;border:1px solid #d6d6d6;}#yiv8425974785
blockquote {margin-left:0;padding-left:1em;border-left:5px solid
#ccc;}</p></div>robintag:support.nodebox.net,2012-11-01:Comment/381794772015-10-13T19:14:06Z2015-10-13T19:14:06Zsubnetworks not abstractions?<div><p>I agree completely with the abstraction / encapsulation part.
Note that if you write your own nodes in Python, the only thing
that is copied is the definition of the node, which is still a
little bit more than you want, but not too much.</p>
<p>Our development process is driven by the experiences and
feedback of students, and having something that would run in the
browser (and tablets, and smartphones) was a very common question.
We do indeed use JavaScript (when in Rome...), so if that's not
your thing, I can't really help you.</p>
<p>Again, we'll probably backport this into NodeBox 3 as well,
though not in the immediate future.</p></div>Frederik De Blesertag:support.nodebox.net,2012-11-01:Comment/381794772015-10-13T19:56:36Z2015-10-13T19:56:36Zsubnetworks not abstractions?<div><p>OK, that's understandable. It will be good to know when this is
backported. In the meantime I might check out your new project
depending on where my mind is at the time!<br>
Here are a few things for NodeBox 3. The first two are
usability/interface problems. The last two are feature
suggestions.</p>
<p>I find it cumbersome to manipulate the windows. (I don't use a
scroll mouse, or a mouse of any kind.) Standard scrollbars with
magnify buttons would be just fine.</p>
<p>I am not sure how the display window relates to the actual
rendered viewport. Perhaps this window should actually be the
specified size? Or some sort of ruler indicators within it?</p>
<p>Export to GIF would be nice. My first project was to make an
animated logo, but there is no quick way to do this AFAIK.</p>
<p>I am trying and failing to get smooth rendering with Frame.
Likely because there is no tweening support.</p>
<p>It would be crazy cool to be able to work with video. Animation
could be optionally locked to the video timeline as it is with
Frame. A suite of nodes could process arrays of data from video.
Then you'd be getting into Jitter territory, so I can understand if
that's not where you want to go. But it's actually why I checked
out your tool in the first place.</p>
<p>----- Robin Parmar robinparmar.com<br>
From: Frederik De Bleser <a href="mailto:tender2+d662f6b6b7@tenderapp.com">tender2+d662f6b6b7@tenderapp.com</a>
To: <a href="mailto:robin@robinparmar.com">robin@robinparmar.com</a> Sent:
Tuesday, October 13, 2015 8:14 PM Subject: Re: subnetworks not
abstractions? [NodeBox 2 & 3 #5607]</p>
<p>#yiv4572022707 pre {width:92%;margin:10px 2%;padding:5px
2%;background:#efefef;border:1px solid #d6d6d6;}#yiv4572022707
blockquote {margin-left:0;padding-left:1em;border-left:5px solid
#ccc;}</p></div>robintag:support.nodebox.net,2012-11-01:Comment/381794772015-11-21T07:13:03Z2015-11-21T07:13:03Zsubnetworks not abstractions?<div><p>Hi Robin,</p>
<p>Just found your thought-provoking thread. A few thoughts...</p>
<p>I sometimes use a scroll mouse (at work) but more often do
everything from my laptop trackpad. When I first starting using
NodeBox I found the window interactions frustrating, but grew to
appreciate them after discovering some of their poorly-documented
features.</p>
<p>(e.g. hold space bar to pan, two fingers on pad to zoom, set
output frame in document properties, check "Bounds" box to see
output frame, etc.) Note to Frederick: I do wish I had the option
to use a different control key than space bar (control, option,
command, shift); this would allow me to pan when sharing my laptop
screen to an iPad using AstroPad or Duet.</p>
<p>NodeBox has one of the nicest, simplest, most powerful ZUIs
(zoomable user interfaces) I've seen. There are seven orders of
magnitude of zoom which you can use to produce deep PDFs,
interesting animations, etc. The zooming on both sides of the
display is fluid and addicting.</p>
<p>As for tweening, you might want to search through some of the
forum threads for discussions on morphing. As Frederick explained,
NodeBox does not yet have a morphing/tweening node, but you can
roll your own without too much trouble.</p>
<p>I have also experienced some choppiness in animations when
there's a lot of computation required for each frame, but this
usually smooths out when you export your MP4.</p>
<p>NodeBox is not intended to be a robust animation app, but it can
produce some kinds of animations which are hard to do in other
tools. And because it's vector-based, the resulting MP4 files are
often dramatically smaller (in terms of file size) than typical
MP4s.</p>
<p>It would actually be possible to build a crude video timeline UI
entirely within NodeBox. You could render a timeline node to
display multiple tracks and markers, reposition the markers by
scrubbing X values on rectangles, then do lookups on their
positions and use that to drive complex animations. Just change the
rendering node to switch from timeline view to final display. (This
is a pretty wacky idea, but I mention it only to illustrate that
NodeBox is more powerful and versatile than it may seem at
first.)</p>
<p>As for Export to GIF - yes, that <em>would</em> be nice! In the
meantime, I think there are some tools out there that could do the
conversion for you, either from the MP4 or from the set of
individual frame PNGs.</p>
<p>I hope you will keep dabbling with NodeBox. I think its a great
teaching tool (and lots of fun besides).</p>
<p>John</p></div>john