Greetings, program

Building anything besides the Track3r design requires using the Mindstorms EV3 application to display the build instructions. This application works in Windows or OS X. I ran it on OS X while I was taking screenshots and on Windows 8 (via a Surface Pro tablet) while I was parked on my living room floor building. On release, there will also be iOS and Android applications available (I didn't try either of those out, though). The app contains build instructions for the five provided EV3 constructs as well as sample programs for each of the robots.

Building your own programs involves dragging and dropping program elements into a workspace, much like constructing a diagram. Basic instructions like "go forward for 10 seconds" are easy to define, and programs can grow to high degrees of complexity by introducing loops and branches. The drag and drop environment couples sensor input and motor output with all the standard tools of a programmer's kit: variables, constants, and a whole suite of logical operators and mathematical functions.

In fact, the experience was a little overwhelming. I'm definitely not a developer, and the app's heavy dependence on graphical elements without much text took quite a bit of time to grok—I had to lean heavily on the tooltips even to put together a basic program to make the control brick go "beep" at me. Programs created inside the EV3 application can be transferred to the control brick directly via a wired USB connection or through an SD card. Wi-Fi is also supported, but that requires an external USB Wi-Fi dongle to be fitted to the control brick.

If you're somewhat masochistic, you can even program the brick directly from its front control panel. The brick's non-backlit display makes this too difficult for more than quick program spot checks, though.

Compatibility and community

These complex Lego sets are expensive, and the shift from the previous-generation Mindstorm NXT controller to the new EV3 one is significant. Fortunately, there's significant backward compatibility (and even a bit of forward compatibility!). The Technics-style build elements are unchanged, so there's no issue there. According to Lego enthusiast site Robot Square, the EV3 brick can control most of the previous-generation NXT accessories, including motors and sensors. Conversely, the NXT brick can drive the EV3 motors but not the newer sensors.

Above is a completed program for the Ev3rstorm bot. This program runs when the touch sensor is depressed. If the light sensor reads bright light, it will play a sound and trigger its medium motor to turn three revolutions at low intensity; if the color sensor reads a low value (if you're covering it up with your hand), it will turn the medium motor with more force. The medium motor is also hooked up to a little ball shooter cannon thingy. The end result is that, depending on whether or not you've got the color sensor covered with your hand, the robot shoots the ball either quite far or just a short distance.

From a software perspective, the EV3 application can program NXT bricks as well. This should enable NXT users to purchase the new kit and integrate both sets together without much friction. The Mindstorms application is constructed with sharing things in mind, and there's an enormous, thriving Mindstorms community on the Internet. The EV3 sets that appear will be quickly integrated into the community fold.

Stepping off the carefully paved and studded Lego brick road for a moment, there are plenty of other ways to interact with the EV3 control brick besides dragging and dropping in the official application. The Lego Mindstorms community is global, and that community has come up with a long list of dev tools to play with. For now, getting down and dirty with third-party dev tools is a little beyond my ability. Currently, with the EV3 bricks in prerelease, there didn't appear to be much to do anyway. This will rapidly change after the sets become widely available, and seeing what the community will be able to bolt on to this as a starting point will be exciting.

When and how much?

The press materials note that Lego had a crew of folks busily working on the hardware and software for quite some time now. The level of polish in the new system is obvious.

The EV3 set is expected to retail for $349. Lego says that the sets will be available to purchase on September 1, just in time to be snapped up for the winter holidays. Good timing, certainly, but the overriding question is whether or not the EV3 set is worth the price.

If you're a parent with a smart kid who loves Lego, the set is definitely something to think about. The intersection of the physical and the abstract represented by these kinds of programmable Lego sets is powerfully attractive. The ability to quickly construct programs from visual blocks—themselves reminiscent of Lego bricks—and then receive quick feedback on whether or not those programs work or not is awesome. For people who derive satisfaction out of making things with their hands, the EV3 set is great.

The value proposition is a lot murkier for folks who already have previous-gen Mindstorm Lego sets. The backward compatibility of the EV3 intelligent brick is excellent, so your past purchases won't become worthless. But the not-inconsiderable $349 price tag is a significant hurdle. The fact that you're getting a small embedded Linux computer is a big part of that price, but on the other hand, it's still hard to swallow paying that much money for a Lego set.

Still, price is really the only downside to this set. They're ludicrously fun to play with, and I had a great time sitting on the floor like a kid piecing a robot together (and the whole process was made even better by the fact that I got to do it on the clock!). It's hard to deny that making robots and then programming them to do your bidding is just straight-up awesome.