I wrote a couple of weeks ago about programming for MOSS. We had just gotten an explosion of attention from our launch on Kickstarter, and the alpha-geek, early-adopter community started asking about programming. I didn’t have a good answer, but since then, we’ve had some time to decide what we’ll build first. We just announced two programming tools as stretch goals for the campaign.
MOSS Flash. At a base level, we want our hacker friends to have full capability to reprogram, repurpose, and remix MOSS to accomplish whatever they want. The first thing we’re going to build is MOSS Flash, and it’s a desktop application that lets you reprogram the microcontroller inside any MOSS Bluetooth or MOSS Brain module in C. We’re not going to build an IDE yet, you can use whatever editor and file management tools you like, but you’ll be able to start with a few sample programs, modify them or write new ones, and just drag the files onto the super-simple MOSS Flash window to compile and reprogram a connected MOSS module via Bluetooth. We’ll probably build this in Node.js and much of the code is already written for our own use at modbot testing and debugging new MOSS programs. The code for basic functionality won’t be the hard part in building MOSS Flash, though. Documentation and designing the tutorials and materials that support open-ended programming will be hard, and building tools to help with debugging (regular C compiler output is often not particularly helpful) will be hard.
MOSS Scratch. With low-level access for the die hard programmers covered by MOSS Flash, we also want to create a second way to program MOSS robots, something higher-level that can serve as an entry point for young inventors or for those who don’t get off on semicolons. We picked Scratch, and we’ve already started working on a MOSS Scratch extension that will provide MOSS blocks that you can integrate with the normal Scratch blocks and a custom online compiler that will customize a Scratch script to run natively on the micro inside of a MOSS module. The mechanism for adding extensions to Scratch is in beta right now but it looks really promising and the Scratch team has expressed enthusiasm and support for the integration with MOSS. I think the progression of creating on-screen animations and then behaviors for a physical robot could be a pretty effective learning tool, and honestly, my mind is a little blown right now thinking of the cyclical nature of progress what with Grey Walter’s turtles, then Logo, then Scratch, and now back to robots.
Want to program your MOSS robots? Me too. We have some work to do building and testing these development tools, but we also have a pretty amazing engineering team. If the Kickstarter campaign hits the $564k mark, we’ll plan to have both of these tools ready in June 2014 and ideally we’ll put up a beta of MOSS Flash right around when we ship the first MOSS kits.