I used Cloud9 (pre-Amazon acquisition) for teaching high schoolers the basics of programming. It was super easy to set up and use. It really let me, as the teacher, focus on teaching syntax and principals and less on 'toolchain config', which is helpful for newbies right out of the box.
I haven't used this new Amazon Cloud9 offering, but from the initial impression from the blog post, they've traded in the easy of use that Cloud9 once had for a deeper integration into the AWS ecosystem. The screenshots I saw were not something I'd want a greenhorn to have to walkthrough.
I'm not sure what future I expected when Amazon purchased Cloud9, but I mourn the potential loss of an awesome cloud based IDE that beginners could easily pickup (my mind can be swayed once I give it a try though).
Slightly contrarian opinion, but I think this will be great for bootcamps. AWS skills are starting to be sort of a minimum requirement to getting hired and familiarity with the platform early will pay huge dividends in their careers.
I even think this benefits high schoolers and college students. If AWS gives credits to schools who implement Cloud9 in their curriculums, they're going to get a big win here.
Hi Brock,
At Codeanywhere we have a very simple setup for educational uses, we can even set up a containers especially for you institution. If you are interested please send me an email at ivan at codeanywhere. Best!
I'm also a long time Cloud9 user. I agree that with this AWS changeup, it will suck and be awful that to share a workspace with other users, it will [probably] require them to also be on a AWS account.
I teach coding courses online...I've published dozens of courses teaching many different programming languages to thousands of students. In every single course, I recommend and use c9.io as the dev environment.
In one stupid swoop, Amazon has made all my courses obsolete.
Now people watching my videos can't create an account on C9, they have to sign up for aws and use the completely different interface. People can no longer follow along with the thousands of videos I've created.
I get that you bought C9 and want to integrate it. But why close down c9.io to new accounts? Why can't they both exist?
With all due respect, it kind of sounds like you put all of your eggs in one basket. Even if c9 wasn't bought, it's a bit short sighted to rely so heavily on a single service that has plenty of good alternatives.
Sorry about the lost videos, but that was a indeed a helpful comment. Any time you use any dependency, it's important to be aware of how it can change. Locking down a specific version, if possible, is generally a good route to take. Software in general, and especially SAAS, tends to change frequently, so building your project in an manner that safely handles changes is important.
The pitfalls of dependencies is something a lot of courses tend to ignore completely. Getting bit by dependency issues tends to be a hard-learned lesson, just like this one. Perhaps consider mentioning it in future classes.
I think it's a bit mean to go around calling them stupid, because you chose to make your course dependent on them. They (presumably) didn't promise you anything and don't owe you anything.
It's unfortunate that it makes your videos out of date, however you chose to depend on cloud9. You could have used any other dozen non cloud based editors out there.
Definitely a lesson to everyone to be cognizant of their dependencies.
Sounds like you didn't anticipate they would ever change the user experience. Perhaps you can slice out ux portions of video separate from portions teaching programming concepts. Then you can build a better product that is resilient to change. Not all is lost. It's just a lesson to be learned from.
I hope folks would forgive this plug but I think we can help: if you're looking for an alternative check out https://repl.it We have a lot of folks using it for online courses and YouTube tutorials.
We're committed to being open and available to anyone who wants to use the product. We're also very passionate about education and have a product specifically targeted at educators: https://repl.it/classrooms
We're currently not as feature complete IDE as C9 is but the aim is to get there without complicating the product too much. We want to keep it so that under 2 seconds anyone can spin up an environment. We also want to keep it simple and uncluttered. However, we want to expose a lot of the power that we already built the infrastructure for. Big updates to that end coming soon.
I was (and still am) a huge fan of repl.it, and I used it heavily while I was teaching myself Python/Ruby a few years ago. Being able to type code, in small chunks, and test anything that didn't work as expected is a massive help when picking up a new language, for me anyway.
I stopped using it when I switched jobs and our proxy was breaking connections to the site, but it looks like it has come a long way since then.
Obviously your situation is lamentable and frustrating however with frustration always comes an opportunity to improve. I would argue that there are a number of useful things to be learned.
* Instructions on how to do particular tasks in a gui that may change drastically in the next version are of limited and transitory value. Investing heavily in this is probably a poor use of your time.
* Depend on platforms you control. People whose relationship to you is decidedly asymmetrical have little reason to concern themselves with your needs. At minimum a platform ought to be open source and self hosting ought to be a realistic option for you.
* You might want to consider a virtual machine configured with a particular environment as a better way to present learners with a setup environment. While installing virtualbox will take a few extra minutes anyone to whom go to a website, download the installer and click next is too high a bar might have too little invested in the matter.
* Text is a better medium to teach compared to video. Video requires a lot more bandwidth, is less portable especially to anyone who might want to view it offline or in areas with bad or inconsistent connectivity, requires more time to produce, is harder to update, is harder to bookmark, is harder to share, is harder for the learner to refer to later.
Compare cutting and pasting a bit of text into a note, or referring to a bookmark vs finding the exact spot in a video where you mentioned a particular fact.
Your students will eventually need to learn how to work with a cloud provider.
Also, the new console is fairly straight-forward, so not that different from the old c9.io console in terms of UI flow.
Welcome to technology? If you decide to dabble in this industry then you MUST assume what you do will be outdated in a week - Bitcoin is changing on an HOURLY basis.
It moves fast, very fast, faster than any other industry on the planet, technology is extremely new, and as such, will change frequently.
It's unfortunate. People behind c9.io should have thought about existing users etc. AWS did, what they do for all.
-=-=
Do you want to modify your offering to include free AWS trial offer (i think, AWS offer 750hrs of ec2 something) OR do monetization of your courses and u foot the bill of AWS.
I feel for you. I think it was reasonable to use and support such a great service as Cloud9 is/was.
Amazon doesn't have the most pretty interface in the world and it is unfortunate that they decided not to provide more seamless experience for existing users.
Curious, can you provide link to youtube where you, I assume, store your videos.
Hi RawData, As the only only real independant Cloud IDE vendor we here at Codeanywhere.com would love to help you out any way we can! Please do let know :)
Probably because he/she has tons of videos that walk through setting it up on c9.io's old site.
I'm also a course creator (but I don't use cloud9). A change like this is a really big deal for someone in his/her shoes. Having to re-record all of those videos is non-trivial, and doing it with the self hosted version would still require new videos to be made.
I'm not saying it isn't a hassle. But that is a better solution then rerecording everything. If you come up with a self hosted solution for c9, I would hope that the courses have a single video for setting up cloud9 which would be better then rerecording everything.
I feel for them, but it is the risk associated with using any sort of product you don't directly manage yourself.
I've dabbled with c9 before Amazon ingested them. It's part of my experiment to see if I can use ChromeOS for my home machine, and so far it's going great. At work I have a 64GB machine with 3 monitors and Ergodox, but for home I don't need a lot.
I've been able to get ChromeOS to do OpenVPN and SSH, which cover 90% of work responsibilities from home. Otherwise, I'm mostly in a browser, or SSHing to my personal EC2 box. I don't get much programming time lately, but that is the remainder of it, largely on github. So c9 is something I need to investigate more.
So far ChromeOS is working great, and is far easier to maintain than Linux or Windows. It is less capable in some ways, but I don't really need those ways at home.
There are also a few docker based installation options for self-hosting too. I created one as well to run the container as my local user to not muck with file permissions https://github.com/msumpter/docker-cloud9-ide
It's come a long way. I was aware of Codenvy years ago and recently became aware that they seem to have joined the Eclipse Che effort.
The main thing missing from Che, for me, was a lot of nice, easy plugins to deploy to cloud services. You can run your app in the container very easily, but it would be nice to be able to push to, say, Heroku right from the IDE.
Apparently Red Hat have acquired Codenvy now, so it will be interesting to see if they add some integration for OpenShift (their own repackaged Kubernetes).
I'm the project lead for Che and can confirm that Red Hat will be contributing changes that will allow Che to run on OpenShift, but it will also roll in most of the enterprise features that were previously only available in the proprietary licensed Codenvy product. https://www.eclipse.org/che/
We're just starting to analyze Che for our coding school. Wouldn't all this just be possible with the Terminal? I'm not saying plugins aren't good, just trying to see if the terminal is a full featured one that would support something like, for example, installing the heroku toolbelt.
I haven't even started with a real test, just reading about it, so sorry for my lack of research, I'm just reading through the features (https://www.eclipse.org/che/features/) and saw the terminal, which is fundamental for us.
> It's come a long way. I was aware of Codenvy years ago and recently became aware that they seem to have joined the Eclipse Che effort.
As I understand, Codenvy didn't “join” the Eclipse Che effort, Eclipse Che started with code that Codenvy extracted from their proprietary product and open sourced, and most of the Che developers were and are Codenvy (now RedHat) employees.
I really wish Amazon would choose more intuitive names for their AWS products instead of trying to be clever especially given they must have around 100 products now.
AWS Cloud IDE or AWS IDE (cloud seems redundant) would give you a good idea what this is without having to click the link for example.
Recently we've had AWS Lightsail, Fargate, Greengrass and Sagemaker which all give you zero hint at what they are unless you read more plus they're hard to remember. Even EC2, RDS and S3 should have been given better names.
Cloud9 was the name of the IDE before AWS bought it in 2016[1]. They just wrapped it under the AWS umbrella now with tight AWS integration/support out of the box.
You completely undermined your whole point with your last sentence.
I get that Lightsail isn't intuitive, but what could be more simpler or easier to comprehend than Relational Database Service or Simple Storage Service?
> I get that Lightsail isn't intuitive, but what could be more simpler or easier to comprehend than Relational Database Service or Simple Storage Service?
Nobody calls those products by their expanded names though. Why not just AWS Storage or AWS Database?
Google for example has Google Cloud Storage and Google Cloud SQL. I get that it becomes trickier when you've got overlapping products but you can't even guess the domain of AWS products from the name they're so obtuse.
They all sound like great code names for a project in development, but doesn't amazon have a marketing team? A name that means something would be great. Sagemaker? I don't want to make sage. I just moved away from sage.
I've used c9.io for years. You're trading some nice IDE features you'll get with VSCode or others for convenience, but not as many as you'd think.
Although the interface is rather out-dated, it's a solid IDE and I thoroughly enjoy being able to just walk away from my code and pick it up anywhere on anything.
With EC2 integration, it may cut out what I had been doing, which was turn up a digital ocean droplet and use the SSH workspace in c9.io and boom, I had a full VM to dev on that anyone can reach anywhere.
I've been using c9 everytime I wanted to quickly prototype stuff (and not setup the toolchain) and destroy workspaces when I'm done. I love this integration with AWS.
Now I can just get a nice Chromebook and not necessarily spend 1000s on a Macbook (not saying AWS Cloud9 is there yet as an editor to compare against VS Code/Sublime etc.) but it's definitely awesome and I hope one day it'll get there.
I've tried to learn vim multiple times (mainly so i could have a cheap vm + mosh to use when i'm around). But I've yet to get used to vim coming from a sublime/vscode/intellij background. (I can use vim to do the mundane stuff, but developing stuff solely on vim appears slightly more difficult)
I come from Vim -> Atom -> VSCode -> Cloud9, and have become a deep C9 loyalist. I love the window management, terminal integration, speed, and ease of configurability... No other editor I've used even comes close. And that's to say nothing of its being cloud-based
It's never lead to problems for me. However, some of my coworkers decided not to use c9 due to latency (which has never bothered me for some reason.)
I use the ssh-workspace feature and do my work in an EC2 instance. I've also been playing around with running a local c9 build (https://github.com/c9/core). Not sure that their license would make this viable for commercial work, but ofc there's no latency / connection requirement if you're running it locally.
Off-topic, you could even run c9 locally in a Chromebook if you were using Crouton -- and without having to install another desktop environment. I do most of my work on a desktop, but if I ever get together a mobile development environment this may be what I do.
Not sure why people claim they lost everything, on the bottom of the page it says:
Things to Know
There are no additional charges for this service beyond the underlying compute and storage.
c9.io continues to run for existing users. You can continue to use all the features of c9.io and add new team members if you have a team account. In the future, we will provide tools for easy migration of your c9.io workspaces to AWS Cloud9.
AWS Cloud9 is available in the US West (Oregon), US East (Ohio), US East (N.Virginia), EU (Ireland), and Asia Pacific (Singapore) regions.
I can’t wait to see what you build with AWS Cloud9!
Is it though? Eventually the ec2 costs will outstrip your savings on the macbook. $1500 a year ish for a reserved m4.large w/ 2 vCPU and 8G ram which seems about comparable. That math doesn't work unless you're buying a new macbook every 2 years.
edit: This bit is interesting though:
If you’re running in AWS the auto-hibernate feature will stop your instance shortly after you stop using your IDE. This can be a huge cost savings over running a more permanent developer desktop.
If you use this for your day job (and you don't maintain crazy hours...), you'll be running ~180 hours per month on average. That's $17.28/mo or $207.36/yr for an m5.large. You can save a few bucks with a t2.large, but I think < $20/mo is something most businesses can cover (again, assuming this is for your day job).
You can also manually hibernate your instance once you are done with the work for the day. I also suspect you won't need anything like a m4.large for most dev environments but i see that you wanted some equivalent to a macbook pro, so that makes sense.
This assumes you do no work outside of that slim vertical, experimenting with different languages for others sorts of projects, etc.
But sure, if that is your life, or your very strict work life, I guess it can work fine. Would never be able to work for me since I tinker with so much random shit.
Remote gaming just still isn't there yet imo. Anything multiplayer has enough latency/unreliability issues as it is. Even gaming over WiFi as opposed to a wired connections will create all kinds of problems. I wouldn't want to introduce yet another variable into that.
Not surprising to see the common complaints from learn-to-code authors about disrupting their courseware. We heard this a lot at Nitrous.io and struggled with the importance of the beginner market to our business.
When considering Nitrous as a viable business, I'd talk a lot about the "developer sophistication spectrum" and the challenges of one single product or service attempting to meet the needs of a lot of different types of developers.
On the newbie side of the spectrum, serving the hot "learn to code" market means scaling your potential market size by orders of magnitude. There is some product-market fit here as newbies don't really have substitutes ("what's a development environment?" they'd often remark), but the SaaS economics of selling tooling to newbies was atrocious.
Selling to learn-to-code means you're dealing with an incredibly fickle audience where 95% abandon their plans to become a professional programmer within a few months. The other ~5% who become full-time programmers are dedicated enough to their craft to learn about their OS and their options to customize the local development workflow. So they naturally also churn.
(I don't have any knowledge of the market, but I'd imagine courseware providers attempt to charge 100% up-front to account for the extremely high churn. At least, that's how I'd charge.)
So basically all the cloud IDEs are getting hundreds of thousands of signups from a lot of newbies saying "We love [Nitrous, Cloud9, Koding, etc...]!" but not wanting to pay for the infrastructure and churning at unsustainable rates.
On the less sophisticated side of the spectrum, I think there is potential for a viable cloud IDE business, but I think it needs to be closely coupled with a content platform like Treehouse, Coursera or CodeAcademy. I haven't looked at any of them recently, but I wouldn't be surprised if they have in-house teams working to improve the editor experience and provide stateful experiences with dedicated cloud compute & storage. We had a tightly coupled integration with the Flatiron School and it was a pretty solid experience but just wasn't a big enough business for us to scale. So in reality these businesses really just look like a content / courseware business that has a really great cloud development experience. But it's clearly built for people learning to code and they're paying for the courseware, not for the editor.
As you move up the sophistication spectrum, developers begin to experience "cognitive dissonance" when considering how much their time is really worth. That is, when they know how to setup, configure or troubleshoot something themselves, they underestimate the time they spend every month performing those tasks. We spent a ton of time doing deep customer research with excellent engineering teams at Airbnb, LinkedIn, Shopify, etc... You'd be extremely surprised at just how much time it takes for the average developer at a top-tier engineering org -- in some cases, new developers took 3-4 weeks to setup their dev environment. But after setting up a new environment the other dev ops problems start to spider into a web of complex and proprietary issues that are difficult to create compelling marketing / sales presentations. It's like - everyone knows it sucks and it's broken, but nobody quite knows the solution. Which is why a lot of the solutions emerge from open source projects that solve specific issues organically and then expand into powerful platforms that cohesively solve a set of interesting ops problems (e.g. Hashicorp).
This is an oversimplification of the complexities of the developer market - as there is also a spectrum of sophistication within the professional developer market itself. The "intermediate" professional developer tends to be the best market fit right now for cloud development / IDEs, as they often are self-taught and know how to code, but are often not as versed in debugging low-level issues, but usually are more price sensitive to their more sophisticated counterparts (who don't want to use the service in the first place).
In any case, I remember reading a HN comment about the nitrous.io shutdown [1] and feeling bad about not opening up more so I suppose this will provide some color. People loved our service and we honestly loved building it, but business is hard and we weren't able to uncover the right strategic focus. Hopefully Coursera, Treehouse, CodeAcademy, etc... will continue to fill in the gaps for the beginner market - but since those will be tightly coupled with their courseware, it's going to be a difficult spot to be in for the independent educator who is attempting to monetize their own material.
There's a lot of really interesting things in this post, but I'm only going to pick up one point:
"As you move up the sophistication spectrum, developers begin to experience "cognitive dissonance" when considering how much their time is really worth."
I am pretty sure that one of the reasons why cloud IDEs have struggled is that plenty of professional developers consider that learning an IDE or editor is a time investment that pays returns over a long period of time. On the extreme end of the scale, I still get near-daily use from the Vim knowledge that I picked up well over a decade ago. Investing personal time learning a cloud IDE may not be such a good investment, because those skills can be invalidated at any time.
There's definitely a lot of potential innovation that can be done in developer collaboration and environment setup, but I don't think that a proprietary system will get the widespread adoption needed to move the industry forward.
It would be amazing if this integrated with EKS to easily create remote k8s clusters for development. I couldn't tell from this press release if that's a possibility though.
Q: I have tried starting up two IDE sessions - neither was successful. The IDE window shows a spinning Connecting graphic and never finishes initializing - waited 20 minutes both times. Cloud9 growing pains?
I'd be interested to see if google responds to this with something for Firebase and GCE. The browser based editor for Google Apps Script isn't too bad, so they might be able to expand on that.
The only issue, from my understanding, is the arrow keys not working. Ace editor just pushed an update that fixes the issue, though it's not yet integrated into C9.
I use a note 8 with a Dex dock, and I'm kinda dying for full mobile support on C9.
I've been using c9.io for about 6 months now as my sole IDE for my own projects (I'm 100% node/react/etc). It's been fantastic. I really wish they added some breakpoints and mobile support, because coding on the go isn't amazing, but I can see the potential.
I haven't used this new Amazon Cloud9 offering, but from the initial impression from the blog post, they've traded in the easy of use that Cloud9 once had for a deeper integration into the AWS ecosystem. The screenshots I saw were not something I'd want a greenhorn to have to walkthrough.
I'm not sure what future I expected when Amazon purchased Cloud9, but I mourn the potential loss of an awesome cloud based IDE that beginners could easily pickup (my mind can be swayed once I give it a try though).