Standard Koding layout.

First of the two posts I mentioned last time: a review of Koding, the cloud service + Chrome app.

What is it?

The short answer is that it’s an IDE.

But that really doesn’t do this thing justice at all. You can’t actually do anything offline, really, besides fiddle with some very basic settings. That’s because you don’t work on files locally, you spin up a VM (hosted on Amazon) and the IDE connects directly to it for file editing, terminal, etc. All VMs also come with a public URL for you to plug into any browser to run your app if it has a web interface.

Who is it for?

Basically, web developers.

There’s no GUI for the VM, only SSH and file access, so you can only really use it for developing command-line apps and web stuff. The VMs run a slightly customised Ubuntu Linux and the free plan gives you 1GB RAM, a single-core CPU, and 3GB of storage. Again, not really the oomph you need for making real computer applications.

On the other hand it does come with support for git, Docker, and Node.js right out of the box, you get sudo access and can install new things, and boots up with apache running. PHP, Python, Ruby, and Go are just some of the languages you can work in without having to do any extra configuration. Take one of the paid plans and as well as improved specs you can even leave your VM running when you haven’t got Koding open, great for running your own website while still developing it or leaving your project running for extended periods of time – probably for testing.

How does it feel?

Very nice. It looks good, runs smoothly, easy to figure out and navigate, and a nice selection of themes built-in.

The standard layout is functional and does well to show new users how powerful a tool it can become once you’ve mastered it, but I find it a bit rigid for my tastes. I can’t figure out how to auto-hide the folder tree sidebar or the bottom panel, and that results in a lot of wasted space and an awkward editor window unless you have a very large screen. The sidebars can be minimised, but only the VM/Chat sidebar will auto-hide and bottom panel can’t even be minimised. The developers could do with taking a look at JetBrains for this, as I was very pleased with how flexible PhpStorm’s interface was when I played with it.

On the topic of PhpStorm, Koding doesn’t seem to have the really powerful features like refactoring, and I haven’t tried it with a large project yet to see if it does custom function auto-complete. That said, such things aren’t a big deal for me as I mainly use Sublime Text anyway.

It does have some niceties such as built-in emmet support and separating the themes in the drop-down list between Light and Dark (if you use Light themes please look for a new career, the programming world doesn’t need you) and Terminal customisation. Also the fact that when you log into Koding on the website and the Chrome app, your settings and open files will be in sync – even your Terminal is synced and you can watch it change on one as you type in the other.

Verdict

I’m honestly going to try using this as my main editor for all my personal projects from now on. As long as I’m a programmer (until I win the lottery) I doubt I’ll ever truly escape the warm, comfortable embrace of Sublime Text, but there are just some things Sublime can’t do or can’t do well. And, let’s face it, Sublime is not an IDE, it’s a text editor with a shedload of available plugins. Koding is also open source, so anyone can contribute to improve it, but being a web application rather than only a Chrome app means plugins are unlikely to ever be supported.