In the last two years I’ve been writing a lot about my hope for cloud integrated development environments (IDEs). Web-based IDEs seemed like the way to go. They are just like a cloud-based document creation in Drive. And cloud IDEs clearly have a wow factor for nearly anyone who tries them. But why have they not taken off in a developer’s day to day activities?
Tools like Cloud9, Codeenvy, the Orion Project and Nitrous Lite are in a large group of cloud IDE solutions. There are probably too many to name today, but at this point they each seem to have their own emphasis, like Orion for Java, and Cloud9 for PHP applications. These tools are built by small organizations who had the idea to change how developers work. But the big vision is making the IDE the hub of all development operations in organizations.
Around this time last year I started getting the sense that the expected world domination of cloud IDEs was not going to happen as quickly as I thought. But why should it not? The functionality that I thought would close the deal was:
- The team aspects of the cloud IDE are awesome: They bring real-time code review and testing into the modern pipeline. It also enables the wire up of 100 percent PaaS applications 10 times easier.
- Access anywhere from any device: An iPad, a friend’s laptop, web terminals at trade shows: it is the cliche cloud pitch that no matter where you go, it’s available — and exactly where you left off. Imagine you are on-call and you need to address a bug right now and push a hotfix. Web browser in hand, you can get the job done. You can work from the car instead of hanging a u-ey and trying to get back to your workstation. This has always been possible if you have the patience to deal with RDP and SSH sessions. But the cloud IDE is a way better option.
- Real-time code editing: The ability for more than one person to code in real-time and see what is going on sure is neat. But I’m wondering now if real-time coding is really effective. I’m not sure it is really useful in a typical environment; however, I have done some small projects where seeing my buddy work on a function while I worked on another was useful. It felt like being just one instrument in an awesome cover band. But it also had the added requirement of being on a Skype conversation at the same time.
There are a lot of small shops and one-off developers leveraging cloud IDEs on a personal or small project basis, but among larger teams it’s extremely rare. And when I sat down and actually talked to developers, I was surprised to find out they had tried one or another of the cloud IDEs out there — here is what I discovered as the limitations to my prediction coming true:
- Performance: I’m a hack, so latency in a video game might make me furious, but not in my IDE. However, if you have fingers that walk on water, even the slightest blip is noticeable and drives you nuts. After all, you are probably jacked in to some techno music, and now your rhythm is thrown off.
- Hoarding: It took me a while to realize that coding is actually a very personal thing, no matter where the end product ends up. A developer’s branch(es) of code is their baby. And until it is integration time, developers like to keep their code close. As well as their bugs. They do not want to be scrutinized. Which, in all honesty, is valid, as their peers love to find issues. Thus, the idea of having projects where your team can see your code might not be so attractive. I found a similar problem with error monitoring tools that put all your exceptions up for everyone to see.
- Nerds: If you are a coder, then there is an assumption that at some level you are a nerd. And there is a thing in the developer/nerd culture where retro tech is super cool. You get more bragging rights the faster you are in a terminal window and if you can load Zelda to your Windows 10 machine. So it is not a big surprise that developers cherish their decked out, super simple and fast text editors. Bad coders like me need all the help we get, so syntax highlighting and code complete are a godsend.
What the vendors are seeing in the space is a huge number of trial users who play around for a few hours and bail. Or those who stick with the freemium forever. One private project? No problem. I will just clone from Git, delete and repeat. And then you have those one to three developer teams who get one or two licenses and use the hell out of it.
I think it is still too early. I think what needs to happen is market education: a transformation in teams to establish that development transparency is OK, it helps everyone and really make team coding a thing. Also for organizations to see that the cloud IDE could be the pivot point for entire development shops, processes, people and tools. Realizing it does not just help individual developers, it helps the entire pipeline.
So far my favorite cloud IDE is Cloud9, with another favorite found embedded in Codecademy to teach me Ruby. For every new project I do, I will use one. But it is still too early to really tell how they’ll do. By the time they finally come around we might see a second wave of vendors with slightly new twists. My future predictions on new technology will be a little bit more reserved, but the development world is changing in a big way, and I’m still sure the cloud IDE will be part of it.
Feature image via Flickr Creative Commons.