The NETLab Toolkit is a free set of software tools that enable designers to
easily "sketch in hardware". With no programming at all and working in
the familiar environment of Flash, designers can hook up a physical
sensor (e.g. a knob) and immediately get that knob to control a motor
or a video projection. The toolkit works with a wide range of sensors,
wireless sensors, input from the Wii Remote, controls motors and LEDs,
communicates with MIDI devices, controls sound, graphics, and video in
Flash, and communicates with DMX computer controlled lighting
equipment, all with a simple drag-and-drop interface (of course,
programming hooks are provided as well).
The NET Lab Toolkit is composed of three parts. 1) The Flash Widgets, which provide a drag-and-drop user-interface for designers in the media oriented Flash authoring environment. 2) The Hub,
which centralizes all communications with the outside world (e.g. Make Controller, Arduino, XBee) and routes
to/from Flash, Processing, Max/MSP or other authoring environment. And
3) MediaControl, which handles specialized media such as DMX Lighting & LED systems, MIDI, and (soon) multi-channel audio. You can download the NETLab Toolkit here.
All widgets from v2.0 are included, Mac & PC fully supported from 3.0r1 onward.
Notes on some of the Widgets:
Insert
- Provides a new programming interface for the widgets. When inserted
between two other widgets, it enables the user to write code to modify
the input from a one widget and then output it to another widget. This
is useful for creating custom code to handle specific logic
requirements of a project that the widgets to not provide, e.g. watch
the values of two inputs and only act when both have appropriate values.
TweenIt
- When triggered, will independently output values that ramp from a
starting point to and ending point over time. I.e. a tween that can
animate a movieClip, dim a light up, or move a motor to a new position.
The user interactively sets the start and end points, length of time
the tween takes, trigger threshold, the kind of tween (e.g. regular,
elastic, bounce), and the easing.
ZSortClips -
Sorts all of the clips nested in a clip by the 3D Z-axis value
available in Flash CS4. This will put one clip in "front" or "behind"
of another clip depending on the Z coordinate (functionality not
provided by Flash).
ClipControl
- Adds significant new functionality including Blur, Drop Shadow, Z
(depth), RotationX, RotationY, and RotationZ. It also allows changing
the property affected interactively while the SWF is running.
The NETLab Toolkit (New Ecology of
Things Lab Toolkit) is a project to create free, open-source software
and hardware tools for student and professional designers who want to
create interactive objects and spaces. The project strives to open up
new possibilities for design and hardware sketching that previously
required deep technical skill or collaborations with engineers. By
focusing on ease of use, quick initial success, and productivity this
approach allows more time to be spent on design concepts, iteration and
refinement.
While recent developments in hardware (such as the Make and Arduino controllers) have made interactive objects and spaces easier to build, there remains a barrier in learning the development environments and software coding practices. For many designers, the Processing language, Flash ActionScript or the MAX/MSP environment can be difficult to learn and take time and focus away from the design process. The NETLab Tools attempt to remove this barrier and provide an easy entry point for designers in this dynamic new field (sometimes called Physical Computing). While making many projects simple to create, The NETLab Tools do not inhibit the possibility for a deeper technical engagement that’s often needed when projects become more complex. Open interfaces are provided that make programming not only possible, but easier than usual since many of the typical details are handled by the NETLab Tools.
NETLab Widgets
The NETLab Widgets are a set of drag and drop Flash Components that enable designers to work in Flash and communicate with external hardware by simply placing the appropriate components on the Flash stage. To use the components, the designer sets a few options (no coding required) to make external sensors affect media inside Flash, or make Flash affect the outside world (of course, hooks are provided if coding is desired). The Interface works with the NETLab Hub, and currently supports Analog Input, DigitalInput, MovieClip Control, Video Control, Audio Control, AnalogOutput, Servo Output, Digital Output, Midi Note Output, and Midi Control Message Output (both midi outs work via OSC), and DmxOutput.
NETLab Hub
The NETLAb Hub is a cross-platform server that provides a simple interface between hardware and software systems. Software platforms such as Flash, MAX/MSP, and Processing can communicate with NETLab Hub (through a socket interface) to work with different kinds of hardware outside of the computer. The Hub handles the communication tasks (such as serial IO or OSC), and provides a uniform way of working with the hardware controllers. The Hub currently supports the Make Controller, Arduino, XBee and OSC devices such as Osculator (Wiimote and other devices). In addition, it provides File IO.
NETLab MediaControl
The NETLab MediaControl application supports communication with DMX lighting devices and MIDI support via OSC. In the future, we plan to add support for multi-channel playback for complex sound installations where up to 8 independent channels of sound can be controlled.
Future Directions
The Toolkit will eventually have its source code released as well under GPL or similar open-source license. This new version supports the Make Controller, Arduino, and XBee platforms. In addition, the new widgets are compatible with ActionScript 3 in Flash. We're in the process of exploring a Processing library to interface with the Hub (see a sample Processing application here). Please let us know what else you would like to see.
Contributors
The NETLab Connect project was designed and initiated by Philip van Allen, a core faculty member of the Art Center graduate Media Design Program. Programming for the Hub is by Ewan Branda. Financial support has come from the MDP Department, the original NET class sponsored by Sun Microsystems Labs, and through an Art Center Faculty association grant.
As we open up the NETLab Toolkit to the community, we encourage contributions from others. Please contact Philip van Allen if you would like to participate in the development of this project or have comments or suggestions.