Why are people building these verticals? What happened to Unix philosophy? Build tools that do simple things, and make composition do the work for you.
I don't see why anyone needs an online IDE. Much less one interfaced with Gitlab. What next, invent a new cpu too?
Just because it's unified at the presentation layer doesn't mean its design doesn't follow the Unix philosophy. The problem is that even if the web was composable (`gitlab.com | jenkins.com | tee cloud.google.com aws.amazon.com`), it probably wouldn't be accessible to most users.
Unix philosophy is great for system builders, but system users want the car, not the tools and parts.
This kind of ‘user centric’ justification is rubbish and we all know it.
What this is, pure and simpe, is ‘throw it at a wall and see what sticks’.
Maybe people will like it and they’ll run with it, or maybe people will hate it and it’ll get binned.
Fair enough; but its got zippo to do with user quality of life or what users actually want; its just easier to justify value by adding features than fixing existing ones.
‘Speculative development’
Bitbucket does this all the time as well; its super annoying.
If you want to improve user quality of life, you know what you need to do?
People do want this. If you asked me what I want, in terms of software, a great cloud IDE is near the top of my list.
I didn’t want this before I had kids, though. But now that I do, I greatly value being able to stop work suddenly, even in the middle of a line of code, and then resume what I was doing sometime in the future, somewhere else and on a different device.
So: different people want different things, and the things people want change over time, too.
You might not want a cloud IDE, but based on the many projects and companies in this space, and the many millions of dollars being spent on it, I’m quite sure I am not alone in wanting to be able to code in the cloud.
Years ago, it was equally implausible to do your word-processing and spreadsheets in the cloud. Now it’s routine.
Well, I can't say for sure if if would benefit you, but the one thing I found useful about it is that it makes it easy to do code reviews without checking out the whole project.
At work we use GitHub, so to do a code review I have to check out the working branch or PR that I am reviewing, and review it in my local IDE/editor software. I have to do that because the web UI that shows the PR diff generally isn't sufficient to really review the code. I want to quickly jump to related files to follow the code path, keep the subset of files I'm referring to open in new tabs, get a project-level view of how the pieces fit together, and maybe step through some of the code in the debugger.
Now, the first two are possible just using a web UI but it's very unlike a normal code editing experience. Using the GitLab IDE interface makes it easier to do the first three of those things. It still cannot actually run/debug a program, but I presume that their goal is to someday enable that kind of thing, at least for some kinds of projects.
Today, all major git repo hosting services have rudimentary web-based single-file text editors — seems to me that adding IDE-like multi-file project-level editors is a pretty straightforward and logical extension of that.
So yeah, as a GitLab user, I want this. As a GitHub user, I want them to copy this idea and implement something similar. And if I were a BitBucket user...
Users do want this. The Cloud9 Web IDE was popular enough that amazon acquired it and now it's part of their offerings in the AWS family. There is also CodeAnywhere that has paying users.
Less setup involved especially if you are dealing with a language you don't use everyday. Also nice to build reusable small components in an isolated environment.
I use codepen everyday for compiling different frontend web components. Its not an IDE, but it has IDE-like features. This way I could build reusable code snippets. Then I port those into my actual project. I wish something like this existed for backend languages, repl.it was the closest thing I found. Although stackblitz is nice too.
What I look for in an web IDE is a simple system that lets me debug small singular components. If they integrated something like pythontutor.com or loupe.com, visual animations for debugging, that would be really nice. A webapp has more potential for these applications than an electron-based app.
Next I always end up with build errors. I'm too lazy to use docker / run VMs so having someone do this for me is a bonus.
Also, online IDE's are used in classroom settings often. I used cloud9 a few times for this reason and its very helpful, minus the fact the git-integration tools the last time I use it weren't there.
To put it in short, I look for webtools that would let me build micro environments to test a small suite of code. Ideally with nice debugging tools. And an easy way to reference those code snippets later (imagine evernote's tagging structure applied to a web IDE).
Web IDE's won't compile as fast as a native desktop application however.
Lots of companies do their development work on per-developer remote VMs, especially for resource-intensive applications that need nontrivial configuration-management setup for databases, message queues, etc. that they depend on.
Currently your choices are emacs/vim over SSH or sync from your local machine (where the code intelligence / debugging integration probably doesn't work as desired).
A web IDE allows an arbitrarily powerful cloud instance to do the heavy lifting of build/test/code intelligence while the developer still gets a full-featured GUI IDE. Especially since VS Code and Atom are Electron apps, it's a natural step to use them to edit remote files. Better than VNC, anyway.
You can already have an arbitrarily-powerful instance do the heavy lifting in these cases. Cloud-based instance, if you want to do it on someone else's computer. The first time I've seen it (not used it, though), Sun workstations were still a thing. There are various tools to do distributed compilation with various degrees of smartness, though I'm seeing them in action less and less often because, quite frankly, Moore's law has made them more and more unnecessary in the last 7-10 years.
VNC isn't the right way to go in these cases. If a company is asking its developers to do remote work over VNC, and they aren't a three-person company struggling with financial and administrative resources, what they need is an IT manager and/or a build system engineer, not a web IDE. We already have plenty of IDEs that can't hold a candle to Visual Studio, the umpteenth one BUT ON THE WEB is pretty much the last thing we need.
Conversely, if all you need is a web IDE that abstracts individual tools away, why bother dealing with them? Setting up and maintaining a development environment environment is at best annoying and at worst daunting, especially if you're a beginner.
Why write and commit locally and then push to an online repository separately? Nice to have it all on the web especially if it's a big system and CI tests will run quicker in a cloud environment.
If you're not a software engineer, cloning, editing, staging, committing, pushing, creating a merge request is a lot to learn. I believe we can make this much easier, and that's the first problem we hope to solve with the Web IDE.
Ironically, once we introduced staging into the Web IDE, usability went down significantly (this is referenced in the blog post), as the core users were people that weren't comfortable with local editing. So we're addressing that next.
I don't see why anyone needs an online IDE. Much less one interfaced with Gitlab. What next, invent a new cpu too?