Cloud9 IDE: My first impression

After I could gather some experience with Cloud9 IDE today, I’m in the process of customizing it to my needs. For example, the run and preview buttons seem useless when using Cloud9 as editor only: Most PHP/JavaScript Web apps are constantly running in another tab anyways and usually don’t require compilation (as a developer, I know how to use the reload button).

The basic editor settings are accessible via Preferences and/or the Views menu. More advanced config options and the list of plugins that are loaded can be found in cloud9/configs/default.js. The preview and run plugins can simply be commented out:

//"ext/preview/preview",
//"ext/run/run", //Add location rule
//"ext/runpanel/runpanel", //Add location rule
//"ext/debugger/debugger", //Add location rule

For some reason, that doesn’t remove the preview button, which can be hidden using CSS in cloud9/plugins-client/ext.main/style/style.css:

.c9-menu-bar .c9-toolbarbutton-glossy.preview {
    display: none;
}

Cloud9 IDE

Cloud9 2.0.93 seems to crash in Chrome from time to time. If you reload the file system tree on Chrome, the files and folders are not sorted alphabetically anymore. This is probably related to Chrome’s (V8) implementation of arrays and objects, which share the same code instead of using inheritance to separate the code in a clean way (iterating over array items is different than iterating over object properties – sometimes that gets mixed up).

Cloud9 was very stable on Firefox 21 on OS X without any add-ons/plugins such as Flash, Firebug, Adblock. However, create file/folder didn’t work.

Right now, I’m testing the latest Safari without any plugins/modifications. It seems stable, the themes look better than in Firefox and create file/folder works perfectly. Sometimes, the session can not be initialized properly, as it seems: It is not possible to open files or folders and the server log contains “Error ‘SyntaxError: Unexpected end of input’ reading session”. Reloading Cloud9 usually helps. Safari is also nice because you can disable all header and footer elements, so that only the IDE is visible.

Note that Cloud9 does not allow the usage of space characters in file and folder names; this is independent of the Web browser.

Conclusion: Cloud9 is a very interesting and innovative project. The editor can already be used, if you work around some issues. At the moment, I can not recommend it to developers, who don’t like to experiment a little. It is well possible, that I picked a release from GitHub which contains more issues than normally or that I should have used an older Node.js version on the server side to avoid certain bugs or error messages.

Update: Changing the session handler from file to memory seems to fix the errors on first login and the “unexpected end of input” errors.

There are also pre-built .deb packages for Ubuntu Server 12.04 available for download now: