Some arguments for moving to the cloud just don’t sound very convincing, as far as I’m concerned. Take this advertorial, for example. To me, the “problems” with desktop development cited in the piece are rather overstated.
Yeah, it’s true that setting up a new machine for a project may take a few hours. And yeah, the same process is much quicker in a cloud IDE. However, this step only needs to be done once at the start of the project. At the end of the day, the impact of this on the overall productivity of a developer is quite negligible. Sure, it’s a nice bonus to be up and running that quickly, but by itself this is hardly a compelling reason to move to a cloud IDE.
As far as remote accessibility from mobile devices, this must be a joke. It is impossible to code from a smartphone, or even from a tablet. Those are great for consuming web content and posting occasional comments, but absolutely horrid for actively editing large amounts of text (i.e. finding the right segments of code, selecting, deleting, copying, pasting, etc.). This is completely unviable in my opinion.
With regards to collaboration, I am not convinced either. I guess there could exist interesting and viable collaboration scenarios in a cloud IDE, but from experience of editing documents together in Google Drive, I highly doubt it. I don’t see why people couldn’t use a good IDE together with some kind of project chat application. And no, pair programming doesn’t mean two people editing the same chunk of code at the same time. So I don’t see this feature as the answer to an acute unmet need.
I spent some time playing with codeenvy.com, and have a couple of observations. I am very excited about node.js, which is currently not very well supported by it – meaning that while you can code in JS, and deploy to OpenShift, but coding assistance is not functioning, and neither is the debugger. So, compared to conventional IDEs, e.g. one from JetBrains, this is very much last century.
There are, of course, other reservations, like no support for multi-screen development, the inability to work offline, security, etc.
On balance, I think that a good, viable cloud IDE should feature the following: