NodeBox 3 is an open source node-based software application that allows both programmers and non-programmers to quickly generate graphic designs or visualize data. By using “nodes,” users are able to generate mathematical patterns, text, graphs, shapes, or animations. Their homepage is https://www.nodebox.net/node/ and their GitHub is https://github.com/nodebox/nodebox.
To evaluate this software, we will focus on three prime directives: the system successfully accomplishes a useful task, an external user can successfully install and use the system, and an external developer can successfully understand and enhance the system.
Prime Directive #1: The system successfully accomplishes a useful task.
NodeBox 3 allows users to easily generate complex designs. Within a few minutes of installation and reading some of their tutorials, I was able to create a simple spiral graphic. NodeBox 3 also has examples of more complex designs, such as a simple pie chart.
The UI of the program is well organized and allows the user to focus on a specific object at any one time.
The bottom right of the UI is a window that allows creation, modification, and deletion of nodes. Creating a node can be easily done by just Right-Click -> New Node. This pops up a window of all the nodes available, such as text boxes, shapes, and node modifiers. Each node has an input and output that allows users to modify their design by simply linking the nodes together from input to output. Performing the link is also easily done by just clicking and dragging from an output of a node to an input to a node.
The top right window of the UI allows the user to manually tune specific data of a node. To decide which node information the user wants to view, the user just needs to left click on a node.
The left window of the UI is a graphic render of the representation of the data in the nodes. The graphic will dynamically change as the user enters new information into the nodes. This allows a “what you see is what you get” type of workflow in creation of the graphic.
Prime Directive #2: An external user can successfully install and use the system.
The Ubuntu installation instructions posted on their GitHub page is as follows:
sudo apt-get install git-core openjdk-6-jdk ant git clone git://github.com/nodebox/nodebox.git cd nodebox ant run
Typing these in the command line was a smooth process and Aptitude was able to handle all dependencies.
NodeBox 3’s documentation can be easily found at their homepage. Their documentation includes tutorials, screencasts, concepts, and an expert guide that allows creation of a new node. The forum on their website also allows users to ask questions to any problems they might encounter. There is a wealth of information that allows anyone to create what they want.
Prime Directive #3: An external developer can successfully understand and enhance the system.
While NodeBox 3 satisfies the previous prime directives, #3 is where NodeBox 3 fails. The only form of developer’s documentation I was able to find is a link on their website, “Contributing to NodeBox”, that leads to a page that is still under construction. The page lists code layout, coding conventions, and pull requests. However, each of these entries is blank. Their GitHub page also contains no information on how to contribute to the project.
Without any developer’s material, the only way for a new contributor to understand the project is to simply read the code. This may not be practical as the project itself is thousands of lines of code.
NodeBox 3 is a useful software in creating graphics. A new user can quickly use the software effectively by the ease of installation and many tutorials. However, a developer will find contributing to the project quite difficult as there is no documentation on the actual code. For me, I plan on using this tool to help draw some graphics that I struggle with in MSPaint for papers or presentations I will be doing in the future.