I missed the announcement a few weeks ago: Cloud9 got scooped up by Amazon in mid-july. I used Cloud9 on and off over the past two years, primarily as a free service. While it has its definite limits, it’s an amazing piece of technology. In the realm of “OMG, look what you can do in a browser now!”, a functional IDE is as far out there as FPS video games. The service uses all the advances in the browser/javascript engine and some impressive coordination with container based technology to make an excellent IDE experience in your browser. Then they step beyond with browser technology by providing the ability to have more than one person working on the same files in the IDE at the same time. Just like two people can work in a Google Doc together, you can collaborate on code in the same fashion.
In my experiments, I was highly focused on javascript and some python – strong spots for Cloud9. As IDEs went it was decent but not as full powered as Visual Studio, XCode, or Eclipse. More like a beefed up text editor – like Atom – but really several steps beyond that. Its a little hard to characterize.
The reason is caught my eye was two fold:
- I could collaborate with another remote person on code in a mechanism like pair programming.
- My development environment was no longer pinned to my laptop, and even better – was available on any device where I sat down.
I had really achieved the second bullet some time before, but by utilizing remote terminals, linux shells and vim enhancements, and having tooling and ways to set up a VM or container to what I wanted. I maintained the equivalent of a Vagrant file for creating an openstack instance with exactly my development environment for ages. But the downside was the loss of the graphical environment – most of which I didn’t mourn too much, but there’s a benefit to an effective UI.
Cloud9 leveraged github accounts (today’s defacto default “developer identity”) to connect, and offered a fairly simple pricing scheme if you were applying a team to it. CodeEnvy appears to be doing something similiar, but with the usual “enterprise spin” and greater integrations into enterprise mechanisms. I personally enjoyed using Coda for IOS when I was seeing what options worked best for development while on an iPad Pro with a keyboard. Coda, along with Prompt, gave me great access to any cloud resources, with the speed/responsiveness benefit of a truly local editor.
The IDE setup for C9 is still available. In fact – you can see my experimental workspace with the core libraries from the RackHD project, last updated about 8 months ago. The underlying systems support way more than javascript these days – Ruby, Python, PHP, C++ – really, anything you can develop on Linux. Their IDE language tooling was focused on javascript last I played with it (8+ months ago), with burgeoning support for other languages. I haven’t actively used it recently to assess what’s useful today, but likely even more.
A few of my coworkers have taken to setting up preconfigured containers for their development environment, leveraging docker to make their development environment tooling consistent while still using local editors to manipulate files. They’re doing all their development in Go. There’s a tremendous number of positive things to say about Go, but how to set up and use its tooling across different projects and dependencies isn’t among them. In that scenario, a Docker based tooling environment was a joy. Wish they’d ditch the Make files though, I’ve always hated them – regardless of how effective they are.
The big question in my head is “What will Amazon do with Cloud9”? There is some supposition that Amazon used it to pull focus away from Google, but Cloud9 also had ties/integrations into Salesforce and Heroku. I hope it wasn’t a situation of “we’re unsustainable, where the hell can we go to pay out our creditors” fire sale. Amazon has toyed for ages with how to best apply reasonable and effective UIs (and UX in general) over their services. They suck at it, to be honest. Cryptic, arcane, but if you know it and don’t mind a lot of confusion and cheat sheets, you can make it work. Not unlike Windows 3.1 back in the day.
Anyway, this hopefully this marks a point of infusion of UI/UX sanity into AWS service efforts. They need it.