Wow, very cool. Lots of new players in this space: https://repl.it, https://glitch.me, and now GitLab (and I'd be surprised if GitHub doesn't follow in tow).
Cloud9's acquisition really left a big hole in the market. AFAIK there's still nothing out there that gives you a decent code editor (edit multiple files, have multiple tabs open, etc) that also gives you access to a Linux shell and ability to expose ports like Cloud9 did.
Personally I'm most optimistic for https://repl.it. They already have a core userbase in high school classrooms and have been adding a ton of support for serverside applications to make it more appealing outside of the classroom.
I have been keeping a list[0] of Awesome Online IDEs that you might be interested in. It's difficult to explain the differences between them (in one line of text) so you might have to try it out yourself.
You speak about Cloud9 as if it's not available anymore, and that may not have been your intention, but I'd like to make it clear: Cloud9 still exists, and you can still use it. It's just accessed through the AWS portal. If anything, it's even more of a value proposition today due to EC2 auto-shutdown saving money when you're not using it, and even more useful since it's running on your own VPS you can do whatever you want.
I'm not affiliated with them or Amazon in any way other than being a Cloud9/AWS customer. Just wanted to make sure everyone realized that AWS Cloud9 still works.
--edit: to clarify, you can still use Cloud9 through AWS... the old c9.io doesn't allow new signups and is in the process of shutting down, but the service is still available through Amazon.
I'm a c9.io user so my account is still free, but the impression I get from the Amazon acquisition is that you have to run it on an EC2 instance now. That requires some form of setup, doesn't it? And AWS is jargon all the way down, so the entry level is a lot higher than it was before.
Cloud9 is better than other AWS products in that you can click through one wizard that sets up your EC2 instance and provisions the Cloud9 software on it at the same time. The AWS interface is still a byzantine nightmare of a labyrinth, but just getting into Cloud9 can be saved with a bookmark once it's set up, and setting it up is just one wizard.
Agreed that it's a higher barrier of entry compared to how simple and slick the c9.io interface was.
Given the absolutely massive and technical amount of features that aws requires, it's not surprising (or even worthy of condemnation) that the interface can get somewhat convoluted. That said, I wonder if there is a stripped down version of that interface that would better accommodate a hypothetical cohort of extremely common use cases. I would bet there isnt, which is why the interface is so.... Deep.
There's a way to pin sections to the nav bar. So you can pin EC2, IAM, RDS, and VPC up there if you mainly use those 4 services.
It's a bit of a nightmare, as a support engineer, to get access requests for AWS services you've never heard of before. "Need access to AWS services: Cloud9, Memento, Athena, and Pandora Nexus." Each having a completely unique set of granular permissions to fumble over means most users get full permissions to the requested service until the auditors complain.
Administrators beware - this auto-set up creates wide open security groups and other misconfigurations. Some of these will show up on your Trusted Advisor report.
I think the main selling point is that you run the IDE on an EC2 which runs the same OS as your production environment (even Lambda) which allows you to directly compile server code in the IDE and it just works on your server.
I think it's a justifiable reaction, similar to the one after Microsoft's acquisition of GitHub. When an 800 pounds gorilla pays a bunch of cash to acquire a successful independent product, they do so either to quench a potential rival or to embrace and extend into that field and leverage their traditional offering. It makes sense from a business perspective, and they are the only ones capable of paying that much cash precisely because they can use the leverage.
For example, I myself wouldn't touch any service from Amazon with a ten foot pole. I acknowledge their role in starting the cloud revolution, but every business move of that company down to the design of the last web button is to set itself up as a monopoly in the fields it enters. They are the Apple of everything.
The interests of platform vendors and developers are not aligned.
Developers want their skills to be portable, in order to maximize the market for their labor. Platform vendors want you to stick with their offerings in order to maximize the value of the platform.
Even so, vendors can choose how high to dial up the pain they inflict on developers who dare to wander. Trying to develop websites that worked across multiple browsers a decade ago was incredibly painful because of Microsoft dragging its feet on standards compliance for IE. It was so bad that many developers from that era will bear a grudge towards Microsoft for the rest of their lives.
I always laugh bitterly when I hear from a vendor about how much they care about developers. If you really cared about developers you wouldn't make our lives so damn difficult. A huge chunk of my life has been lost to switching costs.
Probably the best remedy is to use developer-governed FOSS platforms whenever possible. The perverse incentives towards lockin don't go away entirely, but they are much less.
Digital Ocean is a traditional VPS provider who recently added a product that competes with AWS S3 and a product that is docker hosting as a service, which I hope is a valid alternative to EC2 autoscaling. They have a thing with gitlab to run your continuous integration pipeline. They have a few more things.
Heroku is a platform as a service. They provide an alternative to EC2 autoscaling. Also available is postgre, Kafka, redis, MongoDB, MySQL, and a few other things I rudely assumed aren't important enough to mention as a service.
Vultr and linode also offer block storage in addition to traditional VPSs.
Ovh has something called object storage.
Auth0 is willing to be your "user authentication as a service" which also includes something like AWS lambda.
Spotinst will help you get cheap "spot instances" for AWS/GCP/Azure. They also have an AWS lambda competitor and an object storage (I think this one is literally a JSON object storage for your FaaS, not actual files). Not much of a primary service provider.
I consider AWS, GCP, and Azure to be megacorporate monopolies and would prefer to support an underdog. But I'm not aware of any 4rth competitor that comes close to what those 3 actually are. The ones I mentioned probably average at 10% and maybe DO or heroku peaks at 40%.
I would love to hear more about cloud providers who are becoming more than just VPSs to take on AWS.
Right, I don't think anyone would recommend using Cloud9 as in c9.io, but AWS Cloud9 (https://aws.amazon.com/cloud9/) is still a perfectly valid option and does get updates.
For my usage, AWS Cloud9 has turned out far cheaper since the EC2 instance shuts down when I'm not using it. I can actually keep it within the free tier, which is a long way from $20/mo I was paying before.
But if you have anything on there that you want to keep, doesn’t it charge you something?
I would think the lowest grade machine is the equivalent of $5/Mo.
In cloud9 I like to have a node machine, a python machine, a rails machine and one to experiment on the front end, one for Data science. Basically I want to muck about on a clean machine.
Honestly I generally don't want to do my entire development on a Web IDE, but I do think it's very useful for a repo hosting site to have editing tools, as I often find myself wanting to fix something quick away from my setup.
Web IDEs in general are a great concept though, mostly because developers generally love having their editor customized the way they like it, and from there, having it in the cloud accessible from any computer is a huge win. That being said, it's hard to compete against the plugin model that Sublime/Atom/VSCode have.
I've heard this a lot since around 2012/13 when I first became aware of C9, and even gave it a go. Granted it was and is impressive as a technical achievement, but I really don't see the use case at all, other than as something to use as a quick fix embedded by a repo host.
My laptop is a tool I use every single day and have with me almost all of the time. I do not need internet connectivity to remain productive, which is a huge boon to me when travelling. An IDE that requires constant, reliable connectivity to work is therefore of little use to me.
Right, which is why I would love to see a browser that is both web-based and also offline. If either Sublime, VS Code or Atom get proper web-based support, that would be amazing. You can use your offline version on your computer, then jump to a web version when you're on a different computer, while still having all your settings and even extensions.
There's no reason an online hosted Web IDE can't work perfectly well in an offline mode too. Offline-capable Web apps are essentially a solved problem.
> Offline-capable Web apps are essentially a solved problem.
That may be true in theory. In practice "essentially" is an awfully long way from "absolutely", with offline support in many apps being either choppy or non-existent. Even the venerable Google Docs is something of a ####show when used offline, to the point where I gave up and went back to Office 365.
Web IDEs like ours (Codeanywhere) and C9 Have been around since before 2010...so we have been all around for a while. The Web IDE is a valid product and it has a use case (we have over 1.2M users), but not that all anticipated way back then.
Yeah in theory it could be amazing for very irregular contributors - e.g. I see a small problem in a project that I think I can fix but I don't want to download the whole thing, set up the device environment, run a server and whatever.
Kind of like how you can already edit files and make a pull request in the GitHub web interface, but you can also run the program and check it works!
Especially with plugins that can save your configuration to a server somewhere. Yeah, it takes longer than just booting up c9, but it's really not that much worse.
> Web IDEs in general are a great concept though, mostly because developers generally love having their editor customized the way they like it, and from there, having it in the cloud accessible from any computer is a huge win. That being said, it's hard to compete against the plugin model that Sublime/Atom/VSCode have.
I've tried Cloud9, and found that the plugin issue was a killer. If a Web-based IDE can't use an existing ecosystem of add-ons then the developers have to implement linters, debuggers etc. for every language, as well as things like build tool support and version control integration. For this reason, Cloud9 doesn't actually have the functionality of an IDE or a programmer text editor, and I could not imagine asking professional developers to adopt it as their primary environment: it is closer to Notepad++ than VS Code.
> I'd be surprised if GitHub doesn't follow in tow
Xray, GitHub's experimental possible Atom successor, seems to be designed to support this usecase, per https://github.com/atom/xray#web-compatibility . Seems like they want to be able to use the same code to power both a desktop and web IDE, and would support collaborative real-time editing in both.
Ok. One question that bothers me. Why repl.it and company permit internet access through their sandboxes? How is that not restricted? I can just annonymously run stuff and use them as a proxy. That is a big no-no in my book, but I must be missing something.
Absolutely. But is unexpected for me at least. But thinking of it, maybe you can log everything and if something bad happens you can blame the origin IP who ever that is. You can also ratelimit the outbound conections to avoid abuses etc. Is not like an open wifi where the client doesnt leave any trace at all. But in the shell account days IIRC you had to register with your name/email etc to use the service, that provided internet access. Maybe that didn't imply any safety either.
Here's an example: https://repl.it/repls/RustyInsecureEngines. I don't have any previous examples that I can find, as I don't usually use it while logged in. Essentially, I use it to help customers out when they're having issues integrating my API product. Real easy to create a repl and send them a link.
Didn't notice you were the founder, nice. I'll check out the link.
Semi-related:
I've been wanting to give my customers the ability to write/deploy their own webhook handlers, because that's a big roadblock for those that don't have any web/server experience.
Been thinking it'd be cool to embed a repl for that (with a "starter" handler per-language), to handle editing/deployment, but I haven't dug too much into that to see if it'd be possible.
Been meaning to reach out to your team but I keep putting it off. Like I said, love your platform and been fun watching you grow. :)
Repl.it is really cool. I love the ability to code in javascript without needing to run something locally or in a container. We do have a prototype of client evaluation in the Web IDE https://youtu.be/UFvJkD8N-Zk that does this.
> I'd be surprised if GitHub doesn't follow in tow
Considering Microsoft has VS Code, I think during the following years Atom will be phased out (or, in enterprise terms, "maintained by the community") in favor of that editor and they will focus on improving the Git aspect of the application, perhaps integrating the existing GitHub application into VS Code as a rich extension.
Cool, but I would appreciate it more if they fixed some relatively small (probably) and very annoying UX bugs:
- why can't we schedule manual jobs to be started when dependencies are finished?
- on merge request, Discussions tab, the way one chooses between a comment and discussion is simply awful (talking about a button with a dropdown) - I have yet to meet a developer who immediately understood the difference between the two and could use them as intended
- why can't I limit some type of jobs to the branch AND a tag? (for instance deploy_production should only happen on master and with a version tag)
- ...
It looks like they are neglecting development in the core of the product, which is just sad.
We are not neglecting the core of the product, we just have a lot of different priorities. We are hiring almost continuously to keep the development fast and healthy.
People have already created issues for the improvements you've listed. Upvote them to show your support or create new ones if these don't satisfy your needs:
Sorry, didn't see your comment till now... About the last point - yes, there is a ticket about it (too lazy to find it now ;).
The first ticket is a bit different. Starting depending jobs automatically would be great, but I would be satisfied if I could just click a button "Start this job when dependencies finish".
But anyway, those are all quite old tickets and I know from talking with other developers that I am not the only one having a sore point. And I don't see much improvement in the last year or so.
Don't get me wrong - I still love the product and would like to see it get even better.
Cloud9 still exists, Amazon just charges for it. My current favorite cloud ide is definitely azure notebooks. It's especially great for Python with the inclusion of a jupyter magic for pip installing dependencies!
> I'd be surprised if GitHub doesn't follow in tow
And since Microsoft now own Github this will most likely be VSCode in the browser just like azure already uses. A lot of people will be happy with that
So I have a question. I played around with Web IDE-s a few years ago and they felt really sluggish back then. If anyone is actively using one, how are they now, viable?
That’s fair. We’re thankful for the support from our investors and partners: but you’re right, the product should speak for itself. Maybe a little bit of an amateur move on my part. Feel free to check it out - we’re super receptive to feedback! You can comment here or email me directly (even if - hell, especially if - it’s to criticize me ;)), keith at stdlib dot com.
Cloud9's acquisition really left a big hole in the market. AFAIK there's still nothing out there that gives you a decent code editor (edit multiple files, have multiple tabs open, etc) that also gives you access to a Linux shell and ability to expose ports like Cloud9 did.
Personally I'm most optimistic for https://repl.it. They already have a core userbase in high school classrooms and have been adding a ton of support for serverside applications to make it more appealing outside of the classroom.