
GitLab Web IDE - Shinkirou
https://about.gitlab.com/2018/06/15/introducing-gitlab-s-integrated-development-environment/
======
zachlatta
Wow, very cool. Lots of new players in this space:
[https://repl.it](https://repl.it), [https://glitch.me](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](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.

~~~
ehsankia
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.

~~~
bartread
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.

~~~
inimino
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.

~~~
bartread
> 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.

~~~
inimino
True, but Google Docs is old and Google doesn't seem to care about offline, so
I would blame Google not the tech for that one.

------
abc_lisper
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?

~~~
yoz-y
Unix philosophy does not work on the web because even with all the talk about
micro services, you can not easily chain or combine web tools together.

~~~
abc_lisper
But why write code on the web? If you are typing you are already on a computer

~~~
closeparen
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.

~~~
alxlaz
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.

------
pomber
> We are planning for an even better experience in the future: one where we
> can integrate and support more advanced features, such as a live environment
> to test your code against

This. Please.

I'm playing with a similar concept for GitHub:
[https://twitter.com/pomber/status/1003416752146075648](https://twitter.com/pomber/status/1003416752146075648)

~~~
tootie
One day, I can toss out all my expensive hardware and do my job with a hi-res
Chromebook and steady wifi.

~~~
VLM
The future being unevenly distributed, I've been doing that for a long time
privately, not publicly, via Apache Guacamole (with LDAP integration for
configuring) as my front end to some virtual dev boxes.

I've never run into the slightest issue between chromebook html5 browser and
Apache Guacamole, which I suppose does not prove no problem could exist for
anyone else. Its SSH is really a very nice terminal emulator, and of course
there's rdesktop protocol and all that also.

It helps to have an enormous vmware cluster holding the numerous servers such
that I'm connecting to a machine that is too beastly powerful to ever consider
in a laptop form factor... so my dev box has slightly higher latency but the
CPU and memory are immense such that its not all that different than native,
some things a little faster, some a little slower.

The biggest problem I have is I can buy a chromebook with a decent screen for
roughly the price of a decent windows laptop, but I can't buy a decent
keyboard on a chromebook for any price. Model-M keyboard to USB to plug into
the chromebook, I've never tried that? On the stereotypical hyper limited
chromebook keyboard, emacs is ... difficult but possible, and android studio
is OK, or at least as OK as java programming can be. Android studio emulator
had some weirdness with it not being amused at attempting virtual machine
hardware acceleration on a vmware image of a windows box; probably depends
exactly which version of studio you install and when you installed it...

Native chromebook VPN support is "ok" or at least somewhat usable. I don't
have the infrastructure bare out on the internet for obvious reasons.

An extremely beefy virtual dev box with 10 hour battery that weighs nothing
using a state park as my office is pretty nice, when weather permits that kind
of work. The only problem I've found is you can use a lot of mobile data very
quickly this way, especially during a nice summer month. Also I can charge my
tether phone off the chromebook but then the battery life seems much shorter;
AC power is surprisingly not hard to find and picnic shelters are almost
always empty during the week (full on weekends). Parks are also empty and
quiet during the week. When it rains I'm stuck in the office, what a bummer.
Do not be like me and hike out five miles to an observation tower right before
a rainstorm begins, I was stuck under the tower for an entire day until it
stopped raining.

~~~
roryisok
> The biggest problem I have is I can buy a chromebook with a decent screen
> for roughly the price of a decent windows laptop

Why would anyone choose the former in that situation? I thought the whole
argument for chromebooks was that they were going to be cheaper than regular
laptops. If you need a decent keyboard, buy a ThinkPad. You're not limited to
windows, you can run any flavour of Linux and quite a few of them make a
decent hackintosh

~~~
VLM
Its pretty much the anti smart TV argument, where I have access to much better
systems so a halfway attempt merely gets in the way.

Also I didn't mention it but its kinda implied that "standard windows laptop"
has too little memory to actually work well, a two hour battery, an old
fashioned slow spinning disk, and lots of crudware pre-installed and hard to
remove, whereas chromebook implies "it just works" seconds out of the box, a
ten hour battery and SSD means no moving parts. Also the windows box is
inherently insecure.

If all either will ever do is rdesktop / ssh into clustered machines, and I'll
never do any local processing other than maybe play games on the windows
laptop, its no contest that the chromebook experience is better.

------
rootlocus
It's a pretty editor, but it's not an IDE. No build tools, no debugging, no
navigation, no refactoring, etc.

~~~
dimitrieh
We are hard at work! Time and iterations are needed. A lot is coming your way,
it is a very exciting project!

~~~
sytse
We're also looking to integrate the web terminal
[https://docs.gitlab.com/ee/administration/integration/termin...](https://docs.gitlab.com/ee/administration/integration/terminal.html)
into the web IDE

------
snurk
I wish GitLab would take whatever resources this has and put them all on site
reliability.

They have a ton of open positions listed, but none are for Site Reliability
Engineer.

Frequent slow requests and 5xx errors keep me from giving GitLab a real try.

~~~
golergka
And performance. I migrated our project from Gitlab to Githab exactly because
of how excruciatingly slow PR workflow was (serialized game assets routinely
have changesets in tens of thousands of lines).

~~~
philipwhiuk
Git-fat/GFS and treating assets as binary would seem to be the solution here.
There's no way you can review tens of thousands of lines.

~~~
golergka
When they're in tens of thousands, no. But quite often files of the same
format, and even the same files have just a couple of changes that are
definitely reviewable.

------
abtinf
At first I was excited about this. Then I tried it. There is no working set.
Reloading the web page loses all changes.

This would have been a nice path to bring less technical folks into gitlab,
say for writing articles and other copy. But I can already imagine the non-
stop complaints about losing work.

~~~
exikyut
Well, that shouldn't be very hard to solve; at the worst save the "working
set" in a UI-specific cache (aka detached from the git repo), and maybe offer
options for autosaving into branches.

I do agree this is something that needs to be _solved_ , but cannot
categorically be solved elegantly, so GitLab needs to just get on with just
doing what will work.

------
ssijak
What is the use for this? I mean how many people actually use such tools for
actual day to day dev? Maybe for some quick edit if you don`t have
laptop/computer at hand, but otherwise I see no real advantage of this.

~~~
jakecodes
Hey there. I'm the developer who made the POC. My original idea came after
watching non-technical people try to make changes to the readme. They would
have to ask for a lot of help to get the terminal open or use a GUI. When
really all they wanted to do was make a quick change.

The idea is that there's a lot of different users using git and I want to make
it accessible for everyone.

~~~
cup-of-tea
Why do you want non-technical people to be able to edit the readme? That's for
programmers to communicate to programmers. A little knowledge is dangerous.
Keep non-technicals away from git.

~~~
majkinetor
My businesses function regularly edits md files.

------
dillonb
But does it have Vim keybindings?

~~~
voxadam
What we need is a web deliverable (i.e. _not_ a "web technology based"
Electron desktop app) Neovim frontend. Something like a Wasm & WebGL based UI
layer connected via msgpack to the editor core that's running in a sandbox on
GitLab's infrastructure.

I'm truly sorry if the above drivel is either impossible or insane; as an
embedded guy this is most definitely _way_ outside my wheelhouse. I should get
back to repairing my oscilloscope.

~~~
craftyguy
Why do we "need" this? It sounds overly complex and error-prone.

~~~
kylestlb
Just read the last part of their post, and you will understand.

------
cabaalis
I'll admit I'm a very poor "look and feel" person. But am I the only one who
thinks that the zooming images on this webpage are hostile to the user?

(1) The zoom animation takes too long, I want to see the screenshot

(2) After zooming, it's still difficult to read to my 33-year-old eyes. I want
a fullscreen image.

(3) After finishing squinting at the screenshot, I scroll down to read more
text only to have that text MOVE while I'm reading it as the screenshots
animate back to their original positions.

~~~
rootlocus
I managed to bug an animation by scrolling too fast over it. One screenshot
kept snapping back and forward 10 pixels really fast. I always feel like I'm
not part of the demographic for these presentation pages.

~~~
tschwimmer
I think it's just bugged. Was doing the exact same thing for me too.

------
upbeatlinux
Hmm, at one point wasn't there a tight integration between Koding and GitLab?
Or at least an attempt to make the tools more cooperative?

In fact a Koding acquisition by GitLab seemed like a no brainer.

FWIW ~2012-2013 there was Cloud9, Koding and Nitrous. Now that Nitrous is
defunct and Cloud9 was acquired I'm not sure what fills the void.

Put differently is there a void to fill? Is there an actual demand for web
IDE's? Or is this just bling?

~~~
staz
That was their plan but it didn't work out, they talked about it here
[https://about.gitlab.com/2017/10/04/devops-
strategy/](https://about.gitlab.com/2017/10/04/devops-strategy/) (it's quite
an interesting article in general)

> And to be honest, it was what we were hoping that Koding would have provided
> for us, and we have an integration with them, but it hasn’t worked out,
> really, the way that we had hoped. And so, we’re looking at alternatives,
> and we think we can probably do this ourselves.

------
bitL
GitLab is slowly on its way to compete with Microsoft, Google, JetBrains... I
hope you guys create your own programming language as well to become a real
software company ;-) Good luck!

~~~
sytse
Thanks! One of our sub-values is boring solutions
[https://about.gitlab.com/handbook/values/#efficiency](https://about.gitlab.com/handbook/values/#efficiency)

So I don't think we'll be creating a programming language soon. I'm following
crystal [https://crystal-lang.org/](https://crystal-lang.org/) with interest.
And one of our team members is making one in a private capacity
[https://gitlab.com/yorickpeterse/inko](https://gitlab.com/yorickpeterse/inko)

~~~
bitL
Cool! You never know - AFAIK Kotlin first started as an individual project as
well. I'll keep an eye on you ;-)

------
shayac2
Ironic how they have Microsoft to thank for open-sourcing Monaco

------
adamrezich
Anyone remember back when Heroku had something sort of like a primitive
version of this? Whatever happened to that? I spent many a high school lunch
break in the library teaching myself how to make Rails apps using it

------
beat
I'd love to see a point-by-point comparison with Cloud9. What each does, and
what it doesn't do.

~~~
freehunter
One big point of differentiation is Cloud9 runs your whole dev environment,
you can run the code on the same server you write it on. It seems GitLab's
solution doesn't offer that (yet).

~~~
beat
Yeah, I suspected that. On the other hand, Cloud9 can get expensive if you're
keeping a dev environment hanging around.

------
MajorSauce
Add a dark theme and we are talking!

~~~
aldanor
There is a dark theme.

~~~
tantalic
We are talking

------
fladd
Looks interesting, but it has the same bug as the normal file editing in
Gitlab. As soon as I click on edit, the syntax highlighting (no matter what
theme I have selected) changes to something completely different.

------
Kamshak
I feel like StackBlitz beats all other Web IDEs since it's pretty much just
VSCode in the Browser. The only one where TS code completion works and they
can offer it very cheaply since the tech is so great that they don't even need
to run a server to bundle anything. Just great! ATM it's only good for
frontend apps though. My dream would be a combination of Cloud9 and the
StackBlitz editor.

------
safwan
I think Janitor seems similar!
[https://janitor.technology/](https://janitor.technology/)

------
AaruGarg
Hi... Amazing knowledge and I like to share this kind of information with my
friends and hope they like it. I would like to address you about a similar
website which provides awesome information on Adware Removal Tool
([https://www.howtoremoveit.info/adware/](https://www.howtoremoveit.info/adware/)).

------
sbose78
Good job! This looks like a great code/text editor than an IDE at the moment.

You would need some sort of code navigation, debug and run capabilities to
call it an IDE :) Hope to see more soon?

Redhat's OpenShift.io Eclipse Che integration would be a good example of a
cloud IDE where you can could code,build and debug off a web-browser backed by
a container-based workspace running on Kubernetes.

~~~
mch82
If Web IDE follows in the footsteps of other GitLab features, then it'll catch
up soon!

------
paradite
I have been using GitLab IDE in the past few months for documentation updates
and it has been great. Whenever I see an outdated doc in the repo, I just
click edit on the markdown file. It provides markdown preview and
automatically creates patch-n branch and merge request for me without the need
to touch my terminal. Super convenient.

------
hilyen
The biggest problem I've had with all web ides is that you cannot use addons.

------
ryenus
Sourcegraph used to be an online vscode, simply the coolest back then, but
seems no more, they suddenly changed direction, possibly due to conflict of
interests with Microsoft?

~~~
sqs
Sourcegraph CEO here. VS Code is great for editing, but Sourcegraph is code
search/browsing. So we switched to using a read-only code view that loads
super fast on the web. It has basically all the same features as before:
[https://sourcegraph.com/github.com/gorilla/websocket/-/blob/...](https://sourcegraph.com/github.com/gorilla/websocket/-/blob/conn.go#L281)
has code intelligence hovers, Git blame, symbols, etc. What features do you
miss?

------
madmulita
I wonder what happend to the integration with Koding, the docs I can find only
state that it's been deprecated. Seemed like a nice marriage.

------
Rickasaurus
If I were them I might try to integrate with some existing open source plugin
system (Atom or VSCode?) to get more supported languages for free.

~~~
givehimagun
Wait a second - that's what they did? They picked Monaco which is the code
editor for VSCode. They also referenced in the article how they stuck with
similar UX as Atom and VSCode as well.

------
amelius
It seems that one group of developers wants to decentralize everything, while
another group wants to centralize everything.

... Why?

~~~
ckocagil
Decentralize for privacy and anti-censorship, centralize for convenience
(collaboration, sharing, zero management, continue working where you left off
on another device, ...)

~~~
amelius
Yeah, but we can have all the advantages you mentioned for a centralized
system, while using a decentralized system.

Also, centralization is against the Unix philosophy.

[https://en.wikipedia.org/wiki/Unix_philosophy](https://en.wikipedia.org/wiki/Unix_philosophy)

------
bluedino
I have been dreaming about something like this since the first time I went
from notepad/ftp/netscape

------
truth_seeker
Very nice. Looks like Gitlab is getting better and better at everything devs
desire.

------
akulbe
A couple questions.

Is there any way to change the font size in the Web IDE? Is there a dark mode?

Thank you for this!

------
hippich
I wonder if VSC could be used as a library to render editor in the browser.

~~~
c17r
They are using the Monaco editor which is the basis for VSC

------
hestefisk
I could see a use case for vi style keybindings on top of Monaco.

------
enesunal
I guess online vs-code for github will be available soon.

------
dominotw
I think they are spreading themselves too thin working on way too many
features. Feature envy with github is not a good way to define your roadmap.

They should drop everything and focus the most important feature: speed.

~~~
exikyut
DARPA created a 1THz transistor four years ago.

It's the fastest single transistor in existence. You could say... it focuses
on speed, to the exclusion of all other features!

------
sverhagen
How does a Java developer do TDD in an online IDE?

~~~
mch82
One way is to use the CI Pipeline feature of GitLab. When you commit your
code, run it though a build stage (if necessary) and then a test stage. Any
tests that output an error will cause the test stage of the CI Pipeline to
fail.

I set up a simple proof of concept [1]. My goal is to complete the "Your First
RPM Package" tutorial [2] using Web IDE from a iPad 6th Gen. [3] is the
resulting CI Pipeline. I recognize this is nowhere near a "real" project (and
hadn't ever planned to really share or use it). Maybe someone else has a more
complete example?

Edit: Since you mentioned Java development, it might be worth reading through
the answers to the Stack Overflow question "How to use GitLab CI to build a
Java Maven project?" [4].

[1]: [https://gitlab.com/mchogan/iPad-experiment/tree/mchogan-
mast...](https://gitlab.com/mchogan/iPad-experiment/tree/mchogan-master-
patch-25358)

[2]: [https://rpm-packaging-guide.github.io/#hello-world](https://rpm-
packaging-guide.github.io/#hello-world) "Your First RPM Package"

[3]: [https://gitlab.com/mchogan/iPad-
experiment/pipelines/2277793...](https://gitlab.com/mchogan/iPad-
experiment/pipelines/22777931)

[4]:
[https://stackoverflow.com/q/33430487/3877908](https://stackoverflow.com/q/33430487/3877908)
"How to use GitLab CI to build a Java Maven project?"

------
itwy
So this is like Cloud9?

~~~
brentjanderson
Vaguely - think GitHub file editing, but far more powerful. Some differences
would include:

* No terminal

* No development environment to speak of, either (e.g. no libraries or binaries installed)

The post identifies that this was developed as a way to include multiple file
edits in one commit. GitHub, by contrast, applies a commit per file edit, so
if you want to change three files, you would open each file separately and
each edit/save would become a separate commit.

I do think that this nudges GitLab as a platform a little closer to being like
Cloud9 though!

~~~
jghefner
They do say that this is only the first version and that they have more
features planned, including a live testing environment.

~~~
dimitrieh
Thanks, exactly this! Stay tuned!

------
TabTwo
Has GitLab already been bought by Apple?

~~~
exikyut
I wouldn't be surprised if Apple quietly uses them internally. 100k companies
with a horizontal app like this (and "source code management" is pretty
horizontal in any vaguely tech-incorporating industry) probably includes all
the big names.

------
nik736
They have far more important things to focus on, I wonder why they waste so
much time for such a useless feature.

~~~
bdcravens
You could argue the same about their CI/CD features.

I don't necessarily consider this a useless feature. I've edited files live on
Github (usually things that are safe to edit, like READMEs) and I wouldn't
mind the editor being a bit more feature-rich.

------
searover
good

------
qop
I'd love to see more symbiosis between editors and deployment tools.

I could write my code and tests in the browser editor, and just have a
dashboard with everything I need to know.

Then when I'm at home I can use my editor and still hack the old fashioned
way.

I wish Microsoft has bought gitlab instead of github. They could have this new
editor tie in with azure or something cool like that. Like websharper, but for
everybody else.

~~~
shayac2
Gitlab is using Monaco for this. An open sourced online editor brought to you
by none other than Microsoft. ([https://github.com/Microsoft/monaco-
editor](https://github.com/Microsoft/monaco-editor)) I couldn't dig it up now
but I recall seeing that Microsoft started this project as an online code
editor for Azure, later using it in VSCode. So it would not be surprising if
they bring this to github some time in the future.

~~~
qop
I'm well aware of monaco.

I doubt something like what gitlab is building will come to github. Maybe a
quick edit editor, but nothing more.

Gitlab is going to integrate this to gitlab's CICD infra.

If github gets one, it'll be a shitty typo fixer, that's it.

------
hn_user123
Thank you , this is very helpful

------
client4
If multiple users could use the "IDE" at the same time I could move entirely
off of GSuite. Right now being able to edit the occasional code block with 4
people watching is worth GDocs.

~~~
tills13
You could use VSCode Live Share...

~~~
evv
Almost all of VSCode is open source, but live share is not.. On their website
I noticed that they intend to provide generous 'free plans' of live share,
which is a big hint about how Microsoft intends to monetize their open source
products.

In any case, I see a lot of value for the IDE to be integrated into your git
host, so I think this is a great step for GitLab.

------
erikb
Gitlab is an awesome data center load tester, the only thing that's missing is
a good github alternative.

ref:
[https://news.ycombinator.com/item?id=7978048](https://news.ycombinator.com/item?id=7978048)

~~~
qaq
How long until the email client is also part of Gitlab?

~~~
ezekg
Honestly, I bet they'll do a chat system next to try and replace Slack. One
that comes with a @gitlabot which triggers CI/CD using DMs and hashtags.

~~~
jorisd
You're probably not far off; they acquired Gitter a little over a year ago:
[https://about.gitlab.com/2017/03/15/gitter-
acquisition/](https://about.gitlab.com/2017/03/15/gitter-acquisition/)

~~~
ezekg
Wow I completely forgot about that! When is it too much? Personally, I like
tools that do one thing well. But to each their own.

