Codebender code editorI saw the recent announcements of a new online IDE for Arduino development called Codebender and thought it sounded interesting, so I signed up to pre-register for a beta account (in the way that you do, these days). The basic idea is simple; the IDE is “in the cloud” (or online as it used to be called) and so is your code. Thus, wherever you have access to a browser on the interweb, you have access to your dev environment and all of your code. Compilation happens remotely and the output can be uploaded to an Arduino Uno or Duemilanove through a Java applet running in the browser that squirts the compiled binary out to your serial port.The big selling point touted for Codebender being better than the basic Arduino IDE is that it’s got context-sensitive help, code-completion, intelligent compiler warnings and errors and a whole lot else in a fully-featured “modern” code editor. You’ve got to admit that as simple as the Arduino IDE is for a new user to get up and running within five minutes, beyond that it’s little better than editing your sketches in Notepad and compiling them with a batch file. Any improvement on that’s got to be better, right?

Whilst that might seem fine and dandy in principle, I’m left thinking that Codebender is trying to solve a problem that doesn’t really exist. Yes, the editor’s pretty, but at the moment (off the top of my head) there’s no support for multiple files in a project, you can’t use any libraries that aren’t part of the standard distribution and there’s no file system hierarchy for your projects, meaning that it’s little better than that “Sketchbook” menu entry in the Arduino IDE. I could go on, but I don’t want to piss on their chips. Yes, I can access my code from wherever I’ve got an internet connection, but conversely, I can’t where I haven’t … so if I’m in the middle of nowhere with a laptop, an Arduino and no WiFi signal, I’m shit outta luck. If I want to use those libraries that talk to my GPS and my graphical LCD, I’m shit outta luck.

Maybe it’s just me, but would resources have been better spent making a super, user-friendly Eclipse plug-in that worked with one-click installation and harnessed the power of the same Eclipse framework that hosts all of my (and millions of other’s) development environments across a wide variety of programming languages? Add in the ability for multiple editor windows to be linked to different devices attached to different COM ports, so that you could work on a server and a client device at the same time, say and I’d be even happier. Leverage existing plug-ins that talk to GitHub, Subversion or whatever and you only have to concentrate on the Arduino-specific bits of the pie, rather than trying to bake the whole lot.

Don’t get me wrong, it demos well and it’s got potential, but until some of the pretty basic stuff is sorted out, it just doesn’t work for me. I’ll be keeping an eye on things though …